Suggestions for encapsulating a module?
Posted: 27 Jan 2015 12:18
Question for people that have created modules -- what do you do with drop down menu objects?
Here's my situation:
I needed an LFO that generates MIDI CC values from 0 - 127 for a particular target CC. Creating a module seemed like a natural idea since I could then have 1,2,3 or more LFOs simply by pulling in another copy of the module.
So I create a container called LFO, put all the local variables in there, put in menu objects for LFO waveshape and target CC, sliders for rate, range, and pulsewidth, and switches for start/stop, sync, and one-shot. So far so good.
I noticed that in the container a drop-down menu object will not overflow outside the container. This means that I have to make the container big enough to display the full drop-down menu. OK, I can live with that...I guess. The problem comes in when you start placing multiple copies of these containers on-screen. Now you have weird overlapping and covering up and you have to continually mess with send to back/send to front and/or manually editing the .jzml to order the objects. I still end up with the situation where drop-down menus are not visible because of the screen location.
So, I need a non-container way to encapsulate the contents of a module so I can use generic names like rate, shape, PW for my variables and scripts and objects and still have multiple copies of them all without resorting to manually saying rate1, rate2, rate3, etc.
Is this possible?
Yes - I can probably restructure my object to not use drop-down menus, but they are a compact, natural way to present the information, and of course vectors instead of discrete variables are an option, but again, coming from a programming background, encapsulating the functionality in a generic package seems like the better solution.
thoughts?
Here's my situation:
I needed an LFO that generates MIDI CC values from 0 - 127 for a particular target CC. Creating a module seemed like a natural idea since I could then have 1,2,3 or more LFOs simply by pulling in another copy of the module.
So I create a container called LFO, put all the local variables in there, put in menu objects for LFO waveshape and target CC, sliders for rate, range, and pulsewidth, and switches for start/stop, sync, and one-shot. So far so good.
I noticed that in the container a drop-down menu object will not overflow outside the container. This means that I have to make the container big enough to display the full drop-down menu. OK, I can live with that...I guess. The problem comes in when you start placing multiple copies of these containers on-screen. Now you have weird overlapping and covering up and you have to continually mess with send to back/send to front and/or manually editing the .jzml to order the objects. I still end up with the situation where drop-down menus are not visible because of the screen location.
So, I need a non-container way to encapsulate the contents of a module so I can use generic names like rate, shape, PW for my variables and scripts and objects and still have multiple copies of them all without resorting to manually saying rate1, rate2, rate3, etc.
Is this possible?
Yes - I can probably restructure my object to not use drop-down menus, but they are a compact, natural way to present the information, and of course vectors instead of discrete variables are an option, but again, coming from a programming background, encapsulating the functionality in a generic package seems like the better solution.
thoughts?