Arranger: change: show 10% more than selection size (dont place timeline cursor at screenborder)
      MIDI: add: yamaha_fs1r MIDI synth profile
  PagePipe: add: focus name widget with lctrl-x u or lshift-n
   PipeMap: fix: save/restore correct suggested pipe preset filename
    Replay: fix: Node.handleReplayTick() was only called by Tracker node (fixes Linnstrument pad colors, among other things)
    Script: Linnstrument Arranger: fix "send configuration" (timing / event flush)
    Script: Linnstrument Arranger: change split point from 12 to 7 (more space for pattern pads)
    Script: Linnstrument Arranger: change default configuration to , ..
    Script: add: 'ptfx' preset (protracker-like effects) (16x slide/env+lag+LFO) (also added "ptfx" pipe preset) 
     SysEx: add: Yamaha FS1R editor
   Tracker: fix: piano widget layout
   Tracker: fix: remote(VST) param name reverted to "remote param " after reloading project
   Tracker: fix: disable param widgets after instrument with no params was selected while instrument editor was hidden
   Tracker: fix: update instruments table when dev or ch changed
   Tracker: fix: common CC import (inherited synth profile controllers)
   Tracker: fix: cel styles+ranges for imported params
   Tracker: fix: a thousand-fold speed optimization of block-copy operations (also affects rotate, reverse, tap-mode, etc)
   Tracker: change: CTL_MUTE (step-mute) now auto-resets after 4*dur_scl*value ticks (i.e. 4=1/16 by default)
   Tracker: change/fix: insert/delete events on all tracks in 'pattern' block mode (DEL/INS keys w/ lshift and/or lctrl modifier)
   Tracker: add: params context menu: add generic 1..4 CCs import option
   Tracker: add: global and per-track chance / probability modifiers (internal RPNs 700..716)
   Tracker: add: 'random' block interpolation mode (first/last selected step values = min/max)
   TrigSeq: add: toggle MIDI recording mode with lctrl-x RCTRL (no note-to-track unmapping when disabled)
   TrigSeq: add: global and per-track chance / probability modifiers (internal RPNs 700..716)
   TrigSeq: add: mod1+mod2 can now be shifted 'n' ticks ahead (to counter CC smoothing on certain synths, e.g. Rytm and Cycles)
        UI: add: filedialog: disable cursor key tab cycling (left/right)
        UI: add: filedialog: cycle auto-completions with TAB key w/o showing auto-completion dialog

 All Nodes: fix: when node editor is entered via prev/next node, ESC leads to PagePipe
 All Nodes: fix: lshift-numpad-1..9 keys don't work in pattern manager (used pattern selection)
 All Nodes: add: show pattern names in pattern combobox (long options)
 All Nodes: add: remember last saved/loaded node preset name per node
 All Nodes: add: properly detect octave-spread chords, e.g. c-4, e-5, g-6
 All Nodes: add: speaker icon is now clickable (mute/unmute node or pipe)
AnalogRytm: add: support firmware v1.50 (kit+pattern v4)
AnalogRytm: add: "r" / "w" minishell cmds (peek, poke kit or pattern byte, tab dependent)
AnalogRytm: add: kit / sound editor (with preset support)
AnalogRytm: add: note redirect modes (IO tab) (Chroma, Trig)
AnalogRytm: add: redirect pressure option
AnalogRytm: fix: midiInStop() related pipe process issue in sample/kit uploader ("audiotool")
  Arranger: fix: select clip after creating it
  Arranger: fix: lmb-click in draw mode on existing pattern should select it
  Arranger: fix: loop starts one tick too late
  Arranger: fix: pattern editor start offset is wrong when pattern edit was started at offset
  Arranger: fix: fix rare crash/freeze issue when moving between clips (CalcTicks() threading issue)
  Arranger: chg: remove Push mode (obsolete now)
  Arranger: chg: in grid cursor mode, update song offset when moving left/right and replay is not running
  Arranger: add: "New Track Dialog" (auto-create pipe+node, load preset, auto-assign automation port)
  Arranger: add: make RMB-click edit-pattern work in all edit modes
  Arranger: add: hold lctrl while creating clip(s) to assign unused pattern number, lshift to alloc "sub" pattern
  Arranger: add: lazy-allocate pattern(s) when creating clip(s) (e.g. lctrl-n)
  Arranger: add: set left locator with lctrl-x l / right with lctrl-x r
  Arranger: add: select prev/next used pattern nr with lctrl-lshift HOME/END
  Arranger: add: when multiple clips are selected and left/right is pressed, find leftmost / rightmost clip
  Arranger: add: auto-reorder tracks according to pipemap occurence
  Arranger: add: set edit offset to start when LEFT/RIGHT is pressed and there are no clips
  Arranger: add: when entering (master) arranger editor, set edit offset to play offset
  Arranger: add: when muting arranger via RPN_COMMON_MUTE_TEMP, forward mute state to currently playing nodes
      Auto: chg: remove "Auto" node type
    Buffer: fix: don't delete incoming frame events when buffer input device is not enabled
    CtlTag: fix: ESC does not work when page is entered via navigation bar button
      MIDI: chg: update AnalogRytm profile and add track NRPNs
      MIDI: add: sort all device comboboxes by name
      MIDI: add: Linnstrument: encode devidx in node notifications so multiple devices can be used simultaneously
      MIDI: add: sort MIDI synth profiles by name
 ModMatrix: fix: errors while re-parsing generated script (e.g. "cc#001 (modulation msb)")
 ModMatrix: fix: copy poly+event flags when copying patterns
 ModMatrix: fix: after editing macro name (and pressing enter), ESC selects Pipe page instead of PipeMap
 ModMatrix: chg: keep pattern name after clear
 ModMatrix: add: curve mapping (four cubic bezier curve look up tables per pattern)
 ModMatrix: add: song pos ticks src type ("ticks")
 ModMatrix: add: moddiv op,  dst= (arg1 % arg2) / arg2
 ModMatrix: add: curve bpm preset
 ModMatrix: add: BPM src/dst arg type
 ModMatrix: add: configurable tick modulo that reduces CPU usage in non-event driven (per-tick) mode
   Monitor: fix: when entered via prev/next node, events don't update
   Monitor: fix: CC tooltip does not show inherited parameter name (remote msp)
   Monitor: chg: when filtering redundant ctl changes, don't filter RPN (don't filter RPN_COMMON_NODE_RESTART)
   Monitor: add: pattern list table where double-click plays pattern (once)
   Monitor: add: [x] auto-restart when pattern is selected (e.g. for triggering chords)
   Monitor: add: (re-)start recording with RSHIFT (clear+select play/rec frame)
   Monitor: add: set input filter from first frame event ('f')
   Monitor: add: clone pattern to next (sub) ('n', lshift-n)
   Monitor: add: automatic chord detection (checkbox) (updates pattern name)
   Monitor: add: optionally auto-clear pattern when first note is received after last note timeout
   Monitor: add: show pat notes on virtual kbd
   Monitor: add: show armed mode in pipemap (armed when != REPLAY)
   Monitor: add: "Sync with Replay" option (Play tab)
   Monitor: add: "FrameRec+Play" recording mode (record from both rec+play frames)
  PagePipe: add: show automation ports ("Auto" column)
   PipeMap: add: toggle node arm-for-record via RCTRL
   PipeMap: add: "New Track Dialog" (auto-create pipe+node, load preset, auto-assign automation port)
   PipeMap: add: show automation ports when node is selected via kbd or mouseover
   PipeMap: add: show incoming ctl info (STConfig.b_pipemap_show_ctl_info)
   PipeMap: add: (re-)start global recording with RSHIFT (auto-create undo states and (re-)start precount)
    Replay: fix: don't double-merge sysex events
    Replay: chg: store ctl values (incl. velocity) as floats
    Replay: chg: change RPN_COMMON_MUTE_TEMP to boolean (mute/unmute node)
    Replay: chg: remove RPN_COMMON_MUTE and RPN_COMMON_MUTE_TOGGLE
    Replay: add: toggle replay with  (for notebooks w/o numpad)
    Replay: add: "Send initial pattern selection" option (STConfig.b_node_send_pattern_prgchg_when_replay_starts)
    Replay: add: multi-track SMF export (SMF format 1)
    Replay: add: export SysEx events to SMF
    Script: add: Soundtracker / Protracker mod file exporter script
    Script: add: autochorder preset ("jazz hands")
    Script: add: add note_on_pre delegate
    Script: add: periodically update UI widgets from param vars
    Script: add: Linnstrument Arranger: "send configuration" button and "arranger"/"default" preset selection
    Script: add: Linnstrument Arranger: select node in pipemap when pattern is selected
    Script: add: "clone dev ch" preset
   StepSeq: chg: remove StepSeq node type
     SysEx: fix: silently skip project-specific MIDI profile data if it can't be loaded (e.g. patch size changed)
     SysEx: fix: send entire patch when first proxy program change occurs (generic synth editor)
     SysEx: add: init_bank  minishell cmd
   Tracker: fix: prevent double-processing in blockIncDecCurrentCtl() (when multiple cels show the same ctl)
   Tracker: fix: program change flooding (reset CTL_INSTR injection at end of tick)
   Tracker: fix: call instr.handleSelect() only while replay is running
   Tracker: fix: don't play zero-length pattern
   Tracker: fix: only map any performance ctl to dest instr when node editor is visible
   Tracker: fix: update chord detection when zoom changes
   Tracker: fix: Monitor import: importing prgchg-only sequence does not work with multiple automation ports
   Tracker: fix: fix note res info for notes <1/256 (i.e. 1/384, 1/768)
   Tracker: chg: remove Push support
   Tracker: chg: update trigseq pattern import (mod1+mod2, CHROMATIC output modes)
   Tracker: chg: change lctrl-lshift-PAGEUP/DOWN to "move to next/prev parent arranger clip start"
   Tracker: add: Monitor import: when creating params, use midisynthprofile name/range/cel style when available
   Tracker: add: Monitor import: convert RPN_COMMON_UI_PRGCHG to regular program change when recording controllers
   Tracker: add: Monitor import: import pattern name
   Tracker: add: Monitor import: set auto-created instrument name to device name+ch
   Tracker: add: remember last selected param (and select in table)
   Tracker: add: timescale_curtrack [=2] minishell cmd
   Tracker: add: timescale_alltracks [=2] minishell cmd
   Tracker: add: scale_ctl  minishell cmd
   Tracker: add: record to multiple (tracker) nodes
   Tracker: add: import CTL_BPM from .mid (S1 exported tempo map / beat map)
   Tracker: add: (preliminary) audio tracks (autocalc sample starts. for use with "Eureka" sampler)
   Tracker: add: init_audio minishell cmd that initializes sample patterns+instruments
   Tracker: add: instrument auto-name flag + update name when dev changes
   Tracker: add: "Start Recording" / "Continue Recording" pulldown menu entries (Replay menu)
   Tracker: add: make initial pattern length configurable (STConfig.node_tracker_initial_pattern_length_16th)
   Tracker: add: (toggleable) piano widget
   Tracker: add: pulldown menu entries for toggle alt cel view kbd shortcuts (lctrl-x p, lctrl-x [)
   Tracker: add: optionally swap swap lshift-insert/delete behaviour (lctrl-x DELETE)
   Tracker: add: edit-pattern-follows-replay-pattern mode (lctrl-x INSERT)
   Tracker: add: show active edit modes next to note symbol
   Tracker: add: Import AnalogRytm: clear all tracks (including first one) before import
   Tracker: add: Import AnalogRytm: import microtiming
   Tracker: add: Import AnalogRytm: single-channel import mode (create only one instrument)
   Tracker: add: toggle both ignore prgchg + follow replay pattern with lctrl-lshift-space ("follow arranger")
   Tracker: add: handle multi-pattern-sequence recording
   TrigSeq: fix: trackdialog: button color is not updated after changing track color
   TrigSeq: chg: bg-record from "rec_dev" only when record enable checkbox is in mixed state
   TrigSeq: chg: always undo during recording (don't redo, e.g. when discarding last take)
   TrigSeq: chg: change mute note (automation port) to mute_flip note
   TrigSeq: add: customizable key-to-track unmapping
   TrigSeq: add: separate mute and repeat recording options
   TrigSeq: add: show context menu on RMB-hold 
   TrigSeq: add: add unfoldable detail-edit view ("stepdetails")
   TrigSeq: add: add mod1+mod2 step parameters and assignable ctl outputs
   TrigSeq: add: update / add presets (D16, StiX, Analog Rytm multich, ..)
   TrigSeq: add: skip empty (play_len == 0) tracks when moving to prev/next track
   TrigSeq: add: "" forced output / forced mod output device option
   TrigSeq: add: hold lshift or lalt to paint mod1/2 values
   TrigSeq: add: trackdialog: show track names in timing track long options
   TrigSeq: add: trig-less mod/arg2-only trigs
   TrigSeq: add: support "arm for recording" via pipemap
   TrigSeq: add: OUT_CHROMATIC mode where arg2=note
   TrigSeq: add: OUT_CHROMATIC_MONO mode with accent+slide
   TrigSeq: add: per-pattern configurable pitchbend up/down range
   TrigSeq: add: send fractional note number as pitchbend (when pitch range is != 0)
   TrigSeq: add: default_note_duration offset (per pattern)
   TrigSeq: add: inc/dec track default_note_duration kbd shortcuts (lalt-LEFT/RIGHT)
   TrigSeq: add: arg2 note step recording mode (hold LCTRL and play MIDI notes, e.g. for 303-like patterns)
   TrigSeq: add: force note step recording while sustain pedal is pressed
   TrigSeq: add: new MIDI map targets (undo, toggle rec, clear track*, clear all tracks*)
   TrigSeq: add: increase arg1 (usually velocity) detail (float precision)
   TrigSeq: add: HW interface plugin support
   TrigSeq: add: Linnstrument HW interface plugin (user firmware mode)
   TrigSeq: add: honor recording latency setting
   TrigSeq: add: per-pattern quantization offset
   TrigSeq: add: per-track velocity scaling RPNs (see "internal.msp")
   TrigSeq: add: per-track mute RPNs / mute permanently
   TrigSeq: add: Analog Rytm pattern import (lshift-F7)
   TrigSeq: add: add master_len_16th pattern setting (for polymetric patterns)
   TrigSeq: add: edit-pattern-follows-replay mode (lctrl-lshift-space) ("follow arranger")
   TrigSeq: add: "Pattern Output Channel" unmap mode (e.g. for Analog Rytm)
   TrigSeq: add: "analog rytm multich" preset
        UI: fix: update BPM display when BPM is edited on PageProject
        UI: add: minishell DOWN key (autocomplete, same as TAB)
        UI: add: minishell autocompletion: match cmd name substring
        UI: add: show channel (profile) names in MIDI channel selectors / comboboxes
        UI: add: sort node types by name (new node page)
        UI: add: screenshot function (lalt-PRINTSCR)
        UI: add: "Mono" color scheme

 All Nodes: add: clickable edit/play pattern numbers (show combobox)
 All Nodes: add: toggle external clock mode with RPN_COMMON_EXTCLK (570)
 All Nodes: add: draw mute icon in top/right corner when node or pipe is muted
AnalogRytm: fix: remove implicit automation ports to prevent nodes from being detected by Arranger
  Arranger: fix: disappearing track names (layout issue)
  Arranger: fix: preserve mute states when toggling track solo
  Arranger: fix: never queue empty pattern change while timeline is muted
  Arranger: fix: force-remove timeline track even if it still has clips but the target node has been deleted
  Arranger: fix: don't reset loop to canvas size when timeline is muted and marker playmode is active
  Arranger: chg: up/down in selection cursor mode: find clip directly above/below
  Arranger: chg: 'v' to insert snapshot of currently playing pattern (current track only)
  Arranger: chg: 'INSERT' to insert silence on all selected tracks in selection cursor mode 
  Arranger: chg: insert silence before pasting clipboard at existing clip start
  Arranger: chg: when pasting play snapshots on all tracks, only insert silence if snapshot does not fit
  Arranger: chg: align edit offset to grid when stopping replay at cursor (lctrl-space)
  Arranger: chg: change lshift-d (toggle follow) to lctrl-lshift-f
  Arranger: add: lshift-c to loop selected clip and set edit offset to loop start
  Arranger: add: x/y grid cursor mode ('x' toggles it)
  Arranger: add: lctrl-x left/right to move selected clip(s)
  Arranger: add: lctrl-x up/down to resize selected clip(s)
  Arranger: add: track mute/solo kbd shortcuts ('d', 's')
  Arranger: add: lctrl-up/down to select clips at edit offset (all tracks)
  Arranger: add: lshift-space to queue replay offset while replay is running (similar to lshift-click)
  Arranger: add: dbl-click anywhere to queue replay offset (+start replay)
  Arranger: add: lazy-start playing when marker clip is selected via RETURN
  Arranger: add: lshift-z to toggle y-expand-selection mode
  Arranger: add: 'z' to switch between regular track and marker track
  Arranger: add: lctrl-lalt-left: go to previous marker
  Arranger: add: lctrl-lalt-right: go to next marker
  Arranger: add: highlight empty clip patterns
  Arranger: add: lctrl-x e to toggle edge-selection mode (move to clip start/end when enabled)
  Arranger: add: lshift-d to toggle unmute all tracks
  Arranger: add: scratchpad timeline (toggle with lctrl-x s)
  Arranger: add: utility fxn to set clip length(s) to node pattern length(s) (lctrl-x a)
  Arranger: add: "calc_start_offsets_relative_to_first_clip" minishell cmd
  CtlMorph: add: modulate entries with RPN_CTL_x (100..115)
  CtlMorph: add: delete/insert/move entries via keyboard
  CtlMorph: add: query remote params (e.g. "Add Remote ModMatrix controllers") (Eureka host)
  CtlMorph: add: hold LALT when changing entry dev or dev_ch to update all matching entries
  CtlMorph: add: query RPN_CTL_n destination parameter names and create tags (Eureka host) (lctrl-t)
  CtlMorph: add: query RPN_CTL_n destination parameter values (Eureka host) (lctrl-f)
  CtlMorph: add: query RPN_CTL_n destination parameter names+values (Eureka host) (lctrl-e)
  CtlMorph: add: copy/paste entry with 'c', 'v'
  CtlMorph: add: copy/paste group with lshift-c, lshift-v
  CtlMorph: add: select prev/next group with lctrl-x LEFT/RIGHT
    CtlTag: add: lctrl-q to query remote (Eureka host) modmatrix params
      MIDI: add: "remove_unavailable_in_devs" minishell cmd (PageMidiDevs)
      MIDI: add: "remove_unavailable_out_devs" minishell cmd (PageMidiDevs)
 ModMatrix: add: "sub" op
 ModMatrix: add: linear/sqrt/cos/pow pan ops
 ModMatrix: add: "negharmony" op
 ModMatrix: add: "pitchbend region (2)" preset
 ModMatrix: add: "randomize velocity v2" preset
 ModMatrix: add: "note probability v2" preset
 ModMatrix: add: "crossfade 2xout linear modwheel" preset
 ModMatrix: add: "crossfade 2xout linear modwheel invert" preset
 ModMatrix: add: "crossfade 2xout linear pitchbend" preset
 ModMatrix: add: "crossfade 2xout linear pitchbend invert" preset
   Monitor: fix: SysEx recording + playback
   Monitor: add: adjustable sequence start offset (16th) ("replay shift")
   Monitor: add: toggle replay mode with lctrl-x c (same as rctrl)
   Monitor: add: clear events with lctrl-x e (same as lshift-BACKSPACE)
   Monitor: add: cycle seek modes with lctrl-x s
   Monitor: add: queue marker with 't' (in recording mode)
   Monitor: add: delete events left of marker with 'l' or lctrl-x DELETE
   Monitor: add: 'u' to clear events and activate "framerec" mode
   Monitor: add: 'h' to delete events left of marker and go to next pattern
   Monitor: add: auto-marker mode (set marker at first note after silence)
   Monitor: add: "note" seek type
MorphScene: add: send RPN_PRE_SCENETARGET_A..H on target port of first entry when scene is selected
                  (can be used by script nodes to change i/o ports)
MorphScene: add: "group_swap" minishell command
MorphScene: add: "scene_swap" minishell command
MorphScene: add: (optionally) auto-select morph scene when MIDI map context is activated
PatternMgr: add: 'DELETE' to delete pattern
   PipeMap: fix: next/prev used patnr selection when current patnr is --/
   PipeMap: add: improve cursor up/down navigation when pipe spans multiple rows
     Proxy: add: bank+patch select comboboxes, dest.amount floatparam
    Replay: fix: output-transform input events even when "echo" mode is disabled for a device
    Replay: chg: don't send reset (allnotesoff) when replay is stopped via lshift-numpad enter
    Replay: chg: TRACKER_RECORD_USRCTLx (2180..2195) is now RPN_CTL_x (100..115)
    Replay: add: (N)RPN MSB/MSB+LSB send modes (per device, controlled via synth profile "dataEntryMode" attribute)
    Script: add: "seq/rpn prgchg quantization" and "seq/quantized pattern restart" presets
                  (e.g. for postponing pattern changes until end of beat or bar)
    Script: add: "ev/vector fade (radias)" preset
    Script: add: octave up/down soft buttons in Linnstrument preset (bottom left pads)
    Script: add: channel presets in Linnstrument preset
    Script: add: Akai MPK49 pitchbend message fix preset (in 3, external MIDI) (it's a known issue)
     SysEx: add: add generic, MIDI synth profile based synth editor
     SysEx: add: Novation Peak editor (via synth profile + generic synth editor)
     SysEx: add: Korg Radias editor (via synth profile + generic synth editor)
     SysEx: add: midi tuning editor dialog (MIDI Tuning Standard)
     SysEx: add: Black Corporation Deckard's Dream editor (via synth profile + generic synth editor)
     SysEx: add: show only one editor per device
   Tracker: fix: update instrument name after undo/redo
   Tracker: fix: seek to edit offset when replay stops
   Tracker: fix: missing ctltag (N)RPN names in combobox options
   Tracker: fix: step-play (RETURN) when editor is invoked from Arranger
   Tracker: fix: ignore (arranger) seek when starting replay from pattern editor
   Tracker: fix: remove upper limit clipping for CTL_DURn
   Tracker: chg: when CTL_DURn exceeds 255, display as ">>" instead of "??"
   Tracker: chg: double-pattern shortcuts to lctrl-p / lctrl-lshift-p (instead of o)
   Tracker: chg: re-init track layout when importing Monitor sequence and there's only one pattern
   Tracker: chg: handle unipolar / bipolar 14bit and remote/VST value scaling separately
                     e.g. 255 maps to 16320 in 0..255 mode and to 16383 in -128..127 mode
                       M0_127: 64=0.503, 127=1.0
                      M64..63: 64=0.5, 127=1.0
                       M0_255: 128=0.501, 255=1.0
                     M128_127: 128=0.5, 255=1.0
   Tracker: chg: remove upper limit clipping for CTL_DURn
   Tracker: chg: display CTL_DURn values >255 as ">>" instead of "??"
   Tracker: add: auto-add note-cels and tracks when importing Monitor sequences with more than 5 active notes
   Tracker: add: improve "manage cels" dialog (change layout, improve keyboard navigation)
   Tracker: add: auto-spread notes to multiple tracks ("Spread" recording mode)
   Tracker: add: improve RPN_TRACKER_RECORD_USRCTLn handling and add asymmetric mode
   Tracker: add: show effective output values when editing instrument param reset value
   Tracker: add: improve keyboard focus behaviour in instrument editor
                  + focus param list after param editing
                  + focus instrument list after instrument name / bank / prognr / pitchbend editing
                  + add tabcycle override after creating new instrument (focus name, dev, ..)  
   Tracker: add: envelope-view: fine-tune ctlpoint y-position in line/curve mode by holding LMB down + mouse drag
   Tracker: add: edittracklayoutdialog: "Group By Note+Vel+Dur" utility fxn
   Tracker: add: edittracklayoutdialog: "Auto-Add Cels (Auto-Layout)" utility fxn
   Tracker: add: edittracklayoutdialog: "Reset Layout" utility fxn
   Tracker: add: cel styles HI_NIBBLE, LO_NIBBLE
   Tracker: add: toggle all pattern cel vel+dur styles with lctrl-x p
   Tracker: add: always record note on velocity during realtime record (but not framePlay)
   Tracker: add: import modmatrix params from remote (Eureka host) (via ctltag)
   Tracker: add: import params from synth profile
   Tracker: add: add "Import Performance Ctls" utility fxns (instrument view param table context menu)
   Tracker: add: after deleting param, move table cursor to previous param if there's no next
   Tracker: add: alternative cel styles, toggle with lctrl-x [
   Tracker: add: RPN_COMMON_SPEED_SYNC_RATE controller (auto-sync speed modulation back to 1x)
   Tracker: add: "rand_ctl_abs" minishell command
   Tracker: add: "rand_ctl_delta" minishell command
   Tracker: add: "rand_ctl_rel" minishell command
   Tracker: add: "neg_harmony" minishell command
   TrigSeq: fix: soft-crash when pattern is null
        UI: fix: lots of layout / text positioning fixes
        UI: fix: mouse-cursor related crash when toggling fullscreen mode
        UI: fix: popupmenu submenu position near window borders
        UI: chg: show tooltips in screen corners by default (can be changed in synergy_config.tks)
        UI: chg: use flat look (no button borders) by default
        UI: add: kbd shortcut for switching between Eureka and Synergy (lctrl-x x)
        UI: add: add alternative "dark" theme
        UI: add: color grading post processing shader
        UI: add: interactive mini-shell in statusbar textfield (page dependent commands with auto-completion) (lctrl-`)
        UI: add: page navigation toolbar (+ get rid of "start" page)

      MIDI: add: joystick support (via virtual MIDI input devices)
      MIDI: add: Microsoft XBOX 360 joypad MIDI synth profile
      MIDI: add: Logitech G27 racing wheel MIDI synth profile
      MIDI: add: FrSky Taranis X9D RC MIDI synth profile
MorphScene: chg: copy'n'paste scenes via lctrl-lshift-c/v instead of lctrl-c/v
MorphScene: add: multiple table selection / copy'n'paste entries (lctrl-c/v)
MorphScene: add: multi scenes
MorphScene: add: send global RPN event(s) when scene or multi-scene is selected
    Replay: chg: emit poly-pressure events _before_ note on
   Tracker: chg: toggle play/arp views with lctrl-x tab instead of lctrl-x x
   Tracker: add: event timing view (toggle with lctrl-\ or lctrl-x x)
   Tracker: add: timingview: auto-double width/height options
   Tracker: add: timing view move-lock (toggle with lctrl-lshift-\ or lctrl-x lshift-x)
   Tracker: add: zoom in/out with lctrl-WHEELUP/DOWN
   Tracker: add: lshift-RETURN to play/cycle single (chord-)notes
   TrigSeq: fix: track setup tabcycle order
   TrigSeq: add: track setup mini kbdfocus cyclelists (a,c,d,f,j,.. keys)
   TrigSeq: add: velocity jitter (%) (per pattern and per track)
   TrigSeq: add: pattern-global microtime jitter offset
   TrigSeq: add: note-name profiles (see midi_note_names/ directory)
   TrigSeq: add: per-pattern and/or per-track note-name definitions (note output modes)
   TrigSeq: add: Superior Drummer 3 note-name definitions (clean/dry)
   TrigSeq: add: Synergy note-name definitions
   TrigSeq: add: Groove Agent 4 note-name definitions (alt/indie + electronic)
   TrigSeq: add: DSI Tempest note-name definition (custom)
   TrigSeq: add: Elektron Analog Rytm (perf.channel) note-name definition
   TrigSeq: add: colorize forced-out widgets (darken when not enabled)
        UI: chg: reduce number of relayout passes when node editor is shown
        UI: chg: force relayouting of all node editors when window is resized
        UI: add: wrap try..catch around every UI callback
        UI: add: searchable comboboxes
                  (type to show filter in popup dialog)
                  (return to cycle through multiple choices or select unique result)
                  (UP to hide filter textfield and refocus option table)

      MIDI: add: increase default number of virtual MIDI devices from 8 to 16
      MIDI: add API to generate midimap events from pipe nodes
 ModMatrix: add: midi channel is now configurable when macro "n" dev is selected
 ModMatrix: add: * midi channel selection (match all channels)
MorphScene: add: hold-click "Add" to replace input event
MorphScene: add: increase number of scenes from 4 (A..D) to 8 (A..H)
   PipeMap: chg: move cursor to next pipe after deleting pipe
 Prophet12: fix: morph layout (broken in last release)
    Script: fix: crash when assigning non-delegate function to delegate
    Script: add "mono_poly*" channel cycle scripts
    Script: add latch brightness preset (linnstrument) ("mpe_latch_cc")
    Script: add linnstrument arranger and fader preset ("linnstrument arranger", see docs)
    Script: add: OnSaveState(Stream ofs) callback
    Script: add: OnLoadState(Stream ifs) callback
    Script: add: note to used patnr preset ("note_to_usedpatnr")
    Script: add: OnUIInit(XMLForm xfm) callback
   Tracker: fix: "remove cel" dialog crash
   Tracker: chg: RT recording: fallback to first visible note cel when cursor is placed on non-note cel
   Tracker: chg: when step recording, always record on current track (ignore filter)
   Tracker: add: filter mode that only looks at the midich (filter mixed state setting)
   Tracker: add "*mpe*" presets
   Tracker: add: holding lalt when editing instrument device and/or channel now updates all instruments
   TrigSeq: fix: support auto-noteoff for trackmute+globalmute+trackrepeat keys
   TrigSeq: fix: global repeat trigs (a-4) only worked when delayed by 1 tick
   TrigSeq: fix: global repeat trigs (a-4) in "Immediate" mode repeated all tracks
   TrigSeq: add: OUT_SINGLECH_NOTE_PROBABILITY output mode (arg2=probability in %)
   TrigSeq: add: per-track microtime jitter
        UI: set filename to project name before, and prj name to filename after saving
        UI: directory navigation related filedialog improvements 

    CtlTag: fix: pressing 'a' while editing a tag name 'a' opened the 'add' dialog
  Arranger: fix: start non-master arranger clip state recording at cursor position
  Arranger: fix: never auto-remove tracks that have clips
  Arranger: fix: redraw timeline after clip recording
  Arranger: never stop clips on currently recording tracks
  Arranger: chg: don't process autodev events when node is muted
  Arranger: add: cursor right after last clip: move to clip end
  Arranger: add: show marker clips in pattern manager (lctrl-x d)
    KeyMap: chg: don't process autodev events when node is muted

   General: move to 64bit / x64 (tested on Windows 10)
  Arranger: fix: rebuild device name (and alias) list when node is shown
  Arranger: fix: restore clip selection after editing clip node
  Arranger: chg: when starting selection with cursor keys, select upper or lower track
                     clip depending on cursor key (up/down)
  Arranger: change inc/dec patnr shortcut to home/end
  Arranger: change goto start/end shortcut to lshift-home/lshift-end (like in Tracker node)
  Arranger: add: display pattern/clip names in timeline
  Arranger: add marker track
             (editable markers/ranges)
             (auto assign pattern numbers to markers for autodev remote control)
             (assigned pattern patnr can be changed by selecting and editing its patnr)
             (marker name can be changed selecting a clip and editing its name)
             (also supports standard autodev note-to-prg mapping (c-3..))
             (marker play can be beat-synced via "Queue 16th" setting in "Play" tab)
             ('return' or double-clicking a marker queues it)
             (support RPN_COMMON_SEEK_OFFSET when launching marker clips from other arranger)
  Arranger: add arranger stack for easy navigation and editing of cascaded arranger setups
  Arranger: add note to arranger offset (marker) feature
  Arranger: add: zoom in/out with lshift-]/[ (+/) (like in Tracker node)
  Arranger: add: show tools menu with 'a'
  Arranger: add: focus grid size widget with lshift-a
  Arranger: add: when editing "Queue 16th", show bar/beat equivalent
  Arranger: add: cycle through play modes with 'p'
   MIDIMon: add: colorize events
   Monitor: chg: when clicking note (to play it), don't grab keyboard focus
                     (that prev/next frame can be select with cursor keys)
   Monitor: add: move frame left/right (lshift-left/right)
   Monitor: change "play frame" shortcut to 'w' (consistency with trigseq)
   Monitor: change "delete frame" shortcut to DELETE
   Monitor: change change "delete frame before current" shortcut to lctrl-DELETE
   Monitor: add "clear frame" shortcut (backspace)
   Monitor: add: open tools menu with 'a'
   Monitor: add: auto-merge and set fixed duration option (useful for editing chords)
   Monitor: add: save/restore merge millisec, fixed duration, fixed velocity settings per node
   Monitor: add: when appending new events during record->play->record,
                  add some time offset to prevent merge
   Monitor: add: frames can now be triggered with notes (auto-dev)
                  (STConfig.node_monitor_trigger_base_note (c-3 / 36))
   Monitor: add: trigger velocity modes (keep, replace, multiply, add)
   Monitor: add: lock/overdub current frame mode
                  (don't advance while recording)
                  ('l' or 'd' key toggles it)
      Push: add: keyboard mode: dual+quad split modes
    Script: fix: unresolved "module member not found" causes program to terminate
    Script: fix: constant value error when script is recompiled
    Script: add: boppad to trigseq script preset
   TrigSeq: fix: remove note from framerec when record dev+ch matches
   TrigSeq: fix: pasting pattern plays sounds
   TrigSeq: fix: don't record note duration (arg2) when recording is not enabled
   TrigSeq: fix: instance created during replay was not always in sync
   TrigSeq: fix: autodev notes were only working when recording device was enabled
   TrigSeq: chg: clear track trigs and repeats (and keep args+microtiming) (backspace)
   TrigSeq: add: timing track (added to per-track step microtimes)
   TrigSeq: add: timing track / groove presets (STConfig.groove_path)
   TrigSeq: add: clear track microtiming shortcut (lalt-backspace)
   TrigSeq: add: when drawing trigs with RMB, interpolate mouse position while LCTRL is pressed
                  (relative mouse y in step cell determines velocity)
   TrigSeq: add: pageup/pagedown: move cursor to next/prev track (groups of 4)
   TrigSeq: add: lshift-pageup/pagedown: inc/dec track len
   TrigSeq: add: lshift-home / lshift-end: goto first/last track
   TrigSeq: add: utility fxn to load arg2 identity (0..play_length-1)
   TrigSeq: add: paste track to all patterns utility function (lctrl-lshift-v)
   TrigSeq: add: undo/redo multiple patterns
                  (undo state is invalidated when pattern is changed)
   Tracker: fix crash after deleting node and replacing it with another
   Tracker: fix crash when toggling pattern manager / remark editor 
   Tracker: fix crash when undo timeout expires after node has already been deleted
   Tracker: fix crash in getCursorXAtPixel() when no track is visible
   Tracker: fix: instance created during replay was not always in sync
   Tracker: fix: delegate pitchbend (delegate_perf_events) to current instrument
   Tracker: change default note-off velocity to 64
   Tracker: add: highlight steps in external sync / polystep mode
   Tracker: add: inject_mute/inject_seek RPNs
   Tracker: add: VST param type (for use with the new work-in-progress Eureka DAW and metahost plugin)
                  (more on this later!)
   Tracker: add trk_rec_usr1..16 RPNS (redirected to current node / current track)
                 (then mapping your MIDI controller(s) to these RPNs makes it possible to
                  use a common controller setup in all tracker instances)
                 (when node is not currently editable (aimed for recording),
                   the RPN behaviour is the same as the inject_inject_usr1..16 RPNs)
   Tracker: add toggle zoom / step_resolution hotkey ('f' / ''' ('') keys)
                 (A/B zoom level is stored per node)
        UI: fix: array-out-of-bounds exception in TextView (e.g. ScriptNodeEditor)
        UI: fix: project page: bpm widget is not updated when bpm is changed via numpad
        UI: add: project i/o: auto-set last loaded / last saved project
                  (add "Auto-Update" checkbox right next to "L" and "S" button on config page)

 All Nodes: add: lctrl-g (jump to pattern) dialog is now available in all nodes (not only in tracker)
 All Nodes: add: when auto dev+ch is edited, indicate whether the setting is globally/locally unique
             (bgcolor of channel combobox; tooltip lists conflict details)
 All Nodes: add map targets for "used" pattern selection (MMT_SELECT_USED_PATTERN_1..16)
  Arranger: fix: first tick of TrigSeq pattern was not played when the node was previously muted
  Arranger: fix: selecting tracks with cursor up/down now skips empty tracks
  Arranger: fix: immediately resize timeline area after window has been resized
  Arranger: fix: when multiple clips are deleted, don't add deleted clip to new selection (fix crash)
  Arranger: chg: prefer intersecting clips when selecting clips with cursor up/down
  Arranger: chg: don't auto-scroll left/right when selecting clips up/down
  Arranger: add: highlight track label (red) that haven't been assigned a unique auto dev+ch
             (tooltip lists conflict details)
  Arranger: add: 'return' key or right mouse button click now edit first selected clip
  Arranger: add: lctrl-home to inc patnr of selected clips by 4
  Arranger: add: lctrl-lshift-home to inc patnr of selected clips by 1
  Arranger: add: lctrl-end to dec patnr of selected clips by 4
  Arranger: add: lctrl-lshift-end to dec patnr of selected clips by 1
 AudioTool: add -ow option
             (set separate wav output prefix, "*samples" to place in relative "samples/" subdir)
 AudioTool: add UVI Falcon (.uvip) patch generator
             (currently supports Sample, Stretch, Layer-per-Keygroup and Layer CC-Switch options)
 AudioTool: add wavetable mode (Serum-style 2048 frames/cycle wavetables)
             (resamples input wav cycles to match required wavetable cycle length)
 AudioTool: add "wavetable" preset
 AudioTool: add "split layered" preset
 AudioTool: add "multiloop c,d#,f#,a" presets
 AudioTool: add "single loop-only" preset
      MIDI: add Allen&Heath XONE K1 profile
      MIDI: add Akai MPK49 ControlBank B+C profiles
MorphScene: fix: source filter "range" and "split end": compare <= end instead of <end
MorphScene: fix: "remap" 127..0 should invert (e.g. Roland foot switch)
   PipeMap: fix: crash after node as moved to other pipe and previous pipe was deleted
   PipeMap: add 'edit pipe/node comment" to context menus
   PipeMap: add polystep_8ch and polystep_8ch_kong pipe presets
     Proxy: fix crash in showDataStatic() (prophet08 editor)
      Push: fix: when kbd mode is disabled, never map push events to outgoing device (note on, ..)
    Replay: fix: duration of note-on events was truncated to 15bit (32767 ticks)
    Replay: chg: increase replay thread priorities to realtime
    Script: add "Script" node type
    Script: add "chord detect" preset
    Script: add "gen mts tunings" presets
    Script: add: "ev/replace dev ch" preset
 StatusBar: chg: increase BPM widget precision (e.g. 129.72 instead of 129.7)
   Tracker: fix: untight recording due to use of UI song position instead of replay song position
   Tracker: fix: patternmgr: after pattern selection during replay,
                  pattern nr reverts when page is exited
   Tracker: fix: envelopeview: zero values not drawn correctly (invisible)
   Tracker: fix: envelopeview: wrong -64..63 range editing center (display y offset)
   Tracker: fix: don't process tap note input when node is not being edited
                 (unless "bg" recording is enabled)
   Tracker: add: send parameter reset values when instrument is selected manually
   Tracker: add: show current line chord name in status bar
                  (currently recognizes 102 different chords, e.g. "Sus4" or "Maj7No3_I2")
   Tracker: add "collapse" utility function (prepare pattern for "tap" mode)
   Tracker: add: automatically redirect AT/PAT/PB/MW/BC/Expr/Sostenuto/Sustain events
                  to current instrument dev+ch (STConfig.b_node_tracker_delegate_perf_events)
   Tracker: add PAT_COLLAPSE_AND_TAP midimapper action
   Tracker: add PAT_TAP_TOGGLE mode midimapper action
   Tracker: add collapse+start tap menu item+kbd shortcut (lctrl-t)
   Tracker: add PAT_RECORD_CONTINUE midimapper action
   Tracker: add: set pattern length to cursor (lctrl-lshift-l)
   TrigSeq: fix: highlight cursor got stuck after last track trig was deleted
   TrigSeq: fix: 'w' in edit mode always set first step
   TrigSeq: fix: show RMB context menu only when button was clicked,
                  not after hold-release (e.g. floatparam edit)
   TrigSeq: fix: record device / playstep not working until replay's been started
                  at least once (after creating new node)
   TrigSeq: fix: play repeat even if track has no trigs (external trigger)
   TrigSeq: fix: only process record dev+channel events when editor is visible
   TrigSeq: fix: store mute+repeat states in node so that they work across pattern changes
   TrigSeq: fix: update vertical scrollbar when cursor is moved
   TrigSeq: add: tracksetupdialog: MIDI learn track outputs (note + dev + ch)
   TrigSeq: add: configurable track name bgcolors
   TrigSeq: add: per-track roll/repeat keys (C-5..D#6)
   TrigSeq: add: per-track mute keys (C-7..D#8)
   TrigSeq: add: handle trig/repeat/mute/globalrepeat/globalmute notes on auto channels
   TrigSeq: add: indicate external trig/repeat/mute in UI (flash track nr bg)
   TrigSeq: add: save/restore cursor track and scroll offset
        UI: chg: enable FPS limiter by default (fixes high CPU/GPU load on certain systems)

 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)

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

      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: chg: send pattern ctl states after clipboard paste
  CtlMorph: chg: 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

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)

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: chg: 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: chg: 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

 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

   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

 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

  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)

 - first public release