Clemens Ladisch schrieb: 
> karsten wiese wrote:
> > I am in the process of updating the tascam us-428
> > patch for alsa-current and need some hints:
> > formerly the snd-usb-us428 issued
> > "request_module( "snd-usb-midi");"
> > to load that module. this doesn't work with
> > alsa-current anymore as the snd-usb-audio
> > initialisation, which is triggered, conflicts with
> the
> > initialisation of snd-usb-us428.
> > thus I deleted that "request_module(
> "snd-usb-midi");"
> > from snd_usb_us428.
> 
> snd-usb-midi isn't anymore an independent driver, it
> has been integrated
> into snd-usb-audio (as you've seen), although it's
> still a separate
> module. In theory, it may be possible to do the same
> stuff as
> snd_usb_create_midi_interface() to make it load
> correctly.
here is the routine that is used in snd-usb-us428:
static int snd_us428_create_usbmidi( snd_card_t* card
)
{
#if defined(CONFIG_SND_SEQUENCER) ||
defined(CONFIG_SND_SEQUENCER_MODULE)
        static snd_usb_audio_quirk_t quirk = {
                .vendor_name =  "TASCAM",
                .product_name = "US-428",
                .ifnum =        0,
                .type = QUIRK_MIDI_FIXED_ENDPOINT,
                .data = & (const snd_usb_midi_endpoint_info_t) {
                        .epnum =        6,
                        .out_cables =   3,
                        .in_cables =    3
                        }
        };
        snd_seq_device_t *seq_device;
        snd_usb_midi_t *umidi;
        int err;

        err = snd_seq_device_new( card, us428(
card)->chip.next_seq_device,
                                 SNDRV_SEQ_DEV_ID_USBMIDI,
                                 sizeof(snd_usb_midi_t), &seq_device);
        if (err < 0)
                return err;
        us428( card)->chip.next_seq_device++;
        strcpy(seq_device->name, card->shortname);
        umidi = (snd_usb_midi_t
*)SNDRV_SEQ_DEVICE_ARGPTR(seq_device);
        umidi->chip = &us428( card)->chip;
        umidi->ifnum = 0;
        umidi->quirk = &quirk;
        umidi->seq_client = -1;
#endif
        return 0;
}
its a copy-change of usb-audio. something wrong here ?
cannot be completely wrong: if snd-usb-midi is loaded
manually,
everything works ok.

> 
> IMHO the "best" solution would be to add a quirk to
> usbaudio.c, instead of
> writing an entirely separate driver with most of the
> code duplicated. I
> didn't look at your patch in full length, but it
> seems to me that the
> changes needed would be firmware loading (best done
> in a separate driver
> or a userspace program) and adding some information
> about supported audio
> formats/bitrates. (I'm sure I've missed something.
> :)
the us-428 audio is very nonstandard:
it is necessary to know how many frames are just
recorded to be able to playback without unwanted
crackles. I found no other way to determine the exact
samplerate. furthermore there are the hardware knobs,
sliders and lights, the digital in switch....

> 
> > I remember from some Mail on this list, that
> > snd-usb-midi  would be autoloaded if a users
> process
> > accesses a mididevice, which has been created by
> > "snd_seq_device_new(
> ...SNDRV_SEQ_DEV_ID_USBMIDI)".
> > this does not happen here now.
> 
> Autoloading happens if there is an alias for
> snd-card-x (x derived from
> the client number) in modules.conf, and if the card
> driver calls
> snd_seq_device_new() for the sequencer driver. (BTW:
> there was a bug with
> autoloading sequencer drivers which has been fixed
> yesterday)
mmh, i just checked again my tree: it is current.
I put a line 
"alias snd-card-1 snd-usb-midi" 
(the us-428 is my second card) 
into modules.conf. is it this what you suggest?
unfortunately the autoload still does not happen.
Trying to start the Synth with:
"./startBristol -alsa -audiodev hw:1 -mididev hw:1"
snd-usb-midi is still not loaded and the error message
is:
"ALSA lib rawmidi_hw.c:227:(snd_rawmidi_hw_open) open
/dev/snd/midiC1D0 failed: No such file or directory"
Could somebody please explain, how a specific midi
module gets loaded on a user processes access of an
alsa (raw)midi device ?

Karsten



__________________________________________________________________

Gesendet von Yahoo! Mail - http://mail.yahoo.de
Möchten Sie mit einem Gruß antworten? http://grusskarten.yahoo.de


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to