Ian Culley Posted January 7 Share Posted January 7 Hey all working on a Logic Midi Scripter editor for Fractal AX8 guitar amp modeller. Worked off some other scripts I found here and with the help of Chat GPT have created something that can send program changes, change banks and select the AX8 scenes (sending CC34 values 0-7). Anybody know how to further create Buttons to Increase/Decrease the program change and scene selection? Separate buttons that you could map to a momentary switch. This could apply to many other synths, any gear that receives program changes - would be super handy. AX8 Bank and Scene Select.pst Quote Link to comment Share on other sites More sharing options...
Solution Jordi Torres Posted January 8 Solution Share Posted January 8 Hi Ian, On 1/7/2024 at 4:23 AM, Ian Culley said: Anybody know how to further create Buttons to Increase/Decrease the program change and scene selection? Separate buttons that you could map to a momentary switch. Sure you could create additional buttons, but the sliders in your script can already be mapped through Logic's Controller Assignments and their values increased/decreased: J. 2 Quote Link to comment Share on other sites More sharing options...
Ian Culley Posted January 8 Author Share Posted January 8 Yes but I’m trying to take it one step further by mapping momentary buttons to navigate through presets. So the respective buttons would decrease/increase -1/+1 from 0-127 through the control change values/program change numbers. SUPER handy when your playing an instrument and scrolling around looking for a cool sound. can you set controller assignments to behave like that? I haven’t found how Quote Link to comment Share on other sites More sharing options...
TheUncannyValley Posted January 9 Share Posted January 9 On 1/7/2024 at 8:53 PM, Jordi Torres said: Hi Ian, Sure you could create additional buttons, but the sliders in your script can already be mapped through Logic's Controller Assignments... Hi Jordi, As an aside, which Animated GIF creator did you use or would you recommend, preferably for Mac? Thanks! Quote Link to comment Share on other sites More sharing options...
wonshu Posted January 9 Share Posted January 9 I don't know what he uses, I use LiceCap from the geniuses (I'm not exaggerating here!) behind Reaper... 1 Quote Link to comment Share on other sites More sharing options...
Jordi Torres Posted January 9 Share Posted January 9 1 hour ago, wonshu said: I don't know what he uses, I use LiceCap from the geniuses (I'm not exaggerating here!) behind Reaper... I also use LICEcap 😄 You might also want to check Kap out. J. 2 Quote Link to comment Share on other sites More sharing options...
Jordi Torres Posted January 9 Share Posted January 9 On 1/8/2024 at 7:39 AM, Ian Culley said: Yes but I’m trying to take it one step further by mapping momentary buttons to navigate through presets. So the respective buttons would decrease/increase -1/+1 from 0-127 through the control change values/program change numbers. Right now you have: 1 slider for setting a bank (which on it's own is a bit useless unless you send a program change as well) using Bank MSB (CC0) 1 slider for setting Scenes (CC34) 4 separate sliders for setting bank and program (or "preset" as the AX8 calles them) using Bank Select MSB (CC0) and Program Changes. Based on the information on the AX8's manual, there is no need for Bank Select LSB (CC32). With this in mind, how are you looking to implement Inc/Dec buttons with the situation you have right now in this script with all those sliders? Perhaps you can be more specific? Some observations about the script: When using any of the 4 "Program Change (Bank x)" sliders, you are actually sending CC0 twice along with your Program Changes form your ParameterChanged function. You have two identical copies of the HandleMIDI function You are rounding numbers that don't need rounding J. 2 Quote Link to comment Share on other sites More sharing options...
Jordi Torres Posted January 9 Share Posted January 9 On 1/8/2024 at 7:39 AM, Ian Culley said: can you set controller assignments to behave like that? I haven’t found how I forgot to answer that one: You definitely can do increment/decrements with Controller Assignments, that's what you see in the animated GIF I posted above. J. Quote Link to comment Share on other sites More sharing options...
Ian Culley Posted January 9 Author Share Posted January 9 Ok managed to figure out how to adjust behaviour of Controller Assignments to act as Inc/Dec so feeling like the inc/dec button endeavour is indeed useless. Was able to create inc dec behaviour by making two mappings per parameter as seen in my screenshot: What worked in this case was a few steps. First on my MIDI Soleman (foot controller) editor I had to set my buttons as “Momentary” Second map the slider first to what will be the “Preset/Patch Down” Button (which sends cc68). I adjusted the controller assignment Mode to “Rotate” and set Multiply to “-1” It in the Value Change I noticed the mapping only worked as desired if I changed the last two values to “00” for both mappings. The second mapping will be the “Preset/Patch Up button” (which sends cc69). I adjusted the controller assignment Mode to “Rotate” and set Multiply to “1.” If somebody has a better way of doing this I’m all ears. Quote Link to comment Share on other sites More sharing options...
Jordi Torres Posted January 9 Share Posted January 9 1 hour ago, Ian Culley said: It in the Value Change I noticed the mapping only worked as desired if I changed the last two values to “00” for both mappings. For inc/dec using Logic's controller assignments, it doesn't matter what 2nd data byte value you send as long as it's fixed. So for example, decreasing you could send CC68 0, CC68 127 (7F in hex), etc.; and for increasing you could send CC69 0, CC69 127, etc. 1 hour ago, Ian Culley said: The second mapping will be the “Preset/Patch Up button” (which sends cc69). I adjusted the controller assignment Mode to “Rotate” and set Multiply to “1.” This is fine. It will also work when set to Relative like in my GIF. The different in this case between Relative and Rotate, is that with Rotate if you get to the extremes and keep sending the message it will wrap around and start over at the other extreme. With Relative it simply stops at the extremes. Glad you managed to get it working. J. 1 Quote Link to comment Share on other sites More sharing options...
Ian Culley Posted January 10 Author Share Posted January 10 On 1/9/2024 at 11:57 PM, Jordi Torres said: For inc/dec using Logic's controller assignments, it doesn't matter what 2nd data byte value you send as long as it's fixed. So for example, decreasing you could send CC68 0, CC68 127 (7F in hex), etc.; and for increasing you could send CC69 0, CC69 127, etc. Ahhh k! That's great because that means I can put all mappings on the same CC. Program Changes up could be assigned With an On of CC68 1 and Off of CC68 0, Program Change down could be CC68 2, with an Off of 0, etc.. The problem I was running into was that initially when I was learning my mappings it sent two messages and defaulted to a value Change of Lo7 which I don't understand fully... Seems any value other than "Lo7" behaves as you would hope/expect. Quote Link to comment Share on other sites More sharing options...
Jordi Torres Posted January 10 Share Posted January 10 9 hours ago, Ian Culley said: The problem I was running into was that initially when I was learning my mappings it sent two messages and defaulted to a value Change of Lo7 which I don't understand fully "Lo7" is a placeholder for values in the low 7 bits (128 values) of the 2nd data byte of the message. So, in other words, any of those values would control the assigned parameter (for example: CC68 0, CC68 1, CC68 2, etc.) So this means that if your MIDI controller has buttons that send CC68 127 when pressed, and CC68 0 when released, if you leave it set to "Lo7" your slider will increase or decrease 2 steps at a time (one for CC68 0, another for CC68 127). J. 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.