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
After a some thought and a couple of days researching and testing scripts I have completed a working script that does what I needed and some.
What it Does
Hello! I am a newbie and am searching for a Mosaic script being able to invert CC pitch bend up to pitch bend down. Is it possible with Mozaic? Perhaps, you could help me with a simple script? Thanks! (Every other CC commands should pass the script without being changed)
This should work. I had to resort to a workaround to avoid center position being off by 1. If anyone knows of a more elegant way to deal with that issue I'd love to hear it.
Hello wim, the skript works, thank you very much!
Great! Thanks for letting me know @windplayer .
I just begin to realize what a great tool Mozaic is. Another function, I am looking for since a long time, is a simple transpose-function for synths. It would be sufficient to have the possibility to step a half tone up (or down). But perhaps, it is also possible to use buttons of Mozaic to choose directly transposing steps (Db, D, E, F, Gb, …). If you can program such a script, this would also be fine. By the way, is there a source for existing Mozaic-scripts on the internet?
@windplayer
Hi
https://patchstorage.com/platform/mozaic/
You can search in serch bar for example transpose .
This index can sometimes be easier than browsing patch storage.
https://wiki.audiob.us/doku.php?id=mozaic_scripts_list
https://patchstorage.com/midi-note-shifter/
If you have the Rozeta Suite, Rozeta Scaler can transpose by semitones.
Hey, wim, once again thanks. This Note Shifter seems just right! It is perfect!
Hi Wim, hope you don’t mind me asking but you are very knowledgeable where Mozaic is concerned! I thought there was a script that provided volume sliders in AUM a bit like 4 pockets midi mixer. I’ve looked through the script list but can’t find it. Could you let me know if there is a script please? Many thanks
I don't see anything like that in the Mozaic Scripts List on the wiki.
That's a simple script to do really. AUM's faders default to cc 7 with the midi channel being the AUM channel number to control.
However, there are a couple of shortcomings to be aware of.
Given those limitations, rather than a single-purpose script, I think using the Basic Midi Controls script might be more effective. At least with that, you can change the midi channel number of the script's faders to deal with keeping order of controls more sane. I've attached an already configured starting point made by configuring the faders in Basic Midi Controls, then saving the script under a new name.
Unzip the file, then install like you would install other scripts from patch storage.
Thanks Wim, you are a marvel 😁👍👏👏
@jking - imo 4 Pockets AudioScope is the ultimate solution. It takes a little more setup, but it can do far more than just channel volume manipulation. It solves the problem of moving channels around by placing a plugin in the FX slot of each channel you want to control.
Hi @wim . The reason midi control of the AUM fader doesn’t appear to go above 0db is because AUM is defaulting the range to be between 0 and 71% of the full range.
See the bottom right of the screenshot.
If you click on the 0 > 71% text you can change the 71 to a 100 and it will go all the way !
Good to know. Lotta setup though.
I’d never considered that, thanks for the heads up 👍
Is there actually a search function in the Mozaic code editor? I could not find anything about searching within Mozaic or it's manual.
For the actual coding I usually use Textastic directly on the iPad or the Kate code editor on my Linux desktop, but sometimes I just want to quickly fix a bug without any cut/paste hassle. This means simply checking and editing the code directly within Mozaic. A simple search (not even with replace) would be fantastic.
BTW: I would be happy to pay way more than the current £4.99 for a Mozaic 2.x with improved code editing, string support and two dimensional arrays - and maybe more.
There isn’t a search function.
It is pretty unlikely that Bram will add significant features. He has talked about his approach to developing apps at length in the past. Essentially, put a lot of thought into the design and features . Release the app when it is done. Fix problems and refine the features based on feedback in the near-term after release. Move on to new projects and life. Fix critical bugs that come to light.
String handling has been a hard "no" every time it's been asked about in the past.
+1. And I don't think adding strings is as difficult as Bram seems to think it is. . . .
What an odd comment. 🤷🏼♂️
That was my guess - and I can understand why Bram probably won't add significant features. I would not expect any improvements to be free. I just find Mozaic so cool, that I would be happy to pay way more than the price of the current Mozaic for an upgraded app.
And Mozaic is pretty unique with only StreamByter coming pretty close. Having written MIDI programs in Python, I had a look at various iOS Python IDEs and Jupyter implementations - none offers MIDI. TouchOSC has scripting and great UI features but does not offer proper timing and has no AUv3 version. Audulus has LUA scripting, but not for MIDI...
Yeah I'd pay for string and better array support and the ability to hide UI elements too (that really would be easy), but understand that Bram is doing stuff like the Camera app more for fun rather than for income (just look at the low price on that). He is still maintaining Mozaic so lets just be grateful for that!
Can anyone tell me please if there’s a script for a chord splitter?
I’d like to be able to output the notes of a chord to separate channels.
Thanks
@jking You could use the „multi-Off“ mode of the Multi-Divisi script to split chords to channels. The script tries to allocate the channels in note order, ie the lowest note of a chord lands on channel 1. With the multi-Off mode, only a single channel will be played per note (which is not the main usecase of the script), but that would fit your description 😀
Thanks @_ki I’ll check it out 😁👍
Hi Friends.
Please help me 🙏🙏.
With load script, values of linkstate of all pads = 0 ( that’s mean link is ON )
1, touch pad num 2
2, increase position of knob num 2 higher than 64 ( unlinke mode ) ( pad num 2 is unlinked mode ).
3, touch each of other pads . value associated with them increases correctly . And value of pad num 2 is fixed ( without changing value ) correctly.
4, when i touch pad num 2 , increases its value correctly,
But value of other pads increases too.
While I expect this not to happen.
I expect when linkstate associated with eachpad if > 64 ( unlinked mode ) , The values of that pad or pads ,doesn’t change when i touch each of pad that their linkstate < 65 ( link mode )
While I have created condition in the loop in the @onpaddown section.
What code is written incorrectly in the @onpaddown section?
@OnLoad
ShowLayout 2
FillArray value, 50, 8
FillArray linkstate, 0, 8
for i = 0 to 7
LabelPad i, { 50 ------ SW value +🔺}
endfor
LabelKnob 1, {Pattern}
SetKnobValue 1, 0
Call @setknob
@End
@OnKnobChange
if LastPad < 8
linkstate[LastPad] = Round (GetKnobValue 1)
endif
Call @setknob
@End
@OnPadDown
if linkstate[LastPad] > 64
Inc value[LastPad]
LabelPad LastPad , value[LastPad] ,{ ------ SW value +🔺}
endif
for i = 0 to 7
if linkstate[i] < 65
Inc value[i]
LabelPad i , value[i] ,{ ------ SW value +🔺}
endif
endfor
Call @setknob
@End
@setknob
if LastPad < 8
SetKnobValue 1, linkstate[LastPad]
if linkstate[LastPad] < 65
LabelKnob 1, {Pattern}
elseif linkstate[LastPad] > 64
LabelKnob 1, {LOOP}
endif
endif
@End
>
You're checking
linkstate
when you tap pad number 2 and updating it's value as you should. But then you go ahead and increment all the other pads anyway. What you need is anelse
condition so that thefor
loop only executes if you've touched some other pad.Hi @wim
You wrote “What code is written incorrectly in the @onpaddown section?”
I mean the placements of endif endfor... because I tried them many times in different ways, even I had used else, but maybe I had put something in the wrong place that I had a problem. I will try to post it for you.
Your code is working perfectly now, thanks again as always.