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
Here’s a brief example. It looks harder than it is. Most of the code below is either logging or the play/stop mechanism. All you really need to do is set the timer interval, start the timer, and then do stuff in the
@OnTimer
event.It’s done. Just waiting for the next Mozaic release, which influences the XY pad function used in the script.
It will also feature recall of scenes for tweaking and the ability to store up to 16 scenes. You can only morph the first four, but you can recall any of them then save it to one of the four.
Yeah, it will be set to 1/16th notes in the next release. And the knob labels will update to say the meaningful values.
I don't know what you mean there, what is recorded is always altered based on the sequencer's clock settings (or, when latch disabled, by the rate you send it midi notes)
Also transpose will become an option you enable/disable by pressing a pad. Once pad labels exist it will make a lot more sense.
Sorry not great wording on my part.
I just meant can you preset some values so it will start playing right away without any knob tweaking (which you say is coming) and any further knob tweaking after that will alter what’s playing, it already does this now.
Can record and latch be selected at the same time?
I'm working on a solution currently. I've got it working pretty well but no GUI yet. Maybe in a week or so I'll have something worth releasing.
In the meantime, I've released today a script called RANDOM!, which takes a midi input and outputs midi that is randomly modified according to parameters set by the user. It includes scale quantization, user presets on the touch pads, and preset morphing using the XY pad. I've uploaded it to https://patchstorage.com/random-2/
@brambos Yes! This will be very helpful.
If I may, I would like to request a find-and-replace function in the editor. Oh, and two-dimensional arrays. Please.
+1 for multidimensional arrays.
I do a quick copy/paste into Textastic (fantastic iOS text editor) for search and replace.
Wow!
Thanks so much.
Can’t wait for the next update then.
Version 1.0.3 has a whole lot of new features, fixes and improvements including the much-requested Pad Labels!
1. Pad labels
You can now label pads. The obvious function call for this is:
LabelPad padnum, {Label}
Handling of AU Parameters
I completely reworked AU parameter handling to be more robust. It should now work as expected in all directions; sending them into the plugin, and getting them out of the plugin, either via the GUI or via scripts.
Scripts can now be much longer (up to 2500 lines).
Maximum number of user variables raised to 200
Improved keyboard support and behavior on iPad
Functions for keeping track of Note States
Basically, this offers you a 16-channel x 128-note matrix for storing values to keep track of whatever you're doing with MIDI notes:
SetNoteState channel, note, value
value = GetNoteState channel, note
FillArray now accepts an optional index and number of cells to fill:
FillArray variable, value [,numcells]
FillArray a[50], 64, 25 // fill 25 cells with the value 64, starting with a[50]
Use note names and scale names in strings
Log {The root note is: }, RootNoteName
Log {The current scale: }, ScaleName
Log {The third scale: }, (ScaleName 2)
LabelKnob 0, {Note: }, (NoteName 3) // Note: D#
LabelKnob 0, {Note: }, (NoteName 40, YES) // Note: E2 --> this shows the octave with the note name
These 'macros' work in all Label and Log functions..
OnMetroPulse timing improved when using extreme metronome resolutions (> 250)
PresetScale now also works with numerical values:
PresetScale 3
Log ScaleName // MinorMelodic
Exit
You can use the Exit command to immediately exit an event handler
Array initializer bugs fixed
There were some issues when using mathematical operators in array initializers
MASSIVE internal refactoring of GUI and event handling code, resulting in higher performance and less complex code (=fewer bugs and easier maintenance ;-) ).
GetXYMorphValue was flipped. Flipped it back.
Pitchbend bug fixed
OnHostStart/OnHostStop are now fired before all other events
Really long labels could sometimes cause a crash - fixed
@brambos this one is going to keep picking up steam. Very exciting. Do you think there might be a way to interface with Patchstorage.com via the app? That would be amazing.
Interesting thought. I'll check if they have an API or something
Yes great idea. At present I load a script one day from patch storage. Find the following day it’s been modified already. It’s hard to keep up with all these great user scripts 😆.
One thing I’ve noticed is if you delete an old script version to add a new one, the new one has a number appended to it as if the old version is still there. For example I saw there was new version of Random so I deleted the old one (even quit Mozaic first) and the new version is Random-1 as if the old version is still there but it’s not in the list. Not a huge deal just wanted to mention it.
Yes that’s happened to me a couple of times aswell. Now the update is out should imagine a lot of scripts will be modified.
Great update! Thanks for all these key features that will make scripts a lot cleaner. And labeling pads ... well, that’s just wonderful.
I finally picked up Mozaic a couple days ago while I was out camping. Adding great scripts via patchstorage is a breeze. The scripts so far are all cool, useful and varied. I haven’t coded anything, but using the included scripts as well as the sweet user scripts in multiple configurations has been spectacular. I can’t believe I hesitated so long in getting Mozaic. So flexible and endlessly creative.
My only complaint would’ve been the lack of pad labels for some of the scripts, but it appears that’s already been remedied in the fresh update. So cool!
I just added MIDI Morph Pad 2 to patchstorage.com. It’s like the original but makes more cc’s available, allows storing of up to 16 snapshots of their values, and the ability to recall them. This does come at the cost of added complexity, so the older version will be maintained as well for simpler usage.
Tap SHIFT to cycle between the different views (to get access to the additional cc’s, additional pads to store snapshots and the fader page. Tap a pad to store the current cc values in it. Long-Press a pad to recall those settings. Hold down shift while moving knobs to change the cc# they send.
Not extensively tested yet ... please let me know if you run into any issues.
Is there a way to share new patch presets from patch storage in bulk / all at once? I've tried Documents,.Yoink, drag and drop. No luck though. 1 at a time works
I've tried a couple of your excellent scripts but not the Morph one. This looks very interesting. Looking forward to exploring it later tonight. Thank you!
That one is kind of an edge-case usage IMO. Its only useful if you spend the time to map the midi cc’s to parameters on a synth, or several synths. You can then tweak them the way you like, and save snapshots of those settings. It could be useful for saving and recalling sounds on the fly. The morph thing is interesting of course.
I dunno. People seem to like it, but I doubt I’ll ever find a use for it!
It was fun to write though.
Fantastic! This great app gets better and better.
I have no experience programming. So I haven´t dived in to see what is possible with Mozaic. I´ve been thinking of a kind of autoharp-translator app. Where you set the scale, and then use the black keys on the midikeyboard to choose notes in that scale, and the white keys to strum the last note on the black keys. Makes sense? Would this be possible to script in Mozaic?
Wow. What a cool idea! Yes, it seems like that would be possible
The buttons on an autoharp select chords not scales by blocking out notes not in the chords.
Please take it if you wish:)
Yes, select chords with black keys, strum on white keys.
The black keys should be programmable to set only the chords you need for a particular song, or maybe there should be presets for chords that fit in particular scales.
Perhaps set it up at least with one setting with the actual chords that most autoharps use… Another words it would be great if you could actually play this like an auto harp
Wow.... thanks so much @wim ( and @brambos )
Have been really looking forward to this. Will download and start playing later!