MIDI-MT - Application Configuration Files

MIDI-MT Documentation in English

The configuration file

The configuration file is in the popular Json format and you can use any text editor to change it. A working example of a configuration file is also included in the distribution. You can find it in the application installation folder; a copy of the configured configuration is located in the docs subfolder with the name “MidiController.cnf”.

The main parameters of the configuration file can be configured from the dialog that launches when you select the Start menu item. You can also configure these settings directly when editing the configuration file.

General Configuration Section

{
  "config": {
    "name": "MidiController",
    "autostart": true,
    "build": "1.0.6.3"
  },
  "units":[... description of controller controls...]
}

The values ​​of global parameters and their relationships are described in more detail in the Settings section.

Module settings

All information about setting up modules is located in a common configuration file. It is also possible to strictly override the settings of a specific module by placing a settings file of the same name with the module with a .json extension in the same directory. An example in the picture below.

JSON sections of module settings are located in the description of the modules themselves.

“units” controls configuration section

The control’s description line looks like this:

{
    "scene":177,            // control scene 
    "id":22,                // control key
    "type":1,               // control type
    "target":254,           // group
    "longtarget":12,        // target 
    "onoff": false,         // last value 
    "value": 2,             // last value 
    "apps": [               // application list
       "App1",
       "App2"
    ]
}

Scene (scene), the real Scene MIDI ID is indicated in the configuration. A scene is a selected preset; a typical controller usually has 4 scenes:

MIDI ID Scene note
176 1 No
177 2 No
178 3 No
179 4 No
192 1 for JOG control
193 2 for JOG control
194 3 for JOG control
211 4 for JOG control
243 4 for the two top buttons on the sides JOG
255 - scene not selected

ID (id), MIDI control identifier, I hope everything is clear here.

MIDI ID possible values
9 A-B slider, fixed value
10 JOG encoder, fixed value
64 right button from the encoder, fixed value
67 left button from the encoder, fixed value
0 - 170 any values ​​in this range
170 - 248 used to mark scenes
249 - 254 used to denote groups
255 undefined

Control type:

No. control type enum
0 circular potentiometer FADER
1 slider potentiometer SLIDER
2 JOG, encoder KNOB
3 button BUTTON
4 button with toggle mode enabled BUTTON TOGGLE
5 JOG, encoder, direction inversion KNOB INVERSE
6 circular potentiometer, inversion FADER INVERSE
7 slider potentiometer, inversion SLIDER INVERSE
255 undefined -

Target (target,longtarget), the destination of the control payload. For buttons, the first value, target, is a quick press, the second value, longtarget, is a long press. If you don’t need to use a long press, set the longtarget property to 255. For other types of controls, the second value is not processed, but requires a set value.

No. payload
0 audio volume (master)
1 audio balance, panorama (master)
2 audio mute (master)
3 audio solo (master)
4 JOG - video frame-by-frame rewind
5 - 13 audio volume - channels 1-9
14 - 22 audio balance, panorama - channels 1-9
23 - 31 audio Solo - channels 1-9
32 - 40 Audio Mute - channels 1-9
41 - 49 Audio Select - channels 1-9
50 - 57 functions F1-F8, standard button operation mode
58 - 65 functions F1-F8, triggered while the button is held down
66 Rewind
67 Forward
68 Stop
69 Play
70 Record
71 Up
72 Down
73 Left
74 Right
75 Zoom
76 Scrub
255 element not selected

Also, the target value can indicate the relationship to the group, as in the cases with the groups Audio sessions, Multimedia keys, Lights controls and Smart House. In this case, the longtarget value specifies the payload.

No. group
249 Scenarios module
250 Light control module 16 bit
251 Light control module 8 bit
252 Smart Home module
253 Multimedia keys module
254 Audio session module
255 element not selected

Working example of control configuration

{
    ....,
    /* setting for scene number 2 */

    "units":[
        {"scene":177,"id":22,"type":0,"target":0,"longtarget":255},
        {"scene":177,"id":13,"type":1,"target":1,"longtarget":255},
        {"scene":177,"id":31,"type":3,"target":3,"longtarget":255},
    ]
}