Re: [ecasound] Mixing operator

From: Kai Vehmanen <kvehmanen@email-addr-hidden>
Date: Sat Mar 28 2009 - 10:51:14 EET


On Thu, 19 Mar 2009, Krzysztof Foltman wrote:
> Speaking of this kind of bread and butter operations, what about a
> better way to route channels in multichannel stream?
> Something like -chselect:0,5,3,4 (produces a 4-channel stream that
> routes incoming channel 0 to outgoing channel 0, incoming channel 5 to
> outgoing channel 1, incoming channel 3 to outgoing channel 2 etc) - the
> input channels that are not specified would be ignored.

this is a great idea -- and actually not that hard to implement as
changing the channel count is already supported in various chainops.
In fact, I have an initial implementation ready in my local branch and
will soon try to publish it in the git tree.

But now I'd like your (and others on the list) input on the syntax and
naming. I've first started with '-chselect', but then I started thinking
whether that is confusing as the verb "select" is used is all the time
in Ecasound ("selected chain", "selected input", etc) and this is a bit
different type of selecting.

Other options:

   - chroute: Routing is probably way too overloaded term, but probably
     still fairly intuitive.

   - charrange: This seems pretty good, as the operator allows one
     to reorganize the set of channels going through.

   - chorder: Like arrange, this is fairly descriptive, but not
     entirely as you can also omit channels, as well as duplicate them.

   - chmux (or chmultiplex): The output usually contains multiple
     channels, so this is not entirely accurate.

   - chmatrix: This is what the implementation essentially is,
     but this screams "I'm-very-difficult-to-use", so I don't really
     like this.

   - chtransform: Same as for 'chmatrix', too scary.

   - chset: Create a new set of channels. Hmm, not sure about this one.

Any other ideas, or comments to the above...? Which seems most intuitive
to you (iow, would you find this from the manpage if you were trying to
reverse the channels of a 4ch file)? As always, naming is hard (writing
the git commit messages is another chore). But if you don't do it
properly, you get jewels like -ef3 = 'Resonant lowpass filter'.. ;)

The current man-page text is:
Arrange chain channels in different order. The resulting
audio stream has total of 'N' channels. Each parameter specifies
the source channel to use for given output channel. As an
example, '-charrange:2,1' would reverse the channels of
a stereo stream ('out1,out2' = 'in2,in1'). Specifying the same
source channel multiple times is allowed. For example, '-charrange:2,2'
would route the second channel to both two output channels
('out1,out2' = 'in2,in2'). If 'chX' is zero, the given channel 'X'
will be muted in the output stream.

Ecasound-list mailing list
Received on Sat Mar 28 12:15:02 2009

This archive was generated by hypermail 2.1.8 : Sat Mar 28 2009 - 12:15:02 EET