    20170914:
     Prophet12: add: mixed state "PL" mode: only send patch NRPN when patch is current proxy patch
       Tracker: fix: note on recording (broken after recent metronome fix)

    20170910:
     Prophet12: fix: solo layer a/b not working in diff mode
     Prophet12: fix: reload does send resend patch

    20170909:
          Auto: add: pattern copy/paste/new/delete keyboard shortcuts
        Buffer: add: pattern copy/paste/new/delete keyboard shortcuts
          MIDI: fix: race condition in lshift-NUMPAD enter shortcut handling (start/stop w/o sending MMC)
      CtlMorph: change: send pattern ctl states after clipboard paste
      CtlMorph: change: cyclic morph generator/player now cycles through "used" patterns
      CtlMorph: add: lshift-r to send group reset ctl states (same as "Reset" button)
     ModMatrix: add: OP_RANGE_IN (send arg4 when arg2 is in range), rename OP_RANGE to OP_RANGE_OUT
     All Nodes: add: lctrl-lshift-HOME to go to next used (non-empty) pattern
     All Nodes: add: lctrl-lshift-END to go to previous used (non-empty) pattern
    PatternMgr: add: pattern manager (lctrl-x d) (for all nodes that support patterns)
     Prophet12: fix: subosc levels were not sent correctly during proxy morph/patch change
     Prophet12: add: option to ignore proxy events (for sound design during replay) ("PL" checkbox)
     Prophet12: add: option to ignore option ignore proxy reset events ("PR" checkbox)
     Prophet12: add: "autosend" mixed state: only send patch when it is selected, not when editor is shown
     Prophet12: add: show patch name in empty tab area, mousewheel over label to select prev/next patch
     Prophet12: add: multi-patch-edit mode (lctrl-q) (e.g. for editing common morph group settings)
     Prophet12: add: morph preview mode
     Prophet12: add: "Diff" patch change mode (faster patch changes and less sound hickups)
     Prophet12: add: lctrl-e to load patch from synth edit buffer (same as "Receive Edit" button)
     Prophet12: add: new oscillator randomization dialog ('r')
       StepSeq: add: pattern copy/paste/new/delete keyboard shortcuts
       Tracker: fix: single-event undo while pattern is in record mode and autoscroll is disabled
       Tracker: fix: send MIDI keyjazz note off as actual note off instead of note on with velocity 0
       Tracker: fix: overlay redraw issues when switching between e.g. the sysex editor and the tracker page
       Tracker: fix: metronome click after "undo and restart recording" (return) was occasionally missing a beat

    20170822:
    AnalogRytm: add: "AR: Kit Send BD1/SD2/RS3/.." RPNs (send single sound)
          MIDI: fix: SysEx input message handling in synth editors and nodes (broken in last release)

    20170820:
    AnalogRytm: fix: handle partial SysEx replies
    AnalogRytm: fix: don't process note on/off events when node is muted
    AnalogRytm: fix: only delete mapped input events
                      (i.e. pass unmapped events on to next node)
    AnalogRytm: fix: learn trigs from autoch
                      (in prev releases, "Output Ch" had to be set to "TRK CH")
    AnalogRytm: add: hold-click "Recv" to reset kit/pattern receive state
    AnalogRytm: add: show RAW version
    AnalogRytm: add: performance / scene / track lock mask (see "IO" tab)
                      (e.g. for mixing sounds from different kits)
    AnalogRytm: add: select+send kit via RPN
    AnalogRytm: add: mix kit+send via RPN (lock mask)
    AnalogRytm: add: select+send pattern via RPN
    AnalogRytm: add: re-enumerate UIDs tool functions (kit/pattern/..)
    AnalogRytm: add: update track 1..12 sample nr tool function
    AnalogRytm: add: hold-click kit recv to download only bd1,sd2,..,fx,perf,scene (opens menu)
    AnalogRytm: add: support dual column names (separated via "~" character)
    AnalogRytm: add: snapshot selection RPN
      Arranger: fix: creating new nodes sometimes caused clips to move to wrong tracks
      Arranger: fix: crash after pressing delete after last track clip has been deleted
      Arranger: change: move "silence" and "snapshot" functions to "Tools" menu
      Arranger: add: timeline clipstate (mute/solo+patternnr) recording
      Arranger: add: track recording lock buttons and kbd shortcuts
                      (h=toggle, lctrl-h=clear, lshift-h=invert)
      Arranger: add: utility function to copy node clipstate from arranger
      Arranger: add: utility function to delete all muted clips in selection
      Arranger: add: clip track area to minimum height
      Arranger: add: improve cursor key movement (e.g. auto-select clip near edit offset)
      Arranger: add: lshift-LMB click in track area to extend clip selection
      Arranger: add: after deleting clip, select next (or previous) one
      Arranger: add: 'd' to center display to replay offset
      Arranger: add: lshift-d to toggle center display lock
      Arranger: add: lctrl-SPACE to stop replay, don't rewind to start, and
                      select clip near replay offset
     AudioTool: add: SXT ClipLoop feature
                      (input=wav with 2 loop repeats, output=wav with 1 seamless loop)
          Docs: add: autodevice MIDI implementation table
          Docs: add: Arranger keyboard shortcuts table
        KeyMap: fix: pattern clone
        KeyMap: add: clone/clone sub/alloc sub utility functions and kbd shortcuts
        KeyMap: add: option to send fixed RPN(s) (e.g. start/stop/toggle mute/..)
        KeyMap: add: holding LALT while changing output device or channel now updates all entries
        KeyMap: add: holding LALT while changing send mode now updates all entries
        KeyMap: add: holding LALT while changing match mode now updates all entries
        KeyMap: add: holding LALT while changing note duration now updates all entries
        KeyMap: add: holding LALT while changing velocity curve now updates all entries
        KeyMap: add: alternative program change mode (mixed state)
                      (send timeline recordable "UI Node PrgChg")
        KeyMap: add: auto-advance to next entry in "update match note" recording mode
          MIDI: fix: always echo-transform input events in node editors
                      that expect output device events
          MIDI: fix: delete transformed SysEx messages only when device input echo is enabled
          MIDI: fix: note off velocity was broken in last release
          MIDI: add: "Note Buttons" synth profile
          MIDI: add: timeline recordable node/pipe mute/solo (e.g. "Com: UI Node Mute")
          MIDI: add: timeline recordable program change RPN ("Com: UI Node PrgChg")
          MIDI: add: hold-click (or lshift-kp enter) to stop without sending MMC stop
      MIDIPipe: fix: free marker when freeing frame, copy marker when copying frame
       MIDIMon: add: show SysEx message size
       MIDIMon: add: output monitor (MIDI buffer bytes) (lctrl-NUMPAD +)
       Monitor: fix: don't clear events when play pattern has changed or node is shown
       Monitor: add: punch in/out markers ('p')
       Monitor: add: "trim to punch in/out" tool function ('k')
       Monitor: add: "fit BPM to sequence" tool function ('b')
       Monitor: add: merge-markers tool function
       Monitor: add: default merge thresholds are now configurable
       Monitor: add: 17 new MMC targets
       Monitor: add: option to view transformed events
       Monitor: add: support "Com: Run" RPN
       Monitor: add: lshift-RCTRL to cycle through modes
      MonoPoly: change: don't reset active note state when node is reset
    MorphScene: fix: conversion from polypressure to chpressure resulted in static value
    MorphScene: add: update all matching entries when LALT is held down while
                      changing MIDI device or channel
    MorphScene: fix: mousewheel-cycle through _all_ devs, don't stop at first unavailable dev
    MorphScene: add: copy/paste scene with lctrl-c/v
    MorphScene: add: clear scene with lshift-BACKSPACE
    MorphScene: add: lctrl-up/down to move selected entry up/down
       PipeMap: fix: crash after moving last pipe
       PipeMap: add: lshift-up/down to move pipe
       Tracker: fix: auto-deselect block on cursor move after select all,
                      or when pattern is changed
       Tracker: fix: first beat note was not recorded when replay was started from last beat
       Tracker: fix: some undo related issues ("transaction still in progress")
       Tracker: fix: can now undo multiple track layouts (e.g. after monitor import)
       Tracker: fix: block transpose now leaves "all track notes off" (===) and
                      "all channel notes off" (###) events intact
       Tracker: fix: param events were not sent when param-specific device was set
                       and instrument device was invalid
       Tracker: fix: "cursor sometimes temporarily stuck at last row after switching to node" issue
       Tracker: add: Monitor pattern clipboard importer (auto-creates tracks/instruments/params)
       Tracker: add: pattern length can now (optionally) be set in beats/bars (lctrl-l)
       Tracker: add: support new "Com: Offset Queued" and "Com: Length Queued" RPNs
       TrigSeq: add: support "Com: Run" RPN

    20170618
     AudioTool: add "SXT" wav slicer and autolooper (input=wav, output=wavs + Reason NNXT patch)
     AudioTool: add "SDS" sample uploader and AnalogRytm samplechain/varichain/kit generator+uploader
          Midi: fix bug that prevented polyphonic pressure events from being recorded from external MIDI input
       MidiMon: fix bug that could cause discarded events to crash the app
       MidiMon: add option to show events after morph-scene transformation
       MidiMon: don't clear events when play pattern has changed
    MorphScene: fix: conversion from poly to channel pressure resulted in static value
          Push: add "kbd" mode
                 (play notes with push pads, configurable mode/key/octave/row_add/shiftx settings)
          Push: add PUSH_MODE and PUSH_TOGGLE_KBD global midimapcontext targets

    20170607
       PipeMap: make node / pipe visible (via scroll offset) after they've been created
     Prophet12: add multi-edit feature
                 (hold down LALT to multi-edit osc/env/lfo/delay 1..4 params)
     Prophet12: patchmorpher: extended param range flags are now ORd (instead of interpolated)
       Tracker: "up" key now works as expected in "add column dialog" when "Filter" textfield is focused
       Tracker: polystep RPNs are now parsed in both "record" and "play" frames
                 (e.g. when they are generated by a modmatrix node that is controlled by external MIDI input)
       Tracker: add "Trk: Slide Base Note Off" RPN
       Tracker: pattern did not reset properly in ARP mode when CTL_SEEK was used simultaneously

    20170605
     ModMatrix: script editor dialog is now resizable
     Prophet12: fix vertical size related layout issue
       Tracker: fix raster recording mode (was completely broken in previous releases)
       Tracker: fix MIDI note recording issue (after two pattern loops)
       Tracker: lctrl-lshift-a to quantize block (no block = all steps)
       Tracker: lctrl-a now selects none if there already is a selection
       Tracker: rename "clear block" to "free envelope(s)" (lshift-f3)
       Tracker: '\' ('<' on german kbds) now clears block when there is a selection
       TrigSeq: implement "MultiTrack Polystep" output mode
       TrigSeq: implement "Mute Temp" output mode
       TrigSeq: implement "Pattern Change + Offset" output mode
       TrigSeq: output mode can now be overridden per track
       TrigSeq: output device+channel can now be overridden per track
       TrigSeq: add per-track microtime shift
       TrigSeq: lshift-x/c/v to cut/copy/paste track to/from track clipboard
       TrigSeq: lshift-w to force step play (current track only) (even when muted)
            UI: fix combobox item tooltip positions

    20170528
      Arranger: start current loop when reaching the end of the previous loop (after loop has been edited)
      Arranger: implement snap-to-grid (can now be turned off)
      Arranger: 'l' now aligns selected clips to grid
      CtlMorph: update "internal" synth profile
                 (the previous release accidentally contained an old version w/o the "Morph Pat" RPN entries)
      CtlMorph: morph ranges are now freely configurable (offset / range / position RPNs + UI widgets)
      CtlMorph: add cyclic morph generator dialog (offset / range) (replaces hardcoded 1a..1d, 1a..2d, .. ranges)
      CtlMorph: fix controller table layout issue
          Docs: add Proxy node documentation
          Docs: add TrigSeq keyboard shortcuts
          Docs: add several missing shortcuts
      MIDIPipe: fix MIDI cache clear bug (128 instead of 16384 (N)RPN states were cleared)
     Prophet12: improved patch morpher
                 (fixed some bugs regarding modmatrix and character section interpolation)
     Prophet12: "Transform" / RT morph configuration is now saved in the project file
     Prophet12: lctrl-c/v/n to copy/paste/init patch
     Prophet12: HOME/END to select next/previous patch
     Prophet12: LMB-click on "Patch Nr" label-button to select next bank,
                 hold-click to select first project-specific patch (P17 P1)
         Proxy: morph ranges are now freely configurable (offset / range / position RPNs + UI widgets)
       Tracker: add replace mode to envelope view (when checked, only existing events will be modified)

    20170523
     - first public release