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
Same result, but now the log sais:
[OnKnobChange] Syntax Error: unknown or invalid argument "(GETKNOBVAL LASTKNOB)"
Try
GetKnobValueinsteadMaybe, I shouldn't read code before drinking coffee
Awsome, now works exactly as I wanted it to, thank you so much all.
Hey (first post here)
i was wondering if there is the possibility to have the knob values updated from, let’s say an AU.
What I am trying to achieve is: have a 8 or (X) knob/fader controller in Mozaic. Which are mapped to a AU. Then, when I change one mapped value from this AU in the AU.
I would like to have the knob value in Mozaic also updated.
The main goal would be, to have a 8 knob controller and some pads, which send notes, so be able to control the 8 macros of an Ableton rack.
I already got the 8 knobs controlling the 8 macros by a simple User Remote script for Ableton, which automatically controls the first 8 parameters. By switching the Racks (with notes/pads) the knobs in Ableton chance aswell. So it would be quite handy to have the values from the Ableton knobs updated within my Mozaic Controller
I am 99,5% new to coding & already through the manual. I guess this could be done with the getknobvalue but I cannot figure out how to get/read the values from the AU.
Would be great if someone could help me out a bit.
Kind regards
A
The knobs in the au would have to send midi out for mozaic to pick it up.
If you control the au with an external controller then you could route the external controller through mozaic. But picking up what the mouse changed will be impossble if the au does not give midi feedback, wich most do not.
Hi
Please help me .
I don't know if this question has been asked before or not.
Mozaic doesn’t save state of knobs faders, ... , in cubasis 2. As midi plugin AUV3 . For example i select one preset , and adjust or change some of knobs as desired . And then close cubasis 2 , When I open cubasis again , there is mozaic with same preset but it exists in default preset mode . There is no this problem in auriapro app . I always use other midi plugins auv3 in Cubasis 2. But they do not have such a problem . Where is the problem? Please help , Because this problem is really annoying .
Pejman
@pejman
Mozaic‘s state saving depends on the script.
In general Moazic saves all faders, knobs, labels etc in the session - but some scripts don‘t ‚guard‘ their variable intialization with an
if unassigned xxxand therefore overwrite everything with their own defaults in theOnLoadHi ki
Thank you for your quick reply.
You are right, But one question remains. Why state saving is the same preset that does not work in cubasis. In auria pro, it saves the situations correctly.?
If for the same script state-saving works in Auria Pro, but not in Cubasis that would be weird. Is that script published on patchstorage ?
Maybe i find the time to have a look - i have both AuriaPro and Cubasis 2/3
I just loaded one of my Mozaic scripts (that implement state-save) into the MidiEffects slot of the default midi track of a fresh project, setup some internal settings (knobs, states etc) and closed Cubasis 3. Upon restart of Cubasis, the correct settings were restored.
Also checked that they were restored when loading another project and then switching back to my MozaicTest project.
I apologize for the delay .
Yes, I made a mistake somewhere.
My preset hasn’t ( if unassigned xxx ) and for some of knobs has ( SetKnobValue ) and for some of knobs hasn’t it . Therefore, those knobs that don’t have ( setknobvalue ) are kept in their position ( state saving ) in both cubasis an auria pro . That is, my preset works exactly the same in both cubase and auriapro .
I’m not a coder . Does adding this ( if unassigned ) in my preset require many changes?
For having both options ( setknobvalue ) on load and ( if unassigned ) . This preset is for humanizing note delay and random velocity.
Humaniz with control knobs
via cc’s
@Onload
// change these to the cc's you want to use
mintimecc = 13
maxtimecc = 14
minvelcc = 15
maxvelcc = 16
minvaluecc = 17
maxvaluecc = 18
ShowLayout 0
LabelKnobs {humaniz}
LabelKnob 0, {min time}
LabelKnob 1, {max time}
LabelKnob 2, {min vel}
LabelKnob 3, {max vel}
LabelKnob 5, {set min value}
LabelKnob 6, {set max value}
SetKnobValue 0, 0
SetKnobValue 5, 0
SetKnobValue 6, 64
SetKnobValue 3, 100
@End
@OnMidiCC
if MIDIByte2 = mintimecc
SetKnobValue 0, MIDIByte3
elseif MIDIByte2 = maxtimecc
SetKnobValue 1, MIDIByte3
elseif MIDIByte2 = minvelcc
SetKnobValue 2, MIDIByte3
elseif MIDIByte2 = maxvelcc
SetKnobValue 3, MIDIByte3
elseif MIDIByte2 = minvaluecc
SetKnobValue 5, MIDIByte3
elseif MIDIByte2 = maxvaluecc
SetKnobValue 6, MIDIByte3
else
// comment this out if you don’t want other cc’s to pass thru
SendMIDIThru
endif
@End
@OnMIDINoteOn
Maxval = TranslateScale ( GetKnobValue 6 ), 0, 127, 0, 500
Minval = TranslateScale ( GetKnobValue 5 ), 0, 127, 0, 500
delayMax = TranslateScale (GetKnobValue 1), 0, 127, 0, Maxval
delayMin = TranslateScale (GetKnobValue 0), 0, 127, 0, Minval
delay = Random delayMin, delayMax
vel = Random (GetKnobValue 2), (GetKnobValue 3)
SendMIDINoteOn MIDIChannel, MIDINote, vel, delay
// remember the delay we're using for Note Off
SetNoteState MIDIChannel, MIDINote, delay
@End
@OnMIDINoteOff
// get the delay we used for this note
delay = GetNoteState MIDIChannel, MIDINote
SendMIDINoteOff MIDIChannel, MIDINote, 0, delay
@End
Hi @pejman - Normally I wouldn't answer a question directed at someone else, but it's been some time since your post, so I expect it's probably late in @_ki 's timezone.
What you need to do is check the
@OnLoadand add something to check whether this is a new load of the script or not. In your case:Should be changed to:
The purpose of this is to make it so those knobs are only set on a brand new load of the script. I chose the name
initfor the variable we will check to do that, but you can call it anything you like.inithas no value when the script is first loaded. It isUnassignedbecause until that if statement, we haven't assigned it any value.Once we drop into the statements inside the
ifblock, we set a value for this variable:init = YES. Now, whenever the script reloads from a saved session, theifblock will be skipped and the knobs won't be set to their default value.I hope that helps. The manual, page 12, does a much better job of explaining than I can.
Hi @wim .
Very very thanks for help and useful information 🙏🙏🙏🙏🙏.
@wim Thanks for answering/jumping in. I‘m still at work now, so an analysis and answer from my side would have taken some more hours 😀
you are the best 🙏🙏🙏🙏
Hello friends.
I have a problem with midiflow forum .
I have successfully completed the register twice, in midiflow forum, But I can't use the new topic section.
Every time I press New Topic, this box opens for me
I can't communicate with them through email either.
Because their email refers me to their forum, automatically.
Are there any of you in this forum? that I can communicate with them through you.
or someone who is related to the developer of midiflow app. ( Johannes ) .
Please help me .🙏
Hello,
I'm I right in thinking that the current event flow is OnNewBeat -> OnMetroPulse -> OnMidiInput ?
I'm trying to read a note "on the beat" and based on the note, play the note out right away, however because the "pulse" event happens before, I'm getting the note information on pulse late... Is there a different event I should use?
Thanks
Edit: seems a way around this is to set a higher PPQN and (re-)trigger the note on the second pulse
The midi events
@OnMidiInput,@OnMidiNote, etc. are completely independent of@OnNewBeat, etc.I don't know what you're trying to do, but if all you're trying to do is check a note and send it out under certain conditions, you don't need to involve the metronome at all. Something like this is sufficient.
Note, examples below were not tested and were typed directly on the forum, so could have syntax and other errors.
You only need to involve the metronome if you're trying to detect where the note is in relation to the beat. For this I suggest capturing the system time to a variable when the beat happens and when the note happens, then comparing them.
The script Live Quantize deals with metronome and note timing. It might be worth looking at.
Oh, and in the comments for that one someone referenced another "accuracy" based script that could be even better. I haven't looked at it myself yet, but ... https://patchstorage.com/midiq/
It looks like that Forum was mothballed in Nov, 2021. No new posts after that date.
You should post in this as a new thread here to reach the widest audience of "experts" possible.
Mozaic lovers are a small group compared to forum.audiob.us members.
O love this type of reply... it builds a database of useful clues.
Many thanks @wim
I'll have to check those examples with a fresh mind, but I really appreciate the detailed answer!
The solution I came up with seems to work for my use case, but happy to change it if it can be improved. I'll share the script once I finish it.
Hey @brambos - fyi there's an error in the documentation and the in-app syntax description for the
SendMIDIBankSelectaction. They state that the syntax isSendMIDIBankSelect <chan>, <value> [,<delay>]when actually it'sSendMIDIBankSelect <chan>, <MSB> ,<LSB>. LSB may be optional, I don't know for sure.Took me a couple of hours to figure out what was causing an issue for someone in the Basic MIDI Controls v1.2 script. It turns out that I must have figured this out back when I wrote the script since I was always sending 0 for the MSB, but after all this time I had forgotten.
So ... posting here for anyone else that might run into this, and so that hopefully it can be corrected if you push an update to the app and docs.
@wim Good find that the Mozaic manual shows a different/wrong definition. The in-app syntax list shows the correct version
SendMIDIBankSelect <chan>, <MSB>, <LSB> [,<delay_in_milliseconds>]I immediately checked my Mozaic Language Support package: Both the syntax checker and code completion use the in-app definition.
.
LSB isn‘t marked as [ optional ]. In case of missing trailing parameters, Mozaic doesn’t produce a syntax error but uses a default value for the parameter - in most cases a zero.
Thanks, that clears up a lot! You're right about the in-app syntax checker, I checked it too quickly since I never use it since I edit in Textastic. At the time I did notice your Textastic language support didn't like there not being at least three parameters, so supplied zero there, further confusing my troubleshooting.
Anyway, thankfully it's all sorted now, and it's only a documentation bug, nothing to worry about in the app.
Guys… what apps support “Bank Select”. I recall trying to use the MSB, LSB values for iSymphonic using an update for Xequence(1) that @SevenSystems was so kind to create quickly for me. I couldn’t get it to work but I’d like to try it with Mozaic
Since I have scripts that I’d like to dial in the right sounds for “Instant Orchestra” purposes.
@_Ki’s “ MULTI-DIVISI v1.2 ” Mozaic script (which implies splitting a chord across multiple channels/instruments) is perfect in the processing chain to do this. I begged the developer of “Suggester” to add divisi as an output option but he didn’t see a large base for the use case. So, Suggester output into @_Ki’s MULTI-DIVISI v1.2 script routed in Cubasis for creating a multi-channel MIDI file. In AUM you can just route the MULTI-DIVISI v1.2 output to instruments set to focus on specific MIDI channels. Good for any orchestral ensemble you like.
I don't know which apps specifically make use of MSB but there is a thread about Bank Select support in general. I wearied of looking through it before finding that out.
The one that I now know does make use of the MSB is DrumJam - sort of. DrumJam actually requires the MSB to select between only setting the kit (MSB=0), Factory Presets (MSB=1), and User Presets (MSB=2). Those high level categories can then have banks within them which are selected with the LSB. Program Change selects presets within the sub-banks.
Nice.I love DrumJam and I bought a lot of these instrument packs down on the bottom left. It will be fun to dial though those instruments to build a nice rhythmic track.
I think LayR uses msb and/or lsb
Really. Never clicked with that one but I appreciate the heads up to use it as a shooting target.