Loopy Pro: Create music, your way.
What is Loopy Pro? — Loopy Pro is a powerful, flexible, and intuitive live looper, sampler, clip launcher and DAW for iPhone and iPad. At its core, it allows you to record and layer sounds in real-time to create complex musical arrangements. But it doesn’t stop there—Loopy Pro offers advanced tools to customize your workflow, build dynamic performance setups, and create a seamless connection between instruments, effects, and external gear.
Use it for live looping, sequencing, arranging, mixing, and much more. Whether you're a live performer, a producer, or just experimenting with sound, Loopy Pro helps you take control of your creative process.
Download on the App StoreLoopy Pro is your all-in-one musical toolkit. Try it for free today.
Why Modstep, why?
I've recently decided to go deep with Modstep and really understand how it works. And it does make more sense the deeper you go, although the quirks never really disappear.
So, I had built up a set of clips and scenes and was feeling good about things until I tried to use my hardware controller to launch scenes by mapping MIDI CCs. Mapping is pretty easy in Modstep so all good... Until I tried to play scenes a second time by sending the MIDI CC a second time. No dice. The scene will play exactly once when launched from the controller, but the scene block in the UI turns gray after it launches the first time and then doesn't respond to the controller again.
Why, Modstep? Anyone else experience this issue? So frustrating...
@cblomert is this expected behavior?
Comments
Interesting, Ill try this out tomorrow.
One idea, have you checked how many times the scene is set to play. The far right block of the scene row sets this. Long tap to get the options. I dont know why that would happen, however.
Yep, I set the scene length to infinite so not an issue. I can replicate the issue using a software controller like sidecar. It looks like Modstep is OK with CCs sent as touch values rather than on/off, which is a real shame if it's the case.
Ok, I didnt have a problem using notes to trigger scenes on/off. (I setup "clever new" troublemaker with one note per bar and midi learnt a scene in modstep.) Works fine!
Are you wanting midi cc to start/stop the clip? Like a cc 0 value for off and 127 for on. If that doesnt work get midiflow or midifire to convert CCs to notes. You know, maybe! If you want to.
Yeah I pulled out another controller that is configured you send notes and it works. Shame I can't send a CC from my preferred controller more than once... Will fiddle with midiflow.
I’ve had this problem too. Notes work fine but CCs can be dodgy. Never mentioned it before because it wasn’t a big deal for me. Let’s submit some bug reports!
@lukesleepwalker is your original midi controller just sending a CC message, when you hit it, and nothing, when you release it? If it sends a CC with a value of max, 127, it would trigger the clip, but, unless it sends a release value of zero, when you let up (or if it is set as a toggle, when you tap it a second time), the next time you tap it, and it sends 127 again, it doesn't register, because it already thinks it is at 127, because that was the last message it received. That could be one reason it would work once, but not a second time.
If you have a midi monitor utility, like midi wrench, you can check if it's getting a zero value message when you release the button.
Very helpful! Thanks for the tip; I will check it out with midi wrench.
@processaurus is right on - it's all about how CC changes are implemented both in hardware and software.
The thing about CCs is they all have 128 values (with the exception of 64-69 which only have 2 values and are generally connected to emulate piano pedals, like sustain. As well as 120-127 for things like all notes off). When using a hardware button that's mapped to a CC, it's easy to presume it's an on/off value. But depending on how the manufacturer designed it, its more likely to understand it as a mod wheel - when pressed its sent a value for that CC# and that's it; i.e. If you had turned your mod wheel up a certain degree you would expect it to stay there.
That's why using notes as triggers is more reliable for devs to Impliment reliably; a note on is always followed by a note off, press note C3, and trigger an event and wait for the next note on on that channel.
And technically, provided the controller has a fair amount of programmability, every button could use the the same CC number with a different value to, in this case, trigger the scenes in mod step. I.e. CC55 with a value of 0 triggers scene 1, and CC55 with a value of 1 triggers scene 2.
So it sounds like the buttons on your controller are, as mentioned, set up to transmit and hold on a CC at a certain value. There is no "release" value transmitted, as there would be with note events. Depending on your controller, there may be a way to configure this behavior (either on board or via a computer app). And it definitely seems modstep needs that CC value to be "released".
Hop that makes sense
Gosh, this is why I love this forum. I'm so grateful that members like y'all take valuable time to patiently walk me through this. And your explanation makes total sense!
So, when I changed Sidecar to a "touch" value, Modstep does in fact work as expected--most likely because a new value is sent each time I press the button in Sidecar (the odds of hitting the same value between 1-127 are slim). BUT, my controller looks to only send one value (probably 127), which is a bummer. This has never been an issue with other apps that I've used regularly, but Modstep appears to work as you've described, @wigglelights. So, it looks like I should be looking for a controller that can send notes (for some reason, Modstep doesn't respond to note values from Sidecar).
Might have trouble, using the same cc for different on/off switches in the software, because a lot of software will interpret any cc value other than 0 as an "on" command, and 0 as an "off". Others might interpret anything above 63 as an "on", and anything below as "off".
Also, when you send the cc with a value of zero, the software can't know which switch on the controller turned off, if they are all on the same CC number.
The exception I've seen is rotary switches in software, or "radio" pushbutton type switches, or, buttons you tap multiple times to increment through settings, like, for choosing between 5 octaves on an oscillator. You could use 5 buttons on a midi controller, to send the same cc, at different values, like, the first button sends 0, the second buttons sends 31, then the next sends 63, 95, 127, to switch your 5 octaves. In that case you wouldn't want any release value, when you let up on the switch, because the software would jump back to the lowest octave when you let up on the button.
@lukesleepwalker Which MIDI controller are you trying to use...some have editors that allow you to change the behaviour of buttons to swap them from momentary to toggle and stuff like that.....
If not then there is also MIDIFire, I have recently started using it, and the scripting and mapping available in there is really good and may be able to help ? It will allow you to convert CC messages to Note message and stuff like that....but you will need to be able to script in the tool in order to do it yourself....
Absolutely - it all depends on how the midi commands are implemented in both the hardware and software. I've never got my head around modstep so I probably used a bad example for mentioning triggering scenes, and certainly for mentioning using a value of 0.
Just was going through the thought exercise- since about 112 of the CCs are geared toward "knob" control with 128 values - translating that to a button offers more flexibility than on/off, it could snap to a certain amount of modulation or fx send.
As always, thanks for your expert input!
Just curious - what controller are you using?
Perhaps a Midiflow expert could chime in - is there a way to use the Conditions IAP to force a 0 to be sent after receiving a 127?
Interestingly enough, there's been mention in the Xequence thread about how midi implementation is a bit like the "Wild West" - both in hardware and software. Maybe a message to the modstep folks would either clarify exactly how it's coded, or perhaps they could modify how it acts....
All good stuff here! To answer question about my controller: I built my own foot controller using the brain and wiring of an iCade and momentary switches. So, correct that it sends on/off instead of CC values. I do use Sidecar to translate the momentary messages into CCs.
I realized last night that I was stupid and didn't set Modstep to listen for notes from Sidecar. Once I set it up right, I was able to use note on/off between Sidecar and Modstep. So, problem solved!
However, the suggestion for Midiflow and MidiFire has me thinking about my original desire. What would be preferable is to be able to use two buttons on my controller to be able to advance and retreat through scenes in Modstep. Modstep doesn't support this (as for instance Ableton Live does) so I'd need to be able to use a MIDI utility to get it to work. That is, I tap on my button, it generates C1 and launches Scene 1. I tap my button, it generates C1 again, but a MIDI utility increases the value by 1 tone and sends C#1 to launch Scene 2 in Modstep. To launch Scene 3, the MIDI utility interprets another receipt of C1 to add another tone and sends D1 to Modstep. Does anyone know if this is possible in either Midiflow and MidiFire? Seems like that scripting environment in MidiFire might be powerful enough to handle this (I've written some JavaScript in a past life).
I think midifire could do it, it has both global and local variables so you should be able to track the current playing scene...I was planning on something similar to allow me to session swap on circuit from the IK blueboard.
I will be doing more of this very shortly...
I have only just started scripting in it last night, it took me a little while to work out how it wants you to do things but have already realised it is possible to use it to be able to program Launchpad hardware to be able to do pretty much anything I want
What else is really nice about MIDIFire is that you can create multiple 'scenes' with different mappings/routings etc....and then have those scenes recallable via a MIDI Message...