DART_EDiTOR

 


  • The DART_Editor  lets you modify, upload and save presets for your DART based machine.
  • the controller Layouts are editable so the Editor can be adapted to any custom controller shape.
  • it is also possible to customize the startup Layout, for those who want a real custom editor for their machines
  • The incoming MIDI activity can be monitored by audible buzzer sound and by a proper MIDI-monitor

Download Dart EDITOR here


INITIALIZE the editor

At the program startup, the user will be asked for MIDI IN and MIDI OUT ports wich the comunication goes thru.

The DART controller  ports is usually named “DART” or “Arduino Leonardo”.


EDITOR OVERVIEW

  1. MODIFIERS AREA
  2. MIDI MONITOR
  3. SEND ALL/ SEND This
  4. SETTINGS BOX
  5. PAGES
  6. LOAD / SAVE
  7. HINT BOX
  8. EDIT MODE

1) MODIFIERS AREA

 

  • This area represents the modifiers actually mounted on the Dart controller box: potentiometers, spinners, pushbuttons, sensors and so on
  • Up to 60 modifiers can be selected and edited.
  • Some elements in this area are related to generic settings to be sent to the Dart controller, for instance General-setup or Mouse-setup
  • The default layout, at editor’s startup, reproduces the inputs of a DartMobo PCB circuit. All modifiers are set to BLIND-INPUT mode. The last modifier (G) is set to GENERAL mode for circuit config setup, and is visible only in EDIT mode.

2) MIDI MONITOR

  • A) Incoming MIDI messages (Green section). The monitor shows messages in a four-parameter scheme:
    • Channel – 1 to 16
    • Type – Note, Poly AT, CC, AT, PC, PB
    • Data Byte 1 – 0 to 127
    • Data Byte 2- 0 to 127
  • B) The MIDI filter section can be used to focus on a specified Channel or Value.
  • C) A Raw-Data monitor in 6 lines offers a visual reference of data, in the classic MIDI 3 bytes form.
    • STATUS BYTE – it identifies the Channel and the Type
    • DATA BYTE 1 – it idetifies the Number.
    • DATA BYTE 2 – it identifies the Velocity
  • D) A KeyStrokes monitor (Orange colour section). It can be used to monitor the HID emulation functions.
  • NOTE: the monitoring system works also upon the Modifiers_Area: each time a MIDI message is received form the Dart controller, the modifier that corresponds to this message will flash in green colour.

3) SEND all/ SEND this

  • by clicking on SEND-ALL It is possible to upload the complete preset, on both pages, to the controller.
  • by clicking SEND-THIS the upload process is restricted to the selected modifier on the selected page
  • during a correct Preset Upload process all LEDs on the controller panel flash intermittently.

4) SETTINGS AREA

  • All the setting, for the selected modifier, can be edited here.
  • the main setting is MODE, wich tells the Dart controller what kind of modifier has to be read.
  • some MODE selections can be choosen ONLY ONE TIME in a preset: Pags, Pads, Spinner 1, Spinner 2, Touch 1, Touch 2, Mouse, General.
  • Some MODE selections will cause the Settings-Area to be linked between Page-1 and Page-2, for instance PAGE-SWITCH Mode.
  • Some MODE selections are not referred to a precise circuit position or input, but contain generic infos about the controller setup, for instance GENERAL or MOUSE MODE.
  • list of MODE selections:
    • BUTTON
    • TOGGLE
    • TOGGLE GROUPS 1- 8
    • POT
    • HYPERCURVE 1
    • HYPERCURVE 2
    • CENTER-CURVE 1
    • CENTER-CURVE 2
    • PAGE SWITCH
    • DISTANCE SENSOR
    • BLIND INPUT
    • PADS
    • SPINNER1 Setup
    • SPINNER2 Setup
    • ENCODER
    • TOUCH SENSOR 1
    • TOUCH SENSOR 2
    • MOUSE/ARROWS
    • GENERAL

5) PAGES

  1. each preset is divided in two pages
  2. the settings of a modifier can be different for page-1 and page-2

6 ) LOAD / SAVE

  • each preset contains the configuration to be sent to the DART controller, and the graphic layout of the Modifiers Area.
  • The presets are saved in .CSV (comma seperated values) files that can be opened and modified using a common NotePad app.
  • It is possible to customize the Default-Preset.csv, contained in “data” folder, that is automatically opened at editor startup. So, DIYers can create complete controller systems (machine+editor).

7) HINT BOX

  • just click or move on a specified element on screen and the Hint Box will show the related HowTo suggestions.

8) EDIT MODE

  • The edit-mode is for those who are using the DARTMOBO PCB kit to build their own machines.
  • list of editing actions:
    • SHIFT + Mouse-left-click and drag = move a modifier, within the Modifiers Area.
    • SHIFT + MouseWheel = change modifier size
    • CTRL + Mouse Wheel = change modifier shape
    • ‘W’ + MouseWheel = change modifier width
    • ‘H’ + MouseWheel = change modifier height
    • CTRL + ‘-‘ or CTRL + ‘8’ = hide current modifier – Hidden modifiers are set to BLIND INPUT MODE
    • CTRL + ‘0’ = hide all modifiers – Hidden modifiers are set to BLIND INPUT MODE
    • CTRL + ‘+’ or CTRL + ‘9’= Add a modifier (up to 60 modifiers can be added)
  • Settings-Area parameters accessible from Edit-mode:
    • MEMORY POSITION: choose here the memory-slot, on the Dart controller’s memory, where the choosen modifier settings will be uploaded. The memory position is directly related to the CIRCUIT position. In other words: a potentiometer or button, connected to Circuit position number 3 must be set to Memory-Position number 3. Memory-Position value is not relevant for Generic settings (Mouse-mode, General-Mode, Pads-mode…). So, Generic setting are usually loaded on Memory positions higher that 56 (the maximum number of phisical modifiers that a DartMobo system can handle). A picture of the DartMobo PCB input/output numbering will be visible by clicking on the Memory Pos. number box . Memory-position value cannot be the same on more than one modifier.
    • LED: choose here the Output that is controlled by the selected modifier. A picture of the DartMobo PCB input/output numbering will be visible by clicking on the LED number box . Value ‘0’ is NO-action.
    • Inputs/Outputs numbering in a DartMobo PCB based DIY controller or in a breadboard based circuit:
    • HINTS: write here a suggestion text that will be shown on the Hint Box, clicking on the selected modifier.
    • NAME: Name of the modifier, shown in the Modifiers-Area.

Settings Area – MODE selector – in detail…

  • BLIND INPUT: the input is not read.
  • BUTTON: debounced on-off output.
    • Settings:
      • VALUE – the value of the Data Byte 1 – in a Note message it will be the Note-Pitch value.
      • MINIMUM – the value of the Data byte 2 of the MIDI message at released-button action.
      • MAXIMUM – the value of the Data byte 2 of the MIDI message at pressed-button action.
      • MIDI CHANNEL – the channel to wich the MIDI message will be encoded – from 1 to 16
      • DMX CHANNEL – The channel of the DMX output produced by the button action.
        • the DMX value on Button_pressed is double the MAXIMUM value.
      • MIDI TYPE: Note, Poly AfterTouch, Control Change, Program Change, AfterTouch, Pitch Bend.
      • KEY: the keyboard key emulated by the controller. MIDI data will not be output with Key emulation active, choose NULL to have midi output.
      • HOTKEY: CTRL, SHIFT, ALT keys can be combined with Key message to assign complex KeyStrokes to a button.
  • TOGGLE: debounced Toggle mode.
    • Settings: as Button.
  • TOGGLE GROUPS: Only one can be ON at a time in a group.
    • Settings: as Button.
  • POT MODE: Continuous output, for potenciometers and sensors.
    • Settings:
      • VALUE – the value of the Data Byte 1 –  in a Note message it will be the Note-Pitch value.
      • MINIMUM – the value of the Data byte 2 of the MIDI message at released-button action.
      • MAXIMUM – the value of the Data byte 2 of the MIDI message at pressed-button action.
      • MIDI CHANNEL – the channel to wich the MIDI message will be encoded – from 1 to 16
      • DMX CHANNEL – The channel of the DMX output produced by the button action.
      • MIDI TYPE:  Poly AfterTouch, Control Change,  AfterTouch, Pitch Bend. (NO Note, NO Program Change)
  • HYPERCURVE 1-2: the maximum value is reached in a reduced range (from top to mid in hypercurve-1 / from bottom to mid in hypercurve-2).
    • Settings: as Pot.
  • CENTER-CURVE 1-2: the center value (64) has a larger flat range.
    • Settings: as Pot.
  • PAGE SWITCH: the page-switch itself can control a MIDI message. The settins are the same (linked) for both pages. Only ONE single modifier can be set to page-switch at a time.
    • Settings:
      • VALUE – the value of the Data Byte 1 – of the MIDI message. in a Note message it will be the Pitch value – the Data Byte 2 (VELOCITY) of the PageSwitch-action is always 0 or 127.
      • MIDI CHANNEL – the channel to wich the MIDI message will be encoded – from 1 to 16
      • MIDI TYPE: Note, Poly AfterTouch, Control Change, Program Change, AfterTouch, Pitch Bend.
  • DISTANCE SENSOR: It can be set to work as a normal POT or as a ON-OFF virtual button.
    • Settings:
      • VALUE – the value of the Data Byte 1 – in a Note message it will be the Note-Pitch value.
      • MINIMUM – the value of the Data byte 2 of the MIDI message at released-button action.
      • MAXIMUM – the value of the Data byte 2 of the MIDI message at pressed-button action.
      • MIDI CHANNEL – the channel to wich the MIDI message will be encoded – from 1 to 16
      • DMX CHANNEL – The channel of the DMX output produced by the button action.
      • MIDI TYPE:  Poly AfterTouch, Control Change,  AfterTouch, Pitch Bend. (NO Note, NO Program Change)
      • POT/BUTTON/SCALE
        • 0 – Potentiometer mode : the distance sensor produces a continuous MIDI output flow, as a potentiometer.
        • 1 – BUTTON emulation : the sensor emulates an ON-OFF switch, distance will regulate the data byte 2 (velocity) of the MIDI signal.
        • 2 -Scale play mode (set MIDI-type to NOTE for scale-play!) .
  • PADS: settings for piezo-sensors inputs. the selected value is used for the first Pad-input, all other inputs are shifted to the following pitch value. The Data Byte 2 (velocity) is proportional to the intensity of the pulse-signal received.
    • Settings:
      • VALUE – the value of the Data Byte 1. in a Note message it will be the Note-Pitch value.
      • MIDI CHANNEL – the channel to wich the MIDI message will be encoded – from 1 to 16
      • MIDI TYPE: Note, Poly AfterTouch, Control Change, Program Change, AfterTouch, Pitch Bend.
  • SPINNER1: Main encoder settings. (Nerdy note: The main Spinner is read on the Arduino pins 2 and 3, wich have interrupt capability, for best precision)
    • Settings:
      • VALUE – the value of the Data Byte 1 –  in a Note message it will be the Pitch value.
      • SPEED – the value of the Data byte 2 of the MIDI message at released-button action.
      • MIDI CHANNEL – the channel to wich the MIDI message will be encoded – from 1 to 16
      • ENDLESS/POT/SCALE
        • 0 = 63-65 endless mode.
        • 1 = 0-127 endless mode.
        • 2 = POT emulation mode, or SCALE-paly mode (when type is NOTE)
        • 3 = SCALE-LEARN-play mode”,
      • MIDI TYPE: Note, Poly AfterTouch, Control Change, Program Change, AfterTouch, Pitch Bend.
      • TOUCH STOP:  the touch-stop function will stop the flow of midi data produced by the rotation of the Spinner, when the touch sensor is Released. This is useful to have more precision and control over a parameter, avoiding the INERTIA of the spinner to influence a parameter.  If the spinner is set in ENDLESS mode, the touch-stop function will just translate spinning data to the upper MIDI Channel.
        • 0 = NO touch-stop
        • 1 = touch-stop active
  • SPINNER2: Secondary encoder settings. The secondary spinner must be activated on the GENERAL setup modifier. the Secondary encoder is always read on the DartMobo inputs 41 and 42.
    • Settings: as Spinner 1.
  • TOUCH SENSOR 1:
    • Settings:
      • VALUE – the value of the Data Byte 1 –  in a Note message it will be the Pitch value – the Data Byte 2 (VELOCITY) of the touch-action is always 0 or 127.
      • LOWER LIMIT – Lower Sensitivity-treshold value for touch-action triggering. – usual value: 30.
      • UPPER LIMIT – Upper Sensitivity-treshold value for touch-action triggering. – usual value: 100.
      • MIDI CHANNEL – the channel to wich the MIDI message will be encoded – from 1 to 16
      • RESET VALUE – the value to wich the control will be reset, at Touch-release action.
      • MIDI TYPE – Note, Poly AfterTouch, Control Change, Program Change, AfterTouch, Pitch Bend.
      • TOUCH RESET:
        • 0 – OFF
        • 1 – Touch-Reset active. The control will be reset to the Reset-Value, at Touch-release action.
      • LED (Edit-mode) The Virtual-touch function can be enabled setting the LED value to 1 (EDIT mode). Capacitive touch will be disabled.
  • TOUCH SENSOR 2: the Secondary Touch sensor is enabled only if the Secondary Encoderis active.
    • Settings: as Touch Sensor 1.
  • MOUSE/ARROWS: Setting up an Analog joystick to act as a Mouse or ArrowKeys emulator.
    • Settings:
      • MOUSEWHEEL
        • 0 – OFF
        • 1 – Mousewheel emulation active on Spinner1 – use Spinner SPEED settings to setup the mousewheel speed.
        • 2 – Mousewheel emulation active on Spinner2
      • X AXIS – the Circuit-Position of the X axis potentiometer.
      • Y AXIS – The Circuit-Position of the Y axis potentiometer.
      • MOUSE/ARROWS
        • 0 – OFF – Common midi operation on X and Y axis pots.
        • 1 – Mouse emulation ACTIVE.
        • 2 – Arrow Keys emulation – the joystick can be used as a Up-Down, Left-Right arrows triggerer.
  • GENERAL: General mode sets a modifier to contain the ciruit settings of the controller. The settings are linked for both page1 and page2. Only ONE modifier can be set to General mode at a time.  A General modifier must always be activated in a preset, otherwise the controller will work in AutoDetect mode!!
    • Settings:
      • EXTRA PLEXER- The Extra Analog A9 input has been used in the DART KOROVA controller design to raise the number of inputs used to 56. Enabling the Extra-Input will cause the Touch-Sensor 2 to be disabled
        • 0 – OFF
        • 1 – Extra Analog Input ACTIVE – on Arduino pin A9
      • PADS – By enabling PADS, the A5 input of the Arduino board will be scanned at a higher frequency, so the inputs 45 46 47 and 48 will be capable of sensing pulses coming from Piezo Transducers or from Common drum pads (like Roland or Yamaha ones). The MIDI message setting for pads are contained in the Pads modifier (in Pads mode).
        • 0 – Pads ACTIVE
        • 1 – OFF
      • SPINNERS: the Secondary encoder is alwais read on the DartMobo inputs 41 and 42, no matter what the Memory Position value is.
        • 0 – OFF
        • 1 – Main Spinner ACTIVE.
        • 2 – Main Spinner + 2nd Spinner ACTIVE.