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't do that without a loop. A
while
loop, being careful to also limit the iterations to the length of the array in case no empty spot is found, is the most efficient.What I'll usually do if I can is to find a way to track where the empty index should be in another variable as I go.
here's an example @OscarSouth :
[edit] I get an error in the final
if - else
if I don't set anything to -1. I had assumed the else clause wouldn't be evaluated, but it seems it is so I get an invalid index error. So, the example needs to be enhanced a little to handle the not found situation better.What I do for that use case, is to use the first byte of the array as the array length—and increment or decrement it as cells are added or subtracted.
I'm sorry, it's more work than I'm ready to go to in order to understand the whole picture. There is more going on than just the script, and although you've posted screen shots, with external things going on and an unclear idea of what you're trying to accomplish, it's just not fruitful to keep hazarding guesses about the code.
The best thing you can to figure this out yourself is to list exactly what is incoming to the script in order on that first step. Then, keeping in mind, that each
@OnMidiCC
,@OnMidiNoteOn
, and@OnMidiNoteOff
can only work on one message at a time, list what each variable will be after each message. Lastly, only act when all variables have gotten to the state that you expect.Sorry, I'd like to be more help, but my trying to suggest scripting changes when not in possession of all the information won't be helpful. And asking all the questions needed would be too time consuming.
What more information do you need from me?
Short of being in the same room with you to work through it, watching what you’re doing with StepPolyArp, and asking questions as we go, I can’t think of a way to approach this that would be an effective use of time. 🤷🏻♂️
I believe you can work it put if you do the things that have been suggested already. If not then maybe focus on other things for a bit. Sometimes when I return after a break from a project I’ve gotten stuck on, things finally start to become clear.
@wim
This is my script, very simple and clear, and I did all the things that espiegel asked me to do, and finally we came to the conclusion that mozaic processes the received ccs one by one and not all at once, this is the problem I am facing. Even with putting a lot of logs and collecting information, we finally came to the same conclusion and I really don't know what else to do.
Is there anything else I should have done that I haven't done?
@wim
You wrote: _I believe you can work it put if you do the things that have been suggested already. If not then maybe focus on other things for a bit. Sometimes when I return after a break from a project I’ve gotten stuck on, things finally start to become clear.
_
This is the method I use most often to solve the puzzle. I followed your advice and left the house and went to the nearest mountain to my house. On the way back home, remembering what @espiegel was trying to tell me, especially Order of processing ccs in mozaic , this solution came to my mind.
It’s working.
I simplified the script even further.
That's awesome @pejman! 😎👍🏼