Basic MIDI Controls


Provides configurable surfaces for sending CC and Program Change values. Tap SHIFT to cycle through views, or Long-Press SHIFT to cycle through configuration modes. Tapping SHIFT returns to READY mode. The X/Y pad is linked to the last two knobs by default.

Views other than the Pads view have configurations for CC, channel, minimum value, maximum value, and continuous/toggle operation. If set to Toggle, the minimum value is sent for any position below mid-way and maximum for mid-way or above.

Each pad can be configured for Program Change, CC Toggle, or CC Constant. Tapping a PC pad will send the Bank and Program indicated on the pad. The last sent PC pad will be highlighted in lavender-purple. Tapping a pad configured for CC toggle will alternate between value 0 (OFF) and the value set on the ON Value knob. Tapping a pad configured for CC Constant will always send the ON Value and will not send value 0.

Long-Press SHIFT in Pads view to enter configuration mode. There is only one configuration mode for pads. Settings are changed with the knobs at the right. First select a pad (it will light up), then select bewtween PC and CC mode with the Function knob. Each pad can have separate function and value settings. Tap SHIFT to exit configuration mode.

Custom Naming: The first section of the script now allows you to edit names that show up in READY mode. See the instructions in the @CustomLabels event at the top. Edit names between the brackets and then un-comment the lines as needed. Commented lines revert to auto-naming. Remember to hit UPLOAD after editing, and to SAVE the script to keep the changes. You can also just save a preset in the host or use state-saving if you don’t want to save the script permanently. Have Fun!

You can save configurations by saving the script when configured as you like it, or by saving presets in the host. You can also edit the some common defaults in the @OnLoad section and save the script.

13 comments on “Basic MIDI Controls
  • Raz-mataz on said:

    Nice one Wim.
    How useful.
    Big up!

    Any solution for complicated program change like in ThumbJam and Drumjam?

  • wim-number37 on said:

    Version 1.1 now includes the ability to custom name controls and titles. Even if you don’t know anything about coding it should be pretty easy to understand how to give names to knobs, pads, and the titles displayed in the app. Have fun!

  • wim-number37 on said:

    Hi Raz-Mataz … I don’t know anything about the complicated program changes that you mention in Thumbjam and Drumjam. I’ll poke around a bit to see if I can figure out what you mean.

    (BTW, there’s no notification of messages from patchstorage, so it’s a good idea to ping @wim on the audiobus forum if you have questions.)

  • wim-number37 on said:

    Version 1.2 adds an option to send only ON values on pad presses when they’re configured for CC’s. In pad settings mode, the first knob now cycles between Program Change, CC Toggle, and CC Constant. You can also set the ON value now (default = 127).

  • GtrGeorge on said:

    Thanks for producing this mozaic script! It is very nicely done, and will be very useful.

  • pejman on said:

    Hello wim.
    Very thanks for your useful and perfect patch .
    Can I have a request from you about this patch please ?


  • wim-number37 on said:

    Hello Penman,
    Sure! Ask away.

  • pejman on said:

    Hello Mike,
    Very thanks for response.

    I am cubasis user and I haven’t AUM app . For some reason I prefer to do some of my projects with Cubasis. as you know , we don’t have multiple plugins windows in cubasis , it allows Only one window will open.

    But AUM that allows multiple windows of plugins to appear on the page at the same time. For example I can have multiple mozaic windows at the same time, And work on them simultaneously.

    So I’m having some limitations with Basic midi control in cubasis.

    I am working on a project where four or five apps in the background need to be controlled by many midi ccs. Therefore, I need every 127 cc.

    BASIC MIDI CONTROLs have 22 knobs and 16 pads for cc control’s.
    I know that i can adjust my ccs and save it as several presets with various ccs .

    But it is not convenient to use the All of them presets in Cubasis at the same time.

    So, Can we have more layers in BASIC MIDI CONTROLS so that we can have all the ccs in one place for the knobs and pads?

    For example, all these options in your patch should be assigned to the number one app, and with tap an hold on shift button but with more time holding, We enter another main layer that is related to other CCs , which we can assign to app number 2. And we can continue this work up to four or five main layers.

    If it is possible that the user can add or remove these layers herself, that would be great.

    You provide patch that has a lot of flexibility for the user, it’s great.
    How good it would be if the user could add or subtract more layers and sub-layers and manage them by pressing the shift button every time which layer ( Mozaic layouts ) is added after which layer.with different ccs knobs and pads. that in total we can have 127 cc knobs and 127 pads. With different label knobs and different label pads as titles. (( Creating custom layers )).

    In this case, we have a patch in which all 127 ccs are saved, and we don’t need to open other windows or save different presets, and they are all saved in one patch..

    And we can choose different names ( for example in knobs label section ) for our different main layers that are the same as the names of the apps.

    And another request,
    Can we have Own TranslateScale value for each knobs, for example i need to knob number 5 , be three stages , like ( function knob ) in Basic midi control, with three magnetic Area. and shows this three values in label knob 5, instead of ch number. I mean each knob shows fixed cc number and current knob cc values ( continue cc value ) or number of stages or name of stage. ?

    I know that my wishes are very ambitious☺️.

  • wim-number37 on said:

    Hi pejman,

    Thanks so much for taking the time to describe what you’d like. Unfortunately those ideas for multiple pages are too ambitious for this project. Mozaic isn’t well suited for that depth of UI interaction and the code would become too unmanageable. If using multiple instances isn’t an option for you that I’d suggest maybe looking into something better designed for this purpose, such as Midi Designer Pro 2 or TouchOSC.

    The TranslateScale idea is a good one. I’ll consider it.

  • pejman on said:

    Hi Mike.

    Thank you very much for taking the time to read my content.
    Unfortunately, these two app that you introduced do not support Audio Unit V3 as midi effects.
    I use midi effects as Au with Cubasis virtual keyboard , side by side at the same time.

    Anyway, this is a problem related to windows limitations in cubasis.

    As for Translatescale, I’m so glad you want to consider it.

    wish you luck.

  • wim-number37 on said:

    Hi pejman,
    If AUv3 is a requirement then I recommend to you Loopy Pro. I didn’t mention it before because midi control surfaces are only a small subset of its functionality and I thought that would be a distraction. Also, it’s a bit pricey comparatively if you’re only looking for midi controls.

    However, Loopy Pro is an OUTSTANDING AUv3 midi control surface builder. You don’t have to use any of its looping functionality. It is totally configurable. Soon it will even have things like stepped dials and radio buttons.

  • wim-number37 on said:

    Hi pejman,
    @pejman – I’ve looked back into the script to see what it might take to add scaling of the controls and also the need for supporting both MSB and LSB in program changes that you mentioned over in the Discord chat. Unfortunately I’ve concluded that to add those would be more than I envision for this script due to the limitations of the user interface.

  • xraydash on said:

    Thanks so much for this, wim! I set up the pads to mute individual tracks and mute groups on my OP-Z.

  • Leave a Reply

    • Platform:
    • Category: Utility
    • Revision: 1.2
    • License: MIT License
    • Modified: 3 years ago
    • Views: 535
      Likes: 12
      Downloads: 125