Absynth Performance control
-
- Newbie
- Posts: 33
- Joined: 22 Dec 2011 12:18
Absynth Performance control
I'm trying to build a controller for the Perform Controls page in Absynth. For those unfamiliar it is a set of 14 CC controls plus an xy pair. Sounds simple, but the problem is that these controls are assignable in Absynth, and fader 1 couple be CC1 or CC21 etc, and programmers have made full use of this ..
I just spent an hour with my very limited knowledge trying to set the cc number of a fader with another fader - only to discover this is not possible ....
So is there a work-around? I found a thread suggesting multiple faders with a "show / hide" function to select appropriate but this seems rather unwieldy. Can the output be captured and filtered? eg ccx, val y translated to cc(changed) val y???
help me and I'll post the finished product!!
Dr Colin Webber
I just spent an hour with my very limited knowledge trying to set the cc number of a fader with another fader - only to discover this is not possible ....
So is there a work-around? I found a thread suggesting multiple faders with a "show / hide" function to select appropriate but this seems rather unwieldy. Can the output be captured and filtered? eg ccx, val y translated to cc(changed) val y???
help me and I'll post the finished product!!
Dr Colin Webber
Re: Absynth Performance control
Here's a "proof of concept" of 8 midi mappable faders via a pop-up matrix selector for the midi channel and the CC of each fader....
Not bi-directional at the moment but it just took 10 minutes to make....Probably with an on MIDI script you can also build feedback back into Lemur
note: didnt test this as Im currently not having the iPad with me but I dont think there's any reason it wouldnt work.
Not bi-directional at the moment but it just took 10 minutes to make....Probably with an on MIDI script you can also build feedback back into Lemur
note: didnt test this as Im currently not having the iPad with me but I dont think there's any reason it wouldnt work.
Last edited by Softcore on 11 Apr 2013 07:01, edited 1 time in total.
Re: Absynth Performance control
Forgot to mention, its initialised with faders mapped to 21-28 CC on channel 1 but you can easily change these settings (the initial mapping after loading the template) by changing the CC and Ch vectors.
Re: Absynth Performance control
Sorry, the midi channel selector had a mistake....
here's the fix
here's the fix
Re: Absynth Performance control
minor improvement on the way pop-up works.....Selecting a different fader to edit is now possible while the pop-up is open, you close it by tapping on the "being edited" fader selector
Re: Absynth Performance control
Finally, an alternate pop-up method....
-
- Newbie
- Posts: 33
- Joined: 22 Dec 2011 12:18
Re: Absynth Performance control
Hi Softcore
very cool
rather beyond my coding skills - still figuring out how it works
what was the channel selector fix, the only thing I can see is the default channel set to 1...
very cool
rather beyond my coding skills - still figuring out how it works
what was the channel selector fix, the only thing I can see is the default channel set to 1...
Re: Absynth Performance control
The logic:
We create a vector out of the Faders x values, named FXs.
We create a vector to be used as CC settings for each fader, named CC.
We create a vector to be used as midi channel settings for each fader, named Ch.
We then create pads which change the above CC and Ch vector values, at the position (index) specified by what Fader we have selected for editing with the selector pads - we also store the selection with the sel expression (sel).
We then create a single custom midi out, including all our calcuated CC and Ch to be triggered whenever a Fader.x value is changed (FXs are both used as value and as triggers in the custom midi)
To get how it works observe the custom midi out script....
Notice that in the first example selecting midi channel 1 would produce midi channel 0 in the script.... (Ch=firstof(x))
In the fix, midi channel is calculated as Ch=firstof(x)+1, thus, selecting Midi channel 1 (firstof(x)=0) produces the correct result, 1
Finally notice that CC, Ch and FXs are all vectors and not single numbers (singletons).
So, for example when moving Fader1 (FXs[0]), then CC[0] is triggered, on channel Ch[0], when moving Fader5 (FXs[4]) then CC[4] is triggered on channel Ch[4].
We create a vector out of the Faders x values, named FXs.
We create a vector to be used as CC settings for each fader, named CC.
We create a vector to be used as midi channel settings for each fader, named Ch.
We then create pads which change the above CC and Ch vector values, at the position (index) specified by what Fader we have selected for editing with the selector pads - we also store the selection with the sel expression (sel).
We then create a single custom midi out, including all our calcuated CC and Ch to be triggered whenever a Fader.x value is changed (FXs are both used as value and as triggers in the custom midi)
To get how it works observe the custom midi out script....
Notice that in the first example selecting midi channel 1 would produce midi channel 0 in the script.... (Ch=firstof(x))
In the fix, midi channel is calculated as Ch=firstof(x)+1, thus, selecting Midi channel 1 (firstof(x)=0) produces the correct result, 1
Finally notice that CC, Ch and FXs are all vectors and not single numbers (singletons).
So, for example when moving Fader1 (FXs[0]), then CC[0] is triggered, on channel Ch[0], when moving Fader5 (FXs[4]) then CC[4] is triggered on channel Ch[4].
Re: Absynth Performance control
Ok I just now had the chance to check the above the templates and the midi channel settings are not working as they should - all the faders transmit on the midi channel which is set for the first fader.
If you want to have different midi channels for each fader a different approach is needed.
If you want to have different midi channels for each fader a different approach is needed.
Re: Absynth Performance control
final version, midi channels selection working and all....