edit the content of a poly~

Guillaume's icon

Hello,

I made a patch editor which can import (via thispatcher scripting) bpatchers I created.
What I want to do is put this patch editor in a poly~ to avoid audio clicks when editing/import patches between his differents instances.

So my question is how can I have an access to my poly instance to edit my patches?

Thank you very much for your answers,

happy patching

Guillaume

Nikolas K's icon

You can send the "open X" to the [poly~], where X should be the number of the instance you want to open e.g. athe "open 5" would opent teh 5th instance of the [poly~].
The prboblem would be that it is now editable. Well you can edit the instance (ctrl/cmd + alt + m), but if you save any change i think [poly~] will reload the patch thus replacing the other instances.
If your erditor can be controlled with messages, you can use the "target X', where X is again the instance number, to send messages to that specific instance.

-N

Guillaume's icon

Hello nikolas and thank you for your reply.

I solved my problem.
I open the instances with the message "open" to the poly. And I edit this patch (ie import modules and connect them to each other) by sending messages to thispatcher (script create, script connect, ect). Finally to save, I record all the script sent to thispatcher in a dict.
It was really laborious to set up for me because I'm not familiar with scripting but it works. Thank you very much for your reply, I would share the application once finished, meanwhile I post a screenshot of my patch editor inside the poly.

Have a nice day!

katla_script.png
png
Roman Thilenius's icon

i would give up the idea of using a poly patcher to host graphical bpatchers. (i actually did)

you can easily create your own "master output fade-out, script something which brakes the signal chain, master audio fade in" mechanic based around line~, dont you?

-110

Guillaume's icon

Hey roman, can you explain why did you give up?
I think I understand the fade thing with line~. But for live performance with this future app, I need to load patches somewhere during others are playing something, and when a patch is created/loaded it brake the signal chain during a short time, to avoid this I need to separate each patches. So in this case do I have a better solution than use poly?

Sorry my english is not perfect, I hope you understood something.

Thank you

Roman Thilenius's icon

when i once started doing this, the idea was to use the gui´ed stuff in the poly with actual polyphony. it turned out to be hard to handle.

okay i see what you want to do, you are right that you dont want to interrupt the signal chain at all in this case.

but i dont think you need separate patchers, there are other options for disabling party of the signal chain.

just a second, i am on the wrong compter and have to make a fresh patch...

Roman Thilenius's icon

poly~ can be a replacement for begin~/selector~, but you dont need to move your DSP stuff and/or bpatcher into the poly patcher - it is enough to have an empty poly patcher before and after the DSP you want to disable.

note that this wont work with script-delete / script-create the delay~ example, but it should work with changing the source file of a bpatcher.

2000.jpg
jpg
1000.jpg
jpg
Roman Thilenius's icon

oh and i fogot to add that the poly patcher all need to have DSP off by default (loadbang), otherwise scripting a new one will still interrupt the audio. (thats is also why it wont work with objects like delay~