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
https://patchstorage.com/loopy-endless/ Maybe? I only skimmed the description, so don’t know if it’s quantized or not.
Midi Tape Recorder is worth looking at too.
👆
Hey folks, I just posted this in its own thread but realised that perhaps it could be done in Mozaic (which I have, but I'm not familiar with scripting).
I am trying to find a way to take an incoming MIDI note number and output the same value but as a CC message (to a specified MIDI device, in this case my Nord Drum). Is there a way to do this (for any note 0-127, ideally with channel information retained) in Mozaic?
E.g. When I play note C60 on channel 2 with, I want MIDI CC 31 to send a value of 60 on channel 2 to a device I have specified. When I play note D62, the value 62 is sent, etc. I’d love this set up for any note, across six channels (1-6).
Any help or ideas would be appreciated.
Other thread with use case
it would be simple to do this in Mozaic.
I think the KEY to CC script does exactly this - if I understand what you wrote correctly.
Fantastic, thanks, I'll check it out.
Thanks @wim & @McD for pointing me to examples of midi recording, it helped me hone down what I really was looking for.
I ended up realizing I could build the effect I wanted in Drambo with a few Buffer Repeat modules. I uploaded a patch of it here if folks are interested https://patchstorage.com/midi-freeze/
That's brilliant! I would never have thought of that.
🙇🏻♂️ Thanks 🙂
I might be able to help with the Launchpad script this week, but I'm still not sure what your goal is. Is it just a workaround for a bug in Loopy Pro? I've been working on some stuff related to clip launching, and some Launchpad scripts for beginners to learn from.
Dont know that it is bug or just me, but I have tried a full reinstal but did not solve the issue. Before I turn on Loopy, switched on my Launchpad Pro (not mk) set it to Live and hey presto all the lights on the Lauchpad matched the coloured clips in Loopy. Now I do the same and nothing. Sure I can create bindings but the pads only light when pressed which leaves me with a blank Launchpad and guesses as to where loops lie. Any help you give will be much appreciated. Many thanks for reading this.
@Toastedghost Okay, somehow I missed that before. Did you report the bug? I reported a bug with Loopy Pro's Launchpad support, and the developer said that fixing it wasn't a priority, but it looks like he's been fixing similar stuff lately, so it's worth asking. I can't replicate the functionality of lighting the pads based on the number, position, color, and choke group of Loopy Pro's audio clips. If you always use the same template, maybe something I'm writing would be useful for you, but a bug fix could probably come sooner.
It isn’t a bug. Loopy doesn’t have built-in support for that particular launchpad. It may eventually be added.
There’s photon Au which has been marked down to $3.99 for awhile. Not sure if it fits your use case but might be worth a look. Usually $5.99.
@espiegel123 yes I get that and the fact that this is not a bug, the weirdest thing is it automapped originally, without me doing anything expect setting the Launchpad to Live.
Hello , I have an iRig Blueboard with an Expression Midi Pedal attached to it. The idea es that by pressing each of the four buttons/switches that are available on the Blueboard ( A,B, C and D) you could route the Midi Pedal data to different CC numbers.
I managed to code the following instructions, which work as intended , except that for reasons I cannot debug, it works routing the information to only 3 choices. That is when I press button A , the Midi Pedal info goes to Ch 1 CC 1 , when I press button B it goes into Ch 1 CC 2, but when I press button C it does note go to Ch 1 CC 3 as it should but rather it jumps to Ch 1 CC 4 which is the instruction that belongs to button D. In other words there is an "elseif" command which is skipped, and I cannot understand why. I would kindly appreciate some help. Thank you
```@OnLoad
// this is just to name the four pads to match the Blueboard switches
SetShortName {BlueRT}
ShowLayout 0
LabelPad 0, {A}
LabelPad 1, {B}
LabelPad 2, {C}
LabelPad 3, {D}
@End
@OnMidiInput
// the following is o light up each individual pad whenever the corresponding switch is pressed on the Blueboard. One press turns it on , the next one off . MidiByte2 numbers correspond to the CC numbers assigned on the Blueboard. These can be changed to whatever preset you setup on the Blueboard
if MIDICommand = 0xB0 and MIDIByte2 = 4 and MIDIByte3 = 127
LatchPad 0, YES
elseif MIDICommand = 0xB0 and MIDIByte2 = 4 and MIDIByte3 = 0
LatchPad 0, NO
elseif MIDICommand = 0xB0 and MIDIByte2 = 5 and MIDIByte3 = 127
LatchPad 1, YES
elseif MIDICommand = 0xB0 and MIDIByte2 = 5 and MIDIByte3 = 0
LatchPad 1, NO
elseif MIDICommand = 0xB0 and MIDIByte2 = 6 and MIDIByte3 = 127
LatchPad 2, YES
elseif MIDICommand = 0xB0 and MIDIByte2 = 6 and MIDIByte3 = 0
LatchPad 2, NO
elseif MIDICommand = 0xB0 and MIDIByte2 = 7 and MIDIByte3 = 127
LatchPad 3, YES
elseif MIDICommand = 0xB0 and MIDIByte2 = 7 and MIDIByte3 = 0
LatchPad 3, NO
endif
@End
@OnMidiCC
//Here, there is a test to check if the pad is illuminated, which was accomplished on the prior set of instructions. If it is illuminated , then by pressing the midi CC pedal connected to the Blueboard, a stream of midi CC midi events should be sent on Channel 1 but with different CC numbers
if PadState 0 = YES
SendMIDICC 0,1,MIDIByte3
elseif PadState 1 = YES
SendMIDICC 0,2,MIDIByte3
elseif PadState 2 = YES
SendMIDICC 0,3,MIDIByte3
else PadState 3 = YES
SendMIDICC 0,4,MIDIByte3
endif
@End ```
Hi @GeeBee - if you edit that post so that the ``` are on a line by themselves above and below the code, the formatting will work as intended.
@GeeBee - the problem is with your final
else
. That should beelseif
.else
can't have a condition.Thank you very much for your prompt answer, I modified the code according to the suggestion , but now it does not even carry out the last two "elseif " instructions. It is like it gets stuck in the second "elseif" and I keep getting the same MIDI CC 2 wether I press button C or D...... If you have any other ideas I would appreciate , sorry for the inconvenience.
I think your logic may be faulty. The pad states are all independent (at least as you've set it up in @OnMIDIInpute). That is, each can be on or off while any of the others are also on or off. So elseifs are not going to give you what you want. Any elseif in the 'if' structure will be executed only if all the previous comparisons in the structure (ifs and elseifs) have been false. As soon as one is true, it executes the code for that branch and exits the structure (goes to 'endif'), skipping everything below the first true branch.
So I think you may want four separate if-structures:
Thank you very much for the help. Great response of the group , highly appreciated. However this alternative does not work either . I get the most unusual results but I will share it might shed some light on what is not working.
With the new suggested code , I get the following results. When I press the A button I get three CC messages simultaneously, that is CC1 , CC3 and CC4 . Rather than getting only the CC1 message. Also notice that it skips CC2........?
WHen I press the B button I get , rightly so, message CC2
When I press the C and D buttons I get nothing at all, no CC and no MIDIByte3 streams.
Just for the sake of exermientation, when I press both the A and the B buttons I get the 4 CC messages simultaneously, that is CC1,CC2,CC3 and CC4.
More ideas are welcome !! ( Not to tell you that I have been experimenting with a lot of iterations and got none to work )
Thank you in advance
This might help: So far the best I was able to get to work correctly were 3 Buttons with this code
I get CC1 data when pressing button A, CC2 data when pressing B and CC3 data when pressing C. But the minute I add another instance of "elseif" or "if" or anything to try to get Button D to send CC4 info......it messes up everything. It is driving me nuts why I can get 3 instances to work correctly but cannot find a way to make the 4 of them behave like intended.
I can see there was definitely a problem with code I suggested, but problem doesn't seem to quite fit with what you've described.
I'm curious, try deleting the entire @OnMidiInput event (or just all the code in it, like below) , and using the code below in @OnMidiCC event. See if its behavior is close to what you want. If it is, I'll explain how it works.
But onmidicc is checking the expression pedal value.
But then the buttons are also sending cc.
And what if you connect two expression pedals?
If you're referring to my last code in @OnMidiCC, yes, it's assuming there are just four buttons on Blueboard being used. But if there're pedals attached then you would just wrap the code up in this to only affect the buttons:
Ok !! Great guys . Thanks to both of you Hes and ALfred . You've nailed it ( and I would have never thought of that solution......) . The final code works wonderfully is certainly more elegant , and looks like this :
Thanks again !! Cheers
There is a glitch in the above script:
The line
else SendMIDIThru
does not work as you might think. Mozaic ignores all text after theelse
keyword up to the end-of-line. TheSendMIDIThru
needs to be on a separate line - just insert a newline.Nice.
Thanks , yes ....that's the way I wrote the code in Mozaic, somehow when I copied the full text to write the comment in the Forum the spaces got mixed up. It does work as intended. Many thanks again , I would have never been able to figure it out on my own.
I'm not sure how your system works, or what those SendMidiCC commands are even used for, but it seems like you would want to modify things so that the 'SendMidiCC' line can't get executed if the message isn't a MidiByte2 of 4 thru 7. Seems like as it is you'd get undesired repeated execution of the 'SendMidiCC' line if you use the expression pedal after last press of a button moves it to 'On' state.
Two different ways to fix that:
-- or --
Or maybe I'm misunderstanding the system entirely and you need to have that last if structure separate to get desired behavior. I can't see why, though.