How are you gentlemen?
I’m learning OpenMusic, and I am interested in whether there’s a function for refactoring a locked factory box into an equivalent unlocked circuit. If not, I should like to write one.
I’ll explain the workflow I’m looking for more specifically. Suppose I’m working on a patch p with a box b containing one of the higher-level compositional elements, such as voice
or poly
. If I enter notes manually, the box will be locked. I wish to then call a function to produce a patch p’ and box b’ such that b and b’ have the same output, but b’ is unlocked. This will entail
- Factoring the input data out from b
- Creating new patch elements to hold these data, and linking them as inputs to b’
- Unlocking b’.
(1) is about following slot references, while (2) seems to be just graphical widgetry. (3) is probably a funcall; all I’ve figured out so far is that when a box is locked the value of the allow-lock
slot changes to "x"
.
I’m sure none of these is especially tough by itself, and I’m pretty good with CL, but if someone could point me to the relevant parts of the OM API, it’d be very helpful. Thanks!
Jonathan J-S