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
You can add a one of these inside the @OnMIDICC block:
SendMIDICC Channel, CC, Value
or
SendMIDIThru
and the detected CC will show up in the output.
Thank you. I have been trying to do so. I thought I needed an “if” or “else” involved. I will try just adding “sendMIDIThru”
I got the sendMIDIThru inserted and working. Thank you so much.
I had to simplify my routing as it was too confusing with so much going on.


The sustain does work on channel one and the session/preset switching is working properly.
Perhaps the octave switching could be handled within Mozaic also. It would only be used on midi channel one controlled by footswitch using CC#65.
I just realized this is a different session than shown before. In this case all three channels go to LayR which is multitimbral. There are three synths programmed in it.
So happy to have the sustain as well as the other functions working.
The only thing left to do in my case is enable transpose one octave up ONLY on midi channel one.
I was using a footswitch CC#65 to enable one of two midi slots in AUM. One of the two was transposed up 1 octave.
Now that everything goes to Mozaic first I need a different approach.
I am open to ideas. I haven’t quite figured it out yet.🤔
Well , I got the octave switch working using my older method of sending midi channel one down two midi busses, one of them being transposed up an octave. The other two Chanel’s go down another buss. They all then go to Mozaic. It looks convoluted because it really is but everything works for the time being. Trying it out at a Brewery gig tomorrow and at a Blues festival Saturday if all goes well.
If it doesn’t work or is unstable I’ll be looking for a Mozaic script to do the same within the script I am using.
Thanks for your help everyone.
Bruce
Hi Friends,
My octave switching pictured above works but somehow makes my setup unstable intermittently. I think Wim was correct it may cause parallel paths some where.
I would like to write a little code inside the script (shown a few messages back) to raise midi channel 1 one octave when the footswitch CC#65 is pressed. The octave transposition should drop back to normal pitch when the momentary switch is pressed a second time.
This action should not change the physical on the keyboard used for session/preset selection.
(Which turned out to be a problem with my midi routing semi solution above).
How about using pitchbend to accomplish this. Set the pitchbend range on the synth to 1 octave. You will need to keep the pedal depressed though to keep the coding simple.
It is a good idea but does not fit in with my setup. I use pitch bend extensively on midi channel one from a couple of different sources and am afraid of going into that territory.😵💫
Seems like to me code is the best way probably because I haven’t tried it yet.😊
Thanks for your input.n
Maybe on another midi channel then?
It gives a way to change octave without having to retrigger notes and tracking wich notes have been sent.
That may be a good idea. I will look into that. I am not sure if my Airturn footswitches send on different channels individually.
Or perhaps notes could be on one channel and controls on another. I will look into it.
I guess this is part of the trade off of using notes to trigger session/preset changes.
I have gigs today and tomorrow but I will be back here soon.
Thanks for your ideas.
Bruce
That's an easy code change. Is the code you posted above the current version you're working with? I was under the impression you had been making some tweaks.
Thanks for your help win.
Here is the current code.
``
@ Description
When foot switch is pressed, convert note On messages to Program Change. Otherwise, pass all midi through.
Configure the foot switch message in @OnLoad
Release the PC note before the foot switch to avoid extra Note-Off messages.
@End
@OnLoad
// set the incoming cc, channel, and velocity from the footswitch
cc = 20
chan = 0
velocity = 127
passThru = YES
@End
@OnMidiCC
if (MIDIChannel = chan) and (MIDIByte2 = cc)
if MIDIByte3 = velocity
passThru = NO
else
passThru = YES
endif
endif
SendMIDIThru
@End
@OnMidiNote
if not passThru
if MIDICommand = 0x90 //Note ON only
SendMIDIProgramChange chan,MIDINote
endif
else
SendMIDIThru
endif
@End
@OnMidiInput
// pass through midi messages not handled above
// 0x90 = Note ON, 0x80 = Note OFF, 0xB0 = CC
if MIDICommand <> 0x90 and MIDICommand <> 0x80 and MIDICommand <> 0xB0
SendMIDIThru
endif
@End
@OnSysex
SendSysexThru
@End
``
Not sure if I used the backwards “P” correctly but I am trying.
Bruce
Close, but you only used two of them. Try three and the formatting should work. ✌🏼
Just checking. When do you want to transpose midi channel 1 notes? Only when pass through is active?
Also, I notice that you're passing through the cc used to set pass through on and off. Is that intended?
Another try at sending code.
If I understand your questions properly, the CC used to set pass thru is not needed anywhere else in my midi setup.
When to pass thru the transposed notes is a little stickier. I would like the non transposed note from my keyboard to be used for the PC selection wether or not the octave footswitch CC has been activated. This means the physical keyboard notes will always switch to the intended PC and not to one an octave above.
Thank you so much for your help.
Bruce
I thought so. Right now it's passed through, but that's an easy fix.
I see. When pass-through is OFF, notes on any channel are used to trigger program changes and are not passed through. When pass-through is ON, notes on channel 1 are transposed up an octave, and notes on other channels are passed straight through.
Correct?
I think this should do you want based on my understanding so far. Route all midi though the script. Route the script to both the synths and AUM midi control.
So far I have only sent PC messages on midi channel one. Although it is intriguing to send them on all channels I think it is an unnecessary complication. I can use the PC message to cause a session change in AUM which changes all apps, routings and presets on all channels.
Also midi channel one is mostly used as a melody channel for my piano style short keyboard.
That is where I really need the octave switching for performance. Midi channels 2 and 3 are usually for accompianment. One channel for bass and one for chords. This is typical of how an accordion is played.
Again octave switching on midi channels 2and 3 could be useful but is beyond the scope of what I am trying to accomplish here.
Does this answer your questions?
Thank you,
Bruce
What I was getting at, is would you ever send notes to trigger program changes from a controller sending on another channel?
I altered the script so that only notes coming in on channel 1 trigger program changes when passThru is OFF. This means that notes on other channels will always be passed through regardless of the mode. That can easily be changed.
Yup. All answered provided the changed script I posted does what you want it to.
Thank you very much Wim.
I will try it out as soon as possible.👍
Hi Wim,
I tried out the new script and it functions as we discussed.
The octave switch works for midi channel one.
The sustain switch also works for midi channel one.
The session/preset switch also works perfectly.
Very nicely done.👍
But as usual something was affected. If I am holding a note and the octave footswitch is depressed the note becomes stuck on. I would think that was caused by a lack of the original note off.
I don’t know why this was not happening with my original method of having two midi busses and enabling one or the other.
I believe a solution that sends note offs for any notes held when the footswitch is pressed would be an acceptable as a solution. What do you think?
Yes, I forgot to mention that would happen. I only made the minimum changes needed do your original script. No problem, that's not hard to deal with.
That's a brute-force way of doing it, but will result in an unwanted cutoff of the original note that you were sustaining because you wanted to. I'll add some note tracking that will make sure the original note off isn't transposed.
Hold my beer ...
This should avoid stuck notes now. I separated the note ON and note OFF processing and put a check in there to only transpose the note off if the note on was transposed.
Let me know if you run into any problems or need changes.
It works great wim. You have done everything that I asked for. I played it quite a bit tonight and the session/preset, octave switching, and sustain all work perfectly.
The octave switching works so smooth it is easier than moving my hand up an octave when the notes ARE available on my keyboard in some cases.
This has greatly simplified my routing where I can keep a mental handle on it.
I confess the code is too complex for me to follow but I will look at it and see what I can learn from it. The comments are appreciated.
I was trying to solve a stuck note/inadvertand program change obstacle by simplifying the midi routing and there is an improvement here. I don’t believe Mozaic is involved in the problem.
These anomalies happens much less now I think because the midi routing has been so simplified.
While I have your attention please tell me your opinion.
I have three and sometimes six midi channels being sent wirelessly by WIDI JACK directly to AUM from my midi accordion.
I also have one midi channel one being sent by my Airturn foot switches directly to AUM.
Do you think it is a problem that both the accordion and the footswitches use midi channel one?
Thanks for all your help. You have succeeded in every way.
Bruce
If you do want to try to understand it, I suggest looking at
@OnMidiCC
,@OnMidiNoteOn
, and@OnMidiNoteOFF
one section at a time.Note ON handling only does two things
passThru
is YES andtranspose
is YESNoteState
array to keep track if the note was transposed or not.Note OFF handling is similar, but...
transpose
setting, looking instead to theNoteState
array to see if the note ON was transposed or not.I think we probably could have sorted out your routing problems and solve it without modifying the script, but it seemed like that would be harder to work through, and more prone to breakage.
Do the foot switches ever send notes?
I'm glad to hear it. It makes me happy to picture a live accordion performance driving apps in AUM. I bet that's a crowd pleaser. 😎
Mike
The footswitches can send notes but are not configured that way now. They only send CC as shown in this pic
.
There also two analog expression pedals that send continuous CCs as shown in this pic. When these controllers are outputting values of 0 or 127 they are stable. When at a midpoint they hunt around the value rapidly changing. I have wondered if this action overwhelms AUM somehow.
Well, the answer as to whether having them both send on channel 1 depends on the routing and what they're routed to responds to.
Say they're both routed to a synth and they both send notes. Both controllers are going to play notes on the synth. Say they're both routed to more than one app and send CC's . If any of the apps responds to those CC's there could be conflicts.
You're probably not going to have those kind of conflicts if the foot switch sends CC's not notes. If it sends notes and it's routed to a synth ... it's gonna play notes.
I hope that makes sense. There's no easy answer. You have to think of what every receiver of every device is going to do with what it sees. In AUM you have the ability to filter out every type of message granularly, so if there is a conflict, you can probably deal with it that way.
As a general rule, when I can, I like to use channel 16 for control messages. I also only enable listening on the channel I know I expect for any given app (when I'm not being lazy). I think it's easier to set things up more restrictively than to try to troubleshoot unexpected results. If something's not working, I find it easier to check that I'm not blocking something I shouldn't than that I'm letting something through that I shouldn't.
Great advice. Thank you wim. 👍
If it is not against the rules here are a couple of clips on Facebook playing my Roland FR-1X electronic accordion at the Palmetto Blues Festval. These are onboard sounds as I didn’t reach my goal of using AUM here because of stability.
https://www.facebook.com/100000155522812/posts/24338710645717448/?
I am working on filtering out everything that is not needed to help with intermittent stuck notes or an out of tune condition.
In almost ALL cases using the session/preset switch to change the preset or session returns everything to normal.
For some reason a stuck “C” sometimes occurs while I am changing parameters.