diff options
author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2016-01-24 23:07:22 +0100 |
---|---|---|
committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2016-01-25 03:53:53 +0100 |
commit | eda65ceed1c087b64c0cc7a7f5dce3e76b6c62de (patch) | |
tree | 4a35c3b77fd9924843c3deb042be8b319a13432c /client.tes | |
parent | 1579f7c0df91df4581c1096448dde8cf9afddb49 (diff) | |
download | applause2-eda65ceed1c087b64c0cc7a7f5dce3e76b6c62de.tar.gz |
multi-channel stream support
* This is implemented without introducing the notion of frames into the tick() methods
since most multi-channel stream operations can be understood as duplicating the
operation on each channel.
* Instead there is only ONE explicitly multi-channel stream: MuxStream.
It can be used to construct a multi-channel stream from various normal mono streams
and is also used internally.
* MuxStreams can still be used just like any other stream since the new base class
MuxableStream will automatically apply the class constructors on each channel in order.
The channels of streams being combined must be equal, unless mono streams are involved.
* Mono-streams are automatically blown-up to multi-channel streams when involved in
operations with a multi-channel stream.
* The remaining multi-channel specific code has been isolated in Stream:foreach()
which now receives frames instead of individual samples.
* When playing() a multi-channel stream, the applause output ports are played in order.
I.e. playing a mono-stream fills output_1. A stereo stream, output_1 and output_2.
* The number of Jack output ports can be specified on the applause command line.
* All system playback ports are tried to be connected to corresponding applause output ports.
Diffstat (limited to 'client.tes')
0 files changed, 0 insertions, 0 deletions