[Csnd] left/right from csoundGetOutputBuffer
Date | 2014-01-09 10:36 |
From | imaia |
Subject | [Csnd] left/right from csoundGetOutputBuffer |
Hello, In my code I handle my own IO, so I manage buffers directly: csoundGetInputBuffer/ csoundPerformBuffer / csoundGetOutputBuffer I turned off csound´s IO: csoundSetRTAudioModule(cs,"null"); csoundSetHostImplementedAudioIO(cs,1,bufsz); I use jack to route outbuffer to/from several CS instances(each one nchnls=1), the jack´s "process" code is: ... jack_default_audio_sample_t *in; jack_default_audio_sample_t *out; MYFLT * cs_i; MYFLT * cs_o; in = jack_port_get_buffer (ch->in, nframes); out = jack_port_get_buffer (ch->out, nframes); cs_i = csoundGetInputBuffer(ch->cs); //feeds csound's input buffer memcpy (cs_i, in, sizeof (jack_default_audio_sample_t) * nframes); //process a buffer csoundPerformBuffer(ch->cs); cs_o = csoundGetOutputBuffer(ch->cs); //copy csound's output buffer to the channel's output memcpy (out, cs_o, sizeof (jack_default_audio_sample_t) * nframes); It works just fine with a mono channel (nchnls=1) Now I would like to use pan2 opcode in my .csd and I turned nchnls=2 The problem is how can I get left/right parts of cs outputbuffer ? Is there an offset in the buffer for left/right? -- View this message in context: http://csound.1045644.n5.nabble.com/left-right-from-csoundGetOutputBuffer-tp5731400.html Sent from the Csound - General mailing list archive at Nabble.com. |
Date | 2014-01-09 10:43 |
From | Sigurd Saue |
Subject | RE: [Csnd] left/right from csoundGetOutputBuffer |
The samples from each channel are interleaved (first sample left, first sample right, second sample left, second sample right, ...). Sigurd -----Original Message----- From: imaia [mailto:ismapsa@gmail.com] Sent: Thursday, January 09, 2014 11:36 AM To: csound@lists.bath.ac.uk Subject: [Csnd] left/right from csoundGetOutputBuffer Hello, In my code I handle my own IO, so I manage buffers directly: csoundGetInputBuffer/ csoundPerformBuffer / csoundGetOutputBuffer I turned off csound´s IO: csoundSetRTAudioModule(cs,"null"); csoundSetHostImplementedAudioIO(cs,1,bufsz); I use jack to route outbuffer to/from several CS instances(each one nchnls=1), the jack´s "process" code is: ... jack_default_audio_sample_t *in; jack_default_audio_sample_t *out; MYFLT * cs_i; MYFLT * cs_o; in = jack_port_get_buffer (ch->in, nframes); out = jack_port_get_buffer (ch->out, nframes); cs_i = csoundGetInputBuffer(ch->cs); //feeds csound's input buffer memcpy (cs_i, in, sizeof (jack_default_audio_sample_t) * nframes); //process a buffer csoundPerformBuffer(ch->cs); cs_o = csoundGetOutputBuffer(ch->cs); //copy csound's output buffer to the channel's output memcpy (out, cs_o, sizeof (jack_default_audio_sample_t) * nframes); It works just fine with a mono channel (nchnls=1) Now I would like to use pan2 opcode in my .csd and I turned nchnls=2 The problem is how can I get left/right parts of cs outputbuffer ? Is there an offset in the buffer for left/right? -- View this message in context: http://csound.1045644.n5.nabble.com/left-right-from-csoundGetOutputBuffer-tp5731400.html Sent from the Csound - General mailing list archive at Nabble.com. Send bugs reports to the Sourceforge bug trackers csound6: https://sourceforge.net/p/csound/tickets/ csound5: https://sourceforge.net/p/csound/bugs/ Discussions of bugs and features can be posted here To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound" |
Date | 2014-01-09 14:21 |
From | imaia |
Subject | [Csnd] RE: left/right from csoundGetOutputBuffer |
Thanks. If I use: nchnls = 2 ; #outputs nchnls_i = 1 ; #inputs The input and output buffers remains the same size? -- View this message in context: http://csound.1045644.n5.nabble.com/left-right-from-csoundGetOutputBuffer-tp5731400p5731403.html Sent from the Csound - General mailing list archive at Nabble.com. |
Date | 2014-01-09 14:32 |
From | Victor Lazzarini |
Subject | Re: [Csnd] left/right from csoundGetOutputBuffer |
I don’t think so. Victor On 9 Jan 2014, at 14:21, imaia |