[CM] adding an extra channel
Kjetil S. Matheussen
k.s.matheussen@notam02.no
Tue, 12 Jun 2007 02:16:06 +0200 (CEST)
On Tue, 12 Jun 2007, Kjetil S. Matheussen wrote:
>
>
> On Tue, 12 Jun 2007, e deleflie wrote:
>
>> All,
>>
>> I've got a situation where I read eiether 3 or 4 channel files, then
>> pump the channels through a LADSPA plugin.
>>
>> the LADSPA plugin requires 4 channels. So when I read a 3 channel
>> file, I need to create a fourth, empty (no signal) channel.
>>
>> I cant seem to find the command for creating a new channel.
>>
>> something like this:
>>
>> (let ((index (open-sound name)))
>> ((if (= (channels 0) 3) (add-channel 0) ))
>>
>
>
> This is a work-around, but you can use new-sound instead of open-sound, and
> then use insert-sound to insert channels from your file into the sound:
>
>
> (open-sound name)
> (if (= (channels) 3)
> (let ((snd (new-sound (string-append name ".4-channels") (header-type) (data-format) (srate) 2)))
> (let loop ((ch 0))
> (insert-sound name 0 ch snd)
> (if (< ch 3)
> (loop (1+ ch)))))
(Oops, warning, I didn't actually test that code.)
http://ccrma.stanford.edu/software/snd/snd/extsnd.html#newsound
http://ccrma.stanford.edu/software/snd/snd/extsnd.html#insertsound