-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add saving and setting standalone setlists #21
Comments
I think this is probably doable! While that part of my project isn't being used by me now (I use no triggers in my show, just my instrument, now), the whole codebase is still under active development which means it's all fresh and continuing to compile. Probably you might have to prepare description files for each patch setting in some human-readable format. Do send me an email to [email protected] and we can strategize, but I'm sure that can be done, and I'd be happy to reopen this part of the code and make sure it's working still.... |
So I'm realizing of course that it's the snooping on the traffic between the editor and the SoftStep that's the problem. Indeed, I'm realizing that if you could do that, you wouldn't need to change the Max program at all. You could simply record what the editor sends to the softstep into a MIDI track in Ableton, and then play it back. Another possibility would be to read the file format and then emit specific patches at specific times. |
I reformatted a dump of the file format and checked it in here: https://github.com/rec/swirly/blob/master/max/softstep/patch-dump.json The quality of the JSON generated makes me want to pretend I never saw this file! Look at this crap: https://github.com/rec/swirly/blob/master/max/softstep/patch-dump.json#L32-L157 This segment of code should look like this:
So I've decided that decoding this file will take more time than I'm willing to spend on this. What's wrong with then just "recording all the MIDI" and then dumping it back? |
I wrote something to make a better JSON file - only for the purposes of our ability to read the files. Here's the result: https://github.com/rec/swirly/blob/master/max/softstep/pretty.json |
Another possibility is if you were willing to do the research to figure out which of these values were useful, and the correspondence with MIDI/Sysex. I realize of course that Ableton Live doesn't support system exclusives. Gosh, that continues to be the most terrible program - that bug was reported six years ago and they still haven't dealt with it. https://forum.ableton.com/viewtopic.php?f=1&t=114066&p=1683104#p1683104 So many unresolved Ableton issues. I would be ashamed were I them. The softstep controller has that little device built in that bypasses Ableton and successfully sends SysEX (so it IS possible, you stupid people at Ableton). But that device's source code seems to have been lost and the developer doesn't answer questions any more, which is one reason why I decided to move away from developing for this - because one day that'll break and the program will be useless. Sigh. Well, do you have a way to easily capture these dumps? I can pretty easily put something in to emit them... |
Wow wow, man. We're digging in. A couple of thoughts before I start the day: There's a fault in my thinking: if the program functions as I previously It's going to be much more useful in the long term to do as you suggest and I've not done this kind of thing before but I'll give it a go. It's a brute
Is that the process? If so, do you have any advice on techniques/tools to The other option is to convince the KMI guys to send the SysEX spec. I Re lh_midiout - I'm so glad that this exists. It works for now so I'll run Re capturing the SysEX dumps. Currently, I'm capturing them using Midi That's the first three lines (the file is 739 bytes long). Let me know if On Sun, Nov 29, 2015 at 6:57 AM, Tom Swirly [email protected]
Shaun Barlow, flutist email [email protected] |
Max objects can definitely be written in C (or C++) - I've done it myself. But you could easily record sysexes in Max without any external objects... as long as you were able to see the output from the Editor in Max. I already "know" the sysex spec - it's all encoded in the program. So let me put pointers to the code here: This is just for enable/tether/el: https://github.com/rec/swirly/blob/master/js/swirly/softstep/enable.js#L8-L40 You might be perfectly happy not having ANY of these characteristics stored with your patch, since I suspect you're always want "enable" on and "tether" off and probably don't care about turning the back lighting on and off. So hmmm... you might be able to record an entire dump and play it back and get everything you need, without any sysex involved! |
For example, setting the name is accomplished by setting four continuous controllers between 50 and 53: |
Yep, I see what you're saying. Correct me if I'm missing something obvious here: For example, we don't know what message to send to the softstep to store a Is that true? Forgive me if I'm not seeing the obvious :) In case it's not On Sun, Nov 29, 2015 at 10:45 AM, Tom Swirly [email protected]
Shaun Barlow, flutist email [email protected] |
Oh, hmm, perhaps this is true - which would account for needing more Sysex stuff. Gah, I feel like a moron but I haven't touched this code in a long time and forgot most of it. I'm also hampered by having yet to find my Softstep. I know it's here somewhere! :-) Question - do you own Max, or are you just Max For Live? |
Also: do you know if there's a way to cause the Softstep to dump its memory through MIDI? If so, we'd have an easy solution... |
All good. I only have Max for Live. Not Max. I can try and get another 30 day trial With previous projects, I've got around not having Max by creating patches Softstep memory dump: Short answer - i don't think so. On Sun, Nov 29, 2015 at 11:12 AM, Tom Swirly [email protected]
Shaun Barlow, flutist email [email protected] |
Can I rip presets from a SoftStep into the editor? No, the SoftStep does not support ripping presets from the board onto a If you want to rip presets in order to transfer them over to another On Sun, Nov 29, 2015 at 12:08 PM, Shaun Barlow [email protected]
Shaun Barlow, flutist email [email protected] |
At the least, the KMI people aren't retrieving any data from the SS. On Sun, Nov 29, 2015 at 12:11 PM, Shaun Barlow [email protected]
Shaun Barlow, flutist email [email protected] |
Maybe, just maybe, the KMI guys will share the JSON to SysEX translator. I On Sun, Nov 29, 2015 at 12:13 PM, Shaun Barlow [email protected]
Shaun Barlow, flutist email [email protected] |
Cool! I'll chime in when I get back from dinner... As I said, if you aren't in a hurry, I'm sure we'll resolve this sooner or On Sat, Nov 28, 2015 at 8:16 PM, sabarlow [email protected] wrote:
http://radio.swirly.com - art music radio 24/7 366/1000 |
Mr Swirly - your work is amazing and has allowed me to do a bunch of great stuff with Softstep. Thank you!
Is there any way that we can snoop in on what the SoftStep Editor sends to the Softstep when clicking the "Send to SoftStep" button?
I'd like to create a max4live device that can store a softstep standalone setlist and send it to the softstep when required.
The scenario that I'm envisioning is - I open my Ableton set "Apple", click the button on my "send setlist to softstep" m4l device and this sends the setlist to the softstep that I'd previously been using with this Live set.
When I close this Live set "Apple" and open another Live set "Banana", I can click my "send setlist" button and that loads a fresh setlist that relates specifically to the "Banana" live set.
Is this achievable? Could you point me in the direction that might help me get started on it?
The text was updated successfully, but these errors were encountered: