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.
MOZAIC Help Line
If you need help figuring something out or debugging a problem, let's discuss it here rather than in the main Mozaic thread.
Comments
Hello, dear @Spiegel,
I am glad to meet you here. You thought very well that you created this page.
This is how you made @McD lose 100 dollars.😂.
I am ready to continue solving the issue.
Do you mean two different places and two different arrays ( if pad = x and if knob = x ) ?
@pejman
From my last post in the other thread (https://forum.audiob.us/discussion/comment/1201622/#Comment_1201622)
>
>
Let me refine what I said to potentially move things along a little without confusing you.
Questions to answer. Do these in order. If you get stuck at any point or don’t know how to proceed, let us know.
Question 1: when pad 0 is active and you turn knob 5, where does that value get stored. Please provide the variable name and the procedure (or procedures) where the variable’s value changes.
Question 2: when pad 1 is active and you turn knob 5, where does that value get stored. Please provide the variable name and the procedure (or procedures) where the variable’s value changes.
Task:
NOTE: in this context , I consider different slots in the same array as different variables. So “myArray[10]” and “ myArray[11]” would be considered different variables.
Please repost the script with your response so that this thread is self-contained .
But I can add!
94 pages on the old thread and 1 here so the current number is holding at 95.
I loose when your script makes you happy in less than 5 more pages.
Carry on with the mentoring. I’d love to see the current version and try it out.
Hi @espiegel123 , sorry for late.
Unfortunately, I still couldn't answer your two questions. I think it would be very informative for me if you solve the script yourself, because your questions are still confusing and vague for me.
@pejman : my solving the problem won't help you solve the problems. If question 1 seems puzzling, we need to help you understand something because it is an important basic thing.
So, I'd like to guide you to figure it out yourself. Before we launch in, I suggest that you spend an hour so doing the Mozaic tutorials..and asking questions about anything that is unclear.
Let's start with question 1:
Question 1: when pad 0 is active and you turn knob 5, where does that value get stored. Please provide the variable name and the procedure (or procedures) where the variable’s value changes.
Mozaic has one way of getting a knob's value: getKnobValue knobNumber
storing a value means the same thing as "assign to a variable" or "store in a variable".
Find all places in your script where getKnobValue is used to get the value of knob 5. Tell us what variables are used to store the value and also tell us where in your code getKnobValue is called.
Let's stop there.
That’s tough love. You can give a man a fish and it feeds him for a day or you can teach a man to fish and he’ll quit his day job to drink by the river.
Mozaic can be intoxicating.
@pejman : if after reading my question and looking at your code, you can't figure it out. I will give you part of the answer. But please do read the beginning of the Mozaic manual perform the Mozaic tutorials (again if you already did them..often i get understanding from repeating a tutorial after grapplomg woth a problem).
@espiegel123 , It is very strange that I have used ( GetKnobValue ) more than a hundred times in my training scripts and I know its exact meaning. I always thought of something much more complex and weird since you included ( pad ) in your question.
@spiegel said: Find all places in your script where getKnobValue is used to get the value of knob 5. Tell us what variables are used to store the value and also tell us where in your code getKnobValue is called.
@pejman : I think the ( gate )and ( LabelKnob ) variables store the values of knob number 5.
Gate is everywhere except @onload and @onpaddown
The reason pad is in the question is that if I understand correctly, you want knob 5’s value to be saved and restored for each pad.
Is my understanding correct?
If it is, you need to store knob 5’s value in different variables depending on which pad was lasted touched.
Gate is the variable that receives the value of knob 5. LabelKnobs is not a variable.
You assign knob 5 to gate no matter what pad was last.
Do you see the problem?
Add a log line to your onPadDown handler to log the pad number and gate. Tap pad 0 and turn knob 5 then tap pad 1 and turn knob 5 then tap pad 0.
Look at the log.
Take a look at the script that worked.
What variable or variables are used to store knob 5’s value?
Yes, I knew this from the beginning, that's why I was trying to assigning [P] (LastPad ) to gate or kgate. The code inside the script ; SetKnobValue kgate, gate ////[p] ////?????
And I also knew that this should happen in that part of @Onknobchange as well
I just didn't know where and how.
I have done this before. Of course, it works correctly. But Wim told me that there is no need for ( sgate ) and [p].
I think you did not understand what wim was telling you. Let's not get side-tracked.
Please take a look at the script that worked.
What variable or variables are used to store knob 5’s value inthe script that you say works?
@spiegel said: I think you did not understand what wim was telling you. Let's not get side-tracked.
@pejman, What did wim mean?
In this script sgate variable.
Not quite. Think of different slots of an array as different variables. The script that works uses sgate[padnumber]? So , there is a different/variable for knob 5's value to be stored into depending on which pad was last tapped.
In the script that doesn't work. The same variable is used no matter what pad was last tapped.
Yes sgate[p].
What do you mean by slots?
An array is made up of individual 'slots' or addresses where you can store values. Each slot is a different place. In the script that works, the slot (or place or address) where a knob's value is stored depends on the last pad touched. In the script that doesn't work, knob 5's value is always stored in the same place.
sgate[0] is a different slot/place/address from sgate[1]
Do you see now why your broken script is broken?
By the way, all variables in Mozaic are arrays.
gate is the same as gate[0]
Thanks for explaining.
Can you please tell me . What did wim mean?
Because the thing that confused me a lot is how to modify the script if ( sgate ) or [p] is to be removed. Or what other alternative is there?
Please post a link to that post.
I think it was if I'm not mistaken.
https://forum.audiob.us/discussion/comment/1195945/#Comment_1195945
I am willing to walk you through wim’s comments if you’d like, and it might be instructive, but you need to find the exact comment and quote it here.
I don’t see anything about p or sgate there.
Do you now understand why your current script doesn’t work?
If so, explain why it doesn’t work and suggest how you might remedy the problem?
@spiegel I am willing to walk you through wim’s comments if you’d like, and it might be instructive, but you need to find the exact comment and quote it here.
I prefer to get your help if I have any questions in this regard
@espiegel123 , I don’t see anything about p or sgate there.
I think I didn't find the post correctly
Yes, because we had not addressed the values of knob number 5 for each pad separately in the @onknobchange section via sgate[p].
Do you think you know how to solve it now?
Yes. As I said before, I was confused by a misunderstanding on my part regarding the wim comment, and I thought the script should be written differently.
When you have it solved, it might be worth talking about some things going on in the script and doing a bit of clean up that I hope will help you.
What do you mean by clean up?
In some of the versions of the scripts that you have posted, there have been lines of code that might be worth discussing. But that should wait till you have this working.
I would be very grateful if you could help me and give me the necessary explanations.
Where do you think we should start?
After you have solved the problem , we are working on. When you have solved that post your script and mention remaining problems you need solved.
Do you mean to solve the remaining problems of the script that I am developing or to talk more about the same old script?