(title)

Configuration

The configuration is stored in a config.json file. If it doesn't exist, the App will ask you some questions and create a configuration file on boot. Please make sure that you have your Midi devices connected when booting the App for the first time.

Configuration structure

The config.json file can simply be edited to fit your needs:

{
    "playback_output_name_1": "SH-4d",          // Name of playback device #1 *
    "playback_output_name_2": "None",           // Name of playback device #2 *
    "pc_config": [                              // Program Change configuration (4 times)
        {
            "group": 0,                         // The group index (don't change this)
            "channel": 0,                       // The channel used for the PC message
            "mode": 0                           // Program Change mode (see "Program Selector")
        }
    ],
    "track_config": [                           // Per-track configuration block
        {
            "track_index": 0,                   // The index of this track in the step sequencer
            "midi_channel": 14,                 // The midi channel for this track *
            "color": "Red",                     // The color of this track (step editor)
            "default_note": {                   // The default note (when adding a new step)
                "note": 36,                     // Default note byte (60=middle C)
                "velocity": 100,                // Default velocity (0-127)
                "length": 12,                   // Default length in pulses (24 pulses = 1 step)
                "nudge": 0                      // Default nudge (-23 - +23)
            },
            "is_poly": true,                    // Determines if the track is polyphonic or not
            "pattern_change_group": 0,          // The pattern change group (0-3)
            "c1_cc": 1,                         // Control Change number 1
            "c2_cc": 2,                         // Control Change number 2
            "c3_cc": 3,                         // Control Change number 3
            "c4_cc": 4                          // Control Change number 4
        },
        
        // (31 times more, 1 for each track *)

    ]
}

*: See "Midi channels and multiple devices" for more details.

Midi channels and multiple devices

You can connect up to two midi devices for playback. This will be asked during the configuration process.

Please note that the midi_channel in config.json is 0-indexed. This means that midi_channel 0 will map to Midi Channel 1 on your device (assuming the first Midi Channel on the device is "1").

The midi channels for the second playback device will be set by adding 16 to it.

So to summarize:

  • midi_channel 0-15 will be mapped to playback device #1, Midi Channel 1-16
    • Example #1 : midi_channel 0 is Midi Channel 1 on playback device #1
    • Example #2 : midi_channel 6 is Midi Channel 7 on playback device #1
    • Example #3 : midi_channel 15 is Midi Channel 16 on playback device #1
  • midi_channel 16-31 will be mapped to playback device #2, Midi Channel 1-16 (after subtracting 16)
    • Example #1 : midi_channel 16 is Midi Channel 1 on playback device #2
    • Example #2 : midi_channel 25 is Midi Channel 10 on playback device #2
    • Example #3 : midi_channel 31 is Midi Channel 16 on playback device #2

Pattern change group

Each track can be assigned to a pattern change group. The pattern change group is used to send the Program Change message (PC) to the correct device. Currently this only happens when switching a scene for all tracks, but in the future you might be able to mix-and-match Scenes in order to do Scene transitions.