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
Sure “Why sleep with the cow when you can sleep on the sheep?” - Farmer John
This thread is waaaay to long to try and find the answer to this question, so I'll just ask it here. Can I use Mozaic to create a simple knob/slider controller set for sending controls to hardware? Also, would I be able to have the hardware send controls back to Mozaic assuming the hardware is capable of sending its internal knob values? Goal is to have a simple MIDI mixer for my Octatrack/Digitone all in one place hosted in AUM along with some other stuff.
Yes, it should be able to do that. But it would pay to do your research first to see how involved that might be with the Octatrack/Digitone. If the OT accepts and sends MIDI cc's for the controls, that's pretty simple. If it doesn't respond to or doesn't send cc's it won't work. Or, if it uses sysex instead of cc's then it will be much more complicated.
The OT can both send and receive CCs so I know that's all good. Just need to make sure that Mozaic can replace Lemur on my Android phone for these basic tasks. Thanks!
yeh, it doesn't care what it's sending to or receiving from. it's all just midi.
@brambos
Would it be possible or difficult to add something like this to mozaik
Not as a realtime control, but @onload
It could enable negative delays f.e
Adding a MIDI (not Audio) delay such as that would be three lines of code. Well ... plus some code to implement a knob to adjust it. Mozaic doesn't process audio, so a pure audio offset isn't possible.
Negative delay isn't possible. Mozaic can't process something that hasn't yet arrived ... at least until @brambos beats everyone to the punch with his implementation of Apple's little known and almost completely undocumented AU Flux Capacitor API ... but then we'll have to wait for hosts to support it too.
(You could delay everything else but the channel you want to "negative" delay though.)
Ha! I forgot, I wrote this one some time back too: Multi Channel MIDI Delay. It lets you dial in a different delay for each channel or all at once.
@wim
I thought there is a way for an AU to report its own latency to the host regardless of it being audio or midi processor.
Does it mean all midi gen/fx always happen realtime and none of them can have latency?
Something like "it has arrived and the host will compensate according to AUs reported latency"
Mozaic isn't a host, so it doesn't receive that information.
Hosts can do latency compensation if the plugins report it correctly (not all do). But if you think about it, that isn't really negative delay even in a host. The host is just delaying everything else to keep things in sync with the highest latency channel. But that's a side-point since Mozaic isn't hosting anything anyway.
I suspect my wife may have an inside line on how to do this though. She is able to consistently finish my sentences before I even process the thought. Maybe we can put her in touch with @brambos.
@wim
Yeah, you're right, I think
I'll try to picture it in my head after some sleep.
Another question. I'm not looking to do my own coding, but I do want to be able to edit the channels of individual sliders or knobs within a patch so they all send to different devices. Is that easy to do without any coding experience? I used to use Lemur, which had lots of easy drag and drop modules that one could apply all the MIDI settings to individually. Unfortunately, I had it on my Android and don't want to drop another $25 for the iOS version, so hoping Mozaic can fill the need. If not, I may look at TouchOSC for $5.
Yes it is easy to do.
If you run through manual it should be straightforward to edit for most scripts.
If you search for “midiout” in manual it should give you few pointers to follow.
Most excellent. Thanks!
Sorry, instead of “midiout” search for “sendMIDI”
Honestly, the coding for the interface elements is probably the bigger challenge for the beginning coder. It's nothing like drag and drop, and doing things like scaling knob sensitivity, rounding off to cc values that aren't decimals, labeling controls so you can see what numbers they're set to, etc. can be fairly involved. You may want to give MIDI Designer Pro 2 a look if you really don't want to have to dive into coding.
On the other hand, I can't think of a more accessible place to ease into coding than Mozaic. And, by starting with scripts others have already written, then just modifying those, you can go far without too much brain wrackage.
Thanks for the insight. I have absolutely NO desire to code anything. Hell, making my templates in Lemur gives me a headache and is painfully boring most of the time. I like the idea of Mozaic since it can run inside of AUM so I don't need to leave that window, but I guess I may need to suck it up. If that's the case, I'll probably just buy Lemur since I already have templates built for that on my Android phone and tablet.
@brambos would you ever consider adding a second MIdI bus to Mozaic? It would make it much easier to interface with midi controllers without forcing the user to filter midi channels within AUM
Maybe MidiFire is what you need.
On the recent update you can open Mozaic. Only missing are the exposed parameters.
Bryan Appel, who made the metroplex script has put a new version out that includes a feature that I managed to hack into it
https://patchstorage.com/metroplex/
I made it so that you can 'sketch' the levels of the sliders on the XY pad - makes it dead quick to put a general idea down before drilling down into finer details, or as I quite like doing, tweaking on the fly as it runs...
Bryan also restored the original gate and modulation functionality in the xy that I broke with my hackish methods - it's now operational on the controls screen.
I'm dead happy that it even worked, even more so that he was happy to include it, I'm terrible with code stuff so great to have made something I wanted that other people can now have 😁
Hi @brambos ... or anyone who knows.
The documentation for
SendMIDIBankSelect
says the syntax isSendMIDIBankSelect <chan>,<value>,[<delay>]
. The in-app syntax says it’sSendMIDIBankSelect <chan>,<MSB>,<LSB>
which is correct?If it’s
SendMIDIBankSelect <chan>,<MSB>,<LSB>
(which appears to be the case) then I assume I should send 000 for the MSB and the bank number for the LSB?Question to all Mozaic users....
How useful would you consider having a new Midi function for stopping all cued delay events on a given Midi Channel?
I'm thinking something like this:
StopDelay < chan >
Description: immediately cancels any cued delay events for the indicated Midi Channel. Prevents any delay events scheduled for a Midi channel from being executed after the StopDelay function is called.
@horsetrainer Nice idea and would lead to simpler code for several use-cases
If we currently want to control the delayed notes, we scrip devs need to implement the full chain of storing the event, triggering the event by using OnTimer, removing nites from our event list etc - i already coded this in several scripts and the topic is more for advanced programmers. But with such a command, many of these scripts could be done a lot easier and therefore be do-able for a wider range of script coders
Your name-choice should probably be reconsidered, as it does not stop a delay but clears all queued events for a given channel. Maybe ClearDelayedEvents < channel >
Yeh baby! That would save a literal shitload of code! I think I'd make it a bit more selective like:
CancelEvent <channel>, [<type>]
, or maybe a few commands likeCancelMIDINote <channel>, [<note>]
,CancelMIDICC <channel>, [<cc>]
,CancelSysex
, etc. But great idea.BTW, @brambos, I am loving the
SystemTime
variable. I've been able to eliminate a lot of@OnTimer
overhead with that one. I forget who's idea that one was, but thank you for adding it!Thanks ki,
I like your name-choice better.
As a coding beginner, I've been searching for a way to "ClearDelayedEvents".
I think if Bram Bos is able to add this function to Mozaic, it might make the program more user-friendly for beginner programers (and allow less complex coding for more advanced programers too).
Glad you like the idea.
You guys can figure out the details.
Hopefully Bram will like the idea too.
@wim I think a single
CancelMidiNote <channel> [<note>]
command (deleting scheduled NoteOn and NoteOffs) would suffice for most use cases. I didn‘t yet come across delayed CC sending and SendSysEx doesn‘t have the delay parameter.In comparison to my proposal, yours also covers covers the use-case that only a single note out of scheduled chord needs to be removed
Those are good points. It might be good to have granularity for note on and note off as well now that I think about it though.