Setlist "Send to SoftStep" from a Max4Live device

a place to share your patches and get help with the Max/MSP Dev. Kit.
shaunbarlow
Posts: 8
Joined: Wed Nov 12, 2014 4:07 pm

Setlist "Send to SoftStep" from a Max4Live device

Postby shaunbarlow » Thu Nov 26, 2015 6:08 pm

Dear all,
I've been searching around for an answer to this and I haven't found anything that mentions it yet so here's a new thread.

TL;DR: how to save a standalone mode setlist and use a max4live device to "Send it to SoftStep" instead of using the SoftStep editor?

I love using the softstep in standalone mode. It's light on resources and is quite stable. It's great for my purposes and means that I don't have to open the SS Editor program when I'm performing. Super!

Suppose I have two Ableton sets - "Apple" and "Banana"
They're both sets to be used for live looping and live effects processing.
Each one uses one or two Softstep scenes.
For example, Ableton set "Apple" uses Softstep scene "APPL"
and Ableton set "Banana" uses Softstep scenes "BNA1" and "BNA2".

Sometimes I play a gig using Ableton set "Apple" (and therefore only use Softstep scene "APPL")
and sometimes I play a gig using "Banana" and its two SS scenes "BNA1" and "BNA2".

To keep things simple at the gig, I usually change the Softstep setlist so that my setlist only contains the relevant scenes for that gig.
For example, when I'm playing a gig using the "Banana" Ableton set, I change my Softstep setlist so that only "BNA1" and "BNA2" are loaded.

Currently, I open up the Softstep editor before each gig and manually switch the setlist over. But as my library of Ableton sets grows, so does the list of Softstep scenes that I'm switching in and out.

So here's what I want:

A max4live device that stores the Softstep setlist and can send that setlist to the Softstep when I click it's "Send to Softstep" button.
I'm not too fussed about what I have to do to import the setlist into the max4live device - whether it's type it in, export from the Softstep editor, export from some other file, etc. No big deal.

BUT the big deal IS:
(1) how do we capture the data that the Softstep editor sends when I click "Send to SoftStep"?
and (2) how to create a max4live device that can send that exact data to SoftStep without opening up SoftStep editor?

Is it a series of Sysex messages that need to be sent? Is it some other type of communication? Serial port?

Thanks for any help!
You're a pack of legends.
Shaun
TheOtherSupport@KMI
Posts: 721
Joined: Fri Jan 31, 2014 5:31 pm

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

Postby TheOtherSupport@KMI » Fri Nov 27, 2015 8:12 am

Hey Shaun,

I'm not sure if this is possible, I'll have to check with the engineers. The big problem I can see, is that if we use any sysex messages in the process, then it CAN NOT be done in M4L. Live doesn't do sysex, so that's the big stumbling block here. The original editor was done in Max, so other than that, I think it would be possible.

The setlist file is simply a json file that tells the SS what preset to put in what slot. The format is as follows:

Code: Select all

{ "PRESET NUMBER" : "PRESET NAME", "PRESET NUMBER" : "PRESET NAME", etc......}


So the definition for the first two presets might look like this:

Code: Select all

{"0" : "Program Change" , "1" : "Notes", ....}


You do have to define all the slots, even if they are empty:

Code: Select all

{"0" : "Program Change" , "1" : "Notes", "10" : "[EMPTY]", ....}


You can find the json file in the Presets folder inside the Editor folder (location will differ depending on your OS).
I'll check with the engineers and see how crazy it is to do this.
shaunbarlow
Posts: 8
Joined: Wed Nov 12, 2014 4:07 pm

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

Postby shaunbarlow » Sat Nov 28, 2015 3:04 pm

Hi there,

Thanks for shedding some light on this for me. I'm really excited to see how easily the json files can be read and edited. This is a great start to help me achieve what I'm after!

1. In addition to your description of the JSON preset files, can you share the documentation/algorithm that converts a setlist (presumably taking in each of the JSON preset files) into the SysEX message that the SS Editor sends to the Softstep when I click "Send To SoftStep"?

If you could share a max patch that takes in an example JSON-formatted preset and outputs the SysEX message, I can build on that.
Or is there already something you've released that has such a thing?



2. Re SysEX messages not working in M4L: If this is the only stumbling block then I can work around that. Even if I have a m4l patch that can only generate the plain text SysEX message/a textfile, I can find a workaround to get the message to the Softstep.


Many, many thanks for your help!
Shaun
TomSwirly
Posts: 79
Joined: Sun Aug 07, 2011 9:04 am

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

Postby TomSwirly » Sun Nov 29, 2015 8:41 am

You can do sysex from Max For Live - I already do it with my softstep driver though I don't know how to do it for Windows (I hear there is a way).

You "simply" have to bypass the standard MIDI output and use a Max external like `lh_midiout` for all your MIDI work. It's a little tricky but you can get it to work.

Just for the record, I reported the issue of Ableton Live not handling Sysexes to Ableton over six years ago. During that time many other people have run into it and reported it. Ableton had a public spot where you could vote for feature fixes and this was popular - for a short time before Ableton removed it. The `lh_midiout` solution probably isn't permanent because it's unsupported and there's no source code for it... but there's no other option.

(There are numerous other issues which I reported around the same time, some of which are out-and-out bugs - and they didn't get fixed either... bugfixing has never been a priority for Ableton, or at least, not in the last six years or so...)
shaunbarlow
Posts: 8
Joined: Wed Nov 12, 2014 4:07 pm

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

Postby shaunbarlow » Wed Dec 02, 2015 5:36 pm

Hi there,
Just giving this thread a bump.

Are you able to release a spec or a patch or a script that demonstrates how the JSON preset and setlist files are converted to the SysEx messages that Softstep receives from the editor?

(Please say yes, please say yes, please say yes)
Cheers,
Shaun
TheOtherSupport@KMI
Posts: 721
Joined: Fri Jan 31, 2014 5:31 pm

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

Postby TheOtherSupport@KMI » Thu Dec 03, 2015 6:17 am

TomSwirly wrote:You can do sysex from Max For Live - I already do it with my softstep driver though I don't know how to do it for Windows (I hear there is a way).

You "simply" have to bypass the standard MIDI output and use a Max external like `lh_midiout` for all your MIDI work. It's a little tricky but you can get it to work.

Just for the record, I reported the issue of Ableton Live not handling Sysexes to Ableton over six years ago. During that time many other people have run into it and reported it. Ableton had a public spot where you could vote for feature fixes and this was popular - for a short time before Ableton removed it. The `lh_midiout` solution probably isn't permanent because it's unsupported and there's no source code for it... but there's no other option.

(There are numerous other issues which I reported around the same time, some of which are out-and-out bugs - and they didn't get fixed either... bugfixing has never been a priority for Ableton, or at least, not in the last six years or so...)


I wouldn't say that hacking a workaround is the same as 'you can can do sysex with M4L'. Handling sysex (i imagine) is WAY down the list of features/bugs that are important to 99% of users, so I don't blame them for not giving a hoot.
Also, please don't rag on Ableton over here, this ain't the proper place. I've always been highly satisfied with their updates fixes. I'd be curious what 'out and out' bugs have been present for 6 years....

shaunbarlow wrote:Hi there,
Just giving this thread a bump.

Are you able to release a spec or a patch or a script that demonstrates how the JSON preset and setlist files are converted to the SysEx messages that Softstep receives from the editor?


Probably not going to happen, at least any time soon. Getting documentation together for something like that isn't a trivial thing. And the Engineer's have their hands full polishing up KMix for release right now.
TomSwirly
Posts: 79
Joined: Sun Aug 07, 2011 9:04 am

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

Postby TomSwirly » Thu Dec 03, 2015 11:53 am

I'm ragging on Ableton because for this specific Softstep question - which I was asked by the person starting this thread - they have put me to a great deal of unnecessary work.

Here's a document I whipped up with those five year bugs, and some general complaints. Let's keep discussion of this off this group, though, you're right!
shaunbarlow
Posts: 8
Joined: Wed Nov 12, 2014 4:07 pm

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

Postby shaunbarlow » Fri Dec 04, 2015 2:38 am

Hi there,

You mentioned that the Softstep Editor was built in Max. Could you share a portion of that Max patch? Specifically, the bit that receives the JSON preset and setlist files and returns the Sysex numbers?

That would be a quick process of opening up the Max project, copying the relevant section and pasting it into a file or exporting as text. Even if it's messy and/or not well documented, I'd be glad to have this as a starting point for tackling my project.

Please consider helping me out. I'll be happy to share what I create and hope to be able to add to the amazing resources that the Softstepper community have already put together.

Thanks in advance for giving this your consideration.
Cheers,
Shaun
TheOtherSupport@KMI
Posts: 721
Joined: Fri Jan 31, 2014 5:31 pm

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

Postby TheOtherSupport@KMI » Fri Dec 04, 2015 7:03 am

I said the original Editor was done in Max, not the newer editor. And the preset configuration has been changed since then, so I'm not even sure it would be accurate at this point.

I'd have to check to see if we still have the original Max project lying around, because I can't find it.

You can see the sysex messages that are spit out by the Editor if you spy on SSCOM 1 with a MIDI monitoring application btw. I just did it, and it's a mess, but it's there. I'm guessing translating preset data to sysex is the hard part.
shaunbarlow
Posts: 8
Joined: Wed Nov 12, 2014 4:07 pm

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

Postby shaunbarlow » Fri Dec 04, 2015 1:48 pm

TheOtherSupport@KMI wrote:I said the original Editor was done in Max, not the newer editor.

My mistake. Apologies.

Could you share a portion of the code from the new editor that handles the preset data to sysex translation?
I'm happy to navigate through that as well.

TheOtherSupport@KMI wrote:You can see the sysex messages that are spit out by the Editor if you spy on SSCOM 1 with a MIDI monitoring application btw. I just did it, and it's a mess, but it's there. I'm guessing translating preset data to sysex is the hard part.


Absolutely. This is the hard part. If you can supply any type of info on this translation, I'd be over the moon.
Even the smallest snippet of code that handles this conversion would be phenomenal!

A thousand thankyous!

Return to “SoftStep Max/MSP Dev Kit forum”

Who is online

Users browsing this forum: No registered users and 1 guest