added Buffer::zeroChannel(), copyChannel(), some docs
light the drawAudioBuffer border color
first stab at ChannelMerger / ChannelSelector. exposed Node's internal and summing buffers for this, added virtual Node::sumInputs().
handle dropping channels with mixBuffers() / sumBuffers(), added TODO about warning in the future
fix shared_ptr bug where it wasn't copied into an obj-c block
check weak_ptr in LineIn, return in LineInAudioUnit when it doesn't exist
clarified marker names
Node::uninitializeImpl() always disables the Node. It has to for consistency.
test LineIn is auto-enabled
whoops, shouldn't be coding on a friday night, but here I am.
use generic interleave / de-interleave routines on windows, enabling multichannel devices.
comments on LineOut channel defaults
made Node's constructor public again, it is after all occasionally useful to use one solely for mixing
protect against empty value in test input selector
test code for sending Gen into a 10 channel merger
workaround for windows devices that can't support the requested number of channels, including stereo haha.
added windows-specific test for multichannel device that has separate device in and out
first stab at ChannelRouter, which does the job of both ChannelMerger and ChannelSelector, without using the bus indices.
finish swapping ChannelRouter in for ChannelMerger / ChannelSplitter
cleanup Route's on disconnect. use list instead of vector