Building a channel strip. (With data driven Graph definition)
Posted: Sun Apr 26, 2020 10:09 am
Hi,
This max stuff really gets deep for me now
Before i wanna dig into this approach maybe someone could review my concept please?..
i built some kind of channel strip with lots of nodes and edges in between.
Every node consists of a patcher which instanciates a vst~ object.
I duplicated this patcher several times and built the graph straight forward by connecting the nodes using max audio chords. (the edges between the nodes)
But the device became very big like this and max gets horribly unstable the more features i add. (In the morning i collected 10 crash reports in one hour, saving the patch takes about 2 mins by a patcher size of 10 MB)
This is why i wanna rethink the concept of duplicating patchers and connecting the stuff "hard coded" using patch cables.
I'm thinking of using maybe a poly~ object to instanciate the patcher n times.
There should be some sort of stream object, some mechnisms like send or forward object just for audio streams instead of control messages. I know the j74 plugins which connects several max devices using named video streams. I wanna use this stream to let the poly~ instances send audio streams between each other. Building the channel strip graph would then be data driven and can be modified using data. (maybe using a matrix ctrl...)
Do you think this can work?
Anybody here who has done something similar?
IS the poly~ object the right choice for someething like that?
Do you know the max object which allows sending and receiving audio streams without patch cable to a variable destination?
At some point i could/should think of latency compensation. I see the vst object in max7 provides the info of plugin lateny. But Is there an object to handle this or do i have to calculate the stuff on my own and dealing with buffer objects?
. Implementing the detector for feedback loops in the graph definition should be quite complicated in max... I wonder how live would react... Any experience? (In the live mixer they avoid feedbacks when using Resample-Audio input. I wonder wether this would work in max...)
Thanks for your thoughts on that issue and thanks a lot for your help till now!
This max stuff really gets deep for me now
Before i wanna dig into this approach maybe someone could review my concept please?..
i built some kind of channel strip with lots of nodes and edges in between.
Every node consists of a patcher which instanciates a vst~ object.
I duplicated this patcher several times and built the graph straight forward by connecting the nodes using max audio chords. (the edges between the nodes)
But the device became very big like this and max gets horribly unstable the more features i add. (In the morning i collected 10 crash reports in one hour, saving the patch takes about 2 mins by a patcher size of 10 MB)
This is why i wanna rethink the concept of duplicating patchers and connecting the stuff "hard coded" using patch cables.
I'm thinking of using maybe a poly~ object to instanciate the patcher n times.
There should be some sort of stream object, some mechnisms like send or forward object just for audio streams instead of control messages. I know the j74 plugins which connects several max devices using named video streams. I wanna use this stream to let the poly~ instances send audio streams between each other. Building the channel strip graph would then be data driven and can be modified using data. (maybe using a matrix ctrl...)
Do you think this can work?
Anybody here who has done something similar?
IS the poly~ object the right choice for someething like that?
Do you know the max object which allows sending and receiving audio streams without patch cable to a variable destination?
At some point i could/should think of latency compensation. I see the vst object in max7 provides the info of plugin lateny. But Is there an object to handle this or do i have to calculate the stuff on my own and dealing with buffer objects?
. Implementing the detector for feedback loops in the graph definition should be quite complicated in max... I wonder how live would react... Any experience? (In the live mixer they avoid feedbacks when using Resample-Audio input. I wonder wether this would work in max...)
Thanks for your thoughts on that issue and thanks a lot for your help till now!