Hi Roman,
here is a short description about the mechanics:

The key are the mc._in and mc._out abstractions which are present in each 
mc-object.

The source object sends its signal data though send~ objects with the naming 
convention $0-mc-0.... $0-mc-n, where n equals channel-count-1.
The object informs a sink object by use of a simple two float message 
[$0-of-source channel-count( .
This message flows through a signal connection which has the two floats at the 
beginning of each signal block (implemented using tabsend~ and tabreceive~).
The sink in turn uses the $0-of-source to dynamically create or set receive~s 
to connect to the source send~s.

The signal connection is doubled by a send/receive message connection in order 
to also transmit the data in the message domain.
Otherwise there would be warnings about missing send~/receive~ connection when 
the graph changes.

Currently, i am working on making the dynamic generation process modular for 
the various functionalities needed (see the mc.map object for starters).
When this overhaul has been completed, the general mechanics should be better 
understandable. I admit that the whole thing is pretty involved.

best, Thomas


> Am 08.12.2021 um 16:34 schrieb Roman Haefeli <[email protected]>:
> 
> Signierter PGP-Teil
> Hey Thomas
> 
> On Sun, 2021-12-05 at 17:22 +0100, Thomas Grill wrote:
>> 
>> i'd like to make you aware of an abstraction library i have made
>> because of working more with multi-channel loudspeaker systems
>> lately.
> 
> Quite a few times I thought it would practical to pack many audio
> cables into one. It wouldn't have occurred to me how to actually
> implement it. This is really interesting. I had only a close look at it
> and, frankly, I failed to understand how it works. I'll check this out
> to some more detail for sure.
> 
> Roman
> 
> 
> 
> 

--
Thomas Grill
http://grrrr.org


Attachment: signature.asc
Description: Message signed with OpenPGP

_______________________________________________
[email protected] mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list

Reply via email to