All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] USB MIDI driver
@ 2002-07-01 17:07 Clemens Ladisch
  2002-07-02 10:36 ` Takashi Iwai
  0 siblings, 1 reply; 41+ messages in thread
From: Clemens Ladisch @ 2002-07-01 17:07 UTC (permalink / raw)
  To: Takashi Iwai, alsa-devel

[-- Attachment #1: Type: text/plain, Size: 309 bytes --]


Attached is a patch for a USB MIDI driver.
Essentially, it does the same as my USB MIDI daemon.

The source is put into the alsa-kernel tree, not into alsa-driver like
the usb-audio driver.

I don't know whether my changes to scripts/Modules.dep make any sense,
please review them before applying.


Clemens

[-- Attachment #2: usbmidi-patch.gz --]
[-- Type: application/octet-stream, Size: 11614 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [PATCH] USB MIDI driver
  2002-07-01 17:07 [PATCH] USB MIDI driver Clemens Ladisch
@ 2002-07-02 10:36 ` Takashi Iwai
  2002-07-02 14:28   ` USB recording - repetitive peaks Patrick Shirkey
  2002-07-02 14:51   ` Re: [PATCH] USB MIDI driver Takashi Iwai
  0 siblings, 2 replies; 41+ messages in thread
From: Takashi Iwai @ 2002-07-02 10:36 UTC (permalink / raw)
  To: Clemens Ladisch; +Cc: alsa-devel

Hi,

At Mon, 01 Jul 2002 19:07:40 +0200,
Clemens Ladisch wrote:
> 
> Attached is a patch for a USB MIDI driver.
> Essentially, it does the same as my USB MIDI daemon.
> 
> The source is put into the alsa-kernel tree, not into alsa-driver like
> the usb-audio driver.

i prefer putting it onto alsa-driver at first unless it's confirmed as
enough stable after tarball release.  alsa-kernel is the tree to be
merged into 2.5 kernel.  also, the location of usb drivers is still a
question, whether on sound tree or on drivers/usb tree.

anyway, i'll check the code into cvs after review (if there is no
objection).


thanks,

Takashi


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* USB recording - repetitive peaks
  2002-07-02 10:36 ` Takashi Iwai
@ 2002-07-02 14:28   ` Patrick Shirkey
  2002-07-02 14:57     ` Takashi Iwai
  2002-07-02 14:51   ` Re: [PATCH] USB MIDI driver Takashi Iwai
  1 sibling, 1 reply; 41+ messages in thread
From: Patrick Shirkey @ 2002-07-02 14:28 UTC (permalink / raw)
  Cc: alsa-devel, tiwai

Thanks to your patch Takashi we have two people who have been able to 
record through the quattro.

We have both found that there is a constant repetitive peak in the 
signal which reminds me of the problems I had with the cmipci for a 
brief period.

Thorsten Hass has recorded a perfect example for you which he did using 
aplay and arecord. It is a sine wave so is easy on the ears.

http://www.thorstenhaas.de/alsa/audio.file

He has also generated a jpeg plotted by an oscilloscope while recording 
which I can send you if it will help.

He has also asked if there is any chance you will have time to look at 
this in the two weeks. I believe he has to do some work with his device 
so needs to make a decision about which OS to use for the job.



-- 
Patrick Shirkey - Boost Hardware Ltd.
For the discerning hardware connoisseur
Http://www.boosthardware.com
Http://www.boosthardware.com/LAU/guide/
========================================



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: Re: [PATCH] USB MIDI driver
  2002-07-02 10:36 ` Takashi Iwai
  2002-07-02 14:28   ` USB recording - repetitive peaks Patrick Shirkey
@ 2002-07-02 14:51   ` Takashi Iwai
  2002-07-02 20:40     ` Pedro Lopez-Cabanillas
  2002-07-03 12:52     ` Clemens Ladisch
  1 sibling, 2 replies; 41+ messages in thread
From: Takashi Iwai @ 2002-07-02 14:51 UTC (permalink / raw)
  To: Clemens Ladisch; +Cc: alsa-devel

At Tue, 02 Jul 2002 12:36:55 +0200,
I wrote:
> 
> At Mon, 01 Jul 2002 19:07:40 +0200,
> Clemens Ladisch wrote:
> > 
> > Attached is a patch for a USB MIDI driver.
> > Essentially, it does the same as my USB MIDI daemon.
> > 
> > The source is put into the alsa-kernel tree, not into alsa-driver like
> > the usb-audio driver.
> 
> i prefer putting it onto alsa-driver at first unless it's confirmed as
> enough stable after tarball release.  alsa-kernel is the tree to be
> merged into 2.5 kernel.  also, the location of usb drivers is still a
> question, whether on sound tree or on drivers/usb tree.
> 
> anyway, i'll check the code into cvs after review (if there is no
> objection).

ok, now it's there.  as written above, i put it to alsa-driver tree.
let us move the usb stuff later to the official kernel place.

your codes have been slightly modified:

- usb compatibility hack was moved to wrapper.h, so that it can be
  shared with usbuadio.c

- newly added virmidi registrations.
  that means, snd-usb-midi will have its own rawmidi devices
  automatically as /dev/snd/midiCxDx.
  this will be good for applications which speak only with
  rawmidi.

the latter one was not tested.
can anyone update the cvs if it works?


thanks.

Takashi


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: USB recording - repetitive peaks
  2002-07-02 14:28   ` USB recording - repetitive peaks Patrick Shirkey
@ 2002-07-02 14:57     ` Takashi Iwai
  2002-07-02 15:35       ` Patrick Shirkey
  0 siblings, 1 reply; 41+ messages in thread
From: Takashi Iwai @ 2002-07-02 14:57 UTC (permalink / raw)
  To: Patrick Shirkey; +Cc: alsa-devel

Hi Patrick,

At Tue, 02 Jul 2002 23:28:08 +0900,
Patrick Shirkey wrote:
> 
> Thanks to your patch Takashi we have two people who have been able to 
> record through the quattro.
> 
> We have both found that there is a constant repetitive peak in the 
> signal which reminds me of the problems I had with the cmipci for a 
> brief period.
> 
> Thorsten Hass has recorded a perfect example for you which he did using 
> aplay and arecord. It is a sine wave so is easy on the ears.
> 
> http://www.thorstenhaas.de/alsa/audio.file
 
hmm, this sounds like the mismatching of packet size and copy
destination.  i heard your ogg file, and this was similar, too.

under which condition were they recorded?
with 24bit/96kHz/2ch?
or does it happen generally on every condition?

you can see the running status and condition on streamX proc file
during playback/capture.


> He has also generated a jpeg plotted by an oscilloscope while recording 
> which I can send you if it will help.

can you figure out how long the period of puls is?
i guess this has relation between the status shown in the proc file
above.


Takashi


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: USB recording - repetitive peaks
  2002-07-02 14:57     ` Takashi Iwai
@ 2002-07-02 15:35       ` Patrick Shirkey
  2002-07-02 16:03         ` Takashi Iwai
  2002-07-02 16:07         ` Patrick Shirkey
  0 siblings, 2 replies; 41+ messages in thread
From: Patrick Shirkey @ 2002-07-02 15:35 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

Takashi Iwai wrote:
> Hi Patrick,
> 
> At Tue, 02 Jul 2002 23:28:08 +0900,
> Patrick Shirkey wrote:
> 
>>Thanks to your patch Takashi we have two people who have been able to 
>>record through the quattro.
>>
>>We have both found that there is a constant repetitive peak in the 
>>signal which reminds me of the problems I had with the cmipci for a 
>>brief period.
>>
>>Thorsten Hass has recorded a perfect example for you which he did using 
>>aplay and arecord. It is a sine wave so is easy on the ears.
>>
>>http://www.thorstenhaas.de/alsa/audio.file
> 
>  
> hmm, this sounds like the mismatching of packet size and copy
> destination.  i heard your ogg file, and this was similar, too.
> 
> under which condition were they recorded?
> with 24bit/96kHz/2ch?
> or does it happen generally on every condition?
> 

They were arecord -f cd

> you can see the running status and condition on streamX proc file
> during playback/capture.
> 

----
# cat /proc/asound/card2/stream1
M Audio USB AudioSport Quattro (tm) : USB Audio #1

Playback:
   Status: Stop
   Altset 3
     Format: S16_LE
     Channels: 2
     Endpoint: 3 OUT (ADAPTIVE)
     Rates: 11025, 22050, 44100, 48000
   Altset 2
     Format: S24_3LE
     Channels: 2
     Endpoint: 3 OUT (ADAPTIVE)
     Rates: 11025, 22050, 44100, 48000
   Altset 1
     Format: S24_3LE
     Channels: 2
     Endpoint: 3 OUT (ADAPTIVE)
     Rates: 88200, 96000

Capture:
   Status: Running
     Packets = 20
     URBs = 5
     Packet Size = 192
     Nominal freq = 44.          1682  Altset 3
     Format: S16_LE
     Channels: 2
     Endpoint: 5 IN (SYNC)
     Rates: 11025, 22050, 44100, 48000
   Altset 2
     Format: S24_3LE
     Channels: 2
     Endpoint: 5 IN (SYNC)
     Rates: 11025, 22050, 44100, 48000
   Altset 1
     Format: S24_3LE
     Channels: 2
     Endpoint: 5 IN (SYNC)
     Rates: 88200, 96000

----


> 
> 
>>He has also generated a jpeg plotted by an oscilloscope while recording 
>>which I can send you if it will help.
> 
> 
> can you figure out how long the period of puls is?

They are so regular you can set a use them as a metronome:) Would you 
like me to have a look at the timing in an editor or is there an more 
precise way to find out?

> i guess this has relation between the status shown in the proc file
> above.
> 
> 
> Takashi
> 
> 



-- 
Patrick Shirkey - Boost Hardware Ltd.
For the discerning hardware connoisseur
Http://www.boosthardware.com
Http://www.boosthardware.com/LAU/guide/
========================================



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: USB recording - repetitive peaks
  2002-07-02 15:35       ` Patrick Shirkey
@ 2002-07-02 16:03         ` Takashi Iwai
  2002-07-02 16:37           ` Patrick Shirkey
  2002-07-02 16:07         ` Patrick Shirkey
  1 sibling, 1 reply; 41+ messages in thread
From: Takashi Iwai @ 2002-07-02 16:03 UTC (permalink / raw)
  To: Patrick Shirkey; +Cc: alsa-devel

Hi Patrick,

i found out an obvious bug there.  i forgot to correct the offset
value of capture destination after a minor modification.
it's fixed on cvs.
could you update the cvs and test whether it works?


Takashi


At Wed, 03 Jul 2002 00:35:03 +0900,
Patrick Shirkey wrote:
> 
> Takashi Iwai wrote:
> > Hi Patrick,
> > 
> > At Tue, 02 Jul 2002 23:28:08 +0900,
> > Patrick Shirkey wrote:
> > 
> >>Thanks to your patch Takashi we have two people who have been able to 
> >>record through the quattro.
> >>
> >>We have both found that there is a constant repetitive peak in the 
> >>signal which reminds me of the problems I had with the cmipci for a 
> >>brief period.
> >>
> >>Thorsten Hass has recorded a perfect example for you which he did using 
> >>aplay and arecord. It is a sine wave so is easy on the ears.
> >>
> >>http://www.thorstenhaas.de/alsa/audio.file
> > 
> >  
> > hmm, this sounds like the mismatching of packet size and copy
> > destination.  i heard your ogg file, and this was similar, too.
> > 
> > under which condition were they recorded?
> > with 24bit/96kHz/2ch?
> > or does it happen generally on every condition?
> > 
> 
> They were arecord -f cd
> 
> > you can see the running status and condition on streamX proc file
> > during playback/capture.
> > 
> 
> ----
> # cat /proc/asound/card2/stream1
> M Audio USB AudioSport Quattro (tm) : USB Audio #1
> 
> Playback:
>    Status: Stop
>    Altset 3
>      Format: S16_LE
>      Channels: 2
>      Endpoint: 3 OUT (ADAPTIVE)
>      Rates: 11025, 22050, 44100, 48000
>    Altset 2
>      Format: S24_3LE
>      Channels: 2
>      Endpoint: 3 OUT (ADAPTIVE)
>      Rates: 11025, 22050, 44100, 48000
>    Altset 1
>      Format: S24_3LE
>      Channels: 2
>      Endpoint: 3 OUT (ADAPTIVE)
>      Rates: 88200, 96000
> 
> Capture:
>    Status: Running
>      Packets = 20
>      URBs = 5
>      Packet Size = 192
>      Nominal freq = 44.          1682  Altset 3
>      Format: S16_LE
>      Channels: 2
>      Endpoint: 5 IN (SYNC)
>      Rates: 11025, 22050, 44100, 48000
>    Altset 2
>      Format: S24_3LE
>      Channels: 2
>      Endpoint: 5 IN (SYNC)
>      Rates: 11025, 22050, 44100, 48000
>    Altset 1
>      Format: S24_3LE
>      Channels: 2
>      Endpoint: 5 IN (SYNC)
>      Rates: 88200, 96000
> 
> ----
> 
> 
> > 
> > 
> >>He has also generated a jpeg plotted by an oscilloscope while recording 
> >>which I can send you if it will help.
> > 
> > 
> > can you figure out how long the period of puls is?
> 
> They are so regular you can set a use them as a metronome:) Would you 
> like me to have a look at the timing in an editor or is there an more 
> precise way to find out?
> 
> > i guess this has relation between the status shown in the proc file
> > above.
> > 
> > 
> > Takashi
> > 
> > 
> 
> 
> 
> -- 
> Patrick Shirkey - Boost Hardware Ltd.
> For the discerning hardware connoisseur
> Http://www.boosthardware.com
> Http://www.boosthardware.com/LAU/guide/
> ========================================
> 


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: Re: USB recording - repetitive peaks
  2002-07-02 15:35       ` Patrick Shirkey
  2002-07-02 16:03         ` Takashi Iwai
@ 2002-07-02 16:07         ` Patrick Shirkey
  1 sibling, 0 replies; 41+ messages in thread
From: Patrick Shirkey @ 2002-07-02 16:07 UTC (permalink / raw)
  Cc: Takashi Iwai, alsa-devel

Patrick Shirkey wrote:
> 
> They are so regular you can set a use them as a metronome:) Would you 
> like me to have a look at the timing in an editor or is there an more 
> precise way to find out?
> 

36.5720 -> 36.5820

0.3710 -> 0.7430 -> 1.1140

Looking at the wave in an editor at almost 1:1 the distance between 
peaks is the above. There are mini peaks every 10ms and there are large 
peaks every 37.10 ms.







-- 
Patrick Shirkey - Boost Hardware Ltd.
For the discerning hardware connoisseur
Http://www.boosthardware.com
Http://www.boosthardware.com/LAU/guide/
========================================



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: Re: USB recording - repetitive peaks
  2002-07-02 16:03         ` Takashi Iwai
@ 2002-07-02 16:37           ` Patrick Shirkey
  2002-07-02 16:39             ` Takashi Iwai
  2002-07-03  5:18             ` Fernando Pablo Lopez-Lezcano
  0 siblings, 2 replies; 41+ messages in thread
From: Patrick Shirkey @ 2002-07-02 16:37 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

Takashi Iwai wrote:
> Hi Patrick,
> 
> i found out an obvious bug there.  i forgot to correct the offset
> value of capture destination after a minor modification.
> it's fixed on cvs.
> could you update the cvs and test whether it works?
> 

I get this in alsa-utils

----
/usr/local/src/music/alsa/alsa-utils# ./cvscompile 
--with-cards=intel8x0,cmipci,usb-audio,usb-midi 
--with-sequencer=yes;make;make install
aclocal: configure.in: 11: macro `AM_PATH_ALSA' not found in library
/usr//share/automake/am/depend2.am: AMDEP does not appear in AM_CONDITIONAL
/usr//share/automake/am/depend2.am: AMDEP does not appear in AM_CONDITIONAL
/usr//share/automake/am/depend2.am: AMDEP does not appear in AM_CONDITIONAL
/usr//share/automake/am/lang-compile.am: AMDEP does not appear in 
AM_CONDITIONAL
/usr//share/automake/am/depend2.am: AMDEP does not appear in AM_CONDITIONAL
/usr//share/automake/am/depend2.am: AMDEP does not appear in AM_CONDITIONAL
/usr//share/automake/am/depend2.am: AMDEP does not appear in AM_CONDITIONAL
/usr//share/automake/am/lang-compile.am: AMDEP does not appear in 
AM_CONDITIONAL
/usr//share/automake/am/depend2.am: AMDEP does not appear in AM_CONDITIONAL
/usr//share/automake/am/depend2.am: AMDEP does not appear in AM_CONDITIONAL
/usr//share/automake/am/depend2.am: AMDEP does not appear in AM_CONDITIONAL
/usr//share/automake/am/lang-compile.am: AMDEP does not appear in 
AM_CONDITIONAL
/usr//share/automake/am/depend2.am: AMDEP does not appear in AM_CONDITIONAL
/usr//share/automake/am/depend2.am: AMDEP does not appear in AM_CONDITIONAL
/usr//share/automake/am/depend2.am: AMDEP does not appear in AM_CONDITIONAL
/usr//share/automake/am/lang-compile.am: AMDEP does not appear in 
AM_CONDITIONAL
/usr//share/automake/am/depend2.am: AMDEP does not appear in AM_CONDITIONAL
/usr//share/automake/am/depend2.am: AMDEP does not appear in AM_CONDITIONAL
/usr//share/automake/am/depend2.am: AMDEP does not appear in AM_CONDITIONAL
/usr//share/automake/am/lang-compile.am: AMDEP does not appear in 
AM_CONDITIONAL
/usr//share/automake/am/depend2.am: AMDEP does not appear in AM_CONDITIONAL
/usr//share/automake/am/depend2.am: AMDEP does not appear in AM_CONDITIONAL
/usr//share/automake/am/depend2.am: AMDEP does not appear in AM_CONDITIONAL
/usr//share/automake/am/lang-compile.am: AMDEP does not appear in 
AM_CONDITIONAL
configure.in:4: error: possibly undefined macro: AM_INIT_AUTOMAKE
configure.in:11: error: possibly undefined macro: AM_PATH_ALSA
configure.in:28: error: possibly undefined macro: AM_CONFIG_HEADER
CFLAGS=-O2 -Wall -pipe -g
./configure --with-cards=intel8x0,cmipci,usb-audio,usb-midi 
--with-sequencer=yes
./configure: line 922: syntax error near unexpected token 
`AM_INIT_AUTOMAKE(alsa-utils,'
./configure: line 922: `AM_INIT_AUTOMAKE(alsa-utils, 0.9.0rc2)'
make: *** No targets specified and no makefile found.  Stop.
make: *** No rule to make target `install'.  Stop.

----

-- 
Patrick Shirkey - Boost Hardware Ltd.
For the discerning hardware connoisseur
Http://www.boosthardware.com
Http://www.boosthardware.com/LAU/guide/
========================================



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: Re: USB recording - repetitive peaks
  2002-07-02 16:37           ` Patrick Shirkey
@ 2002-07-02 16:39             ` Takashi Iwai
  2002-07-02 17:08               ` Patrick Shirkey
  2002-07-03  5:18             ` Fernando Pablo Lopez-Lezcano
  1 sibling, 1 reply; 41+ messages in thread
From: Takashi Iwai @ 2002-07-02 16:39 UTC (permalink / raw)
  To: Patrick Shirkey; +Cc: alsa-devel

At Wed, 03 Jul 2002 01:37:30 +0900,
Patrick Shirkey wrote:
> 
> Takashi Iwai wrote:
> > Hi Patrick,
> > 
> > i found out an obvious bug there.  i forgot to correct the offset
> > value of capture destination after a minor modification.
> > it's fixed on cvs.
> > could you update the cvs and test whether it works?
> > 
> 
> I get this in alsa-utils
> 
> ----
> /usr/local/src/music/alsa/alsa-utils# ./cvscompile 
                            ^^^^^^^^^^
shouldn't be alsa-driver?


Takashi


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: Re: USB recording - repetitive peaks
  2002-07-02 16:39             ` Takashi Iwai
@ 2002-07-02 17:08               ` Patrick Shirkey
  2002-07-02 17:29                 ` Takashi Iwai
  2002-07-02 18:04                 ` Patrick Shirkey
  0 siblings, 2 replies; 41+ messages in thread
From: Patrick Shirkey @ 2002-07-02 17:08 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

Takashi Iwai wrote:
> At Wed, 03 Jul 2002 01:37:30 +0900,
> Patrick Shirkey wrote:
> 
>>Takashi Iwai wrote:
>>
>>>Hi Patrick,
>>>
>>>i found out an obvious bug there.  i forgot to correct the offset
>>>value of capture destination after a minor modification.
>>>it's fixed on cvs.
>>>could you update the cvs and test whether it works?
>>>
>>
>>I get this in alsa-utils
>>
>>----
>>/usr/local/src/music/alsa/alsa-utils# ./cvscompile 
> 
>                             ^^^^^^^^^^
> shouldn't be alsa-driver?
> 

Yeah I had to zap the cvs because of the patch confusing things so I'm 
trying to install alsa-utils but I get that error. alsa-driver and 
alsa-lib installed correctly.

Another thing is that even though I can rmmod all the other sound 
modules for other cards I cannot rmmod the following. I have checked 
with ps -aux that there are no stray processes. Currently I have to 
reboot. I think this only started with the new patches for recording.

snd-usb-audio          23136   1  (autoclean)
snd-pcm                48320   1  [snd-usb-audio]
snd-timer               9280   0  [snd-pcm]
snd                    23400   3  [snd-usb-audio snd-pcm snd-timer]
soundcore               3556   0  [snd]





-- 
Patrick Shirkey - Boost Hardware Ltd.
For the discerning hardware connoisseur
Http://www.boosthardware.com
Http://www.boosthardware.com/LAU/guide/
========================================



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: Re: USB recording - repetitive peaks
  2002-07-02 17:08               ` Patrick Shirkey
@ 2002-07-02 17:29                 ` Takashi Iwai
  2002-07-02 18:04                 ` Patrick Shirkey
  1 sibling, 0 replies; 41+ messages in thread
From: Takashi Iwai @ 2002-07-02 17:29 UTC (permalink / raw)
  To: Patrick Shirkey; +Cc: alsa-devel

At Wed, 03 Jul 2002 02:08:13 +0900,
Patrick Shirkey wrote:
> 
> Takashi Iwai wrote:
> > At Wed, 03 Jul 2002 01:37:30 +0900,
> > Patrick Shirkey wrote:
> > 
> >>Takashi Iwai wrote:
> >>
> >>>Hi Patrick,
> >>>
> >>>i found out an obvious bug there.  i forgot to correct the offset
> >>>value of capture destination after a minor modification.
> >>>it's fixed on cvs.
> >>>could you update the cvs and test whether it works?
> >>>
> >>
> >>I get this in alsa-utils
> >>
> >>----
> >>/usr/local/src/music/alsa/alsa-utils# ./cvscompile 
> > 
> >                             ^^^^^^^^^^
> > shouldn't be alsa-driver?
> > 
> 
> Yeah I had to zap the cvs because of the patch confusing things so I'm 
> trying to install alsa-utils but I get that error. alsa-driver and 
> alsa-lib installed correctly.

for alsa-utils you don't need any configure arguments.

the error message suggests that you didn't make install on alsa-lib.
please check whether /usr/share/aclocal/alsa.m4 exists.


> Another thing is that even though I can rmmod all the other sound 
> modules for other cards I cannot rmmod the following. I have checked 
> with ps -aux that there are no stray processes. Currently I have to 
> reboot. I think this only started with the new patches for recording.
> 
> snd-usb-audio          23136   1  (autoclean)
> snd-pcm                48320   1  [snd-usb-audio]
> snd-timer               9280   0  [snd-pcm]
> snd                    23400   3  [snd-usb-audio snd-pcm snd-timer]
> soundcore               3556   0  [snd]

this is weird.
there has been no fundamental change about this.
please try the following

	# fuser -k /dev/snd/* /dev/dsp* /dev/mixer*


Takashi


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: Re: USB recording - repetitive peaks
  2002-07-02 17:08               ` Patrick Shirkey
  2002-07-02 17:29                 ` Takashi Iwai
@ 2002-07-02 18:04                 ` Patrick Shirkey
  2002-07-02 18:26                   ` Patrick Shirkey
  2002-07-03  8:55                   ` Takashi Iwai
  1 sibling, 2 replies; 41+ messages in thread
From: Patrick Shirkey @ 2002-07-02 18:04 UTC (permalink / raw)
  Cc: Takashi Iwai, alsa-devel

 >the error message suggests that you didn't make install on alsa-lib.
 >please check whether /usr/share/aclocal/alsa.m4 exists.

I did run make install and have just done so again to make sure but it's 
not in /usr/local/share/aclocal either. I will copy it over and try 
recording again (see below).

Also I get this for snd-usb-midi
----
# modprobe snd-usb-midi
/lib/modules/2.4.19-rc1/kernel/sound/usb/snd-usb-midi.o: unresolved 
symbol snd_virmidi_new_Rc7dd286c
/lib/modules/2.4.19-rc1/kernel/sound/usb/snd-usb-midi.o: insmod 
/lib/modules/2.4.19-rc1/kernel/sound/usb/snd-usb-midi.o failed
/lib/modules/2.4.19-rc1/kernel/sound/usb/snd-usb-midi.o: insmod 
snd-usb-midi failed
----

I just tried recording using the new code and completely hung the 
computer where only alt+sysreq+b worked. That was during recording.

The other person who is debugging with me has experienced simlilar as a 
kernel oops. He is currently using the patch to cvs but he will update 
soon I think.

This is what he said:
----
2) Kernel Oops:
The compilation of the source was rather a nice thing. I build some RPMs 
from
yesterdays snapshot to be able to clean up things after I installed them.
After installing, configuring modules.conf and removing my old 
asound.conf the
module probed finely.
I attached a copy of the aoutput of "arecord -l"

Recording was a bit messy, due to killing the arecord process freezes my 
box.
Deterministically: whenever the process is interuppted (Ctrl-C) or killed
(sig 9).
I attached a copy of the kernel-oops.


Oops: 0002

CPU:    0

EIP:    0010:[<d40c824a>]

EFLAGS: 00010002

eax: 000000b0   ebx: d16bfc00   ecx: 0000002c   edx: d45f4950

esi: d16bfc00   edi: 00002cc8   ebp: 0000002c   esp: c02e5e78

ds: 0018   es: 0018   ss: 0018

Process swapper (pid: 0, stackpage=c02e5000)

Stack: d45f4950 d45f49c0 d4cc19a0 d3efe5e0 00004000 00000000 00000004 
d40c8607

        d45f4950 d54a7c00 d3efe5e0 d3efe5e0 00000000 00000000 d3131e60 
d51b1f58

        d3efe5e0 00000246 d3efe5e0 d51b2660 d3efe5e0 d50f6800 04000001 
d89d8000

Call Trace: [<d40c8607>] [<d51b1f58>] [<d51b2660>] [<d51b3260>] 
[<c010814e>]

    [<c01082ae>] [<c010a118>] [<c01ad465>] [<c01ad2d4>] [<c0105407>] 
[<c0105000>]

    [<c0105027>]


Code: f3 a5 a8 02 74 02 66 a5 a8 01 74 01 a4 9c 59 fa 8b 5c 24 20

  <0>Kernel panic: Aiee, killing interrupt handler!

In interrupt handler - not syncing


----





-- 
Patrick Shirkey - Boost Hardware Ltd.
For the discerning hardware connoisseur
Http://www.boosthardware.com
Http://www.boosthardware.com/LAU/guide/
========================================



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: Re: USB recording - repetitive peaks
  2002-07-02 18:04                 ` Patrick Shirkey
@ 2002-07-02 18:26                   ` Patrick Shirkey
  2002-07-02 18:38                     ` Patrick Shirkey
  2002-07-03  8:55                   ` Takashi Iwai
  1 sibling, 1 reply; 41+ messages in thread
From: Patrick Shirkey @ 2002-07-02 18:26 UTC (permalink / raw)
  To: thorsten.haas; +Cc: Takashi Iwai, alsa-devel

Patrick Shirkey wrote:

> I did run make install and have just done so again to make sure but it's 
> not in /usr/local/share/aclocal either. I will copy it over and try 
> recording again (see below).
> 
> >
 >> Recording was a bit messy, due to killing the arecord process freezes my 
 >> box.
 >> Deterministically: whenever the process is interuppted (Ctrl-C) or killed
 >> (sig 9).

This seems to be the same here now. The file was recorded and with no 
distortions
to the sound but arecord hangs my rig when it stops. I'll check with 
JACK+ardour.


-- 
Patrick Shirkey - Boost Hardware Ltd.
For the discerning hardware connoisseur
Http://www.boosthardware.com
Http://www.boosthardware.com/LAU/guide/
========================================



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: Re: USB recording - repetitive peaks
  2002-07-02 18:26                   ` Patrick Shirkey
@ 2002-07-02 18:38                     ` Patrick Shirkey
  2002-07-04  9:41                       ` Takashi Iwai
  0 siblings, 1 reply; 41+ messages in thread
From: Patrick Shirkey @ 2002-07-02 18:38 UTC (permalink / raw)
  Cc: thorsten.haas, Takashi Iwai, alsa-devel

Patrick Shirkey wrote:
> Patrick Shirkey wrote:
> 
>> I did run make install and have just done so again to make sure but 
>> it's not in /usr/local/share/aclocal either. I will copy it over and 
>> try recording again (see below).
>>
>> >
> 
>  >> Recording was a bit messy, due to killing the arecord process 
> freezes my >> box.
>  >> Deterministically: whenever the process is interuppted (Ctrl-C) or 
> killed
>  >> (sig 9).
> 
> This seems to be the same here now. The file was recorded and with no 
> distortions
> to the sound but arecord hangs my rig when it stops. I'll check with 
> JACK+ardour.
> 
> 

Ouch. JACK+ardour causes an instant hang. Using alt+sysreq I can sync 
unmount and reboot but nothing else. Also the sound quality is 
significantly degraded while running through JACK. At least the native 
drivers are sounding correct now though :)



-- 
Patrick Shirkey - Boost Hardware Ltd.
For the discerning hardware connoisseur
Http://www.boosthardware.com
Http://www.boosthardware.com/LAU/guide/
========================================



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: Re: [PATCH] USB MIDI driver
  2002-07-02 14:51   ` Re: [PATCH] USB MIDI driver Takashi Iwai
@ 2002-07-02 20:40     ` Pedro Lopez-Cabanillas
  2002-07-02 22:10       ` Pedro Lopez-Cabanillas
  2002-07-03 12:52     ` Clemens Ladisch
  1 sibling, 1 reply; 41+ messages in thread
From: Pedro Lopez-Cabanillas @ 2002-07-02 20:40 UTC (permalink / raw)
  To: Takashi Iwai, Clemens Ladisch; +Cc: alsa-devel

> - usb compatibility hack was moved to wrapper.h, so that it can be
>   shared with usbuadio.c
>
> - newly added virmidi registrations.
>   that means, snd-usb-midi will have its own rawmidi devices
>   automatically as /dev/snd/midiCxDx.
>   this will be good for applications which speak only with
>   rawmidi.
>
> the latter one was not tested.
> can anyone update the cvs if it works?
>

I can't compile current CVS usb drivers:

gcc -E -M -DALSA_BUILD -D__KERNEL__ -DMODULE=1 
-I/home/plc/kernelsrc/ALSA/cvstree/alsa-driver/include 
-I/lib/modules/2.4.18/build/include -O2 -mpreferred-stack-boundary=2 
-march=k6 -DLINUX -Wall -Wstrict-prototypes -fomit-frame-pointer -pipe  
usbaudio.c usbaudio.h usbmidi.c usbmixer.c wrapper.h > .depend
wrapper.h:1:40: missing binary operator before '<'
wrapper.h:15:40: missing binary operator before '<'
make[1]: *** [fastdep] Error 1

Pedro.



-------------------------------------------------------
Sponsored by:
ThinkGeek at http://www.ThinkGeek.com/

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: Re: [PATCH] USB MIDI driver
  2002-07-02 20:40     ` Pedro Lopez-Cabanillas
@ 2002-07-02 22:10       ` Pedro Lopez-Cabanillas
  0 siblings, 0 replies; 41+ messages in thread
From: Pedro Lopez-Cabanillas @ 2002-07-02 22:10 UTC (permalink / raw)
  To: Takashi Iwai, Clemens Ladisch; +Cc: alsa-devel

Me wrote:
>
> I can't compile current CVS usb drivers:
>
Sorry, It had been fixed 4 hours ago. 
I have compiled it succesfully now. And  also works! (only preliminary tests).

$ cat /proc/asound/seq/clients
Client info
  cur  clients : 5
  peak clients : 6
  max  clients : 192

Client   0 : "System" [Kernel]
  Port   0 : "Timer" (Rwe-)
  Port   1 : "Announce" (R-e-)
    Connecting To: 63:0
Client  63 : "OSS sequencer" [Kernel]
  Port   0 : "Receiver" (-we-)
    Connected From: 0:1
Client  64 : "External MIDI 0" [Kernel]
  Port   0 : "MIDI 0-0" (RWeX)
Client  72 : "EDIROL UM-2" [Kernel]
  Port   0 : "UM-2 Port 0" (RWeX)
    Connecting To: 80:0
  Port   1 : "UM-2 Port 1" (RWeX)
Client  80 : "Midiman Midisport 2x2" [Kernel]
  Port   0 : "Midisport 2x2 Port 0" (RWeX)
    Connected From: 72:0
  Port   1 : "Midisport 2x2 Port 1" (RWeX)

Thanks,
Pedro



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
No, I will not fix your computer.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: Re: USB recording - repetitive peaks
  2002-07-02 16:37           ` Patrick Shirkey
  2002-07-02 16:39             ` Takashi Iwai
@ 2002-07-03  5:18             ` Fernando Pablo Lopez-Lezcano
  2002-07-03  8:50               ` Takashi Iwai
  1 sibling, 1 reply; 41+ messages in thread
From: Fernando Pablo Lopez-Lezcano @ 2002-07-03  5:18 UTC (permalink / raw)
  To: Patrick Shirkey; +Cc: Takashi Iwai, alsa-devel

> I get this in alsa-utils
> 
> ----
> /usr/local/src/music/alsa/alsa-utils# ./cvscompile 
> --with-cards=intel8x0,cmipci,usb-audio,usb-midi 
> --with-sequencer=yes;make;make install
> aclocal: configure.in: 11: macro `AM_PATH_ALSA' not found in library
> /usr//share/automake/am/depend2.am: AMDEP does not appear in AM_CONDITIONAL
> /usr//share/automake/am/depend2.am: AMDEP does not appear in AM_CONDITIONAL
> /usr//share/automake/am/depend2.am: AMDEP does not appear in AM_CONDITIONAL
[MUNCH]

Same here from just downloaded CVS. 
I noticed that alsa-lib's make install did not install the alsa.m4 file...
Maybe it has something to do with this problem?
-- Fernando



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
No, I will not fix your computer.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: Re: USB recording - repetitive peaks
  2002-07-03  5:18             ` Fernando Pablo Lopez-Lezcano
@ 2002-07-03  8:50               ` Takashi Iwai
  0 siblings, 0 replies; 41+ messages in thread
From: Takashi Iwai @ 2002-07-03  8:50 UTC (permalink / raw)
  To: Fernando Pablo Lopez-Lezcano; +Cc: Patrick Shirkey, alsa-devel

At Tue, 2 Jul 2002 22:18:30 -0700 (PDT),
Fernando Pablo Lopez-Lezcano wrote:
> 
> > I get this in alsa-utils
> > 
> > ----
> > /usr/local/src/music/alsa/alsa-utils# ./cvscompile 
> > --with-cards=intel8x0,cmipci,usb-audio,usb-midi 
> > --with-sequencer=yes;make;make install
> > aclocal: configure.in: 11: macro `AM_PATH_ALSA' not found in library
> > /usr//share/automake/am/depend2.am: AMDEP does not appear in AM_CONDITIONAL
> > /usr//share/automake/am/depend2.am: AMDEP does not appear in AM_CONDITIONAL
> > /usr//share/automake/am/depend2.am: AMDEP does not appear in AM_CONDITIONAL
> [MUNCH]
> 
> Same here from just downloaded CVS. 
> I noticed that alsa-lib's make install did not install the alsa.m4 file...
> Maybe it has something to do with this problem?

oh, yeah.  it happens on a new automake.
fixed now on cvs.


thanks,

Takashi


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
No, I will not fix your computer.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: Re: USB recording - repetitive peaks
  2002-07-02 18:04                 ` Patrick Shirkey
  2002-07-02 18:26                   ` Patrick Shirkey
@ 2002-07-03  8:55                   ` Takashi Iwai
  2002-07-04 16:23                     ` Patrick Shirkey
  1 sibling, 1 reply; 41+ messages in thread
From: Takashi Iwai @ 2002-07-03  8:55 UTC (permalink / raw)
  To: Patrick Shirkey; +Cc: alsa-devel

At Wed, 03 Jul 2002 03:04:39 +0900,
Patrick Shirkey wrote:
> 
>  >the error message suggests that you didn't make install on alsa-lib.
>  >please check whether /usr/share/aclocal/alsa.m4 exists.
> 
> I did run make install and have just done so again to make sure but it's 
> not in /usr/local/share/aclocal either. I will copy it over and try 
> recording again (see below).
> 
> Also I get this for snd-usb-midi
> ----
> # modprobe snd-usb-midi
> /lib/modules/2.4.19-rc1/kernel/sound/usb/snd-usb-midi.o: unresolved 
> symbol snd_virmidi_new_Rc7dd286c
> /lib/modules/2.4.19-rc1/kernel/sound/usb/snd-usb-midi.o: insmod 
> /lib/modules/2.4.19-rc1/kernel/sound/usb/snd-usb-midi.o failed
> /lib/modules/2.4.19-rc1/kernel/sound/usb/snd-usb-midi.o: insmod 
> snd-usb-midi failed
> ----

fixed.

> 
> I just tried recording using the new code and completely hung the 
> computer where only alt+sysreq+b worked. That was during recording.
 
hmmm..  i'll check this.


Takashi


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
No, I will not fix your computer.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: Re: [PATCH] USB MIDI driver
  2002-07-02 14:51   ` Re: [PATCH] USB MIDI driver Takashi Iwai
  2002-07-02 20:40     ` Pedro Lopez-Cabanillas
@ 2002-07-03 12:52     ` Clemens Ladisch
  2002-07-03 13:18       ` Takashi Iwai
  1 sibling, 1 reply; 41+ messages in thread
From: Clemens Ladisch @ 2002-07-03 12:52 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

Takashi Iwai wrote:
> - newly added virmidi registrations.
>   that means, snd-usb-midi will have its own rawmidi devices
>   automatically as /dev/snd/midiCxDx.
>   this will be good for applications which speak only with
>   rawmidi.
> 
> the latter one was not tested.
> can anyone update the cvs if it works?

Using the cable number as index for the rawmidi device will not work
if there is more than one endpoint (I don't think such a device exists;
my driver supports more than one endpoint only because the OSS and
NetBSD drivers do).

I changed it to use the sequencer port number instead.

There are devices with more output than input ports (e.g. MU1000),
and virmidi with SNDRV_VIRMIDI_SEQ_ATTACH doesn't support input anyway,
so I moved the rmidi pointer from usbmidi_in_port to usbmidi_out_port.
(The virmidi device applies to both input and output ports, so,
theoretically, it should go into a usbmidi_endpoint structure. That
one hasn't been needed until now.)


Index: usbmidi.c
===================================================================
RCS file: /cvsroot/alsa/alsa-driver/usb/usbmidi.c,v
retrieving revision 1.1
diff -u -r1.1 usbmidi.c
--- usbmidi.c	2 Jul 2002 14:43:37 -0000	1.1
+++ usbmidi.c	3 Jul 2002 12:19:42 -0000
@@ -202,6 +202,7 @@
 	int nports;
 	struct usbmidi_out_port {
 		usbmidi_out_endpoint_t* ep;
+		snd_rawmidi_t *rmidi;
 		uint8_t cable;		/* cable number << 4 */
 		uint8_t sysex_len;
 		uint8_t sysex[2];
@@ -213,7 +214,6 @@
 	urb_t* urb;
 	struct usbmidi_in_port {
 		int seq_port;
-		snd_rawmidi_t *rmidi;
 		snd_midi_event_t* midi_event;
 	} ports[0x10];
 };
@@ -573,12 +573,9 @@
 		}
 		usb_free_urb(ep->urb);
 	}
-	for (i = 0; i < 0x10; ++i) {
+	for (i = 0; i < 0x10; ++i)
 		if (ep->ports[i].midi_event)
 			snd_midi_event_free(ep->ports[i].midi_event);
-		if (ep->ports[i].rmidi)
-			snd_device_free(ep->umidi->card, ep->ports[i].rmidi);
-	}
 	snd_magic_kfree(ep);
 }
 
@@ -695,6 +692,11 @@
  */
 static void snd_usbmidi_out_endpoint_delete(usbmidi_out_endpoint_t* ep)
 {
+	int i;
+
+	for (i = 0; i < ep->nports; ++i)
+		if (ep->ports[i].rmidi)
+			snd_device_free(ep->umidi->card, ep->ports[i].rmidi);
 	if (ep->tasklet.func)
 		tasklet_kill(&ep->tasklet);
 	if (ep->urb) {
@@ -789,13 +791,14 @@
 
 /*
  * After input and output endpoints have been initialized, create
- * the ALSA port for each input/output port pair.
+ * the ALSA port for each input/output port pair in the endpoint.
+ * *port_idx is the port number, which must be unique over all endpoints.
  */
 static int snd_usbmidi_create_endpoint_ports(usbmidi_t* umidi, int ep,
 					     int* port_idx)
 {
 	usbmidi_endpoint_info_t* ep_info = &umidi->device_info.endpoints[ep];
-	int c, out_port;
+	int c, out_port, err;
 	int cap, type, port;
 	int out, in;
 	snd_seq_port_callback_t port_callback;
@@ -813,7 +816,6 @@
 		if (out) {
 			port_callback.event_input = snd_usbmidi_port_input;
 			port_callback.private_data = &umidi->out_endpoints[ep]->ports[out_port];
-			++out_port;
 			cap |= SNDRV_SEQ_PORT_CAP_WRITE |
 				SNDRV_SEQ_PORT_CAP_SUBS_WRITE;	
 		}
@@ -828,7 +830,7 @@
 		type = SNDRV_SEQ_PORT_TYPE_MIDI_GENERIC;
 		/* TODO: read port name from jack descriptor */
 		sprintf(port_name, "%s Port %d",
-			umidi->device_info.product, (*port_idx)++);
+			umidi->device_info.product, *port_idx);
 		port = snd_seq_event_port_attach(umidi->seq_client,
 						 &port_callback,
 						 cap, type, port_name);
@@ -837,23 +839,27 @@
 		if (in)
 			umidi->in_endpoints[ep]->ports[c].seq_port = port;
 
-		if (c < SNDRV_MINOR_RAWMIDIS) {
+		if (out && *port_idx < SNDRV_MINOR_RAWMIDIS) {
 			snd_rawmidi_t *rmidi;
 			snd_virmidi_dev_t *rdev;
-			if (snd_virmidi_new(umidi->card, c, &rmidi) < 0)
-				continue;
-			umidi->in_endpoints[ep]->ports[c].rmidi = rmidi;
-			rdev = snd_magic_cast(snd_virmidi_dev_t, rmidi->private_data, continue);
+			err = snd_virmidi_new(umidi->card, *port_idx, &rmidi);
+			if (err < 0)
+				return err;
+			rdev = snd_magic_cast(snd_virmidi_dev_t, rmidi->private_data, return -ENXIO);
 			strcpy(rmidi->name, port_name);
 			rdev->seq_mode = SNDRV_VIRMIDI_SEQ_ATTACH;
 			rdev->client = umidi->seq_client;
 			rdev->port = port;
-			if (snd_device_register(umidi->card, rmidi) < 0) {
+			err = snd_device_register(umidi->card, rmidi);
+			if (err < 0) {
 				snd_device_free(umidi->card, rmidi);
-				continue;
+				return err;
 			}
-			umidi->in_endpoints[ep]->ports[c].rmidi = rmidi;
+			umidi->out_endpoints[ep]->ports[out_port].rmidi = rmidi;
 		}
+		if (out)
+			++out_port;
+		++*port_idx;
 	}
 	return 0;
 }


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
No, I will not fix your computer.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: Re: [PATCH] USB MIDI driver
  2002-07-03 12:52     ` Clemens Ladisch
@ 2002-07-03 13:18       ` Takashi Iwai
  2002-07-03 14:42         ` Clemens Ladisch
  0 siblings, 1 reply; 41+ messages in thread
From: Takashi Iwai @ 2002-07-03 13:18 UTC (permalink / raw)
  To: Clemens Ladisch; +Cc: alsa-devel

At Wed, 03 Jul 2002 14:52:13 +0200,
Clemens Ladisch wrote:
> 
> Takashi Iwai wrote:
> > - newly added virmidi registrations.
> >   that means, snd-usb-midi will have its own rawmidi devices
> >   automatically as /dev/snd/midiCxDx.
> >   this will be good for applications which speak only with
> >   rawmidi.
> > 
> > the latter one was not tested.
> > can anyone update the cvs if it works?
> 
> Using the cable number as index for the rawmidi device will not work
> if there is more than one endpoint (I don't think such a device exists;
> my driver supports more than one endpoint only because the OSS and
> NetBSD drivers do).
> 
> I changed it to use the sequencer port number instead.
> 
> There are devices with more output than input ports (e.g. MU1000),
> and virmidi with SNDRV_VIRMIDI_SEQ_ATTACH doesn't support input anyway,

hmm, this mode wasn't tested, too.  usb-midi is the first case.
doesn't rawmidi read work at all?

> so I moved the rmidi pointer from usbmidi_in_port to usbmidi_out_port.
> (The virmidi device applies to both input and output ports, so,
> theoretically, it should go into a usbmidi_endpoint structure. That
> one hasn't been needed until now.)

yep. 


anyway, the patch is applied.  thanks.


Takashi


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
No, I will not fix your computer.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: Re: [PATCH] USB MIDI driver
  2002-07-03 13:18       ` Takashi Iwai
@ 2002-07-03 14:42         ` Clemens Ladisch
  2002-07-04  9:47           ` Takashi Iwai
  0 siblings, 1 reply; 41+ messages in thread
From: Clemens Ladisch @ 2002-07-03 14:42 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

Takashi Iwai wrote:
> Clemens Ladisch wrote:
> > and virmidi with SNDRV_VIRMIDI_SEQ_ATTACH doesn't support input anyway,
> 
> hmm, this mode wasn't tested, too.  usb-midi is the first case.
> doesn't rawmidi read work at all?

The driver calls snd_seq_kernel_client_dispatch() to get rid of an event.
To receive a sequencer event, virmidi would need its own sequencer client
(or port), like it does with SNDRV_VIRMIDI_SEQ_DISPATCH, but then we would
have two sequencer clients.

Alternatively, usb-midi could call snd_virmidi_receive() directly, but that
smells somewhat like a hack. (I've noticed that snd_virmidi_receive() isn't
declared static, although it isn't exported either. :-)


Clemens


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
No, I will not fix your computer.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: Re: USB recording - repetitive peaks
  2002-07-02 18:38                     ` Patrick Shirkey
@ 2002-07-04  9:41                       ` Takashi Iwai
  0 siblings, 0 replies; 41+ messages in thread
From: Takashi Iwai @ 2002-07-04  9:41 UTC (permalink / raw)
  To: Patrick Shirkey; +Cc: thorsten.haas, alsa-devel

At Wed, 03 Jul 2002 03:38:41 +0900,
Patrick Shirkey wrote:
> 
> Patrick Shirkey wrote:
> > Patrick Shirkey wrote:
> > 
> >> I did run make install and have just done so again to make sure but 
> >> it's not in /usr/local/share/aclocal either. I will copy it over and 
> >> try recording again (see below).
> >>
> >> >
> > 
> >  >> Recording was a bit messy, due to killing the arecord process 
> > freezes my >> box.
> >  >> Deterministically: whenever the process is interuppted (Ctrl-C) or 
> > killed
> >  >> (sig 9).
> > 
> > This seems to be the same here now. The file was recorded and with no 
> > distortions
> > to the sound but arecord hangs my rig when it stops. I'll check with 
> > JACK+ardour.
> > 
> > 
> 
> Ouch. JACK+ardour causes an instant hang. Using alt+sysreq I can sync 
> unmount and reboot but nothing else. Also the sound quality is 
> significantly degraded while running through JACK. At least the native 
> drivers are sounding correct now though :)

the hang-up at capture close was at least fixed on cvs.
it was due to the combination of ASYNC_UNLINK and complete callbacks. 

not sure whether the bug with jack is fixed, too, but i think it was
caused by the same reason.  please update the cvs tree.


Takashi


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Caffeinated soap. No kidding.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: Re: [PATCH] USB MIDI driver
  2002-07-03 14:42         ` Clemens Ladisch
@ 2002-07-04  9:47           ` Takashi Iwai
  2002-07-04 11:52             ` Clemens Ladisch
  0 siblings, 1 reply; 41+ messages in thread
From: Takashi Iwai @ 2002-07-04  9:47 UTC (permalink / raw)
  To: alsa-devel

At Wed, 03 Jul 2002 16:42:43 +0200,
Clemens Ladisch wrote:
> 
> Takashi Iwai wrote:
> > Clemens Ladisch wrote:
> > > and virmidi with SNDRV_VIRMIDI_SEQ_ATTACH doesn't support input anyway,
> > 
> > hmm, this mode wasn't tested, too.  usb-midi is the first case.
> > doesn't rawmidi read work at all?
> 
> The driver calls snd_seq_kernel_client_dispatch() to get rid of an event.
> To receive a sequencer event, virmidi would need its own sequencer client
> (or port), like it does with SNDRV_VIRMIDI_SEQ_DISPATCH, but then we would
> have two sequencer clients.

oh, yes, you're right.
 
> Alternatively, usb-midi could call snd_virmidi_receive() directly, but that
> smells somewhat like a hack. (I've noticed that snd_virmidi_receive() isn't
> declared static, although it isn't exported either. :-)

i think it's the easiest and cleanest way.
actually this was declared as external intentionally for such a
purpose, but just forgotten to be exported :)

i changed virmidi codes for easier use, and added
snd_virmidi_receive() to usbmidi.c.
could you check the updated driver?


ciao,

Takashi


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Caffeinated soap. No kidding.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: Re: [PATCH] USB MIDI driver
  2002-07-04  9:47           ` Takashi Iwai
@ 2002-07-04 11:52             ` Clemens Ladisch
  2002-07-05  7:55               ` Clemens Ladisch
  0 siblings, 1 reply; 41+ messages in thread
From: Clemens Ladisch @ 2002-07-04 11:52 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

Takashi Iwai wrote:
> i changed virmidi codes for easier use, and added
> snd_virmidi_receive() to usbmidi.c.
> could you check the updated driver?

It is obvious that you have not been able to check it.  :-)

My snd_usbmidi_port_input() function actually does the _output_ (I named
it 'input' because it began its life as the function to be assigend to
port_callback.event_input -- well, that's input _to_ the usb-midi port.
A better name for it would be snd_usbmidi_event_for_output).

The call to snd_virmidi_receive() should go into snd_usbmidi_input_packet.

And now it turns out that moving the rmidi pointer from the input to the
output endpoint structure was rather stupid by me because rmidi is needed
for input only. That change needs to be reverted, too.

The virmidi creation in snd_usbmidi_create_endpoint_ports should look like
the following: (warning: untested and made by hand because I don't have
access to my Linux box right now. patch probably won't accept those line
numbers! :-)


@@ at the end of snd_usbmidi_create_endpoint_ports
	if (in)
		umidi->in_endpoints[ep]->ports[c].seq_port = port;

-	if (out && *port_idx < SNDRV_MINOR_RAWMIDIS) {
+	if (in && *port_idx < SNDRV_MINOR_RAWMIDIS) {
		snd_rawmidi_t *rmidi;
		snd_virmidi_dev_t *rdev;
		err = snd_virmidi_new(umidi->card, *port_idx, &rmidi);
@@ a few lines later
			snd_device_free(umidi->card, rmidi);
			return err;
		}
-		umidi->out_endpoints[ep]->ports[out_port].rmidi = rmidi;
+		umidi->in_endpoints[ep]->ports[c].rmidi = rmidi;
	}
	if (out)
		++out_port;


This will not create virmidi ports for output only ports, but it should
actually work for the rest. :)

I think I'll be able to submit a patch for storing rmidi independently of
the input/output structures tomorrow.


Clemens



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Caffeinated soap. No kidding.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: Re: USB recording - repetitive peaks
  2002-07-03  8:55                   ` Takashi Iwai
@ 2002-07-04 16:23                     ` Patrick Shirkey
  2002-07-04 16:26                       ` Takashi Iwai
  2002-07-04 18:59                       ` Thorsten Haas
  0 siblings, 2 replies; 41+ messages in thread
From: Patrick Shirkey @ 2002-07-04 16:23 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

Takashi Iwai wrote:

 >the hang-up at capture close was at least fixed on cvs.
 >it was due to the combination of ASYNC_UNLINK and complete callbacks.
 >
 >not sure whether the bug with jack is fixed, too, but i think it was 
 >caused by the same reason.  please update the cvs tree.

I can now record successfully using arecord without hanging the system
but now I get an instant lock up while starting ardour. :( I have a 
suspicion that it happens when ardour registers with jackd and asks for 
the available input devices.  (I'm not sure about the sound quality. I 
will see if I can generate a test tone to use instead of actual music).

The only way to get out of it is reboot using sysreq.

I will check some more. Please note this wasn't happening so quickly 
yesterday.

I'm not sure about the sound quality it is definitely better. I will see 
if I can generate a test tone to use instead of actual music.

-- 
Patrick Shirkey - Boost Hardware Ltd.
For the discerning hardware connoisseur
Http://www.boosthardware.com
Http://www.boosthardware.com/LAU/guide/
========================================



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Caffeinated soap. No kidding.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: Re: USB recording - repetitive peaks
  2002-07-04 16:23                     ` Patrick Shirkey
@ 2002-07-04 16:26                       ` Takashi Iwai
  2002-07-04 17:15                         ` Patrick Shirkey
  2002-07-04 18:59                       ` Thorsten Haas
  1 sibling, 1 reply; 41+ messages in thread
From: Takashi Iwai @ 2002-07-04 16:26 UTC (permalink / raw)
  To: Patrick Shirkey; +Cc: alsa-devel

At Fri, 05 Jul 2002 01:23:18 +0900,
Patrick Shirkey wrote:
> 
> Takashi Iwai wrote:
> 
>  >the hang-up at capture close was at least fixed on cvs.
>  >it was due to the combination of ASYNC_UNLINK and complete callbacks.
>  >
>  >not sure whether the bug with jack is fixed, too, but i think it was 
>  >caused by the same reason.  please update the cvs tree.
> 
> I can now record successfully using arecord without hanging the system
> but now I get an instant lock up while starting ardour. :( I have a 
> suspicion that it happens when ardour registers with jackd and asks for 
> the available input devices.  (I'm not sure about the sound quality. I 
> will see if I can generate a test tone to use instead of actual music).

then could you remove the mask USB_ASYNC_UNLINK from line 826 of
usbaudio.c? 
this might also leads to a lock-up when usb_submit_urb() fails, but
this must happen rarely.


Takashi


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Caffeinated soap. No kidding.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: Re: USB recording - repetitive peaks
  2002-07-04 16:26                       ` Takashi Iwai
@ 2002-07-04 17:15                         ` Patrick Shirkey
  2002-07-04 17:27                           ` Paul Davis
  2002-07-05 13:44                           ` Takashi Iwai
  0 siblings, 2 replies; 41+ messages in thread
From: Patrick Shirkey @ 2002-07-04 17:15 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

Takashi Iwai wrote:
> At Fri, 05 Jul 2002 01:23:18 +0900,
> Patrick Shirkey wrote:
> 
>>Takashi Iwai wrote:
>>
>> >the hang-up at capture close was at least fixed on cvs.
>> >it was due to the combination of ASYNC_UNLINK and complete callbacks.
>> >
>> >not sure whether the bug with jack is fixed, too, but i think it was 
>> >caused by the same reason.  please update the cvs tree.
>>
>>I can now record successfully using arecord without hanging the system
>>but now I get an instant lock up while starting ardour. :( I have a 
>>suspicion that it happens when ardour registers with jackd and asks for 
>>the available input devices.  (I'm not sure about the sound quality. I 
>>will see if I can generate a test tone to use instead of actual music).
> 
> 
> then could you remove the mask USB_ASYNC_UNLINK from line 826 of
> usbaudio.c? 
> this might also leads to a lock-up when usb_submit_urb() fails, but
> this must happen rarely.
> 

First I tried

		u->urb->transfer_flags = USB_ISO_ASAP; /*  |  USB_ASYNC_UNLINK; */

but that made almost no difference. I was able to load ardour for about 
10 seconds before the machine hung.

Now I have commented out the line and I get this from jackd

----
$ jackd -v -d alsa -d quattro2
jackd 0.37.1
Copyright 2001-2002 Paul Davis and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details

2616 waiting for signals
creating alsa driver ... quattro2|1024|2|48000|swmon
new client: alsa_pcm, id = 1 type 1 @ 0x80664b0 fd = 12
port alsa_pcm:in_1 buf shm key 0x30945346 at offset 4096 bi = 0x8065880
registered port alsa_pcm:in_1, offset = 4096
port alsa_pcm:in_2 buf shm key 0x30945346 at offset 8192 bi = 0x8065890
registered port alsa_pcm:in_2, offset = 8192
registered port alsa_pcm:out_1, offset = 0
registered port alsa_pcm:out_2, offset = 0
-- jack_rechain_graph():
client alsa_pcm: inprocess client, execution_order=0.
ALSA: poll time out polled for 44800.813378
driver wait function failed, exiting
telling signal thread that the engine is done
jack main caught signal 1

----

-- 
Patrick Shirkey - Boost Hardware Ltd.
For the discerning hardware connoisseur
Http://www.boosthardware.com
Http://www.boosthardware.com/LAU/guide/
========================================



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Caffeinated soap. No kidding.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: Re: USB recording - repetitive peaks
  2002-07-04 17:15                         ` Patrick Shirkey
@ 2002-07-04 17:27                           ` Paul Davis
  2002-07-05 13:44                           ` Takashi Iwai
  1 sibling, 0 replies; 41+ messages in thread
From: Paul Davis @ 2002-07-04 17:27 UTC (permalink / raw)
  To: Patrick Shirkey; +Cc: Takashi Iwai, alsa-devel

>client alsa_pcm: inprocess client, execution_order=0.
>ALSA: poll time out polled for 44800.813378
>driver wait function failed, exiting
>telling signal thread that the engine is done
>jack main caught signal 1

which means that the JACK alsa driver/client didn't return from poll
on the ALSA streams within the given timeout: ie. one or both of them
is not running.

--p


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Caffeinated soap. No kidding.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: Re: USB recording - repetitive peaks
  2002-07-04 16:23                     ` Patrick Shirkey
  2002-07-04 16:26                       ` Takashi Iwai
@ 2002-07-04 18:59                       ` Thorsten Haas
  2002-07-05  6:56                         ` Thorsten Haas
  1 sibling, 1 reply; 41+ messages in thread
From: Thorsten Haas @ 2002-07-04 18:59 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

Patrick, I'll checkout cvs tomorrow morning, compile and test around a bit 
with a rc-generator and the oscilloscope. I'll send the results to the list.

Am Donnerstag, 4. Juli 2002 18:23 schrieb Patrick Shirkey:
> Takashi Iwai wrote:
>  >the hang-up at capture close was at least fixed on cvs.
>  >it was due to the combination of ASYNC_UNLINK and complete callbacks.
>  >
>  >not sure whether the bug with jack is fixed, too, but i think it was
>  >caused by the same reason.  please update the cvs tree.
>
> I can now record successfully using arecord without hanging the system
> but now I get an instant lock up while starting ardour. :( I have a
> suspicion that it happens when ardour registers with jackd and asks for
> the available input devices.  (I'm not sure about the sound quality. I
> will see if I can generate a test tone to use instead of actual music).
>
> The only way to get out of it is reboot using sysreq.
>
> I will check some more. Please note this wasn't happening so quickly
> yesterday.
>
> I'm not sure about the sound quality it is definitely better. I will see
> if I can generate a test tone to use instead of actual music.



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Caffeinated soap. No kidding.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: Re: USB recording - repetitive peaks
  2002-07-04 18:59                       ` Thorsten Haas
@ 2002-07-05  6:56                         ` Thorsten Haas
  2002-07-05  8:34                           ` Patrick Shirkey
  0 siblings, 1 reply; 41+ messages in thread
From: Thorsten Haas @ 2002-07-05  6:56 UTC (permalink / raw)
  To: alsa-devel

> > I'm not sure about the sound quality it is definitely better. I will see
> > if I can generate a test tone to use instead of actual music.

I checked out cvs this morning and compiled. I grabbed my function generator 
and fed my quattro usb with some signal; 400Hz, 0,7V peak-to-peak.

It's working finely now. (no more peaks)

I did the same thing some days before. ( Whoever is interested in the results 
and the output of the oscilloscope: http://www.thorstenhaas.de/alsa.php)




Am Donnerstag, 4. Juli 2002 20:59 schrieb Thorsten Haas:
> Patrick, I'll checkout cvs tomorrow morning, compile and test around a bit
> with a rc-generator and the oscilloscope. I'll send the results to the
> list.
>
> Am Donnerstag, 4. Juli 2002 18:23 schrieb Patrick Shirkey:
> > Takashi Iwai wrote:
> >  >the hang-up at capture close was at least fixed on cvs.
> >  >it was due to the combination of ASYNC_UNLINK and complete callbacks.
> >  >
> >  >not sure whether the bug with jack is fixed, too, but i think it was
> >  >caused by the same reason.  please update the cvs tree.
> >
> > I can now record successfully using arecord without hanging the system
> > but now I get an instant lock up while starting ardour. :( I have a
> > suspicion that it happens when ardour registers with jackd and asks for
> > the available input devices.  (I'm not sure about the sound quality. I
> > will see if I can generate a test tone to use instead of actual music).
> >
> > The only way to get out of it is reboot using sysreq.
> >
> > I will check some more. Please note this wasn't happening so quickly
> > yesterday.
>
> -------------------------------------------------------
> This sf.net email is sponsored by:ThinkGeek
> Caffeinated soap. No kidding.
> http://thinkgeek.com/sf
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/alsa-devel



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Bringing you mounds of caffeinated joy.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: Re: [PATCH] USB MIDI driver
  2002-07-04 11:52             ` Clemens Ladisch
@ 2002-07-05  7:55               ` Clemens Ladisch
  2002-07-05 13:40                 ` Takashi Iwai
  0 siblings, 1 reply; 41+ messages in thread
From: Clemens Ladisch @ 2002-07-05  7:55 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

I wrote:
> I think I'll be able to submit a patch for storing rmidi independently of
> the input/output structures tomorrow.

And here it is.

- moved rmidi to new structure usbmidi_endpoint
- moved call to snd_virmidi_receive to snd_usbmidi_input_packet
- renamed snd_usbmidi_port_input to snd_usbmidi_event_input
- removed dynamic allocation of usbmidi_out_port structures


Index: usbmidi.c
===================================================================
RCS file: /cvsroot/alsa/alsa-driver/usb/usbmidi.c,v
retrieving revision 1.3
diff -u -r1.3 usbmidi.c
--- usbmidi.c	4 Jul 2002 09:46:36 -0000	1.3
+++ usbmidi.c	5 Jul 2002 07:42:21 -0000
@@ -155,6 +155,7 @@
 typedef struct usbmidi usbmidi_t;
 typedef struct usbmidi_device_info usbmidi_device_info_t;
 typedef struct usbmidi_endpoint_info usbmidi_endpoint_info_t;
+typedef struct usbmidi_endpoint usbmidi_endpoint_t;
 typedef struct usbmidi_out_endpoint usbmidi_out_endpoint_t;
 typedef struct usbmidi_out_port usbmidi_out_port_t;
 typedef struct usbmidi_in_endpoint usbmidi_in_endpoint_t;
@@ -183,9 +184,11 @@
 	int dev;
 	int seq_client;
 	usbmidi_device_info_t device_info;
-
-	usbmidi_out_endpoint_t* out_endpoints[MAX_ENDPOINTS];
-	usbmidi_in_endpoint_t* in_endpoints[MAX_ENDPOINTS];
+	struct usbmidi_endpoint {
+		usbmidi_out_endpoint_t* out;
+		usbmidi_in_endpoint_t* in;
+		snd_rawmidi_t* rmidi[0x10];
+	} endpoints[MAX_ENDPOINTS];
 };
 
 struct usbmidi_out_endpoint {
@@ -199,18 +202,17 @@
 	int data_size;
 	spinlock_t buffer_lock;
 
-	int nports;
 	struct usbmidi_out_port {
 		usbmidi_out_endpoint_t* ep;
-		snd_rawmidi_t *rmidi;
 		uint8_t cable;		/* cable number << 4 */
 		uint8_t sysex_len;
 		uint8_t sysex[2];
-	} ports[0];
+	} ports[0x10];
 };
 
 struct usbmidi_in_endpoint {
 	usbmidi_t* umidi;
+	usbmidi_endpoint_t* ep;
 	urb_t* urb;
 	struct usbmidi_in_port {
 		int seq_port;
@@ -258,7 +260,8 @@
 	static const uint8_t cin_length[] = {
 		0, 0, 2, 3, 3, 1, 2, 3, 3, 3, 3, 3, 2, 2, 3, 1
 	};
-	usbmidi_in_port_t* port = &ep->ports[packet[0] >> 4];
+	int cable = packet[0] >> 4;
+	usbmidi_in_port_t* port = &ep->ports[cable];
 	snd_seq_event_t ev;
 
 	if (!port->midi_event)
@@ -271,6 +274,8 @@
 		ev.dest.client = SNDRV_SEQ_ADDRESS_SUBSCRIBERS;
 		snd_seq_kernel_client_dispatch(ep->umidi->seq_client,
 					       &ev, 1, 0);
+		if (ep->ep->rmidi[cable])
+			snd_virmidi_receive(ep->ep->rmidi[cable], &ev);
 	}
 }
 
@@ -454,8 +459,8 @@
 /*
  * Converts an ALSA sequencer event into USB MIDI packets.
  */
-static int snd_usbmidi_port_input(snd_seq_event_t* ev, int direct,
-				  void* private_data, int atomic, int hop)
+static int snd_usbmidi_event_input(snd_seq_event_t* ev, int direct,
+				   void* private_data, int atomic, int hop)
 {
 	usbmidi_out_port_t* port = (usbmidi_out_port_t*)private_data;
 	int err;
@@ -554,7 +559,6 @@
 	default:
 		return 0;
 	}
-	snd_virmidi_receive(port->rmidi, ev);
 	tasklet_hi_schedule(&port->ep->tasklet);
 	return 0;
 }
@@ -617,7 +621,7 @@
  */
 static int snd_usbmidi_in_endpoint_create(usbmidi_t* umidi,
 					  usbmidi_endpoint_info_t* ep_info,
-					  usbmidi_in_endpoint_t** rep)
+					  usbmidi_endpoint_t* rep)
 {
 	usbmidi_in_endpoint_t* ep;
 	int do_int_transfer;
@@ -626,11 +630,12 @@
 	unsigned int pipe;
 	int length, i, err;
 
-	*rep = NULL;
+	rep->in = NULL;
 	ep = snd_magic_kcalloc(usbmidi_in_endpoint_t, 0, GFP_KERNEL);
 	if (!ep)
 		return -ENOMEM;
 	ep->umidi = umidi;
+	ep->ep = rep;
 	for (i = 0; i < 0x10; ++i)
 		ep->ports[i].seq_port = -1;
 
@@ -674,7 +679,7 @@
 			}
 		}
 
-	*rep = ep;
+	rep->in = ep;
 	return 0;
 }
 
@@ -693,11 +698,6 @@
  */
 static void snd_usbmidi_out_endpoint_delete(usbmidi_out_endpoint_t* ep)
 {
-	int i;
-
-	for (i = 0; i < ep->nports; ++i)
-		if (ep->ports[i].rmidi)
-			snd_device_free(ep->umidi->card, ep->ports[i].rmidi);
 	if (ep->tasklet.func)
 		tasklet_kill(&ep->tasklet);
 	if (ep->urb) {
@@ -716,17 +716,15 @@
  */
 static int snd_usbmidi_out_endpoint_create(usbmidi_t* umidi,
 					   usbmidi_endpoint_info_t* ep_info,
-			 		   usbmidi_out_endpoint_t** rep)
+			 		   usbmidi_endpoint_t* rep)
 {
 	usbmidi_out_endpoint_t* ep;
-	int nports, i;
+	int i;
 	unsigned int pipe;
 	void* buffer;
 
-	*rep = NULL;
-	nports = snd_usbmidi_count_bits(ep_info->out_cables);
-	ep = snd_magic_kcalloc(usbmidi_out_endpoint_t,
-			       nports * sizeof(usbmidi_out_port_t), GFP_KERNEL);
+	rep->out = NULL;
+	ep = snd_magic_kcalloc(usbmidi_out_endpoint_t, 0, GFP_KERNEL);
 	if (!ep)
 		return -ENOMEM;
 	ep->umidi = umidi;
@@ -749,16 +747,13 @@
 	spin_lock_init(&ep->buffer_lock);
 	tasklet_init(&ep->tasklet, snd_usbmidi_out_tasklet, (unsigned long)ep);
 
-	ep->nports = nports;
-	nports = 0;
 	for (i = 0; i < 0x10; ++i)
 		if (ep_info->out_cables & (1 << i)) {
-			ep->ports[nports].ep = ep;
-			ep->ports[nports].cable = i << 4;
-			++nports;
+			ep->ports[i].ep = ep;
+			ep->ports[i].cable = i << 4;
 		}
 
-	*rep = ep;
+	rep->out = ep;
 	return 0;
 }
 
@@ -768,7 +763,7 @@
 static int snd_usbmidi_seq_device_delete(snd_seq_device_t* seq_device)
 {
 	usbmidi_t* umidi;
-	int i;
+	int i, j;
 
 	umidi = (usbmidi_t*)SNDRV_SEQ_DEVICE_ARGPTR(seq_device);
 
@@ -776,16 +771,21 @@
 		snd_seq_delete_kernel_client(umidi->seq_client);
 		umidi->seq_client = -1;
 	}
-
 	for (i = 0; i < MAX_ENDPOINTS; ++i) {
-		if (umidi->out_endpoints[i]) {
-			snd_usbmidi_out_endpoint_delete(umidi->out_endpoints[i]);
-			umidi->out_endpoints[i] = NULL;
-		}
-		if (umidi->in_endpoints[i]) {
-			snd_usbmidi_in_endpoint_delete(umidi->in_endpoints[i]);
-			umidi->in_endpoints[i] = NULL;
-		}
+		usbmidi_endpoint_t* ep = &umidi->endpoints[i];
+		if (ep->out) {
+			snd_usbmidi_out_endpoint_delete(ep->out);
+			ep->out = NULL;
+		}
+		if (ep->in) {
+			snd_usbmidi_in_endpoint_delete(ep->in);
+			ep->in = NULL;
+		}
+		for (j = 0; j < 0x10; ++j)
+			if (ep->rmidi[j]) {
+				snd_device_free(umidi->card, ep->rmidi[j]);
+				ep->rmidi[j] = NULL;
+			}
 	}
 	return 0;
 }
@@ -799,13 +799,12 @@
 					     int* port_idx)
 {
 	usbmidi_endpoint_info_t* ep_info = &umidi->device_info.endpoints[ep];
-	int c, out_port, err;
+	int c, err;
 	int cap, type, port;
 	int out, in;
 	snd_seq_port_callback_t port_callback;
 	char port_name[40];
 
-	out_port = 0;
 	for (c = 0; c < 0x10; ++c) {
 		out = ep_info->out_cables & (1 << c);
 		in = ep_info->in_cables & (1 << c);
@@ -815,8 +814,8 @@
 		memset(&port_callback, 0, sizeof(port_callback));
 		port_callback.owner = THIS_MODULE;
 		if (out) {
-			port_callback.event_input = snd_usbmidi_port_input;
-			port_callback.private_data = &umidi->out_endpoints[ep]->ports[out_port];
+			port_callback.event_input = snd_usbmidi_event_input;
+			port_callback.private_data = &umidi->endpoints[ep].out->ports[c];
 			cap |= SNDRV_SEQ_PORT_CAP_WRITE |
 				SNDRV_SEQ_PORT_CAP_SUBS_WRITE;	
 		}
@@ -838,9 +837,9 @@
 		if (port < 0)
 			return port;
 		if (in)
-			umidi->in_endpoints[ep]->ports[c].seq_port = port;
+			umidi->endpoints[ep].in->ports[c].seq_port = port;
 
-		if (out && *port_idx < SNDRV_MINOR_RAWMIDIS) {
+		if (*port_idx < SNDRV_MINOR_RAWMIDIS) {
 			snd_rawmidi_t *rmidi;
 			snd_virmidi_dev_t *rdev;
 			err = snd_virmidi_new(umidi->card, *port_idx, &rmidi);
@@ -856,10 +855,8 @@
 				snd_device_free(umidi->card, rmidi);
 				return err;
 			}
-			umidi->out_endpoints[ep]->ports[out_port].rmidi = rmidi;
+			umidi->endpoints[ep].rmidi[c] = rmidi;
 		}
-		if (out)
-			++out_port;
 		++*port_idx;
 	}
 	return 0;
@@ -879,13 +876,13 @@
 			continue;
 		if (ep_info->out_cables) {
 			err = snd_usbmidi_out_endpoint_create(umidi, ep_info,
-							      &umidi->out_endpoints[i]);
+							      &umidi->endpoints[i]);
 			if (err < 0)
 				return err;
 		}
 		if (ep_info->in_cables) {
 			err = snd_usbmidi_in_endpoint_create(umidi, ep_info,
-							     &umidi->in_endpoints[i]);
+							     &umidi->endpoints[i]);
 			if (err < 0)
 				return err;
 		}
@@ -936,8 +933,8 @@
 	}
 
 	for (i = 0; i < MAX_ENDPOINTS; ++i)
-		if (umidi->in_endpoints[i])
-			snd_usbmidi_submit_urb(umidi->in_endpoints[i]->urb,
+		if (umidi->endpoints[i].in)
+			snd_usbmidi_submit_urb(umidi->endpoints[i].in->urb,
 					       GFP_KERNEL);
 	return 0;
 }


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Bringing you mounds of caffeinated joy.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: Re: USB recording - repetitive peaks
  2002-07-05  6:56                         ` Thorsten Haas
@ 2002-07-05  8:34                           ` Patrick Shirkey
  2002-07-05  8:38                             ` Thorsten Haas
  0 siblings, 1 reply; 41+ messages in thread
From: Patrick Shirkey @ 2002-07-05  8:34 UTC (permalink / raw)
  To: Thorsten Haas; +Cc: alsa-devel

Thorsten Haas wrote:
>>>I'm not sure about the sound quality it is definitely better. I will see
>>>if I can generate a test tone to use instead of actual music.
>>
> 
> I checked out cvs this morning and compiled. I grabbed my function generator 
> and fed my quattro usb with some signal; 400Hz, 0,7V peak-to-peak.
> 
> It's working finely now. (no more peaks)
> 
> I did the same thing some days before. ( Whoever is interested in the results 
> and the output of the oscilloscope: http://www.thorstenhaas.de/alsa.php)
> 
>

That looks much better.

We still face the problem of accessing all 4 channels at once. AFAICT in 
the .asoundrc file the multi interface option does not have the ability 
to seperately access the channels in non sequential order. Therefore we 
are currently unable to access all the channels on the card because pcm0 
and pcm1 point to the same physical channels input 1 and input 2.

We need to either reorganise the pcm devices for the card or make it 
possible to secify channels in non sequential order using the multi 
interface option in a .asoundrc.


-- 
Patrick Shirkey - Boost Hardware Ltd.
For the discerning hardware connoisseur
Http://www.boosthardware.com
Http://www.boosthardware.com/LAU/guide/
========================================



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Bringing you mounds of caffeinated joy.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: Re: USB recording - repetitive peaks
  2002-07-05  8:34                           ` Patrick Shirkey
@ 2002-07-05  8:38                             ` Thorsten Haas
  2002-07-05  9:06                               ` Thorsten Haas
  0 siblings, 1 reply; 41+ messages in thread
From: Thorsten Haas @ 2002-07-05  8:38 UTC (permalink / raw)
  To: Patrick Shirkey; +Cc: alsa-devel

Am Freitag, 5. Juli 2002 10:34 schrieb Patrick Shirkey:
> Thorsten Haas wrote:
> >>>I'm not sure about the sound quality it is definitely better. I will see
> >>>if I can generate a test tone to use instead of actual music.
> >
> > I checked out cvs this morning and compiled. I grabbed my function
> > generator and fed my quattro usb with some signal; 400Hz, 0,7V
> > peak-to-peak.
> >
> > It's working finely now. (no more peaks)
> >
> > I did the same thing some days before. ( Whoever is interested in the
> > results and the output of the oscilloscope:
> > http://www.thorstenhaas.de/alsa.php)
>
> That looks much better.
>
> We still face the problem of accessing all 4 channels at once. AFAICT in
> the .asoundrc file the multi interface option does not have the ability
> to seperately access the channels in non sequential order. Therefore we
> are currently unable to access all the channels on the card because pcm0
> and pcm1 point to the same physical channels input 1 and input 2.
>
> We need to either reorganise the pcm devices for the card or make it
> possible to secify channels in non sequential order using the multi
> interface option in a .asoundrc.

I wish I was much more experienced in programming C++ and the structure of 
ALSA. Actually I am not. So I can hardly follow you what this will mean 
concerning effort and complexity.

So, what will it be?


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Bringing you mounds of caffeinated joy.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: Re: USB recording - repetitive peaks
  2002-07-05  8:38                             ` Thorsten Haas
@ 2002-07-05  9:06                               ` Thorsten Haas
  2002-07-05 15:35                                 ` Takashi Iwai
  0 siblings, 1 reply; 41+ messages in thread
From: Thorsten Haas @ 2002-07-05  9:06 UTC (permalink / raw)
  To: Patrick Shirkey; +Cc: alsa-devel

I like to use two soundcards in my system.

I have an usb quattro and a trident compatible card. I read the manual at  
http://www.boosthardware.com/LAU/guide/ and configured modules.conf:#

------------------------- snip --------------------------------------
### NEW ALSA 0.9 from CVS 2002-07-05

##       General
# ALSA portion
  alias char-major-116 snd
# OSS/Free portion
  alias char-major-14 soundcore

##      Native Devices: ALSA portion
# quattro usb
  alias snd-card-0 snd-usb-audio
  options snd-usb-audio snd_index=0 snd_id="Q4"
# sis onboard (trident)
  alias snd-card-1 snd-card-trident
  options snd-card-trident snd_index=1 snd_id="SiS"

##      Native Devices: OSS/Free portion
# OSS Free Portion - Card 1 - quattro usb
  alias sound-slot-0 snd-card-0
  alias sound-service-0-0 snd-mixer-oss
  alias sound-service-0-1 snd-seq-oss
  alias sound-service-0-3 snd-pcm-oss
  alias sound-service-0-8 snd-seq-oss
  alias sound-service-0-12 snd-pcm-oss
# OSS Free Portion - Card 2 - Trident
  alias sound-slot-1 snd-card-1
  alias sound-service-1-0 snd-mixer-oss
  alias sound-service-1-3 snd-pcm-oss
  alias sound-service-1-12 snd-pcm-oss
------------------------- snap --------------------------------------

After that i ran depmod -a and tried

linda:~ # modprobe snd-card-trident
/lib/modules/2.4.10-4GB/misc/snd-rawmidi.o: unresolved symbol 
snd_control_unregister_ioctl
/lib/modules/2.4.10-4GB/misc/snd-rawmidi.o: unresolved symbol 
snd_switch_remove
/lib/modules/2.4.10-4GB/misc/snd-rawmidi.o: unresolved symbol snd_switch_free
/lib/modules/2.4.10-4GB/misc/snd-rawmidi.o: unresolved symbol snd_switch_add
/lib/modules/2.4.10-4GB/misc/snd-rawmidi.o: unresolved symbol 
snd_switch_prepare
/lib/modules/2.4.10-4GB/misc/snd-rawmidi.o: unresolved symbol 
snd_info_create_entry
/lib/modules/2.4.10-4GB/misc/snd-rawmidi.o: unresolved symbol 
snd_control_register_ioctl
/lib/modules/2.4.10-4GB/misc/snd-rawmidi.o: unresolved symbol snd_switch_new
/lib/modules/2.4.10-4GB/misc/snd-rawmidi.o: unresolved symbol 
snd_switch_free_one
/lib/modules/2.4.10-4GB/misc/snd-rawmidi.o: insmod 
/lib/modules/2.4.10-4GB/misc/snd-rawmidi.o failed
/lib/modules/2.4.10-4GB/misc/snd-rawmidi.o: insmod snd-card-trident failed

Can someone please give me ahint what I did wrong here?

Thorsten

PS: SORRY for the length.



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Bringing you mounds of caffeinated joy.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: Re: [PATCH] USB MIDI driver
  2002-07-05  7:55               ` Clemens Ladisch
@ 2002-07-05 13:40                 ` Takashi Iwai
  0 siblings, 0 replies; 41+ messages in thread
From: Takashi Iwai @ 2002-07-05 13:40 UTC (permalink / raw)
  To: Clemens Ladisch; +Cc: alsa-devel

At Fri, 05 Jul 2002 09:55:27 +0200,
Clemens Ladisch wrote:
> 
> I wrote:
> > I think I'll be able to submit a patch for storing rmidi independently of
> > the input/output structures tomorrow.
> 
> And here it is.
> 
> - moved rmidi to new structure usbmidi_endpoint

ok, that's less confusing than before :)

> - moved call to snd_virmidi_receive to snd_usbmidi_input_packet
> - renamed snd_usbmidi_port_input to snd_usbmidi_event_input
> - removed dynamic allocation of usbmidi_out_port structures

thanks, now applied to cvs.


ciao,

Takashi


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Bringing you mounds of caffeinated joy.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: Re: USB recording - repetitive peaks
  2002-07-04 17:15                         ` Patrick Shirkey
  2002-07-04 17:27                           ` Paul Davis
@ 2002-07-05 13:44                           ` Takashi Iwai
  2002-07-05 18:19                             ` Patrick Shirkey
  1 sibling, 1 reply; 41+ messages in thread
From: Takashi Iwai @ 2002-07-05 13:44 UTC (permalink / raw)
  To: Patrick Shirkey; +Cc: alsa-devel

At Fri, 05 Jul 2002 02:15:39 +0900,
Patrick Shirkey wrote:
> 
> Takashi Iwai wrote:
> > At Fri, 05 Jul 2002 01:23:18 +0900,
> > Patrick Shirkey wrote:
> > 
> >>Takashi Iwai wrote:
> >>
> >> >the hang-up at capture close was at least fixed on cvs.
> >> >it was due to the combination of ASYNC_UNLINK and complete callbacks.
> >> >
> >> >not sure whether the bug with jack is fixed, too, but i think it was 
> >> >caused by the same reason.  please update the cvs tree.
> >>
> >>I can now record successfully using arecord without hanging the system
> >>but now I get an instant lock up while starting ardour. :( I have a 
> >>suspicion that it happens when ardour registers with jackd and asks for 
> >>the available input devices.  (I'm not sure about the sound quality. I 
> >>will see if I can generate a test tone to use instead of actual music).
> > 
> > 
> > then could you remove the mask USB_ASYNC_UNLINK from line 826 of
> > usbaudio.c? 
> > this might also leads to a lock-up when usb_submit_urb() fails, but
> > this must happen rarely.
> > 
> 
> First I tried
> 
> 		u->urb->transfer_flags = USB_ISO_ASAP; /*  |  USB_ASYNC_UNLINK; */
> 
> but that made almost no difference. I was able to load ardour for about 
> 10 seconds before the machine hung.

i (hopefully) found the spot.
it happend when snd_pcm_stop() is called during complete callbacks, so
the working urb won't be released properly.
now the fixed version is on cvs.


Takashi


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Bringing you mounds of caffeinated joy.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: Re: USB recording - repetitive peaks
  2002-07-05  9:06                               ` Thorsten Haas
@ 2002-07-05 15:35                                 ` Takashi Iwai
  0 siblings, 0 replies; 41+ messages in thread
From: Takashi Iwai @ 2002-07-05 15:35 UTC (permalink / raw)
  To: Thorsten Haas; +Cc: Patrick Shirkey, alsa-devel

At Fri, 5 Jul 2002 11:06:06 +0200,
Thorsten Haas wrote:
> 
> I like to use two soundcards in my system.
> 
> I have an usb quattro and a trident compatible card. I read the manual at  
> http://www.boosthardware.com/LAU/guide/ and configured modules.conf:#
> 
> ------------------------- snip --------------------------------------
> ### NEW ALSA 0.9 from CVS 2002-07-05
> 
> ##       General
> # ALSA portion
>   alias char-major-116 snd
> # OSS/Free portion
>   alias char-major-14 soundcore
> 
> ##      Native Devices: ALSA portion
> # quattro usb
>   alias snd-card-0 snd-usb-audio
>   options snd-usb-audio snd_index=0 snd_id="Q4"
> # sis onboard (trident)
>   alias snd-card-1 snd-card-trident
                     ^^^^^^^^^^^^^^^^  snd-trident

snd-card-xxx is an obsolete name for alsa 0.5.x.

>   options snd-card-trident snd_index=1 snd_id="SiS"
            ^^^^^^^^^^^^^^^^ here too


> After that i ran depmod -a and tried
> 
> linda:~ # modprobe snd-card-trident
> /lib/modules/2.4.10-4GB/misc/snd-rawmidi.o: unresolved symbol 

you have both alsa 0.5.x and 0.9.0 modules on the same kernel tree.
please remove old ones (snd-*.o) under /lib/modules/2.4.10-4GB/misc/.


ciao,

Takashi


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Bringing you mounds of caffeinated joy.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: Re: USB recording - repetitive peaks
  2002-07-05 13:44                           ` Takashi Iwai
@ 2002-07-05 18:19                             ` Patrick Shirkey
  2002-07-05 18:37                               ` Patrick Shirkey
  0 siblings, 1 reply; 41+ messages in thread
From: Patrick Shirkey @ 2002-07-05 18:19 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

Takashi Iwai wrote:
> 
> i (hopefully) found the spot.
> it happend when snd_pcm_stop() is called during complete callbacks, so
> the working urb won't be released properly.
> now the fixed version is on cvs.
> 

Apparently not the g-spot.

I just tried using jack+ardour and the system hung again. This time it 
may have been triggered when I tried to switch virtual desktops. (I'm 
running enlightenment).

Everything was working (apart from peaks in the sound quality similar to 
the ones we were hearing natively only more pronounced). When I tried to 
switch into another part of the desktop everything hung.

I will try again because it may have been a time issue and therefore a 
complete coincidence.


-- 
Patrick Shirkey - Boost Hardware Ltd.
For the discerning hardware connoisseur
Http://www.boosthardware.com
Http://www.boosthardware.com/LAU/guide/
========================================



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Bringing you mounds of caffeinated joy.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: Re: USB recording - repetitive peaks
  2002-07-05 18:19                             ` Patrick Shirkey
@ 2002-07-05 18:37                               ` Patrick Shirkey
  0 siblings, 0 replies; 41+ messages in thread
From: Patrick Shirkey @ 2002-07-05 18:37 UTC (permalink / raw)
  Cc: Takashi Iwai, alsa-devel

Patrick Shirkey wrote:
> Takashi Iwai wrote:
> 
>>
>> i (hopefully) found the spot.
>> it happend when snd_pcm_stop() is called during complete callbacks, so
>> the working urb won't be released properly.
>> now the fixed version is on cvs.
>>
> 
> Apparently not the g-spot.
> 
> I just tried using jack+ardour and the system hung again. This time it 
> may have been triggered when I tried to switch virtual desktops. (I'm 
> running enlightenment).
> 
> Everything was working (apart from peaks in the sound quality similar to 
> the ones we were hearing natively only more pronounced). When I tried to 
> switch into another part of the desktop everything hung.
> 
> I will try again because it may have been a time issue and therefore a 
> complete coincidence.
> 
> 

It seems to be directly related to stress on xfree which causes an xrun 
in jackd.

This time when I started up I had a clear signal and could switch 
screens without dropouts but when I downloaded some messages I caused an 
xrun and then the sound got all choppy. Still no hang so I tried moving 
the ardour editor window to a different screen and that was it.

I have a usb mouse and am using the nvidia drivers for my video card 
which is a 64MB geforce2. Plus I was running jackd as normal user.

However I can get normal recording and xfree performance if I don't use 
jack. That is whether I am root user or not.

So it sounds like you have sorted the problem (unless you can think of 
anything else) and I need to do some serious fine tuning to get JACK 
working correctly.

We still need a way to access all four channels at the same time though.




-- 
Patrick Shirkey - Boost Hardware Ltd.
For the discerning hardware connoisseur
Http://www.boosthardware.com
Http://www.boosthardware.com/LAU/guide/
========================================



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Bringing you mounds of caffeinated joy.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 41+ messages in thread

end of thread, other threads:[~2002-07-05 18:37 UTC | newest]

Thread overview: 41+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-07-01 17:07 [PATCH] USB MIDI driver Clemens Ladisch
2002-07-02 10:36 ` Takashi Iwai
2002-07-02 14:28   ` USB recording - repetitive peaks Patrick Shirkey
2002-07-02 14:57     ` Takashi Iwai
2002-07-02 15:35       ` Patrick Shirkey
2002-07-02 16:03         ` Takashi Iwai
2002-07-02 16:37           ` Patrick Shirkey
2002-07-02 16:39             ` Takashi Iwai
2002-07-02 17:08               ` Patrick Shirkey
2002-07-02 17:29                 ` Takashi Iwai
2002-07-02 18:04                 ` Patrick Shirkey
2002-07-02 18:26                   ` Patrick Shirkey
2002-07-02 18:38                     ` Patrick Shirkey
2002-07-04  9:41                       ` Takashi Iwai
2002-07-03  8:55                   ` Takashi Iwai
2002-07-04 16:23                     ` Patrick Shirkey
2002-07-04 16:26                       ` Takashi Iwai
2002-07-04 17:15                         ` Patrick Shirkey
2002-07-04 17:27                           ` Paul Davis
2002-07-05 13:44                           ` Takashi Iwai
2002-07-05 18:19                             ` Patrick Shirkey
2002-07-05 18:37                               ` Patrick Shirkey
2002-07-04 18:59                       ` Thorsten Haas
2002-07-05  6:56                         ` Thorsten Haas
2002-07-05  8:34                           ` Patrick Shirkey
2002-07-05  8:38                             ` Thorsten Haas
2002-07-05  9:06                               ` Thorsten Haas
2002-07-05 15:35                                 ` Takashi Iwai
2002-07-03  5:18             ` Fernando Pablo Lopez-Lezcano
2002-07-03  8:50               ` Takashi Iwai
2002-07-02 16:07         ` Patrick Shirkey
2002-07-02 14:51   ` Re: [PATCH] USB MIDI driver Takashi Iwai
2002-07-02 20:40     ` Pedro Lopez-Cabanillas
2002-07-02 22:10       ` Pedro Lopez-Cabanillas
2002-07-03 12:52     ` Clemens Ladisch
2002-07-03 13:18       ` Takashi Iwai
2002-07-03 14:42         ` Clemens Ladisch
2002-07-04  9:47           ` Takashi Iwai
2002-07-04 11:52             ` Clemens Ladisch
2002-07-05  7:55               ` Clemens Ladisch
2002-07-05 13:40                 ` Takashi Iwai

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.