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.
Comments
I remembered that that script was already filtering midi input to cc52, right? So I tried to change your script to receive cc53 and send out cc14. For women reason now it is receiving CC53, but only sending a fixed value of 64 on CC13. IF you know how to fix it I would really appreciate it if you would modify the script below, rather than trying to advise me how to modify it. I feel like there is too much that can go wrong when I try it:
@OnMidiCC
if MIDIByte2 = 53 // CC of sending button
if MIDIByte3 > 63 // Momentary CC message (button pressed)
Call @Step // Read knob and send CC message on CC 14
Inc stepcounter
if stepcounter >= 6 // Now using 6 steps (0 to 5)
stepcounter = 0
endif
endif
endif
@End
@Step
cc = GetKnobValue stepcounter // Always get values from knobs 0-5
SendMIDICC 0, 14, cc
@End
@OnLoad
stepcounter = 0
ShowLayout 1
SetMetroPPQN 4 // 16th steps
LabelKnobs {CC#14 Sequencer}
LabelKnob 0, {1}
LabelKnob 1, {2}
LabelKnob 2, {3}
LabelKnob 3, {4}
LabelKnob 4, {5}
LabelKnob 5, {6}
LabelKnob 6, {7}
LabelKnob 7, {8}
LabelKnob 11, {9}
LabelKnob 12, {10}
LabelKnob 13, {11}
LabelKnob 14, {12}
LabelKnob 15, {13}
LabelKnob 16, {14}
LabelKnob 17, {15}
LabelKnob 18, {16}
LabelKnob 8, { }
LabelKnob 9, { }
LabelKnob 10, { }
LabelKnob 19, { }
LabelKnob 20, { }
LabelKnob 21, { }
@End
@Description
Use the 16 numbered knobs to sequence a MIDI CC pattern of 16th steps. The CC values are sent out to CC#53.
@End
Working now, cheers🔥
Edit: resolved, lol
Hi there! A question for @wim or anyone who can help: I have a new MPE controller (the "Exquis") which is working perfectly except that the MPE expression values (the ones which are sent per each note on channel 74) are often confusing some synths.
So I found this beautiful script by @wim https://patchstorage.com/mpe-multiplexer/ which does exactly and perfectly what I need, except that when I load it I completely lose the pressure (aftertouch) information.
I'm trying in Logic with ATOMS. If I disable Mozaic, I can definitely see the pressure data in ATOMS, and also putting the script in "MPE Thru" doesn't help. Thanks!
I'll take a look. Might take a bit to refresh my memory on that code.
If possible, could you post a screenshot of the output from a midi monitor such as streambyter that shows the direct output for aftertouch from the Exquis? I need to see exactly what's being sent. Is it poly aftertouch or mono aftertouch? Please press two keys at the same time so that poly aftertouch will be captured if it is supported.
Sure, there you are!
Thanks!
oh. OK, that didn't take long. I didn't include poly aftertouch in the script at all. It should just be a matter of converting poly aftertouch into mono aftertouch (channel pressure). It'll have to be averaged out when more than one key is held down, but that should be easy.
If you have a second, could you press two keys at once and give me another screenshot?
Oh great! Actually, I personally don't need to have them averaged out for pressure (apparently this is handled well differently from expression..), but I can tweak your script myself if needed
Averaging them is the only way to deal with them. When you hold down more than one note, there will be a stream of aftertouch messages coming in on a separate channel for each note. I either have to arbitrarily select one note to follow or average them. If I select one then it is released, I'd have to switch to another remaining note, and there could be a jump in values.
Yes!
Thanks, @unlink, that helps.
Hi @unlink, I think I have a quick fix. This will only handle channel (mono) aftertouch, which appears to be what your controller is sending. Poly Aftertouch would need some more work.
I have limited ability to test, so please let me know how it goes.
https://patchstorage.com/mpe-multiplexer/
Thank you very much, I’ll test asap!
I did some tweak to my taste but the main idea works!
Note that the "Channel Pressure Thru" for some reason doesn't work. I ended up sending notes on, off and pressure to their original channel instead of muxing them together because I really only needed to mux the CCs on channel 74, but just so you know.
Thank you very much for taking a look and adapting the script!
I don't understand that. Channel Pressure Thru works as expected for me. The Channel Pressure messages are sent on the exact channel that they originate on.
There's a disconnect in the logic of the program design though. Notes are always multiplexed to a single channel. If Channel Pressure Thru is engaged, then the channel pressure messages are usually not going to be on the notes channel, so they will have no effect.
I suspect that's what's making it look like Thru doesn't work. If you hook up a midi monitor, I think you'll see what I mean. If not, then something else is up.
It actually makes no sense to have the Thru option for Channel Pressure unless it also engages Thru for Notes. Maybe I should rethink that.
@unlink, you might want to check out Expression Redirector. That one gives you individual control over each dimension of MPE expression, and allows you to block or remap each one.
https://patchstorage.com/expression-redirector/
[edit] nvm. That one doesn't do what you want. It converts Mono Aftertouch (pressure) into the CC # corresponding to the note number. Still, I think it's a pretty darn cool script. 😎
@unlink - I played around with forcing notes MUX and channel pressure MUX to the same setting, but quickly got into the weeds. If I do that then it also makes sense to do the same for pitch bend and expression, but the interactions between the controls get weird and it gets in the way of blocking things individually.
See, the problem is if you force notes to a single channel but don't force the other dimensions to a single channel, they rarely affect the notes. For instance, if your notes are on channel 1, but you have pass-through on pitch bend, then the pitch bend messages are going to be coming on channel 5, 6, 11, whatever. They won't affect the notes.
But if I force all the options to be the same then it gets awkward setting blocking for one or the other. I could probably puzzle out something that makes sense, but I'm settling for just adding a note that some settings are allowed but don't make sense.
I'll wait a bit before uploading the final version, to see if you are seeing different behavior in a midi monitor than I am and if my explanation of why channel pressure didn't seem to be working for you makes sense.
[edit] I think the key change for your use case is you can now set notes and channel pressure to pass-thru while setting Expression to Blocked.
Cheers,
Mike
Hey, I totally understand your point and I agree, some combinations are allowed but they do not make any sense. Right now, the last version of the script works perfectly and does exactly what I needed, if I set:
In this setup, having for example PB or Pressure set to something which is not THRU has weird results because some notes are affected and some other are not. So maybe your idea to link together Notes/Pressure/PB when doing MUX makes sense, because having THRU only for some parameter doesn't. Or maybe you can leave the script as it is and explain that "issue" in the docs, so if someone has weird needs he'll be able to do that anyway
Hello.
@wim @ki @espiegel123 Or anyone else who is a member of this channel Is there anyone among you friends who has the Atom Piano roll 2 ?
Have you noticed any bugs in Swing in this app?
Or maybe I am wrong, if so please advise me on this.
What kind of bugs? Can you be more specific? You might get more responses if you start a separate thread for this question since people viewing this thread are focused mainly on Mozaic.
Where should I create a topic?
I have never done this before.
Do you mean new discussion ?
Just press the New Discussion button at the bottom of the page, and choose the category General discussion, then make a post with a title l Iike 'Atom2 bug regarding swing?'
Thanks. @Gavinski
Thanks for getting back to me. I uploaded the latest version to patch storage. I decided to leave the settings independent and just note that some combinations don't make sense. It's too hard to cover all the different valid combinations people might come up with while restricting the combinations that technically don't make sense.
Thanks for all the suggestions and details. The script is better off for it.
Well, thank you for your help! You helped me solve a very annoying issue