Due to inactivity, the KMI Forums are now READ ONLY.
Here are some helpful links you can visit to get more up to date information about your KMI products:

KMI Downloads
KMI Support
KMI Facebook User Group

Setlist "Send to SoftStep" from a Max4Live device

a place to share your patches and get help with the Max/MSP Dev. Kit.
TomSwirly
Posts: 79
Joined: Sun Aug 07, 2011 9:04 am

Re: Setlist "Send to SoftStep" from a Max4Live device

Postby TomSwirly » Sat Dec 05, 2015 12:06 pm

The other way to do this might be less work: write a Max For Live patch that used `lh_midiin` to record and `lh_midiout` to play back ALL the MIDI, not the scraps of it that Live cares to preserve for our use. :D

For those of you interested in the SoftStep's JSON storage format, here
is a formatted dump of one SoftStep patch.

---

(Sorry to be critical again, but I feel that whoever designed that JSON format was perhaps not so familiar with how to design JSON. Here's how the JSON should have been structured, and here's a tiny program I wrote to convert, though it doesn't fix the defect of "using the string `"None"` to represent no value".)
TheOtherSupport@KMI
Posts: 737
Joined: Fri Jan 31, 2014 5:31 pm

Re: Setlist "Send to SoftStep" from a Max4Live device

Postby TheOtherSupport@KMI » Tue Dec 08, 2015 10:09 am

To the OP, sorry to be the bearer of bad news, but I've heard that we don't think it's possible.

It could mean that it's not possible to get you the proper documentation, or it could mean that there's other stuff going on under the hood, communication wise, other than sysex, and it's literally not possible from M4L.

Sorry I couldn't be of more help.
shaunbarlow
Posts: 8
Joined: Wed Nov 12, 2014 4:07 pm

Re: Setlist "Send to SoftStep" from a Max4Live device

Postby shaunbarlow » Tue Dec 08, 2015 6:25 pm

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
TheOtherSupport@KMI
Posts: 737
Joined: Fri Jan 31, 2014 5:31 pm

Re: Setlist "Send to SoftStep" from a Max4Live device

Postby TheOtherSupport@KMI » Wed Dec 09, 2015 5:00 am

I'm not authorized to really give out any of our source code for the Editors. Our Engineers aren;t likely to want to take the time to put something together with you, and all of this may fall under protected IP.

Like I said I wish I could be more help, but I really can't do much for you in this case.

I'll double check again with some of the folks around here, but I wouldn't hold my breath if I were you.

Return to “SoftStep Max/MSP Dev Kit forum”

Who is online

Users browsing this forum: No registered users and 6 guests