Csound Csound-dev Csound-tekno Search About

[Cs-dev] Another blocking I/O problem

Date2005-01-25 19:42
Fromjpff@codemist.co.uk
Subject[Cs-dev] Another blocking I/O problem
I tried to do -o dac:plughw:0 and got

OpenStream (hostApi=0x83fa630, s=0x83fa954, inputParameters=0x0, 
    outputParameters=0xbffff720, sampleRate=44100, framesPerBuffer=1024, 
    streamFlags=0, callback=0x80515ec , 
    userData=0x83fa950) at pa_linux_alsa/pa_linux_alsa.c:1643
1643            stream->playback.numHostChannels = MAX( numOutputChannels, outputDeviceInfo->minOutputChannels );
(gdb) print numOutputChannels
$1 = 2
(gdb) print outputDeviceInfo
$2 = (PaAlsaDeviceInfo *) 0x0

So it is reading a null pointer

(gdb) where
#0  OpenStream (hostApi=0x83fa630, s=0x83fa954, inputParameters=0x0, 
    outputParameters=0xbffff720, sampleRate=44100, framesPerBuffer=1024, 
    streamFlags=0, callback=0x80515ec , 
    userData=0x83fa950) at pa_linux_alsa/pa_linux_alsa.c:1643
#1  0x401b4743 in Pa_OpenStream (stream=0x83fa954, inputParameters=0x0, 
    outputParameters=0x83fa958, sampleRate=44100, framesPerBuffer=1024, 
    streamFlags=0, streamCallback=0x80515ec , 
    userData=0x83fa950) at pa_common/pa_front.c:1339
#2  0x08051588 in paBlockingWriteOpen (csound=0x8123700, pabs_=0x810b634, 
    paParameters=0xbffff7f0) at InOut/pa_blocking.c:95
#3  0x080511e6 in playopen_ (nchnls_=2, dsize_=2, sr_=44100, scale_=2)
    at InOut/rtpa.c:193
#4  0x0806f7d0 in sfopenout () at InOut/libsnd.c:472

Have not understood from whence this parameter is supposed to come.
Just a preliminary report!

==John ffitch


-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2005-01-27 14:20
FromDave Phillips
Subject[Cs-dev] a curious point
Greetings:

  I have a very simple test orc/sco combination for checking realtime 
audio, I've copied them below. When I run this command line I get the 
ftable display and no audio output:

    csound5 -odac:plughw:2 simple.*

  But when I run this I get no display (as expected) and realtime audio 
output:

    csound5 -dac:plughw:2 -dm6 simple.*

  It doesn't work at all with -odac2, Csound reports this error:

Found 3 PortAudio devices:
Device  0: /dev/dsp
           Maximum channels in:      16
           Maximum channels out:     16
           Default sample rate:   44100.000
Device  1: Sound Blaster Live!
           Maximum channels in:       2
           Maximum channels out:      2
           Default sample rate:   44100.000
Device  2: M Audio Delta 66
           Maximum channels in:      12
           Maximum channels out:     10
           Default sample rate:   44100.000
Suggested PortAudio output latency = 0.023220 seconds.
paBlockingWriteOpen: nchnls 1 sr 44100.000000 buffer frames 1024 device 2
paBlockingWriteOpen returned -9998.
PortAudio error -9998: Invalid number of channels.
Unable to open PortAudio output device.


  I'm very confused now by Csound's behavior. Some FLTK examples work 
perfectly, others fail with identical options. Some files render via 
-odac:plughw:2, others don't find the device at all. The difference in 
rtaudio between -odac2 and -odac:plughw:2 is audibly remarkable.

  Troubleshooting this stuff is not going well. I'm no gdb expert and I 
can't find anything wrong in files such as the Improsculpt CSD. 
Frustrating, to be so dense... :(

  Anyway, some questions for developers:

    What are the absolute requirements for FLTK files when working with 
rtaudio I/O ?

    How can I best debug the files that are not behaving properly ?

    Why do some files respect plughw and others don't ?

    Can the header settings have something to do with the failures ? 
(Csound reports no errors in that regard, so I'm just guessing)

  Again, I must say that latency under plughw is virtually negligible. 
I've rendered Trapped in realtime with Cs5, so I know the engine is 
working well. However, there must be some internal inconsistencies in 
the failing files, and I'm just not clever enough at finding them. Any 
and all assistance will be vastly appreciated. And of course I believe 
that the larger community is well-served if we can run a showpiece like 
Improsculpt... ;)

Best regards,

dp

;;; simple.orc

instr 1
kamp = p4
ifreq = p5
a1 oscil kamp, ifreq, 1
kenv linseg 0,p3*.15,1,p3*.85,0
aout = a1*kenv
out aout
endin

instr 2
kamp = p4
ifreq = p5
a1 oscili kamp, ifreq, 2
kenv linseg 0,p3*.11,1,p3*.89,0
aout = a1*kenv
out aout
endin

;;; simple.sco

f1 0 8192 10 1 .9 .8 .7 .6 .5 .4 .3 .2 .1
f2 0 8192 10 .1 .2 .3 .4 .5 .6 .7 .8 .9 1
i1 0 3 5000 330
i2 0 3 5000 440
e



-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net