Hi there,
Thanks for getting back to me. Of course, tis a little disappointing to not have an easy way into this but I'd love to get to the bottom of it.
In light of the info you've provided and the experimenting that I've done, I'd like to take a different tack with this. Let me know if you think this should be a new thread. Otherwise, I'll keep it going here.
NEW QUESTION: Leaving M4L completely out of the equation, can you help me get started developing a basic tool/API/program that takes the JSON preset and setlist files and generates the SysEx message (in plain text or otherwise)? More specifically, would you share the "SysEx Composer" part of the SoftStep Editor program?
When I run SS Advanced Editor from the terminal, I see some output from it (pasted below). The output I've pasted is the result of me switching from Hosted mode to Standalone mode and then clicking "Send to Softstep". When clicking "Send to SoftStep", the terminal output refers to "SysEx Composer". This is the bit that I'm curious to experiment with. I think it's possibly the brains of the operation that I can then build my solution around.
Code: Select all
Blanky:~ Blank$ /Applications/SoftStepEditors_Mac_2.01/SoftStep\ Advanced\ Editor.app/Contents/MacOS/SoftStep\ Advanced\ Editor
Pedal Table Found
signal was received 128
................... ss 1
SS1
___________ connected version number indexed 91
_____ Connected: 91
______ Embedded: 91
slotReceiveVersions
slot connected.
Cannot connect to server socket err = No such file or directory
Cannot connect to server socket
jack server is not running or cannot be started
Accel Y [0]
Accel Y [0]
Accel Y [0]
Accel Y [0]
Accel Y [0]
Accel Y [0]
Accel Y [0]
Accel Y [0]
Accel Y [0]
Accel Y [0]
Accel Y [1]
********************************** download preset[0]************************************
xlate key[1] to key[1]
key : 1 modline : 1 "Foot On"
key : 1 modline : 2 "Foot On"
key : 1 modline : 3 "None"
key : 1 modline : 4 "None"
key : 1 modline : 5 "None"
key : 1 modline : 6 "None"
xlate key[2] to key[2]
key : 2 modline : 1 "Foot On"
key : 2 modline : 2 "Foot On"
key : 2 modline : 3 "Foot On"
key : 2 modline : 4 "None"
key : 2 modline : 5 "None"
key : 2 modline : 6 "None"
xlate key[3] to key[3]
key : 3 modline : 1 "Foot On"
key : 3 modline : 2 "Pressure Live"
key : 3 modline : 3 "None"
key : 3 modline : 4 "None"
key : 3 modline : 5 "None"
key : 3 modline : 6 "None"
xlate key[4] to key[4]
key : 4 modline : 1 "Foot On"
key : 4 modline : 2 "Pressure Live"
key : 4 modline : 3 "Foot On"
key : 4 modline : 4 "X Live"
key : 4 modline : 5 "Pressure Live"
key : 4 modline : 6 "None"
xlate key[5] to key[5]
key : 5 modline : 1 "Foot On"
key : 5 modline : 2 "Pressure Live"
key : 5 modline : 3 "Foot On"
key : 5 modline : 4 "X Live"
key : 5 modline : 5 "Pressure Live"
key : 5 modline : 6 "Modline 1 Output"
xlate key[6] to key[6]
key : 6 modline : 1 "Foot On"
key : 6 modline : 2 "Foot On"
key : 6 modline : 3 "Foot On"
key : 6 modline : 4 "X Live"
key : 6 modline : 5 "Pressure Live"
key : 6 modline : 6 "None"
xlate key[7] to key[7]
key : 7 modline : 1 "Y Live"
key : 7 modline : 2 "Y Live"
key : 7 modline : 3 "Foot On"
key : 7 modline : 4 "Long Trig"
key : 7 modline : 5 "None"
key : 7 modline : 6 "None"
xlate key[8] to key[8]
key : 8 modline : 1 "Foot On"
key : 8 modline : 2 "Pressure Live"
key : 8 modline : 3 "Foot On"
key : 8 modline : 4 "X Live"
key : 8 modline : 5 "Pressure Live"
key : 8 modline : 6 "None"
xlate key[9] to key[9]
key : 9 modline : 1 "Y Live"
key : 9 modline : 2 "Y Live"
key : 9 modline : 3 "Foot On"
key : 9 modline : 4 "None"
key : 9 modline : 5 "None"
key : 9 modline : 6 "None"
xlate key[10] to key[0]
key : 10 modline : 1 "Foot On"
key : 10 modline : 2 "Pressure Live"
key : 10 modline : 3 "None"
key : 10 modline : 4 "None"
key : 10 modline : 5 "None"
key : 10 modline : 6 "None"
xlate key[11] to key[10]
nav modline mode 0
Nav Modline Mode [1]download
image 0x11305ca50 imageLength 739
settings 0x11305b210 settingsLength 171
MDM -- Settings sent
freeing settings
MDM -- Presets sent
SysEx Composer -- Presets Sent
freeing image
My enthusiasm for doing this stems back to the original scenario that I posted. I am looking for a way to be able to reliably automate the loading of presets. Right now, the solution of opening up the SS Editor and manually loading the presets to the board has two major limitations:
1) if I edit an SS preset for a new project and forget to make a copy first, the old project that it was originally associated with won't play nice anymore. On the other hand, if I can associate the <JSON preset files and setlist file> or the SysEx message with each Ableton project, this is much more robust and allows me to come back to old projects without having to manually uncover which softstep preset it was used with.
2) if the presets and setlist are associated with the Ableton project, then that's one less possibility for human error to creep in and have me potentially mess up my own gig.
Thanks so much for engaging in this journey of discovery with me. I'm really excited to be seeing what's happening behind the great Editor interface that KMI have created. I'd go so far as to boldly imagine that we're helping others to innovate even further with these great instruments!
Cheers,
S