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 Store

Loopy Pro is your all-in-one musical toolkit. Try it for free today.

MOZAIC - Create your own AU MIDI plugins - OUT NOW!

13132343637106

Comments

  • @brambos said:

    @recccp said:
    @brambos
    Do you think midi clock out (with dividers, +/- delay) is achievable in Mozaic framework?
    Would be great to be able to start/stop external seqs :)

    Haven’t tried yet, but it sounds doable. The only issue I see is that perhaps some hosts may filter out clock messages in their internal MIDI streams.

    Yes, I can see how it could confuse some DAWs, maybe saum host would pass those messages :)
    Thx!

  • @pejman said:

    @wim said:

    @pejman said:
    I want to have plugin for when i play chords through another app like ( suggester ) connect to cubasis for example, this plugin can play chords with different start notes and different velocity randomly, like humanizing .
    I need to control or change maximum value of time random from 0-500 and minimum and maximum values of velocity random each one from 0-127 through knobs. But I don’t know how can or write programs.

    Hi @pejman,

    I started to work on this, thinking it would be a pretty straightforward modification. I’ve since discovered that it’s a bigger challenge than I thought. The Chordulator is simple because it only needs to track one note. But to act on chords requires detecting what is actually a chord based on how close together their note-on messages happen. That’s easy enough.

    But then the notes would be scrambled up into different voicings, timing, and probability. In the meantime, the original notes would be released at some point. The relative timing for the release of the notes would be different. Or a different chord might have been triggered, possibly overlapping timing and sharing some of the same notes. This is only one aspect of where things get complicated. It becomes a nightmare trying to track what is going on to assure there are no stuck notes.

    Sorry, I don’t think I’m up for the challenge. Maybe I’ll have a stroke of brilliance and understand how it can be done, but right now I don’t see much chance of success and am putting the idea aside.

    Sorry - I know that’s not what you were hoping to hear. :|

    Hi again wim
    But one question. Can you create one patch with only ( rand time ) and ( rand vel ) and ( probability ) ? This patch can solve my problem . I have one patch with rand time and rand velocity with brambos help , and then decide to add probability to it . but I cannot add probability to this patch . Perhaps its structure is such that it can not be easily added to this option

    Humm. Sounds like it would be easier to try to add probability to the existing patch. Can you point me to the patch and I’ll take a look? (or cross my fingers that Bram does it first.)

  • Another release from me now up on patchstorage.com. This one is METROPLEX: an 8 stage MIDI step sequencer inspired by the Intellijel Metropolis.

    Includes control of repeats per step, portamento/slide, ratcheting, randomization, step sequencing of MIDI CCs, and more!

    Perfect for funky 16th note jams à la Kraftwek or Detroit techno, or ambient Kosmische Musik.

  • @brambos said:

    In that case, mechanically, no problem. Interface-wise it I can’t really picture it.

    Indeed, the algorithm doesn’t sound too difficult, but we’d have to figure out how to ‘get the notes in’.

    Yes that's the sticking point ... I wasn't sure if any of the layouts could be adapted to offer a way to do this. I thought perhaps the XY controller could be used as a note selector in some way. Not something I'd envisaged but it might lead to some interesting and unforseen arpeggiated outcomes!

    Maybe something for a future version, or an update if you are adding new interface options, to have a general purpose grid tool to allow numbers to be entered? The use of those numbers would be up to the programmer, so it would be general purpose.

  • @Bryan said:
    Another release from me now up on patchstorage.com. This one is METROPLEX: an 8 stage MIDI step sequencer inspired by the Intellijel Metropolis.

    Includes control of repeats per step, portamento/slide, ratcheting, randomization, step sequencing of MIDI CCs, and more!

    Perfect for funky 16th note jams à la Kraftwek or Detroit techno, or ambient Kosmische Musik.

    Having fun with this one but is there any reason you can only pick certain pitches? Not all notes are available and they all seem to be in the same octave, no low bass notes. I could always add another Mozaic scale script to give me the missing notes but I thought it a little odd that the notes are limited. Maybe I haven’t stumbled on how to see all 12 pitches.

  • edited July 2019

    @yowza said:

    @Bryan said:
    Another release from me now up on patchstorage.com. This one is METROPLEX: an 8 stage MIDI step sequencer inspired by the Intellijel Metropolis.

    Includes control of repeats per step, portamento/slide, ratcheting, randomization, step sequencing of MIDI CCs, and more!

    Perfect for funky 16th note jams à la Kraftwek or Detroit techno, or ambient Kosmische Musik.

    Having fun with this one but is there any reason you can only pick certain pitches? Not all notes are available and they all seem to be in the same octave, no low bass notes. I could always add another Mozaic scale script to give me the missing notes but I thought it a little odd that the notes are limited. Maybe I haven’t stumbled on how to see all 12 pitches.

    The notes are limited based on the scale you select on the Controls page (long press on the Shift button). As I was testing this script I set the default scale to C minor and then never set it back to chromatic. That's easy to do yourself, if you want; it's near the top of the script after all the instructions. Change the line "PresetScale {Minor}" to "PresetScale {Chromatic}" (without the quotes) and you'll have all the notes.

  • edited July 2019

    Wow that long press opens up a whole new world! I totally missed that! Thanks!

  • Okay, I made a quick update that makes chromatic the default scale.

    @yowza said:
    Wow that long press opens up a whole new world! I totally missed that! Thanks!

    Yes indeed! And if you double tap the Shift button there's more. :smile: The pads can set portamento per step and you can skip steps too. And you probably already discovered that a single press on Shift cycles through 8 pages of sliders, each controlling a different parameter per step. All this and more are explained in detail in the instructions at the top of the code.

  • @Bryan said:
    Okay, I made a quick update that makes chromatic the default scale.

    @yowza said:
    Wow that long press opens up a whole new world! I totally missed that! Thanks!

    Yes indeed! And if you double tap the Shift button there's more. :smile: The pads can set portamento per step and you can skip steps too. And you probably already discovered that a single press on Shift cycles through 8 pages of sliders, each controlling a different parameter per step. All this and more are explained in detail in the instructions at the top of the code.

    There’s code there?😉 I’ll be honest, I don’t read any of that so if you’re expecting people to see things there, you might want to point them in that direction. I did find the other things you mentioned. Thanks again! I found my low notes!

  • 1000 comments. Congrats @brambos :smiley:

  • @yowza said:

    @Bryan said:
    Okay, I made a quick update that makes chromatic the default scale.

    @yowza said:
    Wow that long press opens up a whole new world! I totally missed that! Thanks!

    Yes indeed! And if you double tap the Shift button there's more. :smile: The pads can set portamento per step and you can skip steps too. And you probably already discovered that a single press on Shift cycles through 8 pages of sliders, each controlling a different parameter per step. All this and more are explained in detail in the instructions at the top of the code.

    There’s code there?😉 I’ll be honest, I don’t read any of that so if you’re expecting people to see things there, you might want to point them in that direction. I did find the other things you mentioned. Thanks again! I found my low notes!

    You’re right, it’s not super obvious that there are instructions or how you get to them. To see the code, there’s a button on the top right of the plugin window that says “code.” That’s the one...although sometimes the button moves to the bottom middle of the plugin window. So yeah, a little confusing. And if you’re not into programming, looking at a wall of code can be pretty intimidating. And unfortunately, that’s the nature of the beast here. I’ve tried to make things as user friendly as possible within the framework given. But it makes sense to have the instruction where everyone can see them, so here they are. I’ll also post them over at patchstorage.com.

    METROPLEX is an 8 stage MIDI step sequencer inspired by the Intellijel Metropolis.

    Controls are organized into three main veiws, 1) Sliders, 2) Controls, and 3) Pads. In addition, the Sliders view contains 8 pages.

    Use the SHIFT key to switch between veiws and pages. While in Sliders, a single press on the SHIFT key will cycle through the 8 pages. Press and hold the SHIFT key to toggle between Sliders veiw and Controls. Double tap the SHIFT key to switch between Sliders and Pads.

    There are 8 pages in the Sliders view: 1) Pitch, 2) Gate Length, 3) Velocity, 4) Repeat Count, 5) Gate Mode, 6) Ratchet, 7) Modulation 1, and 8) Modulation 2

    PITCH: This controls the pitch of the MIDI note per step. Range is one Octave. Notes are shown above the sliders. The notes shown are quantized by the SCALE control on the Controls page.

    GATE LENGTH: Sets the length of the note per step. Be aware that the effect this has is dependent on the MIDI sound source you use. To hear its effect, use a sound with ADSR settings that contain a sustain portion and very short release. Range is 0-100% of the preset note length, which is determined by the CLOCK control.

    VELOCITY: Sets the velocity of the note per step. Range is 0-127.

    REPEAT COUNT: Metroplex is an 8-step sequencer, but each step may be set to repeat a number of times. Use this control to set the number of repeats, from 1 (no repeat, just the original step) to 8.

    GATE MODE: There are 3 Gate Modes: 1) Repeat, 2) Single, 3) Hold, and 4) Rest. These modes work in conjunction with the REPEAT COUNT controls, so make sure you have REPEAT COUNT set to something other than 1 to hear the effect. REPEAT mode makes the note repeat the number of times set by REPEAT COUNT. SINGLE plays only the first note of the REPEAT COUNT period and rests for the remainder of the time. HOLD plays a single note the lasts for the entire REPEAT COUNT period. REST does not play a note during the period.

    RATCHET: Ratchet sub-divides the pulse, providing quicker rhythmic sub-divisions per step. Range is 0 (no ratcheting), and 2, 3, 4, and 6 division per step. The exact sub-divisions available depends on the clock division set by the CLOCK control.

    MODULATION 1 & 2: These two pages set modulation levels per step. MODULATION 1 is preset to output MIDI CC 1 (Mod Wheel) whereas MODULATION 2 is preset to MIDI CC 13. You can change these in the code to suit your preference.

    LEDs under each slider indicate the current step playing. White means a note is playing on that step. Red indicates a rest (i.e., GATE MODE set to REST). Blue means the step is set to SKIP.

    Every page in Sliders view provides access to a couple additional controls which are also available on the Controls view. These are the STAGES and PLAY MODE controls and the XY PAD. Their function is described below.

    CONTROLS VIEW is the main performance page in Metroplex. Here you have access to the RANDOMIZATION pads, the XY PAD, and ten other controls.

    Press RANDOMIZE to randomize the values of the sliders and the stages control. (In the code there are two variable that determine if PORTAMENTO and MODULATION are also randomized. Set these as you like.) Whenever a new sequence is created, it is copied to the RTZ pad. You can use this to always return to the original sequence even after mutating it. The MUTATE pad will randomize the same values as the RANDOMIZE pad, but unlike RANDOMIZE, MUTATE only adds or subtracts from the current values rather than completely changing everything. This allows you to change the sequence subtly (usually😀). Whenever you press the MUTATE pad, the previous sequence is copied to the UNDO pad. This means you can go back to the previous sequence if you don't like what the MUTATE control has done.

    STAGES: This control sets how many of the 8 steps of the sequencer play, from 1 to 8. In the FOREARD and BACKWARD Play Modes it is possible to set STAGES to up to 15 steps. If STAGES is set above 8, the sequence will wrap around to the beginning to play the remaining steps.

    PLAY MODES: There are 6 PLAY MODES: 1) FORWARD, 2) BACKWARD, 3) PING PONG 1, 4) PING PONG 2, 5) RANDOM, 6) BROWNIAN. FORWARD plays the sequence in order from left to right. BACKWARD plays from right to left. PING PONG 1 plays back and forth, but only playing the extremities once. In contrast, PING PONG 2 plays the extremities twice. RANDOM plays stages at random, while BROWNIAN performs a drunken walk amongst the steps. BROWNIAN will tend forward; it has a 50% chance of moving forward, a 25% chance of moving bacward, and a 25% chance of playimg the same step again.

    CLOCK: This sets the master clock for the sequencer, from 1/64 Triplet to a Whole Note per step.

    KEY: sets the root note of the sequence.

    OCTAVE: sets the octave +/-3 octaves.

    SCALE: Quantizes the pitch to a preset scale. Included are the 25 default Mozaic scales. For ever more scale fun, try my Scale Compendium script, available on patchstorage.com!

    SWING: Sets the swing, from 0% to 50%.

    HUMANIZE: Adds timing jitter and velocity variation to the notes.

    GATE MASTER: This controls the overall gate length of all the steps, from 0% to 200% of the value set by the sliders.

    MODULATION MASTER: This controls the overall modulation strength of all the steps for MODULATION 1 & 2, from 0% to 200% of the value set by the sliders.

    XY PAD: This allows performance control of the GATE MASTER and MODULATION MASTER controls.

    PADS VIEW: The top row of pads allow performance control of STAGE SKIPPING. The bottom row controlls PORTAMENTO per step.

    SKIP STEPS: Press a pad to skip that step in the sequence. Unlike a rest, that step will be completely skipped over and the sequence shortened by one step. Pressing the pad again will restore the step. For reference, steps that have their GATE MODE set to REST are shown by a black square. You can of course also skip this step.

    PORTAMENTO (SLIDE): Press a pad to slide between that note and the following one. The portamento effect will only function on synths that support MIDI portamento messages 5, 65, and 84. You may need to change setting in your synth...or it may work automatically.

    Addition controls for STAGES, PLAY MODE, GATE MASTER, and MODULATION MASTER are also available on this page.

    KNOWN BUGS:
    In BACKWARD play mode, REPEAT COUNT does not work on step 1.
    PING PONG 2 will get stuck under some circumstances. Switching to a different play mode will unstick it.

    Metroplex is a techno record label in Detroit, founded in 1985 by techno pioneer Juan Atkins.

  • edited July 2019

    @wim said:

    Hi again wim
    But one question. Can you create one patch with only ( rand time ) and ( rand vel ) and ( probability ) ? This patch can solve my problem . I have one patch with rand time and rand velocity with brambos help , and then decide to add probability to it . but I cannot add probability to this patch . Perhaps its structure is such that it can not be easily added to this option

    Humm. Sounds like it would be easier to try to add probability to the existing patch. Can you point me to the patch and I’ll take a look? (or cross my fingers that Bram does it first.)

    This patch is written by brambos for me with rand velocity with min and max knobs and delay max and min knobs . Exactly the same as I asked him.

    @Onload
    
     ShowLayout 0
    
     LabelKnobs {humaniz} 
     LabelKnob 0, {min time} 
     LabelKnob 1, {max time} 
     LabelKnob 2, {min vel}
     LabelKnob 3, {max vel} 
    
    SetKnobValue 0 , 0
    SetKnobValue 1 , 20
    SetKnobValue 2 , 64
    SetKnobValue 3 , 100
    
    
    @End 
    
    
    @OnMIDINoteOn
      delayMax = TranslateScale (GetKnobValue 1), 0, 127, 0, 500
      delayMin = TranslateScale (GetKnobValue 0), 0, 127, 0, 500
      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
    
    

    But if probability and strum are to be added to this patch , I do not need to have min and max velocity or min and max delay anymore. Because I guess these ( mins. maxs ) create some problems in adding probability and strum . So I'd prefer to have a patch that only has these 4 options ( rand velocity , rand time and probability and strum ) with only 4 knobs, Like your patch ; Smart chordulator . without other options .
    For when i play any chord with any number of notes .
    Excuse me , I now conclude that such a patch requires strumming too . So I added this option ( strum ) to my posts .

  • New version of Scenic Sequencer uploaded:
    https://patchstorage.com/scenic-sequencer/
    -Added a screen to set MIDI thru processing per channel and scene. As an alternative to MIDI CC control, send the MiDI through the script to e.g. to turn a channel on and off per scene..

    There’s since a while also a new version of my other script available:
    https://patchstorage.com/chord-magic/
    -Added new chord types and ability to only let the patterns play, setting. chord by tapping the chord pads.

  • Hey all, I’ve been trying my hand at a few basic scripts with absolutely no previous experience any type of programming or the likes and have come up with two that are working as I intended but wanted to run it by the community to see if there’s more efficient ways to do what I’m trying to do, and also share what I’ve got...

    Both are meant for use in a live setting with Loopy HD.

    First is just a basic switch that changes the output channel of commands coming from pads on my external controller so that when the switch is off the designated pads just send a toggle mute message to particular tracks, and when the switch is on it sends on a different channel set to solo that track. Here it is:

    @onload
    ResetNoteStates
    @end

    @OnMidiNote
    if MIDIByte1 = 152 and MIDIByte2 = 60
    SetNoteState 0, 0, 3

    elseif (MIDIByte1 = 136 and (MIDIByte2 = 60 or MIDIByte2 = 61))
    SetNoteState 0, 0, 1

    endif

    //VARIABLES

    n = GetNoteState 0, 0

    //END VARIABLES

    if MIDIChannel = 0
    if (MIDINote >= 0x24 and MIDINote <=0x27) or (midinote >= 0x1c and MIDINote <= 0x1F) or (MIDINote >=0x14 and MIDINote <=0x17)
    if n = 3
    SendMIDIThruOnCh n
    elseif n = 1
    SendMIDIThru
    endif
    else
    SendMIDIThru
    endif
    else
    SendMIDIThru
    endif
    @End

    Secondly is a script that is meant to store sets of tracks selected or muted, and then on the press of a different pad trigger those stored tracks all at once, so that on the fly I can select a combination of any of the 12 tracks in Loopy and make them mutable/unmutable (or whatever else) with one pad. Pretty useful in a live setting! But I feel like there’s probably something (or a few things) here that I could write more efficiently... Here it is:

    @onload
    ResetNoteStates
    @end

    @OnMidiNote
    if MIDIByte1 = 152 and MIDIByte2 = 127
    ResetNoteStates
    elseif MIDIByte1 = 136 and MIDIByte2 =127
    SetNoteState 0, 1, 1
    endif

         //VARIABLES
             L3 = GetNoteState 1, 1
             L6 = GetNoteState 1, 2
             L9 = GetNoteState 1, 3
             L12 = GetNoteState 1, 4
             L2 = GetNoteState 1, 5
             L5 = GetNoteState 1, 6
             L8 = GetNoteState 1, 7
             L11 = GetNoteState 1, 8
             L1 = GetNoteState 1, 9
             L4 = GetNoteState 1, 10
             L7 = GetNoteState 1, 11
             L10 = GetNoteState 1, 12
         //END VARIABLES
    

    //store which tracks were triggered either as mutes or selects
    if MIDIChannel = 0 and (MIDIByte2 = 0x24 or MIDIByte2 = 0x20)
    SetNoteState 1, 1, 0x24
    elseif MIDIChannel = 0 and (MIDIByte2 = 0x25 or MIDIByte2 =0x21)
    SetNoteState 1, 2, 0x25
    elseif MIDIChannel = 0 and (midibyte2 = 0x26 or MIDIByte2 =0x22)
    Setnotestate 1, 3, 0x26
    elseif MIDIChannel = 0 and (MIDIByte2 = 0x27 or MIDIByte2 =0x23)
    SetNoteState 1, 4, 0x27

    elseif MIDIChannel = 0 and (MIDIByte2 = 0x1c or MIDIByte2 =0x18)
     SetNoteState 1, 5, 0x1c
    elseif MIDIChannel = 0 and (midibyte2 = 0x1d or MIDIByte2 =0x19)
     Setnotestate 1, 6, 0x1d
    elseif MIDIChannel = 0 and (MIDIByte2 = 0x1e or MIDIByte2 =0x1a) 
     SetNoteState 1, 7, 0x1e
    elseif MIDIChannel = 0 and (MIDIByte2 = 0x1f or MIDIByte2 =0x1b) 
     SetNoteState 1, 8, 0x1f
    
    elseif MIDIChannel = 0 and (MIDIByte2 = 0x14 or MIDIByte2 =0x10)
     SetNoteState 1, 9, 0x14
    elseif MIDIChannel = 0 and (midibyte2 = 0x15 or MIDIByte2 =0x11)
     Setnotestate 1, 10, 0x15
    elseif MIDIChannel = 0 and (MIDIByte2 = 0x16 or MIDIByte2 =0x12) 
     SetNoteState 1, 11, 0x16
    elseif MIDIChannel = 0 and (MIDIByte2 = 0x17 or MIDIByte2 =0x13) 
     SetNoteState 1, 12, 0x17
    
    endif
    

    //recall and send recorded tracks
    if MIDIByte1 = 144 and MIDIByte2 = 0x0c
    SendMIDINoteOn 0, L3, 127
    SendMIDINoteOn 0, L6, 127
    SendMIDINoteOn 0, L9, 127
    SendMiDINoteOn 0, L12, 127
    SendMIDINoteOn 0, L2, 127
    SendMIDINoteOn 0, L5, 127
    SendMIDINoteOn 0, L8, 127
    SendMiDINoteOn 0, L11, 127
    SendMIDINoteOn 0, L1, 127
    SendMIDINoteOn 0, L4, 127
    SendMIDINoteOn 0, L7, 127
    SendMiDINoteOn 0, L10, 127
    SendMIDINoteOff 0, L3, 0, 100.0
    SendMIDINoteOff 0, L6, 0, 100.0
    SendMIDINoteOff 0, L9, 0, 100.0
    SendMIDINoteOff 0, L12, 0, 100.0
    SendMIDINoteOff 0, L2, 0, 100.0
    SendMIDINoteOff 0, L5, 0, 100.0
    SendMIDINoteOff 0, L8, 0, 100.0
    SendMIDINoteOff 0, L11, 0, 100.0
    SendMIDINoteOff 0, L1, 0, 100.0
    SendMIDINoteOff 0, L4, 0, 100.0
    SendMIDINoteOff 0, L7, 0, 100.0
    SendMIDINoteOff 0, L10, 0, 100.0
    endif
    sendmidithru
    @End

    Any input on either of these would be greatly appreciated as I’m trying to learn how to write some more interesting ideas! Super exciting possibilities opening with this app!

  • Hi @ManWhoWouldBeStrings , welcome to the Mozaic Rabbit hole! I’m too sleepy to take a look now, but look forward to checking your scripts out.

    When posting scripts to the forum, it works best if you put ``` on a line by itself before and after the script. This will put it all in a code block and will keep the forum software from messing up the formatting.

    That character can be hard to find on iOS keyboards. On a US keyboard it can be inserted by holding down the apostrophe, then sliding your finger to it when it pops up as a choice.

    Way to go jumping in fearlessly. 😎👍

  • Has anyone figured out a way to have strings as variables and concatenate these for output?

    Like this, ish. ;

    Hello = {Hello}
    World = { World}
    Log Hello, World
    

    Would make it sooo much easier to provide relevant feedback to the user.

  • edited July 2019

    @Peblin said:
    Has anyone figured out a way to have strings as variables and concatenate these for output?

    Like this, ish. ;

    Hello = {Hello}
    World = { World}
    Log Hello, World
    

    Would make it sooo much easier to provide relevant feedback to the user.

    Mozaic doesn’t have string variables at this point. You can concatenate strings using the Label and Log functions.

    E.g.

    LabelKnobs {Hello}, { world}

    I feel the use cases for string variables are far too minimal, especially since it would require adding a boatload of extra functions and procedures to make them useful.

  • @brambos said:

    @Peblin said:
    Has anyone figured out a way to have strings as variables and concatenate these for output?

    Like this, ish. ;

    Hello = {Hello}
    World = { World}
    Log Hello, World
    

    Would make it sooo much easier to provide relevant feedback to the user.

    Mozaic doesn’t have string variables at this point. You can concatenate strings using the Label and Log functions.

    E.g.

    LabelKnobs {Hello}, { world}

    I feel the use cases for string variables are far too minimal, especially since it would require adding a boatload of extra functions and procedures to make them useful.

    Hm... I'm not sure it's minimal, but yeah - the use case is almost exclusively for providing better LabelKnobs to show internal state of script.

    An alternative that would solve my problems would be the ability to append to the LabelKnobs instead of replacing.

    LabelKnobs {Note Value:}
    If division = 1
     LabelKnobsAppend {1/16}
    Else
     LabelKnobsAppend {1/8}
    Endif
    
    If record
     LabelKnobsAppend { recording: ON}
    Else
     LabelKnobsAppend { recording: OFF}
    Endif
    
  • Wanted to thank @brambos for this amazing app, when I lose my coding fear again hopefully I'll make a patch.

    And @wim for The Chordulator, when I first saw the video of it, mind was blow. Wanted to ask if this would be possible as it would take things to the next level for me. Allowing for another source to guide the playback of the bass notes, so there could be a separate bassline melody that follows the chords.

  • Hello wim
    Did you see my latest post ?

  • @Will0827 said:
    Wanted to thank @brambos for this amazing app, when I lose my coding fear again hopefully I'll make a patch.

    And @wim for The Chordulator, when I first saw the video of it, mind was blow. Wanted to ask if this would be possible as it would take things to the next level for me. Allowing for another source to guide the playback of the bass notes, so there could be a separate bassline melody that follows the chords.

    Sorry, I don’t understand this. I’ve not been able to work out what it is you’re asking for, or how that is different from how it works now.

  • @pejman said:
    Hello wim
    Did you see my latest post ?

    Sorry, I guess I overlooked your post.

    The problems with doing those things with incoming chords vs. single notes are mainly:

    • Detecting what is a chord since you can’t guarantee all notes will arrive at one time, and that there won’t be any overlapping notes from other chords.
    • Tracking each note on and note off to know the duration of those notes. Again with the complications of possible overlapping notes.
    • Failure to do this virtually perfectly is a recipe for stuck notes.

    Sorry, I’m just not sure I’m up for that challenge.

  • @wim said:

    @Will0827 said:
    Wanted to thank @brambos for this amazing app, when I lose my coding fear again hopefully I'll make a patch.

    And @wim for The Chordulator, when I first saw the video of it, mind was blow. Wanted to ask if this would be possible as it would take things to the next level for me. Allowing for another source to guide the playback of the bass notes, so there could be a separate bassline melody that follows the chords.

    Sorry, I don’t understand this. I’ve not been able to work out what it is you’re asking for, or how that is different from how it works now.

    Apologies on the bad explanation, it is something i more wondered if it were possible to do given how i saw the patched worked.

    Essentially feeding a separate sequence to be played using the bass note of the currently playing chord. That way one could have a bass line melody different from the one that is generating the chords.

    Hopefully that is a bit of a better explanation.

  • @Will0827 said:

    @wim said:

    @Will0827 said:
    Wanted to thank @brambos for this amazing app, when I lose my coding fear again hopefully I'll make a patch.

    And @wim for The Chordulator, when I first saw the video of it, mind was blow. Wanted to ask if this would be possible as it would take things to the next level for me. Allowing for another source to guide the playback of the bass notes, so there could be a separate bassline melody that follows the chords.

    Sorry, I don’t understand this. I’ve not been able to work out what it is you’re asking for, or how that is different from how it works now.

    Apologies on the bad explanation, it is something i more wondered if it were possible to do given how i saw the patched worked.

    Essentially feeding a separate sequence to be played using the bass note of the currently playing chord. That way one could have a bass line melody different from the one that is generating the chords.

    Hopefully that is a bit of a better explanation.

    Humm ... I don’t understand why simply sending a separate bass line not through the plugin wouldn’t do the same thing?

  • @wim said:

    @Will0827 said:

    @wim said:

    @Will0827 said:
    Wanted to thank @brambos for this amazing app, when I lose my coding fear again hopefully I'll make a patch.

    And @wim for The Chordulator, when I first saw the video of it, mind was blow. Wanted to ask if this would be possible as it would take things to the next level for me. Allowing for another source to guide the playback of the bass notes, so there could be a separate bassline melody that follows the chords.

    Sorry, I don’t understand this. I’ve not been able to work out what it is you’re asking for, or how that is different from how it works now.

    Apologies on the bad explanation, it is something i more wondered if it were possible to do given how i saw the patched worked.

    Essentially feeding a separate sequence to be played using the bass note of the currently playing chord. That way one could have a bass line melody different from the one that is generating the chords.

    Hopefully that is a bit of a better explanation.

    Humm ... I don’t understand why simply sending a separate bass line not through the plugin wouldn’t do the same thing?

    That is true, the use case came to mind from trying to replicate something I do in Studio One, when I first used your patch it immediately sprung to mind that this is the closest thing to do doing that and them some with the other features you added. So it was more a selfish wish and also was curious if it was possible within mozaic. Was a bit magically on my end upon my first use of the patch.

  • @wim said:
    Hi @ManWhoWouldBeStrings , welcome to the Mozaic Rabbit hole! I’m too sleepy to take a look now, but look forward to checking your scripts out.

    When posting scripts to the forum, it works best if you put ``` on a line by itself before and after the script. This will put it all in a code block and will keep the forum software from messing up the formatting.

    That character can be hard to find on iOS keyboards. On a US keyboard it can be inserted by holding down the apostrophe, then sliding your finger to it when it pops up as a choice.

    Way to go jumping in fearlessly. 😎👍

    Hey thanks @wim! It actually took me many hours/days of searching for sequencing apps or something that could do a few things I’ve been wanting to do before I finally “fearlessly jumped in”! Decided it would’ve taken less time to just learn some basic script writing with Mozaic and make my own solutions rather than endlessly searching for “easy” options! More fun this way too.

    And thanks for the tip for posting scripts with the ``` and where to find them, saved another potential “hunt for the missing comma” situation! 😉

  • @Will0827 said:

    @wim said:

    @Will0827 said:

    @wim said:

    @Will0827 said:
    Wanted to thank @brambos for this amazing app, when I lose my coding fear again hopefully I'll make a patch.

    And @wim for The Chordulator, when I first saw the video of it, mind was blow. Wanted to ask if this would be possible as it would take things to the next level for me. Allowing for another source to guide the playback of the bass notes, so there could be a separate bassline melody that follows the chords.

    Sorry, I don’t understand this. I’ve not been able to work out what it is you’re asking for, or how that is different from how it works now.

    Apologies on the bad explanation, it is something i more wondered if it were possible to do given how i saw the patched worked.

    Essentially feeding a separate sequence to be played using the bass note of the currently playing chord. That way one could have a bass line melody different from the one that is generating the chords.

    Hopefully that is a bit of a better explanation.

    Humm ... I don’t understand why simply sending a separate bass line not through the plugin wouldn’t do the same thing?

    That is true, the use case came to mind from trying to replicate something I do in Studio One, when I first used your patch it immediately sprung to mind that this is the closest thing to do doing that and them some with the other features you added. So it was more a selfish wish and also was curious if it was possible within mozaic. Was a bit magically on my end upon my first use of the patch.

    It could certainly be added, provided the input for the bass line could be on a separate channel. I’m not sure I’m interested in doing so to the released version though. But I could probably provide you with the added lines of code to drop into your own version if it’s important.

  • @wim said:

    @Will0827 said:

    @wim said:

    @Will0827 said:

    @wim said:

    @Will0827 said:
    Wanted to thank @brambos for this amazing app, when I lose my coding fear again hopefully I'll make a patch.

    And @wim for The Chordulator, when I first saw the video of it, mind was blow. Wanted to ask if this would be possible as it would take things to the next level for me. Allowing for another source to guide the playback of the bass notes, so there could be a separate bassline melody that follows the chords.

    Sorry, I don’t understand this. I’ve not been able to work out what it is you’re asking for, or how that is different from how it works now.

    Apologies on the bad explanation, it is something i more wondered if it were possible to do given how i saw the patched worked.

    Essentially feeding a separate sequence to be played using the bass note of the currently playing chord. That way one could have a bass line melody different from the one that is generating the chords.

    Hopefully that is a bit of a better explanation.

    Humm ... I don’t understand why simply sending a separate bass line not through the plugin wouldn’t do the same thing?

    That is true, the use case came to mind from trying to replicate something I do in Studio One, when I first used your patch it immediately sprung to mind that this is the closest thing to do doing that and them some with the other features you added. So it was more a selfish wish and also was curious if it was possible within mozaic. Was a bit magically on my end upon my first use of the patch.

    It could certainly be added, provided the input for the bass line could be on a separate channel. I’m not sure I’m interested in doing so to the released version though. But I could probably provide you with the added lines of code to drop into your own version if it’s important.

    That would be a gift. Also that exactly was the idea of having the input be on a separate channel. In any event thanks for making that plug in, I shared it with a bunch of people in my a music group I’m in.

  • @Will0827 said:

    @wim said:

    @Will0827 said:

    @wim said:

    @Will0827 said:

    @wim said:

    @Will0827 said:
    Wanted to thank @brambos for this amazing app, when I lose my coding fear again hopefully I'll make a patch.

    And @wim for The Chordulator, when I first saw the video of it, mind was blow. Wanted to ask if this would be possible as it would take things to the next level for me. Allowing for another source to guide the playback of the bass notes, so there could be a separate bassline melody that follows the chords.

    Sorry, I don’t understand this. I’ve not been able to work out what it is you’re asking for, or how that is different from how it works now.

    Apologies on the bad explanation, it is something i more wondered if it were possible to do given how i saw the patched worked.

    Essentially feeding a separate sequence to be played using the bass note of the currently playing chord. That way one could have a bass line melody different from the one that is generating the chords.

    Hopefully that is a bit of a better explanation.

    Humm ... I don’t understand why simply sending a separate bass line not through the plugin wouldn’t do the same thing?

    That is true, the use case came to mind from trying to replicate something I do in Studio One, when I first used your patch it immediately sprung to mind that this is the closest thing to do doing that and them some with the other features you added. So it was more a selfish wish and also was curious if it was possible within mozaic. Was a bit magically on my end upon my first use of the patch.

    It could certainly be added, provided the input for the bass line could be on a separate channel. I’m not sure I’m interested in doing so to the released version though. But I could probably provide you with the added lines of code to drop into your own version if it’s important.

    That would be a gift. Also that exactly was the idea of having the input be on a separate channel. In any event thanks for making that plug in, I shared it with a bunch of people in my a music group I’m in.

    I think if you add these lines into the code it’ll do what you want, with bassline on channel 2. Change the channel in the if statement to the channel you want to use, minus 1.

    @OnMidiNote
      //Custom mod for separate bassline pass thru on Channel 2.
      if MIDIChannel = 1
        SendMIDIThru
      endif
    @End
    

    Not tested.

  • edited July 2019

    @wim said:

    @pejman said:
    Hello wim
    Did you see my latest post ?

    Sorry, I guess I overlooked your post.

    The problems with doing those things with incoming chords vs. single notes are mainly:

    • Detecting what is a chord since you can’t guarantee all notes will arrive at one time, and that there won’t be any overlapping notes from other chords.
    • Tracking each note on and note off to know the duration of those notes. Again with the complications of possible overlapping notes.
    • Failure to do this virtually perfectly is a recipe for stuck notes.

    Sorry, I’m just not sure I’m up for that challenge.

    But those chords crate through one arpeggiator that have chord mode and can quantize my chords ( start and length ) . Without overlapping.
    I'm not supposed to enter those chords directly into mosaic .

Sign In or Register to comment.