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.

Request new Mozaic Scripts *HERE*

1313234363769

Comments

  • edited March 2021

    @wim said:

    @Poppadocrock said:
    I’m really hoping there is a way to use Mozaic to generate random patches for Mononoke. Got the app recently and love it just wish there were more patches to explore. Most Bram apps have a random button, and it seems like at least to me, after a few days of having Mononoke it’s a perfect candidate for a random patch button. Not the tunings, the actual synth, preferably two randoms, one for left and one for right, so if you have something you like on one side, you could randomly generate until you have something you like on other side. I know the actual synth knobs aren’t too complicated and dialing in something isn’t to tricky even for a novice sound designer like me, but I would absolutely love if Mononoke had a patch randomization button. It would add a lot of value to the droning possibilities imo. I know there is that “spectrum randomization” script, and another one, but can they be applied to Mononoke or can one be created relatively easily for Mononoke?

    The only mosaic script I’ve ever coded was a simple midi velocity echo, so I’m very limited in that regard. I’m hoping someone is interested or can help me make this script. Especially if it’s possible To do two randomizers, in one Mozaic script one for the Left synth in Mononoke and one for the right synth in Mononoke, then you can save the patches you like in the actual app.

    On a broader note, It would be beyond cool if it’s possible to write a script that does this on a larger scale, sure some synths have some nice patch Rando features but it be cool if there was a way to use a Mozaic script that could create random presets on any synth that has midi in, and midi parameters exposed. I understand the mapping may change from synth to synth, so maybe some type of framework and the user could add the midi mapping in the code, so it could be used with a several different synths. I’m just spitballing here but it would be amazing if there was a way to have a Mozaic script that could do Patch randomization on various synths, after you make sure all parameters were mapped correctly. Or maybe a way to randomize every single cc so it would catch everything in a synth and randomize all knobs...? Is that possible?

    There’s no way to build a script that would intelligently seek out what can be randomized in synths. Some have published CC’s, some have midi learn only, and some have no cc control at all, but do have AU parameter control.

    The most direct approach would be to simply use AU parameter automation and map CC’s to those parameters, to be driven by one or more scripts with randomization capability. MIDI Randomizer and Scenes could do this for you. You’d have to set up the AU parameter mappings for each synth though.

    I don’t see how a script with a “framework” like you mention helps much. I mean, I could see something where that makes it easy to change the CC numbers and maybe some labels in the code, then provides a randomization button, but ... you’d still be stuck needing to figure out all the cc’s or map them to AU parameters.

    No magic bullets here. There’s just not that much in the way of inter-app intelligence available to any scripting language.

    Yea that’s what I thought, since so many synths have different mappings and ways to map, or maybe don’t even have parameters exposed it would be difficult. I did stumble across midi cc randomizer which can be mapped to the values of a synth then randomized.

  • _ki_ki
    edited March 2021

    @Hursoom @Poppadocrock The CC mapping of Mononoke is described in the Mononoke Manual on page 12. It seems all params of left and right side are available. You need to use midi channel 2+ for Mozaic to react.

    Developing such a randomization script should be easy with this info. One could even add some interactive smart ranges for the more delicate parameters, or pin a random set and afterwards only add minor modifactions to that base etc... Sorry, i‘m busy scripting something else

  • @wim do you think I could do it with midi cc randomizer, maybe 2 instances mapped to all parameters in whatever synth then just double tap to randomize.

    There’s also EAS Pad CC which is useful for midi learn, and quickly cycles through all the CC#’s

    And yea spectrum randomizer, might be useful with a few code changes.

  • wimwim
    edited March 2021

    @Poppadocrock said:
    @wim do you think I could do it with midi cc randomizer, maybe 2 instances mapped to all parameters in whatever synth then just double tap to randomize.

    There’s also EAS Pad CC which is useful for midi learn, and quickly cycles through all the CC#’s

    And yea spectrum randomizer, might be useful with a few code changes.

    That's what I was trying to say. I think MIDI Randomizer and Scenes would do you well for this. See the link in my post above.

  • @wim said:

    @Poppadocrock said:
    @wim do you think I could do it with midi cc randomizer, maybe 2 instances mapped to all parameters in whatever synth then just double tap to randomize.

    There’s also EAS Pad CC which is useful for midi learn, and quickly cycles through all the CC#’s

    And yea spectrum randomizer, might be useful with a few code changes.

    That's what I was trying to say. I think MIDI Randomizer and Scenes would do you well for this. See the link in my post above.

    My bad I missed the imbedded link. Thanks buddy.

  • @_ki said:
    @Hursoom @Poppadocrock The CC mapping of Mononoke is described in the Mononoke Manual on page 12. It seems all params of left and right side are available. You need to use midi channel 2+ for Mozaic to react.

    Developing such a randomization script should be easy with this info. One could even add some interactive smart ranges for the more delicate parameters, or pin a random set and afterwards only add minor modifactions to that base etc... Sorry, i‘m busy scripting something else

    I just got manual from the site now long after posting this, so I’m going to see about setting that up, and Potentially for sharing my first Mozaic script, if it’s a success. Thanks ya’ll

  • heshes
    edited March 2021

    I just stripped the code out of a bunch of Mozaic patches on Patchstorage.com and posted them to a repository on github:
    https://github.com/hsitz/mozaic-patchstorage-scripts-archive2

    I think this might make things easier for people who want to simply get a look at the code in any of these projects. In particular, maybe it will be useful as a reference for posters on these forums, who can post a link directly to a project's code, or copy/paste sections of the code from github in posts here. If anyone objects to having their code on the github repository, I will of course take it down.

    Also, in most cases I think there's no need to download these projects from Patchstorage at all. If you want, you should be able to copy the code from the github page (maybe click to select 'raw' mode for best results), then paste the text into the code section of a new Mozaic project and save it. Here's an example of a raw file on github: https://raw.githubusercontent.com/hsitz/mozaic-patchstorage-scripts-archive2/main/1-Key-Neo-Soul-v1.0-MIT.mozaic

    I haven't checked all the files, but the ones I have checked seem to look fine. The code stripping process I used missed any comments that occurred in the code before the first '@On...' line and any comments after the last '@END', I think some projects had comments and/or license info in those sections, so you may need to refer to the original mozaic project on Patchstorage for that.

    [EDIT]Looking a little more, it seems some subset of the files was set by github as having 'binary' type, not text, so they aren't directly viewable on github. I think this may be 10% to 20% or so, not sure. If this project ends up being useful I'll likely debug that problem and try to redo the code-stripping process.

  • _ki_ki
    edited March 2021

    @hes Since PatchStorage offers to share files with different licensing types, i would be cautious to just publish their sources (and there even stripping some parts of the texts !) to another platform. Each of them needs to be acompanied with the original author info and its licensing type.

    Otherwise you run into copyright infringement problems.

    Mine are mostly shared with „Creative Common Attibution Share Alike 4.0“, which means you need to state the author and also need to mention the license form. There are tons of other license types an author can choose on PatchStorage, each with its own rules.

    It’s even more complicated, some of the licenses only allow modifications (for instance stripping of the top comments...) only when referencing the original file/author and license in the modified version.

  • heshes
    edited March 2021

    @_ki said:
    @hes Since PatchStorage offers to share files with different licensing types, i would be cautious to just publish their sources (and there even stripping some parts of the texts !) to another platform. Each of them needs to be acompanied with the original author info and its licensing type.

    Otherwise you run into copyright infringement problems.

    Mine are mostly shared with „Creative Common Attibution Share Alike 4.0“, which means you need to state the author and also need to mention the license form. There are tons of other license types an author can choose on PatchStorage, each with its own rules.

    It’s even more complicated, some of the licenses only allow modifications (for instance stripping of the top comments...) only when referencing the original file/author and license in the modified version.

    I think this could mostly be solved I included a link to the patchstorage.com page in each file, rather than the general link to the archive zip. Or maybe just duplicate all the patchstorage project files in folders on github and add in the stripped out code file. But for now I'll just remove from github.

  • _ki_ki
    edited March 2021

    Automatically adding a back-reference link to PatchStorage file and author in the form of

    // Original-Source: patchstorage.com/ccc/xxx..
    // Author: yyyy
    // License: zzzz
    // Version: vvv
    // Date: uuu
    
    

    and keeping the top-comments should do it. I don‘t think there are any script on PatchStorage that are using licences that don‘t allow source modification. In my opinion they were published to be used and adapted :)

    Any licensing expert in the house, who knows if there is any PatchStorage licensense-type that wouldn’t allow the above modification ? For all the OpenSource licences i personally know, it would be okay to republish them with that added header.

    .

    Having all sources on a github would help script devs as one could look up how stuff was done without the need of first downloading/installing the binary presets. That repository would need to be updated from time to time to refresh the changed files.

    But another thing to watch out for are the ‚house-rules‘ that the patchstorage site itself implies - perhaps scraping their site and republishing of the scripts on a different site isn‘t allowed. I suspect that‘s why the zipped patchstorage mozaic archives were published on patchstorage itself and not hosted elsewhere.

  • I just grep‘ed the htmls in the latest scripts archive for the license info and compiled the occurences:

    39   MIT License
    32   Do What The F*ck You Want To Public License
    20   Custom License
    19   Creative Commons Attribution Share Alike 4.0
    11   The Unlicense
     8   Creative Commons Attribution 4.0
     6   Creative Commons Zero v1.0 Universal
     3   GNU General Public License v2.0
     2   GNU General Public License family
     1   Academic Free License v3.0
    

    The 20 ‚Custom Licenses‘ need to be inspected one by one.... - that‘s license hell :/ (or a kind of sodoku for lawyers specialized in IT)

    .

    I didn‘t find any info about patchstorage’s policy regarding copy/sharing the data they provide. There is even a REST API for automated querries. Their API doc also does not list restrictions.

  • heshes
    edited March 2021

    @_ki said:
    The 20 ‚Custom Licenses‘ need to be inspected one by one.... - that‘s license hell :/ (or a kind of sodoku for lawyers specialized in IT)

    I myself am a former attorney, not a specialist in copyright law, but it certainly is something I have some knowledge of. It's far from clear to me -- even with what I first put up on github -- that it would not fall under the "fair use" exception to copyright infringement. This is a gray area. Yes, it's in many cases clear that some uses are technically in violation of a license, and this was the case with my repository on github. The question of infringement is not decided by that, since "fair use" is a defense to an otherwise valid infringement claim. (See this wikipedia article for a little more info: https://en.wikipedia.org/wiki/Fair_use ). So, I don't know. But I tend not to get involved if people are complaining. So, if it seems fun, I might redo the code-stripping process, and/or republish the whole Collection Archive 2 on github with an added stripped-out code file for each projec.

  • @hes Sorry if i came around like i was I complaining, that wasn`t my intention. During my work and when reading about software dev, i noticed that there is often a big hazzle about these little details (like license attribution, derived works etc) . For me your intention is quite clear that it‘s meant to support new devs and it’s a good idea. With the post i just wanted to raise awareness of issues you could run into due to the licenses applied to each of them - and in my followup posts i also tried to help solving the issue i noticed.

    I myself don‘t bother if top comments were stripped of the scripts i published, it‘s cool that their code is made available more widely - (as long as no-one states that ‚he‘ had writtem them instead ;) )

    .

    About a year ago, PatchStorage started to force the author to choose a license when uploading or updating a script, and there were sooo many of them in the selection popup. I could have choosen the „Do the fuck you want“ license type but that sounded a bit rude to me, and having seen the CCA licenses everywhere on wikipedia etc, i choose the latest one with the highest version number.

    .

    Like you, I presume that re-publishing the scripts if fair use, and when attributing them with comments at the top, you should be on the safe side regarding the licenses. And for patchstorage‘s terms, i didn’t find that they claim rights to their ‚collection’ but instead offer an API for easier querry and download.

  • edited March 2021

    @wim

    This will really be nice. I presently load up Cality just to tune the root note of 'off key' sequences...

    Thanks for this gem..

  • Hi Mozaic experts,
    Need your help and expertise here..
    I am trying to develop an accompaniment script using Mozaic along with the melody line (which I will play manually).
    My workflow is: Midi-Keyboard > My Script (this splits the note ranges into two zones) > Chordulator > StepPolyArp

    I want the script to play arp PATTERN-1 (via StepPolyArp) if I hit ONLY one lower Octave note (this is easy and done).

    But also I want the script to play an arp PATTERN-2 when I am hitting two different notes an octave apart SIMULTANEOUSLY.
    The problem I am facing how do I know whether another note is pressed inside an OnMIDINoteOn event as I do not know which note will come first.
    If you think any other workflow will also achieve this - please suggest..

  • @sujoybose77 said:
    But also I want the script to play an arp PATTERN-2 when I am hitting two different notes an octave apart SIMULTANEOUSLY.
    The problem I am facing how do I know whether another note is pressed inside an OnMIDINoteOn event as I do not know which note will come first.
    If you think any other workflow will also achieve this - please suggest..

    When a note comes in in the desired range save it and check the system time.
    When another note comes in the desire ranged save it and check the system time.

    If 2 notes come in within some short time interval (compare time1 to time2) you
    have a 2 note situation.

    Based on the 2 notes identified take some action.

    MIDI notes will come in one at at time. Even two played at once will be transferred
    in 1st and 2nd order. MIDI is a single lane road.

  • _ki_ki
    edited April 2021

    You can use Mozaics note state array feature to store if a note is active:

    @OnLoad
      ResetNoteStates NO 
    @End
    
    
    @OnMidiNoteOn
      SetNoteState MIDICH,MIDINote, YES
    
      if (GetNoteState MIDIChannel,MIDINote-12) ^ (GetNoteState MIDIChannel,MIDINote+12)
        // Do something if exactly two notes are down that are an octave apart
    
      endif
    @End
    
    @OnMidiNoteOn
      SetNoteState MIDICH,MIDINote, NO 
    @End
    
    

    The ^ operation in the IF statement does an ex-or. The result is only true if a single
    note is active one octave apart, not if there is a note on the octave above and below at the same time.

    For your use-case, you need an additional check to see if the current MIDINote is in the lower range, to not trigger when a bass note and a melody note are an octave apart.

  • _ki_ki
    edited April 2021

    Nice - my ‚solution‘ cared about the ‚any key at one-octave apart‘ part and @McD ‘s answer about the temporal aspect which my code is totally missing :)

    So the final solution could be a combination - the following code only works for single-channel midi input:

    @OnLoad
      FillArray noteOnTime,0,128
      maxDeltaTime    = 20
      highestBassNote = 48
    @End
    
    @OnMidiNoteOn
      noteOnTime[MIDINote] = SystemTime
    
      belowNote = MIDINote-12
      aboveNote = MIDINote+12
    
      octaveNotes = 0
      if MIDINote>=12
        if SystemTime-noteOnTime[MIDINote-12]  < maxDeltaTime
          Inc octaveNotes
        endif
      endif
      if MIDINote<=highestBassNote and ( SystemTime-noteOnTime[MIDINote+12]  < maxDeltaTime )
          Inc octaveNotes
        endif
      endif
    
      if octaveNotes = 1
        // Do something if two notes an octave apart are pressed at the same time
    
      endif
    @End
    

    The first two conditions can‘t be combined with AND since Mozaic doesn‘t do condition short-cuttting.
    The second condition of an AND will allways be checked, which would result in an negative array index
    Exception when the input MIDINote is less than 12.

    Due to the temporal aspect (SystemTime will allways increment), one doesn‘t need to clear the noteOnTime[MIDINote] in the @OnMidiNoteOff. It automatically gets invalidated after maxDeltaTime (or 20msec in this example)

    .

    Hupps, that‘s basically @McD‘s proposal - i didn‘t need to use the NoteStateArray that i brough up at all.

  • Thanks a lot, @McD & @_ki ... Being a programmer for 20 years how come capturing timestamp did not come to my mind !! Getting old I guess...

  • @sujoybose77 said:
    Thanks a lot, @McD & @_ki ... Being a programmer for 20 years how come capturing timestamp did not come to my mind !! Getting old I guess...

    As a 20 year programmer this comment is made for lurkers wondering if they should
    get into Mozaic scripting. It's not to be taken personally.

    Event Driven programming (which Mozaic implements) is hard for most people comprehend.

    A chord could have 2-6 notes (for example) but the script will process those notes as 2-6 ON events and you need apply IF logic to decide when you have the right amount of notes to
    send something out. But still... you could detect a 4 note chord and THEN send out single notes in a arpeggio with each note OUT being processed by a PPQN Metronome event.

    The one extra trick people need to consider is sending a NOTE out with a delay argument added which tells the Mozaic excuse engine to do this on 500 millseconds, for example. Very useful for echoes. I like to use them for NOTE OFF's like a SUSTAIN parameter in an ADSR envelope. Start this note NOW and stop it in 500 milliseconds.

    Mozaic also has a TIMER feature so you can effectively make scripts that do NOT require the
    DAW's transport instructions. It might take off playing arps on loading and stop when killed
    for example using the TIMER to stage rhythmic events.

    The system clock captures would be required to make a record function. Just save in 5 arrays:

    CHANNEL
    EVENT_TYPE (ON or OFF)
    NOTE
    VOLUME
    SYSTEMTIME

    I implemented PLAYBACK by using the recorded SYSTEMTIME deltas to set TIMERS for the next EVENT OUT when the recorded stream of events is played back.

    Solving these puzzles is more than 1/2 the fun. Like a great logic based video game... a box of puzzles.

  • Is there a Mozaic script out there for converting poly to mono?

  • @wired2moon said:
    Is there a Mozaic script out there for converting poly to mono?

    Can you explain in more detail what you mean?

  • @McD said:

    @sujoybose77 said:
    Thanks a lot, @McD & @_ki ... Being a programmer for 20 years how come capturing timestamp did not come to my mind !! Getting old I guess...

    As a 20 year programmer this comment is made for lurkers wondering if they should
    get into Mozaic scripting. It's not to be taken personally.

    Event Driven programming (which Mozaic implements) is hard for most people comprehend.

    Dear Lurkers: I disagree that event driven programming his hard to comprehend. If one can get over the fear of programming, Mozaic is quite friendly.

    Event-driven program is easier for most people who have never programmed. And is probably only hard to get used to if one spent years writing programs before becoming aware of even-driven programming. In my career, I have witnessed quite a few people afraid of programming that became enthusiastic scripters thanks to event-driven environments that allowed them to only have to figure out how to respond to events of interest...and were freed from the the tedium of writing event loops and dispatching the program and managing event queues. I think event-driven stuff may seem strange to programmers that learned programming back when even-driven programming was exotic.

  • edited April 2021

    @wim said:

    @wired2moon said:
    Is there a Mozaic script out there for converting poly to mono?

    Can you explain in more detail what you mean?

    Sure, let’s say i have a synth that doesn’t natively support monophony, it only works in polyphonic but I want it to work in mono. I’m wondering if i could insert Mozaic between the midi controller and the synth with Mozaic providing filtering so that only one note is ever active/on at a time. Each time a new note is pressed Mozaic ensures the currently active/on note is replaced/turned off rather than added to. Hope that makes sense - bit of an edge case really

  • @espiegel123 said:

    @McD said:

    @sujoybose77 said:
    Thanks a lot, @McD & @_ki ... Being a programmer for 20 years how come capturing timestamp did not come to my mind !! Getting old I guess...

    As a 20 year programmer this comment is made for lurkers wondering if they should
    get into Mozaic scripting. It's not to be taken personally.

    Event Driven programming (which Mozaic implements) is hard for most people comprehend.

    Dear Lurkers: I disagree that event driven programming his hard to comprehend. If one can get over the fear of programming, Mozaic is quite friendly.

    Event-driven program is easier for most people who have never programmed. And is probably only hard to get used to if one spent years writing programs before becoming aware of even-driven programming. In my career, I have witnessed quite a few people afraid of programming that became enthusiastic scripters thanks to event-driven environments that allowed them to only have to figure out how to respond to events of interest...and were freed from the the tedium of writing event loops and dispatching the program and managing event queues. I think event-driven stuff may seem strange to programmers that learned programming back when even-driven programming was exotic.

    As an old school procedural programmer who adapted to event driven programming when it became a thing, I would say that in a lot of cases event driven programming is simpler. Where it isn’t simpler is if you need actions that hang off diverent events to occur in a specific order, as those events can happen in a different sequence to the one you want, so you have to jigger around to make it happen.

  • @wired2moon
    Sure, let’s say i have a synth that doesn’t natively support monophony, it only works in polyphonic but I
    want it to work in mono. I’m wondering if i could insert Mozaic between the midi controller and the
    synth with Mozaic providing filtering so that only one note is ever active/on at a time. Each time a new
    note is pressed Mozaic ensures the currently active/on note is replaced/turned off rather than added to.
    Hope that makes sense - bit of an edge case really

    :) Thanks for the nice and short distraction. Here you go - just uploaded Force Monophonic to patchstorage.

    Forces monophonic midi note output for polyphonic or MPE midi input while keeping the other 
    midi events like CCs, PitchBends and  AfterTouch intakt.
    
    - The ∆t knob sets the minimal time between note-ons
    - The OutCH knob sets the midi output channel
    - The Legato knob toggles the output order when notes overlapp
    
    Features:
    * New notes-ons release a previouly active note
    * New notes-ons are ignored for ∆t msec, for chord input only the very first note 
        will go through
    * In legato mode a note takeover first plays the new note-on, then the old note-off
        This allows to play slides with TroubleMaker
    * Note-offs for in-active notes are blocked
    
  • @_ki said:
    :) Thanks for the nice and short distraction. Here you go - just uploaded Force Monophonic to patchstorage.

    Forces monophonic midi note output for polyphonic or MPE midi input while keeping the other 
    midi events like CCs, PitchBends and  AfterTouch intakt.
    
    - The ∆t knob sets the minimal time between note-ons
    - The OutCH knob sets the midi output channel
    - The Legato knob toggles the output order when notes overlapp
    
    Features:
    * New notes-ons release a previouly active note
    * New notes-ons are ignored for ∆t msec, for chord input only the very first note 
        will go through
    * In legato mode a note takeover first plays the new note-on, then the old note-off
        This allows to play slides with TroubleMaker
    * Note-offs for in-active notes are blocked
    

    You’re welcome lol
    Seriously though, many thanks to yourgoodself - will give it a whirl later on :smile:

  • _ki_ki
    edited April 2021

    @wired2moon After playing around with the legato mode for some time, i remembered that my old Korg MS 20 behaved differently:

    If i sustained a low note and then played a higher note, the higher note was played (with possible portamento). But when releasing the higher note, the lower note was played again while the envelop stayed in the sustain phase.

    In its legato mode, the script played the slide up - but not the return to the low note when relasing the higher note.

    .

    So i updated the script to version 1.5 with a second legato mode that emulates this behavior of old monophonic keyboards.

    The previous note is retriggered (with legato) on note-off of the current note if it is still sustained. For synth (instruments like the bs-16 piano) that don‘t react to legato play, that sounded a bit wierd as they retriggered their envelop with the full volume of the previous note - so i added a velocity damping feature which allows to tone down to re-trigger, which sounds a lot better with those instruments.

    TL;DR: In addition to the slides of the first legato mode, the second legato mode allows to play trillers or fast slide up/downs by holding the triller base note and tapping/releasing a short second note :)

  • heshes
    edited April 2021

    @espiegel123 said:

    Dear Lurkers: I disagree that event driven programming his hard to comprehend. If one can get over the fear of programming, Mozaic is quite friendly.

    . . . I think event-driven stuff may seem strange to programmers that learned programming back when even-driven programming was exotic.

    I would add, for some perspective, that it has been a very long time since event driven programming has been considered "exotic". It is and has been the dominant paradigm for programming gui apps for decades, ever since gui operating systems and gui apps became a thing. For example, this Wikipedia article suggests that developers were slow to develop software for the original Apple Macintosh, in 1984(!), partly because of its limited RAM (128k), the new gui interface, and partly because of its relatively-new event-driven programming paradigm. ( "The difficulty of fitting software into its limited free memory, coupled with the new interface and event driven programming model, discouraged software vendors from supporting it. . . " https://en.wikipedia.org/wiki/Macintosh_128K )

    This event-driven paradigm was basically what was needed to simplify programming for a gui interface, which was new a the time. (Some people can recall that competing IBM-PC DOS-based computers in the 1980's were text-based, didn't have a gui).

    So since 1984 for Macs, and since WIndows came out in late 1980's, event-driven programming has been commonplace. Beginning programmers and/or those who just write procedural scripts may not see or use it much. But for anybody who's programmed actual gui apps since the 1980's (i.e., most any app) event-driven programming has been part of the basic architecture of things, feels as familiar and as comfortable as an old pair of shoes. It makes things easier, not harder.

  • wimwim
    edited April 2021

    @wired2moon said:

    @wim said:

    @wired2moon said:
    Is there a Mozaic script out there for converting poly to mono?

    Can you explain in more detail what you mean?

    Sure, let’s say i have a synth that doesn’t natively support monophony, it only works in polyphonic but I want it to work in mono. I’m wondering if i could insert Mozaic between the midi controller and the synth with Mozaic providing filtering so that only one note is ever active/on at a time. Each time a new note is pressed Mozaic ensures the currently active/on note is replaced/turned off rather than added to. Hope that makes sense - bit of an edge case really

    I believe the PolyThemus app can do this (and more) if you're interested in a non-script based approach.

    If you have @_ki on the job you should be good though. B)

Sign In or Register to comment.