Hi Danoise, happy to see you ^^
I use the built in mixer and effect application from duplex. what i write in my driver is just the text to send and the basic mode change.
I’m sure there’s a lot i could use from duplex that i don’t use now as i find more easy to deal with Renoise API than with some Duplex feature.
But i need to increment bank directly in my code for exemple in order to control which text to send.
The effect application is perfect for my need, i control every VST as it should, every parameters name display on screen. The only thing i want to change is the fact the FX selection with button start at FX 1 when i need to start at FX3.
The problem is more on VST instrument but you’ve just give me an exemple i haven’t think of… with this way i can delete the defaut mapping on vsti and control exactly what i need when i need. Is there a way to load the corresponding device with corresponding preset when loading the instrument ?
I send you the xnrx in few minutes but please keep in mind it’s really far from finish, even if the defaut mode is ok without too much bug, the code could be improved a lot. i knowing nothing in lua few weeks ago so please be clement ^^
I prefer to not put it here for the moment as it’s really alpha 0.01 version ^^
Plus the virtual ui is really basic for the moment but will be improved a lot later. There’s a lot of unused variables too, here just in case…
I’ve had some bug in virtual ui with state with complex config, state overlap with others etc, but it’s deleted from the file now, will trying to explain and provide an exemple later…
Basically here’s the description of what i’m trying to do :
There’s 3 modes, defaut mode who provide mixer and track mode and instrument mode.
Transport is ok.
Basic Function :
-Patch button change instrument, display current gui if there’s one and close previous one.
-Instr switch duplex config to instrument mode (controlling the current vsti or sample instr) toggling button, return to defaut mode.
-now we have 4 buttons, shift (1st one) and 3 freely assignable.
button 2 and 3 move between track when shift + those buttons move between tracks bank. The 4th button enter in track mode (or return un mixer when in track mode, toggle button, switch state)
-Mixer Mode : faders control vol by bank of 8 tracks, button on/off the track, fader 9 control (current or master track, need to decide), button 9 solo current track. Encoders are not assigned in this mode as i waiting to see what i can do with instruments…
-Track Mode : faders control fx device 1 (mixer) and 2 (need to code for the 2nd as i need to control it even if it’s not the selected device in the track like it is for mixer device… probably a basic filter), buttons control fx device selection, button 1 to 6 for fx 3 to 8 (now 1 to 6 with duplex Effect application) and button 7 and 8 for prev and next fx device.
Encoders control the currently selected fx (open and close gui for vst) and i change bank with +/- from transport button (not assigned in mixer mode)
Basically the track name and instrument name are the only permanent text, but this could change… (the instrument name will stay permanent only in instrument mode otherwise it’s the track number or name in defaut mode)
-Instrument mode : everything mapped to instrument with display name of parameter and i need to choose which one, not as for fx when all parameter are mapped by defaut…
The Instr Automation with preset per instrument seem’s to be the best way…
Pads are assigned for toggle Renoise preset view in free mode, don’t know what i could do with that in directlink mode…
Big thanks for your help
Edit: hmmm the instr automation device will be assigned to a track so i need to assign each instr to a track… not a big deal but i imagine it’s difficult to think of an efficient autoload config in that case…
Or i could load instr auto by defaut on each track and load the preset when i load the instrument on the track i’m at that time…
Edit 2 : just a though, i trigger everything with midi data but maybe it’s more efficient to trigger name display with renoise observable event… ?