Home › Forums › General › Panels, Components, Macros › panel construction problematic
- This topic has 37 replies, 3 voices, and was last updated 9 years, 7 months ago by zeoka.
-
AuthorPosts
-
July 30, 2014 at 1:17 am #26810
I will post my “recette” here with few mods
that could be useful for big synthsJuly 30, 2014 at 1:20 am #26812In the code you posted above you say
if panel focused on sound 1 = “assign sound number” valueWhat happens when you receive messages on a part the panel has no focus?
In Ableton, if you want to automate a modulator you have to click it. If you only have one modulator for cutoff, how can you select the cuttof of another part, if the modulator is the same?
July 30, 2014 at 1:27 am #26815if you focus on sound1
and filt1 ctf is linked to vst1 and vice versa
AND ONLY “Vstxx” mods ARE EXPORTED you can I thinkIn my mind I’ve separated
vst mods
and editor mods
“What happens when you receive messages on a part the panel has no focus?”
from the DAW ? from the synth ?
no problem normallyJuly 30, 2014 at 1:42 am #26818So you have 16 mods for cutoff?
- This reply was modified 9 years, 8 months ago by dasfaker.
July 30, 2014 at 1:53 am #26820noooooooo !
one ctf. vstexport to 0
64 “vst” mods assignables for ex . vstexport to 1using intensive linking via LUA and if soundfocus == partbyte of vst1 mod(see my firt pic) there is 2 combos:one to select param ,other to select sound nb ;this is “partbyte”
when you will move ctf on focus sound1 this will move vst1 so ableton will have vst1
chose vst2 params with combo ex ctf in sound 2
switch to part 2
move ctf then ableton will get vst2may be it will be possible to change NAME mod
ex vst1 become ctf1 showed in the DAW but that’s a plusJuly 30, 2014 at 9:42 pm #26866Hi Dasfaker
Started yesterday in night
today I wasn’t in my home
i’ll post tomorrow
if the “dynamic linking” follows that will be very coolJuly 30, 2014 at 10:59 pm #26869Hi Zeoka. I finally understood the way you are using the panel. Unfortunately, my Virus panel works in a total different way, so maybe you can’t extract from it something useful for you related to linked modulators.
Doing it your way can be very useful to reduce the amount of modulators needed for a multi synth, but at the same time you loose flexibility (and it can be a Lua nightmare).
July 31, 2014 at 7:05 pm #26890Hi
You’re right 😀 : many brainstorms but it is a beginning of a start that will be broken and broken…
the “dynamic” linking by LUA is great and bi-directional
the midi messages sent are correct and not doubled
sad it’s so complex to finalize
May be in team we can do something..
However I’m aware of your explanationsyou can switch between the 3 filt cutoff
but you need to use currently the repair link btn each time you switch sound with the list boxedit : an idea about learn buttons + custom comp instead of mods is starting now
edit2 : just tried in the new stagelight
3 filter cutoff’s automated
I can switch focus the editor filter cutoff follows- This reply was modified 9 years, 8 months ago by zeoka.
- This reply was modified 9 years, 8 months ago by zeoka.
Attachments:
You must be logged in to view attached files.July 31, 2014 at 9:39 pm #26899Currently I can use fiter cutoff of the “editor” to automate
in the DAWAttachments:
You must be logged in to view attached files.August 3, 2014 at 6:50 pm #27027Hi
I’ve done a new version of my macrotest panel
I get it,just need more looping and tables for more params
I “store” the “macro state” in macro knob visible names
and deal with colors instead modolatorlinkedtomodulator and midimessages props
this is a first step !! I will add the first panel commands soon
I can learn delearn in all way
It is not possible to learn 2 same params ex : 2 filt ctoff 1
the most important thing
That seems good
Dasfaker , What do you think about ?Attachments:
You must be logged in to view attached files.August 5, 2014 at 4:09 pm #27102It’s interesting. How do you plan to store each buffer?
August 5, 2014 at 9:43 pm #27111Hi
I’ve updated a little bit :
–when I link a macro its value is updated
–when I switch focus then editor modulators are updated
but the question of storing in buffers is delicate
setConponentText is not updating current row
getComponentText get the current row strings but the inverse fails
so I have 16 texts and try to use method getModulatorValueAsData
but I don’t get it
I suspect that the data stored would be in table form instead and use .insert and .remove
would be more practicle
Actually a mod updates the whole buffer and with 370 mods that could be crappy
Edit: a question
Is it possible to replace if and and and … statement by a loop ?
That seems impossible to me
May by using “not” but I don’t know- This reply was modified 9 years, 7 months ago by zeoka.
Attachments:
You must be logged in to view attached files.August 5, 2014 at 10:01 pm #27114I know you’ll use tables or something similar, but in the daw, have you test if those tables are stored with the project? If I’m not wrong, memoryblocks aren’t stored, so you should have to store the data in external files. Also, the program manager Atom is working on could be useless with this approach if, as I suppose, it will work with modulator values, like snapshots, and you don’t have a mod for each parameter.
August 5, 2014 at 10:48 pm #27118snapshot feature will be aware there is globals ,multi ,many sounds buffers
and will be in separate tasks ???
Probably “linked” with the buffer feature ?
The main problem here how to write just one byte in a text
or find a other way than a text but as “solid”
I imagine you have thought a lot about multi timbral integration before me..August 6, 2014 at 11:58 am #27151Why is a problem writing a byte to a file? Just work with a memoryBlock and then save it to a file, this is how I do it:
patchData = MemoryBlock() -- create the memory block
patchData :createFromTable({0xF0, 0x00, 0x20, 0x33...}) -- fill it with a init patch
-- write data to the memoryblock
a = panel:getModulatorByIndex(46):getValue() -- get 1 byte of data from a mod
patchData :setByte(14,a) -- write it to the memoryblock-- save the file
f = utils.saveFileWindow ("Save Patch", File(""), "*.syx", true) - ask for file
f:create() -- create file
if f:existsAsFile() then
f:replaceWithData(patchData) -- put the memoryblock on the file
endAugust 6, 2014 at 12:38 pm #27154Thank you Dasfaker
I didn’t see in juce classes the setByte command just setByteRange I couldn’t get itSo I must start with something in a form of CrlrMidiMessage (it could be practicle )
my factory preset are in a table form but not in Hex format but strings (f7) and
it is just the sound bytes not the whole midi message
Deal with memoryblocks andsave when the panel is saved could be nice
I have to do all now
Thank you againAugust 7, 2014 at 2:56 am #27177I get it with strings
-- -- Called when a modulator value changes -- @mod http://ctrlr.org/api/class_ctrlr_modulator.html -- @value new numeric value of the modulator -- mod2buf = function(mod, value) tch = mod:getComponent():getChildComponent(0) if tch:isMouseButtonDown() then Fs = panel:getModulatorByName("Focus"):getValue() + 1 wb = mod:getVstIndex() - 7 we = panel:getComponent(string.format("Edit-%s",Fs)) ed = we:getText() writing = MemoryBlock(ed) writing:setByte(wb,value) we:setText(string.format("%s",writing:toHexString(1))) end end
it keeps fluid : a text with a loooot of data is updated quietly
but I will remove the texts and use several memoryblocks only
the unique memoryblock here is redefined each time I touch a knob in a new focus
the script is applied to all modscool
August 10, 2014 at 11:05 pm #27336Also, the program manager Atom is working on could be useless with this approach if, as I suppose, it will work with modulator values, like snapshots, and you don’t have a mod for each parameter.
Not sure but if I remember there was texts in “snapshot” when the feature was available
That means a lot of modulator values kept in ctrlr ? -
AuthorPosts
- The forum ‘Panels, Components, Macros’ is closed to new topics and replies.