On Wed, 16 Oct 2002, Clemens Ladisch wrote:
> karsten wiese wrote:
> > here is the routine that is used in snd-usb-us428:
> > ...
> > its a copy-change of usb-audio. something wrong here ?
>
> No, it's fine. The problem is elsewhere.
>
> > > IMHO the "best" solution would be to add a quirk to
> > > usbaudio.c, (...) (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.e. an asynchronous endpoint without frequency feedback? :-(
> There isn't a second endpoint in the playback interface?
>
> > furthermore there are the hardware knobs, sliders and lights,
> > the digital in switch....
>
> ... and I guess those aren't in any way compatible with USB audio mixer
> controls.
>
> > > Autoloading happens if there is an alias for
> > > snd-card-x (x derived from
> > > the client number) in modules.conf, ...
> >
> > 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?
>
> No, the alias should be for the card driver:
> alias snd-card-1 snd-usb-us428
>
> > unfortunately the autoload still does not happen.
>
> Autoloading works for sequencer ports and for "real" rawmidi devices,
> but not for rawmidi devices emulated on top of a sequencer port.
>
> Takashi, would it be possible/desirable to change snd_rawmidi_hw_open()
> to load sequencer drivers if the card driver is loaded but the rawmidi
> device doesn't exist?
> Something like:
>
> if ((fd = open(filename, fmode)) < 0) {
> - snd_card_load(card);
> + card_loaded = snd_card_load(card) == 0; // 0 or 1?
> - if ((fd = open(filename, fmode)) < 0) {
> + fd = open(filename, fmode);
> + if (card_loaded && fd < 0) {
> + load_seq_dev(...); // hw_open, get_client_info ?
> + fd = open(filename, fmode);
> + }
> + if (fd < 0) {
> snd_ctl_close(ctl);
> SYSERR("open %s failed", filename);
> return -errno;
> }
> }
It looks ugly. Wouldn't be better to create a direct rawmidi USB driver?
Could you remind me reason, why you parse sequencer events? There's
something special for USB?
Jaroslav
-----
Jaroslav Kysela <[EMAIL PROTECTED]>
Linux Kernel Sound Maintainer
ALSA Project http://www.alsa-project.org
SuSE Linux http://www.suse.com
-------------------------------------------------------
This sf.net email is sponsored by: viaVerio will pay you up to
$1,000 for every account that you consolidate with us.
http://ad.doubleclick.net/clk;4749864;7604308;v?
http://www.viaverio.com/consolidator/osdn.cfm
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel