Am Sonntag, 5. Dezember 2021, 17:22:44 CET schrieb Thomas Grill:
Hi all, i'd like to make you aware of an abstraction library i have made because of working more with multi-channel loudspeaker systems lately.
Dealing with many parallel signal connections was cumbersome, so i have come up with the mc library in order to abstract multi-channel processing. It consists of pure-Pd abstractions using dynamic object creation and it is NOT related or compatible with the similarly named Max approach. I hope there are no similar libraries out yet, i have not come across anything related.
There was an discussion 2013 on a workshop with Miller on the IEM and a solution was proposed:
"Pd-snake was an idea 2013 within a workshop with Miller Puckette at the IEM to extend Pd with multichannel signal connection, which is backwards compatible, but has not been implemented yet."
The main idea (trick) was to hold an parallel info about a signal which multichannel or not... to be upward compatible and add some multichannel natives object to collect and distribute.
In the meantime I did a sime multichannel objects for Ambisonics and other purposes as abstraction library only, using dynamic patching and used it in some projects (mainly Auditory Environments) until today:
mfg winfried
Please check it out at https://github.com/grrrr/mc https://github.com/grrrr/mc
It is definitely not more than alpha quality and currently has only basic functionality (as much as i have needed so far). But i'd like to put it out to the public since i don't know how much i will be able to work on it, and i'd like to hear about your feedback and suggestions for further functionality.
There are rough edges, for example message boxes popping up when closing patches with dynamic modifications, but i am not sure to which extent these effects can be handled on the patcher level.
A technical note: The connection logic works both on signal and message connections (the latter over send/receive). In principle message-only would be possible, but signals seem to be necessary for the correct ordering of the message graph. Right now the same information is sent on signals (2 integer numbers per vector: ID and channel count) and messages. There is definitely a lot to optimize, maybe the signal connections can be dummy, without any information sent at all. However, the connection logic overhead seems to be absolutely negligible compared to the DSP load.
Please let me know what you think.
best, Thomas
-- Thomas Grill http://grrrr.org http://grrrr.org/