Changes 7.4.76 -> 7.5.71:
* Windows: Finally fix unnecessary loading of LADSPA
  plugins during startup,  sometimes causing very
  long startup time.
* Gui: Put a dog on the logo.
* Mac: Swap the "option" and "command" keys. "option"
  is now mapped to "Extra" and "command" is now
  mapped to "Alt". We do this to make the keyboard
  behave the same on all three platforms.
* Mac: Map the "Fn" key to "Left Ctrl". (I.e. map
  both those keys to CTRL_LEFT,.
* Mac: Fix Right Alt and Right Ctrl keys.
* Keybindings: By default, make both "Alt" keys +
  Space play song from start, not just the right
  Alt key.
* Linux: Update BDWGC from 8.2.4 to 8.2.8.
* Audio: Optimize Smoothdelay some more. Smoothdelay
  is used all the time, so this might reduce general
  CPU usage in the DSP graph a little bit.
* Editor: Fix assertion reporter popping up if the
  two first velocities for a note are placed at the
  top of the block, and afterwards trying to move the
  start position of the note.
* Audio: Optimize patchbay plugin a little bit.
* Gui: Make it optional whether to position GUI
  elements to the last used configuration.
* Add NSM desktop keys to .desktop file. (grammoboy2)
* Editor: Fix too may entries inserted into the undo
  log when cutting range.
* Save: Fix saving song overwriting the last saved
  block instead of the current song.
* Fix various potential memory corruptions found by
  the thread sanitizer.
* Mac: Handle audio better in case of failure.
* Editor: Fix crash in some situation when first
  copying an FX subtrack, then copying a different
  track not having any FX, and finally pasting that
  track into an FX subtrack.
* Audio/Modulator: Allow lower bound to be higher
  than the upper bound, and vice versa. When we allow
  this, the signal is just inverted automatically,
  which can be handy.
* Audio: Fix deadlock in the Sampler and the
  Fluidsynth instruments when the system is extremely
  busy and the user tries to change instrument.
* Audio: Optimized the multi core scheduler. It now
  utilizes the last core better, plus some minor
  other optimizations.
* Audio: Removed buzy-looping. TODO: Remove the
  buzy-looping options from the preferences GUI as
  well.
* NSM: Fix sending correct pid to NSM.
* Preferences GUI: Add missing character "f" to the
  word "shift" (it was a typo!).
* Help: Minor fixes.
* Mac: Fix problems with the modifier keys stopping
  to work now and then.
* Faust: Fix note-release not working properly. Also
  added a compatibility mode to the song properties
  window, using the old behavior. Old songs will use
  the compatibility mode by default to ensure they
  sound the same.
* Faust: Fix some minor things.
* Mac/ARM: Put back note to the startup message that
  Apple's OpenGL library still crashes now and then,
  although far less often than before.



Changes 7.3.84 -> 7.4.76:
* Instruments: Fix current instrument changing
  automatically when playing song and switching
  between blocks. This was only a bug in the offical
  binary releases of Radium 7.3.84.
* Help: Minor fix
* About: Include Faust version in the about window.
* Mac/ARM: Fix deadlock happening when showing
  assertion reporter.
* Gui: Fix crash when exiting program and waiting for
  a plugins to finish running.
* JUCE: 7.0.3 -> 7.0.11
* Sequencer: Don't throw error if pasting automation
  from the clipboard where the two first nodes had
  the same time values.

  

Changes 7.2.89 -> 7.3.84:
* MacOS: Don't crash when loading files with
  certain non-ascii characters (e.g. Japanese) in
  their filename. (Possibly only a problem in very
  recent versions of MacOS.)
* Demo songs: New song called "Night comes" by Nay.
* MacOS: Workaround for strange trackpad behavior
  causing two-finger-touching a seqblock not always
  working.
* Instrument: Remove the "locked instrument" concept.
  (Yustin / Kmatheussen)
* Instrument: Never automatically change instrument
  when playing song when the cursor is moved to a new
  editor track. (Yustin / Kmatheussen)
* Instrument: Replace the "locked" checkbox with
  a "select" button.
* GUI: Remember window positions and so forth between
  sessions. (Akimaze) 
* Instruments Clarify what the "set new name" option
  does.
* Sequencer: Enable "Delete all selected" also when
  only one seqblock is selected.
* Sequencer: Remove the "Delete" popup menu entry
  since it was too similar to "Delete current".
  (It only differered for the behavior of assigned
  keybindings.)
* Automatically add extension to preset names if
  missing. (Akimaze)
* Faust: Use linear velocity->gain conversion for
  very low velocities so that gain can reach zero.
* Audio: Fix pops/scratches/clicks for quite silent
  sounds in the graph that were volume-boosted up
  later in the DSP graph. (Even the "Demo song" demo
  song suffered from this.)
* Build: Add option to use qwebengine instead of
  qtwebkit. (qwebengine has some shortcomings, but
  it can be convenient to use to avoid having to
  compile up qtwebkit.)
* Editor: Fixed coordinate calculation when dropping
  a file. (Akimaze)
* GUI: Option to use the alt key as a horizontal
  scroll modifier (in sequencer and mixer). (Akimaze)
* Faust: Update Faust 2.54.9 -> 2.70.3. (Yustin)



Changes 7.2.87 -> 7.2.89:
* Demo song: "Locrans Shop" made by Trumpetrespas.
* Editor: Add "Drums" to the "(click me)" menu.
* Fluidsynth: Replaced the default soundfont
  Orgue.sf2 with FluidR3_GM_drums.sf2. FluidR3_GM is
  made by Frank Wen. Trumpetrespas stripped it down
  to only include drums.
* Audio: Fix LV2 plugins (bug introduced in 7.2.87).
* Build: Fix having to run "make packages" twice/etc.



Changes 7.1.92 -> 7.2.87:
* Macos: Always enable incremental GC when running
  ARM. May improve scrolling performance in the
  editor.
* Sequencer: Fix "Delete" entry in seqblock popup
  menu.
* Build: Update bdw-gc from 7.4.16 to 8.2.4.
* Macos: Fix the ZL1 key again.
* Macos: Add support for LV2 plugins.
* Startup/Mac: Fix long startup time on Macos.
* OpenGL: Fix laggy editor interface after moving
  the main window to a screen with a different
  refresh rate.
* GUI: Paint thin black border around all
  checkboxes.
* GUI: Make the color of Mute buttons lighter if
  background color is too similar to the default
  mute color.
* Preferences: Option to turn off checking for
  abnormal signals. Might shave off a few CPU
  cycles.
* Add support for aarch64 CPUs, i.e. 64 bit ARM.
* Remote control: Disable access from other computers
  by default, i.e. only allow requests from
  localhost. Access from other computers can be
  enabled in preferences if needed.
* GUI/Preferences: Fix program not remembering
  "CPU friendly audio meter updates" between
  sessions.
* Demo songs: "Poptikus" by Nil Geissweiller /
  A-Lin (Europe). All instruments in this song are
  made with the FaustDev instrument.
* Build: Upgrade QScintilla from 2.10.8 to 2.14.0.
* Build: Fix build with gcc >= 11 and clang >= 15.
* Build: Various patches from Arch Linux.
* Build: Fix for building faust on Manjaro Linux.
* API: controlPortOpenForRemoteConnections,
  setControlPortOpenForRemoteConnections,
  getCheckAbnormalSignals, setCheckAbnormalSignals,
  gui_colorDistance


Changes 7.1.90 -> 7.1.92:
* Editor: Include the main editor-popup-menu into the
  bottom of the track-header popup menu.
* Edit: Button to "reverse song" (i.e. reverse all
  blocks). 
* Edit: Fix the functions to reverse notes. They
  weren't very good before.
* GUI: Highlight tab elements when mouse hovers
  above.
* GUI: Add JUCE version to the About-window.
* GUI: Increase default height of message window
  somewhat.
* MIDI learn: Fix incremental mode when recording
  automation to editor.
* API: backwardsSong.


Changes 7.1.89 -> 7.1.90:
* Editor: Fix sligthly wrong memory handling. Might
  have led to crashes sometimes after copying a
  range that contains stops, but only after the
  second time or later, and probably only in very
  rare cases. Bug introduced in V6.6.77.
* Midi Learn: Rough implementation of
  "incremental mode". The feature is likely to
  require some tweaking though.
* Sequencer: Make the song tempo automation popup
  menu less confusing.
* Sequencer: Fix gfx garbage in uppermost pixel row
  when song tempo automation is visible.
* Editor: Fix a possible, but if so, probably
  extremely rare, crash when creating undo for range.
  The bug seems to have always been there.
* Internal: Fix memory leak if trying to allocate
  very large memory blocks in realtime code.
* GUI: Attempt to fix Qt sometimes translating
  strings. (That's not supposed to happen since
  Radium is an English-only program.)
* Linux: Turn off crash reporter if radium couldn't
  start because of missing AM pitch shift plugin
  during startup. Only for custom builds though.
* Soundfile saver: Fix pressing "Save" if Qt
  has decided to translate the text "Save" to
  another language. Qt is not supposed to
  translate anything, but reportedly it has.
* Internal: Fix a bug in a function that divides two
  ratio numbers. The bug could in theory have caused
  all kinds of errors, but probably not.
* GUI: Decrease memory garbage collection time
  somewhat.
* API: instrumentEffectMidiLearnIsIncremental,
  setInstrumentEffectMidiLearnIsIncremental.



Changes 7.1.88 -> 7.1.89:
* Demo songs: Added "Test Automation" made by mward25.
* Sequencer: Fix moving seqblocks (and probably other
  things) not working when sequencer is inside the
  mixer and the mixer is displayed in its own window.
* Ladspa plugins: More detailed progress message
  during program initialization. May help track down
  why it sometimes takes so long time on Windows.



Changes 7.1.87 -> 7.1.88
* Instrument menu: Add "Assign to current editor track"
  option.
* Editor: Fix double-playing notes when scrolling up
  and down repeatedly on the same line and possibly
  other situations.
* Sample requesters: Also show files with mixed lower
  and upper case in file suffix, e.g. "sample.Wav"
* Sampler: Fix XI instruments not displayed in the
  embedded file browser.



Changes 7.1.86 -> 7.1.87
* NSM: Fix if "getenv" returns #f instead of empty
  string.
* Scheme: Fix converting character to string, which
  suddenly stopped working.
* Editor: Fix moving first velocity node, which
  sometimes behaved very strange.
* Editor: Fix holding shift not working to circumvent
  other notes limiting where a can be placed.  
* Sequencer: Fix clicking the seqtrack number
  creating an undo.
* GUI: Reduce default maximum number of menu elements
  that can be shown at once, from 200 to 100. 200 might
  fill up the screen and sometimes even freeze the
  program, at least if using fvwm.
* Fix tooltip for sequencer button in mixer. (akimaze)
* Fix compilation on systems with newer binutils dev
  files (yzzyx)



Changes 7.0.01 -> 7.1.86
* Macos: Don't warn during startup if operating
  system is too new to have been tested.
* Crashreporter: Make it clearer that a plugin
  most likely caused the crash if a plugin was
  processing when the crash happened.
* Macos: Compile with clang 15.
* Macos: Update LLVM from 10.0.1 to 15.0.6.
* JUCE: Update from 7.0.2 to 7.0.3.
* Upgrade faust 2.37.3 -> 2.54.9.



Changes 7.0.00 -> 7.0.01:
* Windows: Updated Qt to 5.15.7.
* Windows: Compile with GCC 11, and updated all
  included dlls.
* Windows: Fix crashreporter not including source
  files and line numbers. Use SymGetModuleInfo64
  and friends instead of libbfd.
* Manual: Remove some external links that could
  make the web browser crash. (qtwebkit must be
  patched manually to prevent it from trying to
  load plugins, it's easier just removing links
  to external web pages.
* S7: Updated 10.0 / 9-Dec-2021.



Changes 6.9.99 -> 7.0.00:
* Qt: Updated Qt to 5.15.6 on Windows and Mac.
* Qt: Updated Qt to qtbase-kde (5.15.6++) on Linux.
* JUCE: Update JUCE from 6.1.6 to 7.0.2:
  * VST3 plugins should work better on Linux.
  * LV2 plugins are supported. (Only enabled on
    Linux for now.)
* GUI: Significantly less CPU when drawing text.
* GUI: Use new logo designed by Andrzej "akimaze"
  KilijaƄski.
* Instruments/Editor: New "Window" called
  "Preset browser" to quickly try out and organize
  instrument presets. See
  https://github.com/kmatheussen/radium/pull/1383
  for more info. Show it by Selecting Help ->
  Beat features -> Preset browser. (akimaze)
* Mac: Replace the "Radium reset.app" with a
  "Radium reset.command" clickable shell script
  since the "Radium reset.app" app didn't always
  work on Macos Sierra or later.
* Load: Don't ask for plugin file when loading song
  and plugin is not available.
* Mac: Update startup warning message. The biggest
  problem on Mac seems to be issues with the keyboard
  now, not with OpenGL.
* Editor: Fix Left Alt + Up. For many release this
  function has been deleting previous note if that
  note ended on the current line.
* Editor: Fix backspace. For many release this
  function has been deleting previous note if that
  note ended on the current line.
* Export: Don't display assertion reporter when
  exporting single block. (akimaze)
* VST/VL2: Fix "LSP Plugins" and other plugins not
  returning the real size before window is visible.
  (akimaze)
* VST/AU/LV2: Fix deadlock sometimes happening if
  deleting and creating VST/AU/LV2 plugins very fast.
* GUI: Append "..." to the name of all menu entries
  and buttons that opens a new GUI (except if the
  name starts with "show " or similar).
* API:
  * New: getPresedBrowserFrame, stringSplit,
    getAllSettings, instrumentIsVisible.
  * Add optional argument "is_visible" to
    createAudioInstrument,
    createAudioInstrumentFromPreset,
    and createAudioInstrumentFromDescription.



Changes 6.9.98 -> 6.9.99:
* Editor: Make it possible to add keybinding for all
  menu entries in the "(click me)" track header menu,
  including opening the "(click me)" menu itself.
  It's still not possible to configure keybinding for
  currently used instruments though, but it's far
  from straight forward how to such keybindings would
  work.
* GUI: Create different set of keybindings when
  opening the "From instrument/effect" menu depending
  on what the instrument is used for. For instance,
  when opening the menu from the "(click me)" menu,
  you also want to let the keybindings assign the
  instrument to the current track, not just create
  the instrument.
* Timing: Fix rare crash that reportedly can happen
  when drawing up the sequencer after inserting lines
  in the editor, and possibly other situations. Bug
  seems to have been introduced in V6.9.86.
* GUI: Add entries to also select from the list of
  most frequently used instruments in the various
  insert-instrument menus (in addition to select
  from plugin manager/preset/etc.)
* Editor: Fix painting correct background for the
  velocity nodes related to whether the nodes are
  current or not. Bug probably introduced in
  V6.9.80.



Changes 6.9.97 -> 6.9.98:
* Build: Upgraded Qt from 5.15.2 to 5.15.3.
* Build: Upgraded lots of system libraries for
  all three platforms.
* Windows: Include a general README.txt file.
* Windows 32bit: Include the FaustDev instrument. By
  mistake, the FaustDev instrument had not been
  included before now.
* Song properties/Instruments/Editor: Add options to
  simulate pitch changes by sending out discrete
  glissando notes. Enabled by default in new songs
  for instruments that don't support changing pitch
  of playing notes.
* Editor: Fix some harmless but annoying error
  messages sometimes popping up right after loading
  a song.
* Audio: Fix notes not stopping for some instrument
  when changing the pitch of a currently playing
  note.
* JUCE: Upgrade from 6.1.4 to 6.1.6
* Build: Fix compiling with clang 13.
* Faust: Update to faust 2.37.3
* Editor: Don't set random sample for all selected
  instruments when pressing SHIFT+R. This keybinding
  belongs in the mixer only.
* Instruments: Remember highest instance number from
  last time when loading songs. The instance number
  is used when autocreating instrument names.
* Build: Fix shebangs (bandthedoge)
* JUCE: Don't enable jassert in RELEASE mode
  (fixes crashes in VST3 plugins on linux.)
* Editor/Sequencer: Paint nodes correctly when they
  are selected.
* Editor/Sequencer: Paint thicker borders on high
  DPI screens.


  
Changes 6.9.96 -> 6.9.97:
* Linux: Removed libglib-2.0.so from the Linux
  binaries since it sometimes caused 3rd party
  plugins to fail loading. (Caused by conflicting
  libraries)
* Linux: Update included system library files.
* GUI: Fix making Shift + Right mouse button reset
  mute and solo in the sequencer.
* Plugin scanner: Fix displaying error messages on
  Linux and Windows.
* JUCE: Update JUCE to 6.1.4. This might fix various
  issues with VST3 on Linux and other things.
* Plugins: Fix crash when selecting the "Set ..."
  option in the effect popup menus.
* GUI: Lots of high DPI fixes. The whole program
  should look descent on high DPI screens now.
* Audio preferences window: Support high DPI
  screens. (Probably not working on macOS though...)
* Plugins: Support high DPI screens for the GUI for
  plugins. (Probably not working on macOS though...)
* Keyboard: Workaround to fix space and return keys
  not always working (especially on newer and faster
  computers).
* Startup: Fix custom python code added in the
  keybinding configuration file sometimes not working
  (especially on newer and faster computer).
* Demo songs: Fix sweeping filter automation in the
  main demo song.
* GUI: Lots of mouse handling improvements.
* GUI: Make the "ZL1" key (i.e. the key one step to
  the left of "Z" on a QWERTY keyboard) behave the
  same way as pressing Shift + Right mouse button.
* GUI: Make the mouse "Back button" (for mice having
  this button) behave the same way as pressing Shift
  + Right mouse button.
* Menus: If a function has more than one shortcut,
  display the shortest of those shortcuts in popup
  menus.
* GUI: Improve various popup menus.
* Instruments: Don't create a new undo entry when
  resetting an effect and the effect already had the
  default value.
* Linux: Fix scheme listener not always starting
  unless running on Ubuntu 18.
* Preferences/Audio: Add option to not use JACK even
  when JACK is running.
* Audio: Fix possible problems when initializing JUCE
  audio.
* Playlist: Don't show error message if pressing the
  delete key in an empty playlist.
* Editor: Make it possible to assign keybindings to
  the "New Sample Player" and "New MIDI Instrument"
  options in track header menu.
* LADSPA/Windows: Another attempt at preventing
  windows from scanning the included ladspa plugins
  during startup. It doesn't seem to always work
  though. The built-in virus scanner in Windows seems
  to be extremely aggressive. The LADSPA files are
  never opened or read during initialization.
* Demo song: Fix low pass filter automation.
* Editor: In the pianoroll header, fix "A" button not
  always behaving quite correctly.
* Audio: New song properties option for muting output
  of the 5 system buses when a plugin is bypassed. By
  default this option is ON for new songs and OFF for
  old songs (to keep kompatibility).
* Manual: Add recipe to the Mixer FAQ on how to
  create a sidechain compressor.
* Manual: Add how to set volume higher than 6db in
  the mixer FAQ.
* Editor: In the "(click me)" menu, display currently
  used audio instruments before currently used MIDI
  instruments.
* Edit: Also expand/shrink end pitch value when
  expanding/shrinking pitch.
* Edit: Fix expand/shrink pitch. Last release wrongly
  assumed end pitch always had a legal value.
* Plugin Info box: Inform when a mono LADSPA plugin
  has been automatically transformed into a stereo
  plugin.
* API:
  * New: setMuteSystemBusesWhenBypassed,
    muteSystemBusesWhenBypassed, setPianorollRange,
    simulateDeleteMouseButton,
    gui_rerunLastMouseEvent,
    hasEventConnectionUnderMouse,
    hasAudioConnectionUnderMouse,
    getEventConnectionUnderMouseSourceInstrument,
    getEventConnectionUnderMouseDestInstrument,
    getAudioConnectionUnderMouseSourceInstrument,
    getAudioConnectionUnderMouseDestInstrument,
    gui_getGfxScale.
  * minimizeBlockTracks: Optional argument "force".



Changes 6.9.94 -> 6.9.96:
* Editor: Make pitch expand/shrink also work on pitch
  changes, not just on the main pitch of notes.
* Editor: Shorten the main popup menu a little bit.
* Editor: Fix editing the value of a pitch change.
  I.e. left alt + return when cursor is placed on
  a pitch change for a note.
* Playlist: Clean up popup menus a little bit.
* Playlist: Make it possible to configure the color
  of the border of current entries.
* Playlist: Split the concept of current blocklist
  position and the concept of current block, making
  it convenient to change playlist while playing
  song. I.e. current block is not always the same as
  the current blocklist position anymore.
* Playlist: Clean up various things.
* Editor: Fix possible glitch in sound when cutting
  the length of a note while playing.
* Playlist: Make "C" keybinding change color of
  highlighted block or audiofile if mouse pointer is
  currently pointing inside a block or an audiofile,
  also in the blocks browser in the playlist for
  instance.
* Playlist: Light up playlist entries when mouse is
  above.
* Playlist: Select current seqblock under mouse when
  mouse is above a playlist entry. This is practical
  when assigning keybinding to e.g. change block
  color.
* Playlist: Add popup menu option to set current
  seqtrack.
* Sequencer: Fix some unnecessary jumpingaroundness
  when moving seqtracks up and down.
* Sequencer: Fix changing timing mode
  unintentionally when changing seqtrack order.
* Sequencer: Don't create undo when changing
  seqtrack order but ends up with the same order as
  before.
* Linux: Fix space and return key not working, for
  some reason, on Ubuntu 20 and probably other
  distributions.
* Sequencer: Don't show error message when trying to
  swap last seqtrack with next seqtrack.
* Sequencer: Fix dragging seqtrack number up and
  down when there are invisible seqtracks.
* Modular mixer: add the "Mixer" submenu to the
  bottom of the effects popup menu.
* Mixer: Clean up the various "Insert plugin" menus.
* Editor: Clean up the top of the "(click me)" menu.
* Editor: Add the timing tracks popup menu submenu
  to the bottom of the bars/beats popup menu.
* Modular mixer: Fix module positioning when loading
  .mrec files.
* Ladspa: Include the name of the audio input and
  output ports in the info box.
* Sampler: Fix integer overflow problem in code to
  generate waveforms. This fixes (rare) situations
  with no waveforms in the editor
* Mixer: Add "Create new bus" option to the top of
  the list of buses you can send to when selecting
  "Insert send".
* Mixer: Add "New bus" option to the main popup menu
  in the modular mixer.
* Mixer: Tweak the "New sound object" / "New audio
  instrument" menu.
* Sequencer: Change "Set name" to "Rename" in the
  popup menus.
* Playlist: Fix block names not being updated when
  editor blocks are renamed, and other situations.
* New song: Hide signature track, tempo automation
  track, and swing track.
* Editor: Automatically (and continously) resize all
  tracks to fill all available space for clean
  projects.
* API:
  * New: getSeqtrackUuid,
    setCurrEditorBlockUnderMouseForSequencer,
    getCurrEditorBlockUnderMouseForSequencer,
    setCurrSampleUnderMouseForSequencer,
    getCurrSampleUnderMouseForSequencer,
    getCurrBlocklistPos, setCurrBlocklistPos.
  * setUsingSequencerTiming gets optional argument
    'make_undo'.



Changes 6.9.91 -> 6.9.94:
* Instruments: Reorganize the "Insert new sound
  object" / "New audio instrument" menu.
* Playlist: Give keyboard focus to the sequencer
  instead of the editor when the mouse is inside the
  playlist.
* Sequencer: Minimize sequencer height when
  maximizing window or showing full-screen.
* GUI: Try to fix sequencer sometimes not being
  fully minimized right after startup.
* Windows: Partially fix importing MIDI files, i.e.
  smaller files are imported perfectly now. However,
  larger MIDI files seems to only be partially
  imported on Windows. The problem does not seem to
  be present on Linux and macOS.
* GUI: When showing sequencer, make sure the mixer
  is visible first if sequencer is inside the mixer.
* GUI: Fix keyboard focus when showing sequencer.
* GUI: Don't show mixer at program startup.
* MIDI: Give more information when warning about
  possibly creating a recursive connection when
  connecting an instrument to a MIDI output port.
  Before it could look like the program was stuck in
  an infinite loop when importing MIDI files.
* Sequencer: Clean up popup menus a little bit.
* Mixer strips: Clean up popup menus a little bit.
* Sequencer: Make sure first seqtrack is the current
  seqtrack after loading an older song. Before this
  commit, a hidden seqtrack bus was set as the
  current seqtrack.
* Modular mixer: Let the "C2" button apply to all
  buses, not just the 5 effect buses.
* Instrument effect popup menu: Replace the
  "keybindings for.." sub menu with entries that
  actually changes the value. This value can instead
  be right-clicked to change keybinding. Redundant
  functionality though, but it looks cleaner.
* Modular mixer: Include "mixer" elements in a
  "mixer" sub menu for the popup menu.
* Modular mixer: Snap connections to modules when
  being created.
* Modular mixer: Put connection lines on top of all
  other graphical elements when being created.
* Modular mixer: Fix hovered connection color (it
  was hardcoded to a bluish color).
* Mixer: Make event connections red. (The old color
  looked too much like the audio connection color,
  and yellow (used before that again) looks too much
  like white which is used to show a current event
  going through the connection.)
* Modular mixer: Fix possible division by zero
  sometimes happening when using middle button to
  drag.
* Modular mixer: Redesign GUI of the modules:
  * Don't overlap volume sliders with the
    mute/solo/bypass buttons.
  * Modular mixer: Switch back to displaying simple
    peaks.
  * Modular mixer: Use the instrument color for the
    background color of the M/S/B buttons.
  * Modular mixer: Use black background color for
    the volume sliders.
  * Modular mixer: Write dB value inside the volume
    sliders.
  * Swap upper and bottom half of the modules. I.e.
    paint text and note indicator above slider and
    buttons.
  * Less rounded and a little bit thinner borders.
  * Limit the volume sliders between -40dB and +6dB.
    Before, it was between -40dB and +35dB, which is
    usually a too big range.
  * Make non-linear scaling between effect value and
    slider positions, similarly to the mapping in
    the mixer strips. (i.e. we have approximately
    equal room between -6dB and 6dB and between -35dB
    and -6dB now).
  * Adjust audio port colors.
  * Light up elements below the mouse pointer.
  * Don't draw audio input/output ports when they're
    not used, not visible, or doesn't exist.
  * Alternatively move module by left-dragging the
    name instead of using the right-button.
  * When right-clicking the volume slider, mute,
    solo, or bypass, show the instrument effect
    popup menu instead of the module popup menu.
* Manual: Document the FX/Velocity subtrack.
* Manual: Some minor improvements here and there.
* Help: Open help windows in external browser if the
  built-in browser is not able to show the manual
  (i.e. compiled against a too old version of
  qtwebkit).
* API:
  * Renamed: instrumentIsSeqtrackBus -> instrumentIsBus
  * New: gui_webCanShowManual, getInstruments, getMidiInstruments, getAudioInstruments, getBuses



Changes 6.9.90 -> 6.9.91:
* Macos: Improve startup message.
* Internal: Minor improvements.
* Help: Fix the various help buttons and menu
  entries not showing correct web page if user
  had manually changed web page on the assigned
  window (help windows are cached to open
  quicker the second time).



Changes 6.9.89 -> 6.9.90:
* Internal: Reorganize code protecting s7 gc
  variables a little bit. Might have fixed some
  potential problems.
* Internal: Preallocate a little bit of memory for
  vectors. Also remove some thread assertion code
  from non-debug builds. Might improve performance
  a little bit.
* Internal: Make sure memory allocated by the RT
  memory allocator is always aligned at maximum.
  This could theoretically increase performance.



Changes 6.9.88 -> 6.9.89:
* Editor: Fix crash when quantitizing notes. Bug
  introduced in 6.9.80.
* Windows32: Fix import MOD.
* Macos: Open Help windows in an external browser
  since the manual now uses javascript-features not
  supported by QtWebkit 5.9.
* Manual: Include search field + various other
  improvements.
* Faust: Fix possible performance problem for the
  interpreter backend.
* API:
  * gui_web: Handle local files with queries.
  * gui_web: Only accept Escape key if currently
    searching. (Previously it hindered all other
    usage of the Escape key by web pages.)



Changes 6.9.86 -> 6.9.88:
* Editor/Instrument: Enable sample-seek by default.
* Macos: Runs under Macos 11.
* Windows: Antivirus programs should never scan
  LADSPA plugins during startup anymore.
* JUCE: Don't allocate memory in realtime code for
  VST3 plugins when setting parameter values.
* Editor: Fix "Rec" not being removed immediately
  after stopping to record MIDI input.
* Linux: Fix JUCE thread issues which might have
  caused glitches in sound when using VST plugins.
* JUCE: Upgrade to V6.0.8. Most important change is
  probably support for VST3 plugins on Linux.



Changes 6.9.82 -> 6.9.86:
* Audio: Try not to open any audio input device by
  default. Sometimes this screws up the output
  sound.
* Audio: Try to use a default buffer size of 1024
  when initializing the audio device. Earlier the
  audio device was sometimes initialized with an
  incompatible block size.
* Sequencer: Fix inserting several audio files at
  once when selecting "Insert audio file(s)" from
  the popup menu. For a few releases now, inserting
  several audio files inserted the new audio files
  into the wrong sequencer tracks.
* Sequencer: Also set seqtrack-under-mouse when
  changing current seqtrack.
* Sequencer: Fix moving several seqblocks at once
  when there are hidden seqtracks.
* Sequencer: Light up seqtrack names, both in
  seqtrack headers and in the "Tracks" tab, when
  mouse is above.
* Sequencer: Light up the editable path name field in
  the "Files" tab when mouse is above.
* Sequencer: Light up seqtrack currently under mouse.
* Sequencer: Fix keybindings not always working on
  current seqtrack pointed to by the mouse.
* Sequencer: Paint orange border around current
  seqblock in the sequencer navigators.
* Sequencer: Fix possible weird behavior when moving
  more than one seqblock and one or more of those
  seqblocks were deleted because they were moved to
  a seqtrack of the wrong type.
* GUI: Make all sliders in the editor/mixer/sequencer
  to light up when mouse is above the slider.
* Mixer: Make the volume text and peak text light up
  when mouse is above.
* Editor: Convert various node assertions to fire in
  debug builds only.
* Editor: Fix moving cursor left when the cursor is
  positioned on the leftmost centtext subtrack and
  the swing subtrack is visible.
* Editor: Fix transposing selected notes in the
  pianoroll when using left meta + u/d.
* Editor: Improve logic for whether to show the
  centtext subtrack or not.
* Editor: Convert pitches to TimeData.
  * The most notable change is that any editing is
    heard immediately if playing block or song at
    the same time.
  * Using less CPU cache. CPU usage might be notably
    lower after notes themselves have been converted
    to the new data structure.
  * Necessary for future work such as replacing
    OpenGL with Vulkan.
* Editor: Fix transpose velocity.
* Build: Fix compiling for LLVM12 (Teteros)
* Editor: Let the window that shows the
  no-range-or-selection error show buttons to open
  the manual instead of explaining directly how to
  edit range and selection.
* Editor: Make sure editor graphics is updated when
  pressing left alt + return.
* API: setCurrSeqtrackUnderMouse



Changes 6.9.81 -> 6.9.82:
* Editor: Don't show assertion window when changing
  the number of lines in a block causes a note to
  be shortened. Bug introduced in 6.9.80



Changes 6.9.80 -> 6.9.81:
* Load: Fix program freeze if loading a song with a
  VST/AU plugin from the command line. Was probably
  only a problem on Linux.
* VST/AU: Enable all audio channels of VST/AU plugins
  when the plugin is initiated since some plugins
  don't enable all channels by default. For instance,
  the U-he Runciter plugin only enables one of its
  channels. In the future there should be an option
  to select bus layout for plugins
* Editor: Fix inserting a new note below another note
  in a non-polyphonic matter, i.e. so that the end of
  the first note stops where the second note starts.
  This could in some situations fail spectacularly.
  Bug introduced in 6.9.80



Changes 6.9.75 -> 6.9.80:
* Windows/Editor: Another workaround to fix garbled
  fonts sometimes happening in the editor right after
  startup.
* Editor: Changed the behavior when pressing DEL on a
  veltext entry so that it behaves the same way as
  when deleting a velocity node with the mouse.
* Manual: Minor updates.
* Sequencer: Make it optional in preferences
  whether changing current seqtrack also changes
  current editor block. Also disable this option by
  default, before it was enabled.
* Sequencer: Add option in preferences whether mouse
  wheel up/down starts/stops playing or scrolls
  up/down seqtracks.
* Sequencer: New option in preferences to select
  whether to autoselect the seqtrack which is
  currently below the mouse pointer. In addition,
  turn this option OFF by default (before this
  behavior was ON).
* Mixer: Change the "Connected to main pipe" option
  in the popup menus to "Connected to main bus".
* Preferences/colors: Add slider to adjust the amount
  of gradient colors of various filled rectangles.
* GUI: Various tweaks to color shading.
* Preferences/colors: Fix setting correct default
  values for the saturation and brightness sliders
  when pressing "Reset".
* Sequencer: New option in preferences to select
  whether to autoselect block currently under the
  mouse pointer. In addition, turn this option OFF by
  default (before this behavior was ON).
* Load: Add workaround for loading songs saved with
  Radium older than 6.9.76. Before that there was a
  bug that caused no volume change to be played if
  there were only two velocity nodes for a note and
  the last node had value 0 (i.e. plain
  decrescendo where not played).
* GUI: Made the green audio peak color greener.
* Mixer: Paint a handler for the volume sliders to
  better see current value.
* Colors: Adjusted check box colors a little bit.
* Modulator: Fix division by zero if min and max is
  equal. (This caused illegal floating points to
  wander around in the system).
* Audio: Assert that the value is a legal floating
  point when setting plugin parameters.
* Editor: Convert note velocities to the new data
  structure:
  * The most notable change is that any editing is
    heard immediately if playing block or song at
    the same time.
  * Using less CPU cache. CPU usage might be notably
    lower after notes themselves have been converted
    to the new data structure.
  * Coincidentally fixed a bug that caused no
    volume change to be heard if there were only
    two velocity nodes for a note and the last node
    had value 0 (i.e. plain decrescendos were not
    played). Also add a workaround for this bug so
    that loading old songs still sound the same.
  * Necessary for future work such as replacing
    OpenGL with Vulkan.
* Editor: Don't delete note when deleting the last
  velocity node and there are pitch changes unless
  there are only two velocity nodes.
* Loading: Fix showing correct line numbers when
  loading song fails.
* Internal: Various improvements to the RT memory
  allocator.
* API:
  * New: autoselectEditorBlockUnderMouse,
    setAutoselectEditorBlockUnderMouse,
    getAmountOfGradient, setAmountOfGradient,
    autoselectSeqtrackUnderMouse,
    setAutoselectSeqtrackUnderMouse,
    autoselectEditorBlockWhenChangingSeqtrack,
    setAutoselectEditorBlockWhenChangingSeqtrack,
    sequencerMouseScrollWheelStartsStopsPlaying,
    setSequencerMouseScrollWheelStartsStopsPlaying.
  * Change last argument (gradient) for gui_filledBox
    from boolean to int, and add 13 different types of
    gradients to choose from.



Changes 6.9.74 -> 6.9.75:
* GUI: Tweak default background color of the editor
  and the modular mixer.
* Audio/MIDI: Fix erroneous error message
  ("RT_free failed") possibly being displayed when
  sending and receing MIDI from VST plugins. Bug
  probably introduced around 6.9.66.
* Sequencer: Warn about non-linear mapping if
  loading an older song that has Crossover
  automation for the sampler instrument.
* Editor: Warn about non-linear mapping if loading
  an older song that has Crossover automation for
  the sampler instrument.
* Mixer: Made it possible to configure the
  background color of the modular mixer separately.
* Sampler instrument: Fix loading songs with custom
  loops.
* API: Fix wrong error message possibly being
  displayed when sending/receiving MIDI.



Changes 6.9.72 -> 6.9.74:
* GUI: Made it possible to configure all label
  colors. Before this, it was hardcoded to light
  gray.
* Sequencer: Made it possible to configure the
  editor seqtrack header backgound color
  separately. Before, it just used the "Sequencer
  background" color.
* Sampler instrument: Made the crossfade slider
  exponential so that it'll be possible to set
  accurate small values.
* Sequencer: Paint name of current editor seqblock
  in white color also in the navigator widgets.
* GUI: Adjust default colors a little bit.
* Editor: Fix assertion reporter popping up when
  changing number of tracks in "block properties"
  while playing.
* GUI: Paint gradient background color for various
  text.
* Editor: Tweak tempo multiplier slider graphics a
  little bit. Also make the colors for the slider
  configurable.
* Playlist: Use same colors as in the sequencer and
  paint a border around current entries instead of
  using a different background color. Also paint a
  small border around non-current entries.
* Sample instrument/Fluidsynth instrument: Make sure
  the sample browser is wide enough to show all text
  of normal-sized filenames.
* GUI: Make all buttons have the "Buttons" color.
* GUI: Make group boxes easier to see.
* Sampler instrument: Support loop crossfade when
  using custom loop start/end points.
* Sampler instrument: New effect "Loop window".
* Internal: Change main timer interval from 5ms to
  15ms. This might lighten up CPU usage a little bit.



Changes 6.9.71 -> 6.9.72:
* Sequencer: Add a "Duplicate seqblock and block"
  option to the editor seqblock popup menu.
* Mixer: Make current mixer slot color red.
* Mixer: Make the sound object ports more visible.
* Mixer: Improved sound object port graphics.
* Colors: Made it possible to configure the color of
  the current slot.
* Colors: Made the audio port color in the mixer
  configurable.
* Colors: Make it possible to configure the
  out-grayed color in the editor when a custom
  widget has keyboard focus.
* Colors: Make it possible to configure dialog
  help text color.
* Menus: Fix selecting "Show/Hide Mixer" and
  "Show/Hide Sequencer" without using shortcuts.
* Editor: Fix editing BPM. Bug introduced in 6.8.71.



Changes 6.9.69 -> 6.9.71:
* Linux: Fix importing MOD files in the binaries.
  (Probably broken in 6.7.76.)
* Sampler instrument / Fluidsynth instrument: Made
  soundfile text color a little bit darker.
* Editor: Display "Automatically set pianoroll
  range" in the status bar when the mouse pointer is
  above an "A" button in the track headers.
* Sampler instrument: Fix sample browser stealing
  keyboard focus when the current instrument is
  changed to an instrument that had keyboard focus
  inside the sample browser the last time it was
  used.
* Editor: Don't show assertion reporter in release
  mode when note structure is slightly corrupt.
* Sampler instrument: Fix illegal samples being
  played if loading an audio file with less than 32
  samples, or a sample loop is less than 32 samples.
  Fixes playing chip tune MOD songs for instance.
  Bug introduced in 6.5.81
* Sequencer: If soundfile is shorter than last time
  it was used in Radium, also cut seqblock
  automation so that nodes are not placed after the
  end of the file (where they can't be edited).
* Build: Fix faust llvm build. Should fix #1339
* Sequencer: Give more detailed information if a
  sound file couldn't be opened.
* Sequencer: Handle properly if an audio file is
  physically replaced with a file with different
  number of channels while the program is running.



Changes 6.9.67 -> 6.9.69:
* Windows: Fix showing current system font when
  opening the "change system font" requester.
* Windows: Fix using "Lato Black" as the default
  system font.
* Editor: Fix hanging notes when recording MIDI and
  not using Jack. MIDI recording accuracy, though,
  is slightly worse now when not using jack for
  audio. This can be compensated by using smaller
  audio buffers.
* Load: Fix assertion window popping up when loading
  some songs. The assertion was innocent though. Bug
  introduced in 6.9.63.
* Song properties: Remove option to select 2 or 8
  channel main pipe.
* Song Properties: Add option to set number of audio
  channels for buses. (between 1 and 99 channels)
* Sequencer: Add seqtrack "Visible" checkbox to the
  seqtrack popup menu.
* Sequencer: Remove all audio file options from the
  Bus seqtrack popup menu.
* Sequencer: Disable ability to record audio files
  into Bus seqtracks.
* Audio: Only display used output channels in the
  audio meters for patch instruments.
* Audio meters: Make the default green color lighter.
* Audio: Convert "Main Pipe" and the 5 effect
  buses from pipes to sequencer buses.
* Audio: Rename "Main Pipe" to "Main Bus".
* Audio: Remove the "Enable piping" effect
  from sequencer buses.
* Audio: Make the "Main Bus" sequencer bus
  visible by default. The 5 effect buses are not
  visible by default.
* Macos: Fix importing mod files
* Internal: Various changes.
* API:
  * New: getInstrumentEffects, setInstrumentEffects,
    seqtrackIsPermanent, seqtrackIsBus, moveSeqtrack,
    internalReplacePermanent.
  * Let appendSeqtrack, appendEditorSeqtrack,
    appendAudioSeqtrack, and appendBusSeqtrack
    return the seqtrack number for the newly created
    seqtrack.
  * Rename sendSysex -> sendMidiSysex.



Changes 6.9.66 -> 6.9.67:
* Macos: Fix error about not being able to set
  realtime priority. Bug introduced in 6.9.63.
* API:
  * New: sendSysex.
  * Make midi input callbacks also receive syex
    messages.



Changes 6.9.64 -> 6.9.66:
* Audio: Fix random data sent out of "System In"
  instruments when not using jack and the soundcard
  has less input channels than the "System In"
  instrument has output channels.
* Audio: Fix losing the jack port names of
  "System in" and "System out" instruments when a
  song is saved when not running jack. This caused
  the message "Could not register jack port" when
  later loading the song using jack.
* MIDI: Possible fix for rare situations of hanging
  notes.
* Soundfile renderer: Don't close dialog window if
  we couldn't save file.
* Soundfile renderer: Don't allow overwriting an
  audio file currently used by the program.
* Soundfile renderer: Ask yes/no if trying to
  overwrite an existing audio file.
* Sequencer: Don't show assertion reporter when
  loading a song with an audio file that has become
  shorter than last time. Instead just show a note
  in the message log window.
* MIDI: More fine-grained locking and prevent
  priority inversion when sending midi from main
  thread.
* Audio: Turn off realtime priority when rendering
  audio file.
* API: sendMidiMessage, openMidiOutputPort,
  closeMidiOutputPort, openMidiInputPort,
  closeMidiInputPort, closeAllMidiInputPorts,
  getMidiOutputPortNames, getMidiInputPortNames.



Changes 6.9.63 -> 6.9.64:
* Windows: Fix possible dropouts if changing audio
  settings after startup when not using jack.



Changes 6.8.71 -> 6.9.63:
* Bottom bar: Improve displaying CPU usage.
* Bottom bar: Show number of xruns.
* Sampler instrument: Fix a bug sometimes causing
  wrong custom loop points after loading song. Bug
  seems to have been introduced in 6.7.76.
* Audio: Fix rare possible crash when undoing
  deleting instrument.
* Load: Show more progress information when loading
  songs with many instruments.
* About window: Replace "Jack samplerate" with just
  "Audio". Also show block size in ms.
* Audio: Improve Jack shutdown handling.
* Audio: Fix program freeze and memory corruption
  if internal block size is not a multiple of the
  Juce/Jack block size.
* Audio: Use Juce audio to get audio in and out of
  the program if Jack is not running.
* Radium reset: Include checkbox to only reset
  soundcard configuration.
* Radium reset: Disable all options by default.
* Preferences GUI: Minor tweaks.
* Windows: Fix loading/saving current filerequester
  path to config for paths with non-ascii
  characters.
* API: openAudioDevicePreferencesDialog,
  isUsingJack, isUsingJackTransport, getCpuUsage,
  getNumXruns.



Changes 6.7.76 -> 6.8.71:
* Scripting: Update S7.
* NSM: Never autoconnect jack ports when nsm is
  active.
* Editor/mouse: Fix moving an element after
  previously moving that element beyond a limit.
  Before, when moving that element again, the
  element would automatically jump the same number
  of pixels in the opposite direction first. (The
  fix was only necessary on Linux and Windows.)
* Modulators: Don't break chronological order when
  adding or removing a modulator.
* Mixer: Keep crologocial order for the plugin
  favourites.
* Fonts: Display currently used font in font
  requester when changing editor font or system
  font.
* Fonts: Fix saving custom editor font to settings.
* Editor/cursor: Try to move to the same subtrack
  when using Ctrl + J.
* Editor/cursor: Make sure cursor is visible after
  changing zoom value.
* Editor/cursor: Make sure the complete current
  track is visible when scrolling left/right and
  there's enough space. Before, we only made sure
  the complete current subtrack was visible.
* Editor/cursor: Fix showing full subtrack when
  moving cursor to a subtrack that is outside the
  visible area.
* Editor/cursor: Fix cursor sometimes moving to the
  wrong place when moving left or right in the
  timing tracks.
* Editor/cursor: Fix cursor moving to the same
  subtrack when moving cursor to the left or right
  track.
* Editor/FX: Convert FX (i.e. effect automation in
  the editor) to the new data structure:
  * Better performance (should be more notable in
    later releases though).
  * Changes are heard immediately and player never
    has to be paused.
  * Necessary for future plans.
* Editor/FX: Fix popup menu for adding an already
  used FX to a track.
* Editor/FX: When creating new FX, make sure the
  initial length is equal to visible line length
  (i.e. take LZ into account).
* API:
  * New: setCurrentTrack, getCurrentTrack,
    getCurrentSubtrack, getTrackVisible,
    canCursorMoveToTrack, getLeftmostCursorTrack.
  * Make -2 the default subtrack value for
    setCurrentTrack.



Changes 6.7.75 -> 6.7.76:
* Windows: Fix import MOD when the username contains
  non-ascii characters.
* Windows: Fix displaying filename with non-ascii
  characters in the progress window when importing
  MOD files.
* Audio: Don't show error about not being able to
  open soundfont file when failed loading a sound
  file (we already show a general message about
  not being able to open the file).
  a file doesn't exist. 
* Sequencer: Fix error messages popping up after
  pressing the Esc key when prompted to manually
  write new path in the file browser.
* Windows: Fix displaying paths with non-ascii
  characters in the file browser in the right-side
  sequencer tabs.
* Editor: Add options to set high priority for the
  OpenGL render thread and the OpenGL drawer thread.
* Preferences: Remove the OpenGL "Safe mode" option.
* Preferences: Move the "Vertical blank" OpenGL
  option into an "advanced" tab (since you normally
  don't want to touch this option).
* Preferences: Move the "OpenGL" tab to the right of
  the "GUI" tab.
* API: Add "message_is_base64" option to
  openProgressWindow



Changes 6.7.74 -> 6.7.75:
* Release to fix not all changes in being included
  in v6.7.74. Version number was wrong too.



Changes 6.7.72 -> 6.7.74:
* Audio: Disable lots of debug outputs to the
  terminal when modifying the audio graph. (Debug
  and Delease mode were switched.) This also might
  fix some audio glitches.
* Windows: Fix garbled font rendering sometimes
  happening in the editor. Bug introduced in v6.7.69.
  (The problem existed before 6.7.69 too, but not
  as often).
* Internal: Fix a memory corruption introduced in
  v6.6.77. The bug probably only manifested in
  debug builds though, and not in any releases.
* Internal: Fix semi-rare memory leak when showing a
  system error message.
* NSM: Fix error message popping up after startup.
* Editor: Fix transposing MIDI 7 bit automation when
  pressing Left Alt + U or Left Alt + D and the
  cursor was placed inside an fxtext subtrack.
* MIDI: Fix crash when starting to play in the middle
  of a song at a position where there is MIDI
  automation in the editor.
* Build: Update libgig from 3.3.0 to 4.2.0. Fixes
  crash when loading some soundfonts.



Changes 6.7.71 -> 6.7.72:
* Editor: Fix notes not being stopped when adding a
  stop note. Bug introduced in 6.6.77.



Changes 6.7.70 -> 6.7.71:
* Audio meters: Fix update interval. In 6.7.70 it was
  by mistake updated each 5ms which is too often.



Changes 6.7.69 -> 6.7.70:
* Instruments: Fix editing keybinding in the
  instrument effects popup menu.
* Help: Add option in preferences to let the help
  windows be a standalone window.
* Plugin manager: Don't make the plugin manager
  window modal. Fixes inactive messages window after
  scanning plugins.
* API: helpWindowIsChildOfMainWindow,
  setHelpWindowIsChildOfMainWindow .



Changes 6.6.78 -> 6.7.69:
* GUI: Fix audio meters often not being updated each
  frame, even when there is enough CPU time.
* LADSPA: Remove TAP plugins from the regular menus.
* Macos: Show text box with info about the state of
  OpenGL during startup.
* Disk: Automatically add ".rad" suffix when saving
  song.
* Editor: Disable the bar/beat options for current
  track when current track is a timing track.
* Settings: Include "Radium reset" program to reset
  user settings.
* Manual: Make sure the same font is used on all
  platforms. Most importantly this fixes really bad
  text rendering on Windows.
* API: getTrackTypeName.
 


Changes 6.6.77 -> 6.7.68:
* Faust: Upgrade Faust from 2.27.2-stable to
  20201227-dev.
* OpenGL: Make sure editor is always correct size
  after startup.
* Linux: The Radium binaries now requires glibc 2.27
  or newer. The binaries should work on the
  following Linux distributions (and newer):
  Arch Linux (current), Debian 10, Fedora 27,
  Manjaro 17, Mint 19, MX Linux 19,
  openSuse Tumbleweed, Redhat/Centos 8,
  Slackware (current), and Ubuntu 18.
* MacOS: Radium now requires macOS 10.13 or newer.
* Build: Upgrade Qt to 5.15.2.
* Faust: Update FAUST package from 20191222-dev to
  2.27.2-stable. (Teteros)
* Linux: Show stronger warning about the Novueau
  driver during startup. The Nouveau driver is
  likely to freeze your computer if running Radium.



Changes 6.5.86 -> 6.6.77:
* Macos: Include updated LADSPA plugins.
* Windows/Macos: Include a new version of qjackctl
  that doesn't set sample rate and period size unless
  they're explicitly set to custom values. Might fix
  problems people have starting Jack on Windows.
* Windows/Macos: Include a new program called
  "qjackctl_reset" that resets qjackctl-settings back
  to default. Can be useful to make Jack run (again).
* Windows: Update documentation for installing the
  ASIO Jack driver (it's not a part of Jack anymore).
* Settings: Make it impossible to corrupt the config
  file.
* NSM: Don't autoconnect ports when NSM is active.
* Settings: Fix writing if the config file (for some
  reason) have become an empty file.
* Internal: New data structure for storing editor
  data. The new data structur supports reading and
  writing from multiple threads without blocking. So
  far only the note-stops have been converted to the
  new data structure, but eventually everything
  should be converted. Then we will see better
  realtime behavior and better performance in general
  because of less CPU cache hits. This is also
  preparation work for replacing OpenGL with Vulkan.



Changes 6.5.85 -> 6.5.86:
* Audio: Fix loading and saving plugins that have
  effect names with lineshifts.



Changes 6.5.84 -> 6.5.85:
* GUI: Improve Qt recursion detection. Hopefully
  there won't be false positives on macos now.



Changes 6.5.83 -> 6.5.84:
* GUI: Don't crash when pressing the "S" button in
  the mixer and the sequencer is in full mode.
* GUI: General fix to prevent program from crashing
  if going into an endless recursive loop.
* Sequencer: Remember current seqtrack when undoing
  and redoing.
* Sequencer: Remove flickering when undoing and
  redoing.
* Build: Fix compiling Pd using gcc/clang 10+
  (Teteros).
* Mixer strips: Fix width of the arrow separating
  non-bus and bus strips.



Changes 6.5.82 -> 6.5.83:
* Mixer strips: Set max width of a strip.
* Mixer strips: Pack strips to the left if the
  strips can't fill all available horizontal space.
  Instead of spreading them out evenly, that is.
* Sequencer: Keep track on/off and fade data when
  replacing block or audiofile in seqblock.
* Sampler instrument: Fix playing reverse sample in
  non-looping mode.
* Plugins: Fixes displaying correct number of
  channels for VST2 plugins in the plugin manager.



Changes 6.5.81 -> 6.5.82:
* Audio: Fix more than half of VST2 plugins being
  loaded as mono plugins, even when they are not.
  (The fix uses code written by falkTX.)
* Sequencer: Fix memory leak in automation painter.
* Sampler instrument: Display sustain value as dB.



Changes 6.5.79 -> 6.5.81:
* Mixer: Change function used when assigning
  keybinding to "Generate new color" in the popup
  menu. Before: generateNewInstrumentColor.
  Now: generateNewColorForAllSelectedInstruments.
* Editor: Don't pause player when scrolling up or
  down when current editor-block is not playing.
* Editor: Never let player change editor-block when
  a block is editor-locked.
* Editor: Tweak keybindings for general transposing.
  Now they only work when the editor has keyboard
  focus.
* Sequencer: Fix horizontal alignment for the name
  of seqtracks when the names are too large for the
  assigned space.
* Sampler instrument: Make sample-seek work with
  looping.
* Sampler instrument: Fix crossfade when the start
  of the loop is higher than 0.
* Sampler instrument: Add "AHDSR on/off" effect.
* Sampler instrument: Reorganize effect order a
  little bit.
* Sampler instrument: Fix ping-pong loop looping
  between loop start/end and not between the
  start/end of the sample.
* Sampler instrument: Make it possible to define
  custom start/end loop points.
* API: keepOldLoopWhenLoadingNewSample,
  setKeepOldLoopWhenLoadingNewSample,
  useSameLoopFramesWhenLoadingNewSample,
  setUseSameLoopFramesWhenLoadingNewSample.



Changes 6.5.78 -> 6.5.79:
* GUI: Fix crash when pressing the "Full" button in
  the instrument widget while the sequencer is
  inside the mixer.
* Instruments widget: Adjust width of the filter are
  and the output area.



Changes 6.5.77 -> 6.5.78:
* Audio: Show warning if loading an old song that
  indexes modulator effects by number instead of by
  name since wrong effects are most likley
  modulated. Also inform that the workaround is to
  load and save the song in Radium V5.9.44.
* Demo songs: Fix wrong effects being modulated in
  "Concrete Vox" and "Elf".
* Mixer: Fix updating instrument sliders after
  changing A/B. (The effects themselves were
  changed, but not the sliders.)
* Mixer: Index A/B instrument effects on disk by
  effect name and not by effect number. This
  prevents A/B settings from being incompatible
  again in future versions of the program.



Changes 6.5.76 -> 6.5.77:
* Mixer: When changing A/B, apply instrument state
  even when number of effects are different.
* Sampler instrument: Optimize applying AHDSR
  envelope. Might make a notable difference in CPU
  usage.



Changes 6.5.74 -> 6.5.76:
* Presets: Fix memory corruption in preset filename
  (i.e. .rec/.mrec files). Preset filename is shown
  in GUI and saved to disk, so this bug could cause
  corrupted .rad files. Bug probably introduced in
  6.5.72.
* Sequencer: Paint a thin blue line around
  waveforms.
* Sequencer: Change "Insert audio file" to
  "Insert audio file(s)". If selecting several audio
  files when using this function, the program will
  put all selected files into their own newly
  created audio seqtracks.
* Sequencer: Fix rare (probably) crash when undoing
  full sequencer state and topmost seqtrack was not
  the first seqtrack.
* Sequencer: Fix wall-of-text error messages popping
  up in the message window when scrolling in the
  "Sounds" tab on the right side of the sequencer.
* Sequencer: Disable the "Insert current audiofile"
  popup menu entry if there are no used audiofiles
  in the program.
* Soundfile saver: Don't create soundfiles for
  instruments that has no outputs, buses, pipes,
  and Click instruments if metronome is turned off.
* Soundfile saver: Fix saving multiple files, one
  for each instrument. Bug probably introduced in
  6.5.72.
* Scheduler: Fix rare assertion message popping up.
  Probably caused by a rounding error.
* Instrument widget: Add pitch shift slider. Options
  to apply pitch to:
  1. No channels
  2. Only even-numbered channels
  3. Only odd-numbered channels
  4. All channels
  5. All channels, but invert the pitch ratio of
     odd-numbered channels.
* Audio: Double the time it takes to fade in/out
  system effects.
* Mixer: Make it possible to assign keybindings to
  all entries in the "Insert sound object" popup
  menu.
* API:
  * New: setNativeInstrumentEffect
  * Add optional argument "several_files" to
    gui_fileRequester



Changes 6.5.73 -> 6.5.74:
* Audio: Remove some unnecessary audio buffers that
  were used when processing Ladspa plugins. Might
  decrease CPU usage by using less CPU cache for
  audio data. (Note that badly written Ladspa
  plugins could misbehave after this change.)
* Audio: Fix audio only in left channel for mono
  Ladspa plugins where plugin info was cached to
  avoid having to open the plugin during program
  startup. Bug introduced in 6.5.72



Changes 6.5.72 -> 6.5.73:
* Mixer: Don't crash if changing A/B while creating
  a connection.
* API:
  * Fix documentation for getInstrumentEffect and
    getNativeInstrumentEffect.
  * New: getStoredNativeInstrumentEffect.



Changes 6.4.77 -> 6.5.72:
* Windows: Fix borderless mixer window. Bug
  introduced in 6.4.76.
* Mixer: Fix remembering window position.
* Sampler instrument: Add entries to edit keybindings
  to the popup menu of the "R" button.
* Audio: Add entries to the instrument effect popup
  menu for adding keybinding to change effect
* GUI: Increase performance a little bit for effect
  sliders and other things.
* Instrument widget: Fix immediately updating graphics
  of solo and mute buttons when changing solo.
* Mixer: Add "Insert plugin" and "Connetion enabled"
  entries to the connection popup menu.
* Instruments: Remove the "T" (through) button for
  MIDI instruments (served no purpose).
* Audio: Cache ladspa plugin info so that they don't
  have to be loaded during program startup. Only
  info for included ladspa plugins are cached for
  now. This fixes very long startup time on windows
  when realtime virus scanning is enabled, but even
  startup times on Linux (and probably MacOS) is
  notably shorter.
* Audio: Generally improve CPU usage by being more
  aggresive about not mixing audio when the output
  of a sound object is silent.
* Audio: Increase audio level allowed to autosuspend
  a sound object. May lower CPU usage in some
  situations.
* Windows: Remove some unnecessary info from
  crashreporter message.
* Audio: Increase number of frames to fade out/in
  from 1024 to 2048 when changing mute on/off and
  various other things.
* Audio: Don't recalculate latencies on the fly when
  a sound object is muted, auto-suspended, volume set
  to 0, and possibly other situations. Although
  constantly running mimumum latencies uses less
  CPU, doing this can also cause audible artifacts.
  E.g. if a plugin reports a latency of 2048 frames,
  we always compensate for a latency of 2048 frames
  in parallel running sound objects in the audio
  graph, even when the plugin makes no sound.
* Modulators/preset: Fix modulator connections when
  loading .mrec files.
* Mixer: Fix undo when creating new sound object
  from preset file by using keybinding.
* Mixer: Fix assertion window popping up when
  creating new sound object from preset file by
  using keybinding.
* Mixer: Make it configurable which A/B settings to
  apply. Click the button with a settings icon to
  configure. The options are:
  * audio connections
  * event connections
  * volume
  * panning
  * mute/solo/bypass
  * system effects
  * instrument effects
  * instrument states
  * mixer strips configuration
  * remember current instrument
  * modulator connections.
  * system volume
  Only audio connections, event connections, volume,
  panning, "mute solo bypass", and "remember current
  instrument" are enabled by default in new songs.
* Sequencer: Fix wrong editor seqblock positions
  after undoing changing block tempos.
* Mixer: Update connection line gfx immediately
  after changing solo for an instrument.
* GUI: Fix Return and Enter keys working in tables.
  Bug introduced in last release .
* Plugins: When loading song, don't try to set
  illegal program number if program number on disk
  is a negative number or higher than the number of
  programs provded the plugin. Fixes crash in at
  least one AU plugin.
* Audio: Don't send events though (i.e. when "T" is
  enabled), when an instrument is implicitly muted
  and "Implicitly mute MIDI the same way as audio"
  is enabled.
* Audio: Fix updating implicit mute/solo when
  removing a connection.
* MIDI: Add the option "Implicitly mute MIDI the
  same way as audio" to song properties. I.e. when
  soloing, we also mute MIDI in implicitly muted
  instruments. This option is enabled by default for
  new songs, and disabled by default for old songs
  (to make sure they continue to sound the same).
* Audio: Make transition from one A/B setting to
  another much smoother. Now solo, connections, and
  instrument effects are all changed at the same
  time.
* Audio: Fix latency compensation being wrong in
  some (very) rare cases when recording from system
  input. Happened sometimes when there were event
  connections in the audio graph.
* Preferences: Make it clearer what latencies are
  used in the "Latency compensation when recording
  from system input" option.
* MIDI: Compensate for latency when playing notes.
  By default it only compensates for "System out"
  input-latency.
* Preferences: Changed tab order a little bit.
* Preferences: Moved various things from the "Audio"
  tab to the "Instruments" tab.
* Instrument widget: Support right-clicking the
  A/B-buttons and the GUI button.
* Sequencer: Less experimental default granulation
  parameters.
* Mixer: Remember current instrument in a/b.
* Instrument widget: Support right-clicking the
  "Replace" and "Load" buttons to configure
  keybindings.
* FaustDev: Fix missing info from the info window.
* Instrument widgets: Don't display multi-presets
  when asked to load/replace preset.
* Disk: Don't put program into an endless message
  loop when loading an erroneous .rad/.rec/etc.
  file.
* Instrument widget: Add "prev preset" and
  "next preset" buttons to quickly switch to
  previous or next preset in the directory where the
  instrument was loaded from (if loaded from preset
  file). If instrument was not loaded from a preset
  file, select prev/next preset from default or last
  used directory instead.
* Instruments: Save preset filename to disk if
  instrument was loaded from a preset file.
* Audio: Name VST/AU programs and not presets.
  "Program" is the common name, plus that "preset"
  can be confused with radium presets.
* Instruments widget: Remove the program number-
  widget. Incorporate the number into the program
  name-button instead.
* Instruments widget: Add "prev program" and "next
  program" buttons. Assign keybindings by
  right-clicking the buttons.
* Instruments widget: Immediately update autosuspend
  button graphics when changing autosuspending type.
* Audio: Change instruments to not send out events
  (i.e notes, MIDI messages, etc.) when they are
  muted. Same with bypass. Old songs behave as
  before, but this can be changed in the Song
  Properties.
* GUI: Draw an SVG image for the various "reset ab"-
  buttons. Before this, a question mark was drawn
  instead of the curly arrow utf-8 character when
  running on windows.
* Editor: Add option to select current block in the
  popup menu for the padlock-checkbox in the lower
  left corner.
* Sequencer: Remove graphical garbage from the row
  of pixels placed between the seqtrack headers and
  the area to the right of the headers.
* Editor: Fix various error messages popping up when
  switching current block while moving a pianonote.
* API:
 * New: getNumInstrumentPrograms,
   getCurrInstrumentProgram,
   setCurrInstrumentProgram,
   setInstrumentProgramName,
   getInstrumentProgramName, getDirPath,
   getPathWithoutDir, getInstrumentPresetPath,
   getInstrumentPreset, selectInstrumentConfigNum,
   resetInstrumentConfigNum,
   getCurrInstrumentConfigNum,
   instrumentConfigNumIsUsed,
   getMidiInstrumentLatencyType,
   setMidiInstrumentLatencyType,
   getCustomMidiInstrumentLatency,
   setCustomMidiInstrumentLatency,
   includeAudioConnectionsInMixerConfig,
   setIncludeAudioConnectionsInMixerConfig,
   includeEventConnectionsInMixerConfig,
   setIncludeEventConnectionsInMixerConfig,
   includeVolumeInMixerConfig,
   setIncludeVolumeInMixerConfig,
   includePanningInMixerConfig,
   setIncludePanningInMixerConfig,
   includeMuteSoloBypassInMixerConfig,
   setIncludeMuteSoloBypassInMixerConfig,
   includeSystemEffectsInMixerConfig,
   setIncludeSystemEffectsInMixerConfig,
   includeInstrumentEffectsInMixerConfig,
   setIncludeInstrumentEffectsInMixerConfig,
   includeInstrumentStatesInMixerConfig,
   setIncludeInstrumentStatesInMixerConfig,
   includeMixerStripsConfigurationInMixerConfig,
   setIncludeMixerStripsConfigurationInMixerConfig,
   includeRememberCurrentInstrumentInMixerConfig,
   setIncludeRememberCurrentInstrumentInMixerConfig,
   includeModulatorConnectionsInMixerConfig,
   setIncludeModulatorConnectionsInMixerConfig,
   includeSystemVolumeInMixerConfig,
   setIncludeSystemVolumeInMixerConfig,
   instrumentEffectExists, getInstrumentEffectType.
 * Deleted: setInstrumentIsImplicitlyMuted, setInstrumentIsImplicitlySoloed
 


Changes 6.4.76 -> 6.4.77:
* Autobackup: Don't create autobackup for demo songs.
* Instruments: Fix rare crash (only seen on osx) when
  deleting a Sampler instrument that has a GUI open.
* Internal: Various general checks and assertions to
  avoid crashes when deleting audio instrument.
* MIDI: Fix import MIDI file. Note that some MIDI
  files are still not loaded when using Windows. This
  will hopefully be fixed in the next release.



Changes 6.3.84 -> 6.4.76:
* MacOS: More fixes for the sequencer graphics not
  always being updated after resizing.
* Windows: Fix incorrect error message sometimes
  popping up about wrong number of bytes written to
  disk.
* Keybindings: Add GUI to edit keybindings. Select
  "Edit keybindings" in the Help menu to open.
* Mac/Editor: Fix mouse pointer sometimes behaving
  weirdly if moving outside the edges while editing.
  (Just turned off window edge-handling for mac.)
* FaustDev: Improve line number margin width in the
  text editor.
* Demo songs: Clean up mixer object positions in the
  Romance song.
* FaustDev: Use fixed-width (mono-sized) font in the
  code editor.
* Audio: Fix inaccurate latency values when the
  sampler player or seqtrack plugin has audio inputs.
  Since audio is not normally sent through these two
  instruments (the input connectors are mainly used
  for recording audio only), we don't usually want
  input latency added to the output latency.
* Sequencer: Show time under mouse cursor in
  statusbar when mouse is in the time area and
  nothing else is currently shown in the statusbar.
* Mixer: Add popup menu for connections.
* Mixer strips: Fix the "Delete plugin ..." option in
  the popup menu.
* Instruments: Add preferences-option to enable
  Sample Seek / MIDI Chase by default when creating a
  new instrument.
* Manual: Update documentation about sample seek and
  MIDI chase. (Tooltip for the "S" button updated
  as well.)
* Instruments: Fix showing current instrument when
  undoing/redoing creating MIDI instrument.
* Mixer strips: Always show the "Set current
  instrument" entry below the "Force as current
  instrument" checkbox in the popup menu.
* Sequencer: Fix graphics not updating immediately
  after undoing stretching seqblock.
* Audio: Add latency compensation when recording from
  input connections in the sequencer and in the
  sampler instrument. Automatically determined by
  default, but it's also possible to set a custom
  value.
* Audio: Compensate for soundcard input/output
  latency when recording from system input.
  Implemented both for recording in the sequencer,
  and for recording in the sampler instrument.
* Jack: Fix connecting audio input and output for
  "System in" and "System out" instruments when there
  are both physical MIDI ports and physical audio
  ports.
* Jack: Show message during startup if connecting
  system input ports failed.
* Jack: Fix auto-connecting Jack ports when there
  both physical MIDI ports and physical audio ports.
* Jack: Fix not always working to set name of Jack
  input ports.
* GUI: Add option to put the sequencer in the bottom
  of the mixer instead of in the lower tabs in
  main window.
* Sequencer: Fix shift-right-clicking multiple
  seqblocks.
* Sequencer: Fix Shift + rightclick to delete
  seqblock. Bug probably introduced in 5.9.99.
* Sequencer: Fix various situations where the
  graphics was not updated.
* API:
  * Renamed: mainMixerIsInWindow->mainMixerInWindow,
    switchMixerIsInWindow->switchMainMixerInWindow,
    instrumentWidgetIsInMixer->instrumentInMixer,
    setInstrumentWidgetInMixer->setInstrumentInMixer,
    switchInstrumentWidgetInMixer->switchInstrumentInMixer.
  * New: sequencerInMixer, setSequencerInMixer,
    switchSequencerInMixer, sequencerInMainTabs,
    configureSequencerWidget, gui_getMixerYSplitter,
    getRecordingLatencyFromSystemInputIsAutomaticallyDetermined,
    setRecordingLatencyFromSystemInputIsAutomaticallyDetermined,
    getCustomRecordingLatencyFromSystemInput,
    setCustomRecordingLatencyFromSystemInput,
    setSeqtrackRecordCompensateLatency,
    getSeqtrackRecordCompensateLatency,
    enableSampleSeekByDefault,
    setEnableSampleSeekByDefault, gui_editor,
    gui_editorLoadFile, gui_editorSetFile,
    gui_editorSave, gui_editorFind,
    gui_editorFindNext,
    gui_editorAddTextChangedCallback
  * writeToFile: Change return type from int to bool.
    (Returns false if writing failed.)
 

Changes 6.3.83 -> 6.3.84:
* Editor: Fix assertion window popping up if trying
  to delete a MIDI-added note while recording MIDI.
* Windows: Fix rare crash in portaudio when probing
  WDMKS audio drivers. Fix for both Jack and
  QJackCtl.



Changes 6.3.82 -> 6.3.83:
* Sequencer: Fix popup menus for fade/speed/stretch
* Sequencer: Add "Help" entry to the main sequencer
  popup menu
* Editor: Add "Help Pianoroll" entry to the bottom of
  the pianoroll popup menus



Changes 6.2.91 -> 6.3.82:
* Disk: Fix load song (bug introduced in 5.2.91)



Changes 6.1.99 -> 6.2.91:
* Macos: Fix editing keybindings by right-clicking a
  GUI element.
* MacOS: Necessary to kill qjackctl as well when
  killing jack.
* Windows: Fix right-clicking a menu entry in the
  main menus.
* Manual: Update information about Quantitizing
  FX in the editor.
* Linux: Fix loading song with spaces from the
  command line.
* API: rightclickPopupMenuEntry



Changes 6.0.99 -> 6.1.99:
* Editor: Fix crash in quantization function



Changes 5.9.99 -> 6.0.99:
* Audio: Fix illegal parameters for some LADSPA
  plugins in some situations. (Caused by "log 0".)
* Windows: Fix the left windows qualifier key not
  working when doing mouse operations.
* Editor: Paint velocity text for velocities that
  are not the first or the last of a note in a
  separate color.
* Editor: Paint last velocity text for a note in a
  separate color.
* GUI: Add hex value information to the instrument
  effect popup menu.
* Shutdown: Fix semi-rare crash during shutdown when
  painting the sequencer.
* Linux: Show popup info box when finished
  compiling.
* MacOS: Add option in Preferences to swap Ctrl and
  Cmd.
* MacOS: Let Left Cmd key always behave as Left Ctrl
  since not all macs have a left ctrl key, and
  left cmd key is not used for anything in radium.
* OpenGL: Ensure crashreporter is not shown when
  OpenGL can not start.
* Audio: Update recursive graph error message.
* Manual: Update mixer documentation.
* MacOS: Fix so that Ctrl-left-clicking does not
  behave as right-clicking.
* Mixer: Fix object positions being screwed up when
  moving several objects while pressing ctrl.
* Mixer: Add more zoom options to the popup menus.
* GUI: Fix quirkiness when opening sub menus with
  keyboard.
* Build: Fix building on gcc8.
* Mac: Change mouse-qualifier keys to be similar to
  Linux and Windows.
* Sequencer: Fix "M" checkbox not updating in the
  "Tracks" right-side tab when mute state is changed
  for an editor seqtrack.
* S7: Roll back to V8.16 / 2020-3-2.
* Sequencer: Fix seqblock automation sometimes
  lightning up when mouse is inside the right-side
  tabs.
* Mixer strips: Fix displaying whether instrument
  strip is selected or not.
* Mixer strips: Ctrl-click a strip to
  select/deselect instrument.
* GUI: Let the instrument widget share keyboard
  focus with the mixer.
* Mixer strips: Speed up redrawing changing current
  mixer strip.
* Build: Fix build for gcc 9.
* Audio: Fix various race conditions when changing
  current instrument.
* Mixer: Paint name of current mixer object and
  current mixer strip in white color.
* Mixer: Paint border around current mixer
  instrument, not around current instrument.
* Mixer: Introduce concept of current mixer
  instrument.
* Mxier: Change various functions that by default
  operated on the current instrument to work on the
  current mixer instrument instead.
* Audio: Change default send/receive name from empty
  to "default" in the Send/Receive instruments.
* Editor: Fix "Copy" and "Cut" not working from the
  pianoroll popup menu when note is not selected.
* Edit: Improve pitch shrink/expand requester text.
* Sequencer: Generate unique editor block name when
  selecting "clone block".
* Build: Fix FAUST HTTPDServer compile. (Teteros)
* Build: Fix Fluidsynth linking. (Teteros)
* Editor: When changing second-last veltext value of
  a note, change end velocity end as well if it was
  equal to the second-last value.
* API:
  * New: getCurrentInstrumentUnderMouse,
    setCurrentInstrumentUnderMouse,
    mousePointerCurrentlyPointsAtInstrument,
    getCurrMixerInstruments,
    addCurrentInstrumentChangedCallback,
    removeCurrentInstrumentChangedCallback,
    addCurrentInstrumentUnderMouseChangedCallback,
    removeCurrentInstrumentUnderMouseChangedCallback,
    setInstrumentIsSelected,
    switchInstrumentIsSelected, swapCtrlAndCmd,
    setSwapCtrlAndCmd.
  * Removed: getExtendedSelectedInstruments,
    control2Pressed, alt2Pressed.
  * Make current block the default argument for
    addUndoBlock.
  * Changed various default values from
    getCurrentInstrument() to
    getCurrentInstrumentUnderMouse().



Changes 5.9.98 -> 5.9.99:
* GUI: Make it possible to edit keybinding for most popup menu entries.
* GUI: Make it possible to edit keybinding for most main menu entries.
* GUI: Display keybindings in a different color in the menu entries.
* Manual: Lots of improvements.
* Audio: Option to turn off latency compensation.
  May be useful when recording audio.
* Mixer: When switching mute/solo/bypass for several
  selected instruments, switch each one
  individually.
* Edit: New function "replace with fixed
  velocities".
* General: Reduced memory usage.
* MIDI learn: Fix loading/saving song with
  parameters learning from event-connections. Note
  that loading old song still don't work (due to a
  necessary format change), but after relearning
  loading should work.
* Modular Mixer: Fix setting the volume of all
  selected sound objects at once.
* Pd: Fix assertion popping up in debug mode when
  sending effect value.
* Midi learn: Fix rare crash.
* Pd: Increase number of input and output channels
  from 2 to 16.
* Editor: Minor improvement to the track header popup menu
* Edit: Immediately give keyboard focus to editor
  when mouse enters the edit tab.
* GUI: Immediately give keyboard focus to widget
  under mouse.
* Editor: Fix graphics not updating immediately
  after pasting subtrack or timing track. For
  instance if pasting swing, fx, or BPM.
* Editor: Various new entries
  (clear/cut/insert/delete/mark/etc.) to the
  bar/beat popup menus.
* Editor: Remember range positions when undoing and
  redoing.
* Editor: Optimize undo.
* Editor: Let the Delete key delete beat or bar
  if hovered by mouse.
* Menus: Fix delete / stop notes / delete velocity.
* Editor: Removed QWERTY_A keybinding (alternative
  to pressing DEL). Probably pressed most by
  accident.
* Editor: Don't hide indicator graphics when opening
  popup menu.
* Editor: Mark range when clicking in the beats
  track.
* Editor: Tweak range color. Increase saturation.
* Editor: Draw transparent green color above bar or
  beat above all tracks when mouse is above a bar
  or a beat in the bar/beat track.
* Editor: Draw current bar or beat number in a
  different color when hovered.
* Editor: Display name of timing tracks and so forth
  in status bar when hovered. I.e. the tracks to the
  left of the note tracks.
* Sequencer: Make it possible to move seqblocks with
  right mouse button too. (The brain might sometimes
  wants to do that since you move objects with right
  button in the mixer.)
* fix
* Mixer strips: Change color slightly for the slider
  on/off button when hovered.
* Mixer strips: Fix paint mute/solo buttons when
  hovered.
* Instruments: Add "Insert send" entry to the
  instrument popup menu.
* Instruments: Add "Forced as current instrument"
  checkbox to the instrument popup menu options.
* Mixer: Don't unset selected instruments when
  setting current instrument.
* Mixer: Set newly created instrument as the only
  selected instrument after creating new instrument.
* Mixer: Automatically select instrument when
  hovering over an object.
* GUI: Possible optimization
* Mixer strips: Automatically change current
  instrument when hovering, except when current
  instrument is locked.  
* Mixer strips: Fix sometimes displaying wrong
  number of rows if a bus is set to be displayed as
  a plugin in a mixer strip.
* Sequencer: Add "Forced as current block" checkbox
  to the editor seqblock popup menu.
* Editor: Add padlock-checkbox in lower left corner
  to prevent program from automatically changing
  current block.
* Editor: Drag the world when dragging using middle
  mouse button.
* Sequencer: Drag the world when dragging using
  middle mouse button.
* GUI: Make sure editor always becomes visible when
  pressing F5 and sequencer is in Full mode.
* GUI: Make sure mixer always becomes visible when
  pressing F7 and sequencer is in Full mode.
* GUI: Make sure editor gets keyboard focus when
  pressing F5 and sequencer is in Full mode.
* GUI: Make sure mixer gets keyboard focus when
  pressing F7 and sequencer is in Full mode.
* Mixer strips: Various fixes to popup menus.
* Modular mixer: Rewrite all popup menus.
* Instruments: Add "Load random sample",
  "Connect to main pipe", "Insert plugin", "Mute",
  "Solo", and "Bypass" entries to the instrument
  popup menu.
* Instruments: Write in the status bar if
  solo/mute/bypass under mouse cursor has been
  turned on/off by automation.
* Instruments: Clean up various solo/mute/bypass
  behaviors.* Mixer: Fix mouse cursor not changing shape when
  doing things. Bug probably introduced when
  switching to qt 5.
* Mixer: Drag the world when dragging using middle
  mouse button.
* Audio: Fix some strange behaviors when muting and
  unmuting System out" and other sink objects.
* GUI: Tweak button size.
* Editor: Paint automation indicator arrow (i.e. the
  long vertical and horizontal lines) in the same
  color as they are pointing to. E.g. indicator
  arrows are painted in automation color or velocity
  color depending on whether we are editing
  automation or velocity.
* Mixer: New general main popup menu. To add a new
  sound object, now select "Insert new sound object"
  from the new general main popup menu.
* GUI: When pressing F5 and editor is visible but
  doesn't have keyboard focus, give keyboard focus
  to editor instead of hiding editor. Same behavior
  for F7 (mixer) an and F8 (sequencer).
* Sequencer: Make it possible to set gain for editor
  seqblocks as well, not just sample seqblocks.
* Mixer: Don't show popup menu after creating
  selection rectangle with right-mouse button.
* Editor: Write the name of the FX instead of
  "Fx text" in the status bar when moving the cursor
  to an FX text subtrack.
* Mixer: Let double-click switch between
  wide and non-wide. Before, it was enough to click
  two times.
* Mixer: Add option "Prevent program from switching
  instrument" to the popup menu of the current
  instrument.
* Instruments: Add "Set current instrument" option
  to the instrument lock popup menu.
* Sequencer: Don't autoscroll seqtracks when using
  seqtrack header interface.
* Instruments: Add a "lock" checkbox in the upper
  left corner to prevent the program from changing
  current instrument.
* Mixer: Don't create unnecessary undo when trying
  to create connection between two sound objects
  that were already connected.
* Mixer: Don't delete invisible connection when
  Shift+rightclicking on top of one.
* Mixer: Don't show thick line of invisible
  connections when mouse cursor is above one.
* Mixer: Paint "vu arrows" on the connection lines.
* Mixer: Let the connection lines blink when notes
  are played.
* Audio meters: Various fixes and optimizations.
* Audio: Fix audio meters updating/decaying at
  correct speed when CPU is too buzy to update
  graphics every frame.
* Mixer: Fix list of instruments listed up as
  alternatives for creating send connections.
* Mixer: Fix creating recursive connection. Before,
  interface connection lines in the mixer were
  created after attempting to create recursive
  connections, causing all sorts of errors and
  assertions to pop up.
* Mixer: Fix no sound when inserting a Send to a
  sound object without audio outputs.
* Mixer: Reduce CPU usage.
* Mixer: Paint arrow on connections in the modular
  mixer.
* Mixer: Let connection both increase in size, and
  change color, when the sound is higher.
* Mixer: Update modular mixer graphics each frame,
  not each third frame.
* Mixer: Speed up the note event led display 3X.
* Mixer: Tweak event connection graphics.
* Mixer: Light up event connections when events go
  through them.
* Mixer: Paint direction arrows on audio and event
  connections.
* Sequencer: Make sure current seqtrack is always
  fully visible after changing current seqtrack.
* GUI: Automatically unshow sequencer in full mode,
  if necessary, when pressing F5 to show editor, F6
  to show playlist, F7 to show Mixer, and when
  showing mixer strip for current instrument.
* GUI: Automatically unshow sequencer in full mode,
  if necessary, when pressing .
* Sequencer: Save seqblock selected status to disk.
* Sequencer: Remember seqblock selected status after
  finishing moving seqblocks.
* Sequencer: Fix ctrl-press to select/deselect
  single seqblock.
* Sequencer: Display seqblock name in the separator
  texts in the seqblock popup menus.
* Sequencer: Display "Seqblocks (selection)" as
  separator text for the seqblock separator text in
  the seqblock popup menus when more than one
  seqblock is selected (for cut/copy/paste/etc).
* Sequencer: Fix right-clicking a seqblock two times
  in a row in such a way that current seqblock
  wasn't updated.
* Sequencer: Always let seqblock under mouse be
  current seqblock.
* Bottom bar: Scale down font size if text doesn't
  fit in status label.
* Audio/Patchbay: Fix screwed up effect names when
  using more than one type (e.g both using 8x8 and
  16x16).
* GUI: Fix rare freeze when showing a window.
* GUI: Only show warning about a missing color the
  first time, not every time the color is used.
* Startup: fix missing "high_editor" color during
  startup.
* Sequencer: Let selected seqblocks still be
  selected after moving them.
* GUI: Reserve more vertical space for the status
  bar.
* Sequencer: Put esoteric/confusing options into the
  "Advanced" sub menu in the editor seqblock
  popup menu.
* Sequencer: Add "Replace audio file" options to the
  audio seqblock popup menu.
* Sequencer: Clean up "replace" options in the
  editor seqblock popup menu.
* Sequencer: Make the "Clone editor block(s)" popup
  menu entry less confusing.
* Blocklists: Automatically scroll blocklist
  (if necessary) after changing current block,
  to ensure current block is visible.
* Sequencer: Let "set seqblock name" and
  "set seqtrack name" share shortcut (i.e. same
  function is called for both.)
* Internal: Avoid bignums.
* Build: Remove qtstyleplugins.
* API: Prevent looping and punching from being
  enabled at the same time.
* Sequencer: Add "Set name" to seqtrack popup menu.
* Sequencer: Fix seqtrack names not always updating
  immediately after being changed.
* Sequencer: Set current seqtrack to 0 and scroll to
  the top after loading.
* GUI: Fix popup menu layout of already opened menus
  after changing system font.
* Sequencer: Store grid enabled/disabled to song
  files.
* Sequencer: Grid is now disabled by default.
* Sequencer: Store the color of audio file seqblocks
  to disk.
* Sequencer: Fix some unnecessary space that
  sometimes were left in the bottom of the
  sequencer after increasing height of sequencer.
* Sequencer: Make sure current seqtrack is always
  visible after resizing.
* Sequencer: Write "Grid: <gridtype>" instead of
  "G: <gridtype>" on the grid button
* Sequencer: Add "Popup menu for seqtrack #" entry
  to the bottom of the popup menus for seqblock,
  seqtrack automation, and seqblock automation.
* Editor: Fix mouse speed when editing velocity
  tempo automation.
* Editor: Improve GFX performance a lot when moving
  mouse, at least on Linux.
* Sequencer: Make Windoews + up/down keybindings
  select prev/next seqtrack.
* Sequencer: Fix keybinding displayed for selecting
  previous/next seqblock.
* Sequencer: Only show seqblock entries in the
  popup menu when right-clicking a seqblock.
* Sequencer: Don't show the seqblock entries in the
  main popup menu.
* Sequencer: Add "Insert current audio file" to
  popup menu.
* Sequencer: Rename "Insert existing block" to
  "Insert block".
* Sequencer: Rename "Insert new audio file" to
  "Insert audio file".
* Sequencer: Remove "Insert new block from disk"
  from the popup menu.
* Sequencer: Moved the functionality of
  "Insert new block" into "Insert block".
* Sequencer: Change "Insert audio file" to select
  from current audio files + option to load from
  disk, instead of only having to load from disk.
* Sequencer: Order audio files alphabetically.
* Sequencer: Make sure initial value is within the
  legal boundaries when creating new automation.
* Menus: Fix displaying various keybinding names.
  E.g. instead of "Left", "LEFTARROW" was displayed.
* Sequencer: Fix showing current seqtrack after
  loading.
* Sequencer: Add "Swap with prev seqtrack" to popup
  menu.
* Sequencer: Make it possible to add keybinding for
  setting seqtrack height by right-clicking the "H"
  radio buttons.
* GUI: Workaround for broken qfiledialog in Qt 5.15.
  Wrong sizeadjustpolicy for the filetype combo
  caused extremely wide windows.
* Sequencer: Some improvements to the popup menu.
* Sequencer: Don't show error message if copying,
  cutting or deleting selected seqblocks while there
  is no seqblock directly under mouse cursor.
* GUI: Fix background color for the
  "override keybinding?" table when using Qt 5.15.
* GUI: Fix popup menus not being wide enough for
  menus with long separator texts (workaround for Qt
  bug).
* Editor: Clean up menu to select track for
  instrument. (F12)
* Editor: Remove the keybindings for 1 and 1L1.
  These splitted / unsplitted lines, which are
  probably not very useful functions, but they
  could also be confusing if hitting the keys by
  mistake.
* Editor: Fix Shift + F not always creating new
  block.
* Audio: Show warning window during startup if using
  Jack 1. Radium is likely to freeze when using
  Jack 1.
* Editor: Make Right Alt + Up/Down work on
  everything, not just note text, velocity, and
  fxtext.
* Editor: Fix Right Alt + Up/Down not working on
  fxtext and velocity.
* VST: Show warning message when loading the
  ZamDelay VST plugin.
* Internal: Optimize velocity and fx rendering.
* Editor: Make transpose functions general so that
  they work on BPM, swing, fx, velocity, etc.
* Update S7
* Editor: Include entries to show help pages for the
  various timing tracks in the timing popup menu.  
* Linux: Remove "Edit Menus" from the help menu.
* Linux: Let "Edit Keybindings" in the help menu
  open ~/.radium/keybindings.conf and not
  keybindings.conf in the Radium binary directory.
* Import MIDI: Fix importing songs that have more
  start-note messages than stop-note messages.
* Blocks: Fix undo delete and undo insert block.
  Before it messed up the block order and/or pauses
  in the sequencer and playlist.
* Menus/Linux: Check the name of the process to kill
  in the script to prevent X from locking up.
  Debug-mode only.
* GUI: Fix keyboard up/down keys selecting correct
  prev/next entry right after opening a popup menu.
  Before it always behaved as if the first entry was
  selected, even when the mouse hovered an entry in
  the middle of the popup menu.
* Sequencer: Fix vertical seqtrack scrollbar not
  always working. Bug introduced in 5.9.98.
* Build: Support gcc 10.
* Pd: Support the ctlin and ctlout Pd objects.
* GUI: Use popup-menu code to create the main menus
  as well. Looks nicer and it works to right-click
  to configure keybindings.
* GUI: Tweak menu graphics.
* Sequencer: Name the sequencer timing part of the
  popup menu to "Timing mode" (previously unnamed).
* MIDI: Don't apply channel to MIDI system messages
  (0xf0->0xff) when using track channel for MIDI
  input.
* Jack sanity checker: Ensure that the physical
  ports that we connect to are Audio ports (not MIDI
  ports or anything else.)
* Jack: Don't ask user if he wants to kill jack if
  creating test-connections failed because they
  already existed.
* GUI: In the change-keybinding-window, set the
  default values for the editor/mixer/sequencer
  focus buttons to what is currently used, if a
  keybinding already existed for the command.
* Crashreporter: Remove Arch linux namedropping. The
  package is decent now.
* Build: Fixed install instructions
* Build: Fix "make clean" failing
* Editor: Reorganize popup menu entries under
  "Clipboard (track ...)". Not all entries were
  clipboard entries.
* Sequencer: Fix Shift + rightclick to delete
  seqtrack. (It deleted current seqtrack instead of
  the seqtrack under mouse.)
* Linux: Only use included libxcb if the
  system-version of libxcb is too old or doesn't
  exist.
* Editor: Add "Cut", "Delete all selected notes",
  and "Delete this note" to the pianonote popup
  menu.
* Editor: Made copy/cut/delete operate on the
  current note in the popup menu instead of the
  selected notes, if current note is not selected.
* Editor: Add "Pianoroll visible" to the pianonote
  popup menu.
* Editor: If right-clicking in the pianoroll without
  clicking on a pianonote, and cursor is not moved,
  make to options copy/cut/delete/paste/pianoroll
  options visible in the popup menu.
* Internal: Check that "declare-variable" variables
  have actually been declared after starting up.
* Editor: Add "Copy" option to pianonote popup menu.
* minor fix for prev. commit
* Editor: Don't unhighlight pianonote when
  right-clicking it.
* Editor: Add "Selected" option to the pianonote
  popup menu.  
* Editor: Make Ctrl + X cut selected notes in the
  pianoroll.
* Editor: Make Ctrl + C copy selected notes in the
  pianoroll.
* Editor: Make Ctrl + V paste into pianoroll.
* Editor: Keybinding to copy block is now CTRL+SHIFT+C.
* Editor: Keybinding to paste block is now CTRL+SHIFT+V.
* Mixer: Mouse pointer doesn't have to be inside the
  mixer when copying/cutting mixer objects.
* Sequencer: Mouse pointer doesn't have to be inside
  the mixer when copying and cutting seqblocks.
* Audio: Possible to create recursive audio graphs
  by using new sound objects "Send" and "Receive".
* Build: Fix running Radium after running ./install.sh.
* Build: Inform about the files install.sh and
  bin/packages/README when running "make install".
* Build: Display total compilation time when
  finished.
* Jack: If killing jack during startup, display
  what's happening in the progress window.
* Startup: Hide progress window before displaying
  final message.
* Editor: Display "ghost note" in piano roll.
* General: Support NSM. (session manager system used
  in Linux.)
* macOS/Linux: Make Radium quit in a clean way when
  receiving SIGTERM.
* Editor: Fix assertion window popping up when
  assigning track to an audio instrument without
  inputs or outputs.
* Edit: Make all "Range" operations operate on the
  selected notes in the pianoroll if current block
  has no range.
* Edit: Don't create undo when nothing was
  quantitized or transposed.
* Startup: Don't show crash reporter if program
  failed to start OpenGL.
* Edit: Add "Microtonal" checkbox to
  "Randomize pitch". Tt always created microtonal
  pitches before.
* Mixer: Fix minor memory leak.
* Linux/Macosx: Fix compiling with newer bdf.h
* Sequencer: Fix program sometimes crashing in debug
  mode when finalizing a seqblock or seqtrack.
* API:
  * New: gui_addAfterDeletedCallback, setRange,
    createOscServer, closeOscServer,
    getOscProtocolFromUrl, addOscMethod,
    closeOscMethod, sendOscMessage,
    sendOscMessageFrom,
    addDirtyStatusChangeCallback,
    removeDirtyStatusChangeCallback, getPid,
    getArgv0, nsmHasInited, waitUntilNsmHasInited,
    nsmIsActive, getNsmClientId,
    supportsSwitchNsmCapability,
    setSupportsSwitchNsmCapability, dirExists,
    createDir, setCurrentPianoGhostNote,
    cancelCurrentPianoGhostNote,
    hasCurrentPianoGhostNoteStart,
    getCurrentPianoGhostNoteTracknum,
    getCurrentPianoGhostNoteStart,
    getCurrentPianoGhostNoteEnd,
    getCurrentPianoGhostNoteValue,
    copySelectedPianonotes,
    cutSelectedPianonotes,
    deleteSelectedPianonotes, pastePianonotes,
    addPopupMenuClosedCallback,
    removePopupMenuClosedCallback,
    getCurrentPianonote, forceDeleteSeqtrack,
    editorHasKeyboardFocus, mixerHasKeyboardFocus,
    sequencerHasKeyboardFocus, addMenuMenu2,
    addToProgramLog, exportSong, importSong,
    clearSong, showBpmTextHelpWindow,
    showLpbTextHelpWindow,
    showSignatureTextHelpWindow,
    showLzTrackHelpWindow,
    showTempoAutomationTrackHelpWindow,
    setTrackSwings, generalTransposeEntryDown,
    generalTransposeEntryUp,
    generalTransposeTrackDown,
    generalTransposeTrackUp,
    generalTransposeRangeDown,
    generalTransposeRangeUp,
    generalTransposeBlockDown,
    generalTransposeBlockUp, setInstrumentColor,
    gui_getMouseX, gui_getMouseY, requestWString,
    base64StringIs8bitCompatible,
    setCurrentInstrumentLocked,
    isCurrentInstrumentLocked,
    switchSetCurrentInstrumentLocked,
    showHideFocusEditor, showHideFocusSequencer,
    mixerIsVisible, showHideFocusMixer,
    getCurrMixerSlotX, getCurrMixerSlotY,
    showHideInstrumentGui,
    getInstrumentSoloFromStorage,
    getInstrumentMuteFromStorage,
    getInstrumentBypassFromStorage,
    allowAutomaticallyChangingCurrentBlock,
    setAllowAutomaticallyChangingCurrentBlock,
    switchAllowAutomaticallyChangingCurrentBlock,
    gui_getCurrMouseButton,
    switchSetInstrumentAlwaysReceiveMidiInput,
    switchWideInstrumentStrip, getPlaceFromRealline,
    getReallineY1, getReallineY2,
    getTempoVisualizerTracknum, getBpmTracknum,
    getLpbTracknum, getSignatureTracknum,
    getLinenumTracknum, getBeatTracknum,
    getSwingTracknum, getTempoAutomationTracknum,
    getReallineFromY, getTopRealline,
    getBotRealline, getBeatBarBorderX,
    setCurrentBar, setCurrentBeat, getCurrentBar,
    getCurrentBeat, cancelCurrentBeat,
    getBeatAtRealline, getBeats, getBeatStart,
    getBeatEnd, getBarStart, getBarEnd,
    insertLines2, deleteLines2, getBeatAtPlace,
    hasBeat, pasteRange2, cutRange2, copyRange2,
    clearRange, clearRange2, hasRangeInClipboard,
    nsmNewSong, nsmSave, nsmDuplicate, nsmOpen,
    nsmQuit, newOrClearSong, saveAsOrExportSong,
    loadOrImportSong, gui_drawSvg
  * Deleted: showFXHelpWindow, getFxrangenodePlace,
    getFxrangenodeValue, getFxrangenodeLogtype,
    getFxrangeName, getNumFxrangenodes,
    getNumFxsInRange
  * Optional argument "ignore_nsm" for saveAs, load,
    newSong, saveWithEmbeddedSamples, and
    saveWithoutEmbeddedSamples.
  * Python: Support for the "Place" type.
  * Remove optional argument "force_delete" from
    deleteSeqtrack.
  * Don't allow sending negative place as argument
    for addNote to InsertNote. It's not a valid
    place and program isn't able to handle it
    either.
  * Remove the default arguments for end_line,
    end_counter, and end_dividor since none of them
    were legal.
  * Renamed getAllTrackSwings to getTrackSwings
  * generateNewInstrumentColor: Let default argument
    for "instrument_id" be the current instrument.
  * Change order of arguments for
    setSeqtrackMinHeightType and
    setSeqtrackMaxHeightType.
  * Let current seqtrack be the default seqtrack
    argument for getSeqtrackMinHeightType,
    setSeqtrackMinHeightType,
    getSeqtrackMaxHeightType, and
    setSeqtrackMaxHeightType.
  * Add optional argument "paint_on_top" to
    api_addPaintCallback.
  * Add optional arguments "forgiving" and
    "only_inside_timeline" to
    getCurrSeqtrackUnderMouse.
  * Fix getCurrSeqtrackUnderMouse.
  * setShowBarsAndBeatsSequencerLane: Automatically
    show time sequencer lane instead of throwing
    error.
  * setShowTimeSequencerLane: Automatically show
    bars and beats sequencer lane instead of
    throwing error.
  * configBlock: Add optional argument "blocknum"
  * removeSchedule: Release callback immediately.
    Minor memory usage improvement.
  * autoscrollSeqtracks: Add optional argument
    "make_fully_visible".
  * Fix canAudioConnect. It only returned false
    if it would create a recursive audio connection,
    not even taking event connections into account.
  * Add optional argument
    "bool change_curr_instrument" to
    setCurrSeqtrack.
  * Add optional argument
    "bool only_change_if_unlocked" to
    setCurrentInstrument.
  * Minor fixes to getInstrumentBypass,
    setInstrumentBypass, and getInstrumentSoloed.
  * deleteInstrument/showInstrumentGUI/hideInstrumentGUI:
    Give default values to all arguments so they can
    be used as keybindings.
  * Add optional arguments blocknum and windownum to
    getTrackSliderX1/X2/Y1/Y2.
  * Add optional argument
    only_select_if_allowed_to_automatically_change
    to selectBlock.
  * requestLoadInstrumentPreset/saveInstrumentPreset/showInstrumentInfo:
    Give default values to all arguments so they can
    be used for keybinding.
  * Fix getRangeEndTrack and setRange.
  * Fix getBeatAtPlace
  * Add optional argument "rangetype" to cutRange,
    copyRange, pasteRange, getNumTracksInRange, and
    getRangeLength.
  * Fix gui_textWidth causing all later calls to
    paintEvent to fail if gui_textWidth was not
    called from a paint callback and guinum is 0 or
    bigger.
  * Let "createIllegalFilepath()" be the default
    argument for loadSong.
  * API: Show error message if trying to call
    saveAs, load, or newSong in NSM-mode.
  * Fix crash in setTrackSwings if providing two
    swings on the same position.


Changes 5.9.96 -> 5.9.98:
* Windows: Some adjustments to make the 32 bits
  version run longer without running out of memory.
  More work needed here.
* Windows: Fix false positive malware detection in
  various VP software. Was mainly a problem with the
  32 bit version of Radium.
* MacOS: Fix mouse hovering in the editor not working
  since 5.9.86.
* Internal: Update S7
* Editor: Moving a selected note in the pianoroll
  causes all other pianonotes to be moved as well.
  Same when moving the start/end/node of a pianonote.
* Editor: Press Ctrl to select/unselect notes in the
  pianoroll.
* Editor: Press Ctrl and drag mouse to create note
  selection rectangle in the pianoroll.
* Internal: Upgrade JUCE from 5.4.3 to 5.4.7.
  * Linux: The old custom patches for the ALSA MIDI
    code in JUCE is still used, so there will be no
    change in the port naming scheme, or bad
    performance, even with the new version of JUCE.
* VST/AU: Eliminate use of an unnecessary
  input/output buffer. May reduce CPU cache hits if
  using many VST/AU plugins.
* Song properties: Extend the "Send global swing
  tempo to plugins and jack transport" text to
  include modulators, metronome, and jack tracksport
  as well.
* Editor: Don't move FX if cursor is placed on a
  chancetext or centtext subtrack when pressing
  backspace or alt+backspace.
* Editor: Make backspace and alt+backspace only
  operate on current FX if cursor is placed on an
  FX text subtrack.
* Editor: Only create undo when pressing backspace or
  alt + backspace result in a change.
* Editor: Make it possible to input rational and
  decimal numbers for shift+return.
* Editor: Use ratios instead of floats for
  calculation when pressing backspace and
  alt+backspace. This fixes situations where
  rounding errors caused notes and other events to
  sometimes be placed right below the start of a
  line.
* Internal: Various assertions that float and
  double numbers are valid.
* Build: Compile with -Wfloat-equal.
* OpenGL: If OpenGL crashes during startup, write
  explicitly that there's something wrong with the
  computer, to emphasize that it's not a bug in
  Radium. (One of the most common cause of crashes
  is people using the very unstable Nouveau graphics
  card driver for Nvidia cards on Linux.)
* Build: Print source file name in green color.
* Build: Display compilation time for each file.
* Sequencer: Fix some minor issues when painting the
  sequencer and navigator bars.
* Editor: Fix editor not being updated immediately
  after selecting paste block from the menus.
* Disk: Fixes loading and saving songs with lineshift
  in the instrument names.
* Editor: Make the tempo graph thicker, i.e. the
  timing track under "Grid". Also adjust color.
* Swing:
  * Editor: Fix mouse cursor not changing shape to
    split-horizontal when cursor is above a place
    when it's possible to change width of track, and
    the next track has swing-text visible.
  * Editor: Fix undoing track swing.
  * Editor: Make backspace and alt+backspace work on
    track-swing if cursor is placed on a swing
    subtrack.
  * Editor: Let the tempo graph display tempo of
    current track. Relevant when using track swings.
  * Player: Fix extreme swing values, and probably
    extreme values of other tempo types as well,
    which could cause inaccurate timing,
    assertions, and perhaps crashes.
  * Editor: Fix line cursor jumping to the wrong line
    when stopping to play.
  * Editor: Fix track swings not being taken into account
    when starting and stopping to play
  * Editor: Take track-swing into account when
    displaying waveforms.
  * Sequencer: Make it optional whether to display
    track-swinging beats in editor tracks in editor
    seqblocks.
  * Sequencer: Make it optional whether to use
    block-swing when displaying beats in the
    timeline.
  * Sequencer: Make it optional whether to use
    block-swing for the grid.
* Editor: Don't set current track to track 0 when
  undoing/redoing and cursor was positioned on a
  timing track when creating the undo.
* Editor: Fix loosing BPM "glide" state when undoing,
  redoing, copying, pasting, and cutting.
* GUI: Fix accidentally pressing Ctrl+Z in the
  terminal after moving a pianonote outside the
  boundaries of a pianoroll, making it seem
  like Radium had frozen. What actually happened
  was that the mouse pointer was forcefully moved
  outside the the main Radium window.
* Build: Fix various null-dereference gcc 8 warnings.
* Build: Fix building using Debian Buster 10.2.
  (another sh -> bash fix).
* GUI: Fix memory corruption if first message
  displayed in the status bar is exactly 10
  characters long.
* Preferences: Add line/beat/bar opacity options to
  the "Editor"-tab.
* Editor: Fix subtracting 250 from bar and beat
  opacities before rendering.
* Editor: Fix dragging vertical scrollbar up and
  down. Broken in 5.9.96.
* Editor: Fix mouse wheel not always working in the
  editor.
* Manual: Various updates, mainly to the editor.
* API:
  * sendKeyEvent, optimizedBuild, gui_postKeyEvent,
    getNoteNum, hasSelectedNotes,
    showPianorollSelectionRectangle,
    hidePianorollSelectionRectangle, getAllNotes.



Changes 5.9.95 -> 5.9.96:
* Sequencer/Editor: When moving the sequencer cursor,
  only scroll the current editor block up or down if
  the sequencer cursor in the current seqtrack is
  above the current editor block.
* Manual: Update Swing page a little bit.
* Instruments: Add four FaustDev example instruments
  to the instrument menu. (Saw, Square, Sine, and
  Triangle.)
* Mixer strips: Fix new plugin automatically being
  set as the new current instrument after selecting
  "Insert plugin". That was not supposed to happen.
* Sampler instrument: Fix recording sample to disk
  when instrument name contains very special
  characters.
* Menus: Remove "Import XM" from the File menu. It is
  not working well enough to be put there.
* Import MOD: Ignore a couple of errors in order to
  load more MOD files.
* Import MOD: Hide the volume sliders from the track
  headers in the editor to makes the pan values more
  visible.
* Sequencer: Made it possible to configure the color
  of the current list entry border.
* Preferences: Remove a couple of unused colors.
* Sequencer: Fix color for current seqtrack border.
  (It used color for current mixer strip border
  instead.)
* Editor: Don't hardcode alpha value of the border of
  pianoroll note colors.



Changes 5.9.93 -> 5.9.95:
* Editor: Make sure the pianoroll of the first track
  is always visible after pressing Shift + left and
  the cursor ends up in one of the timing tracks.
* GUI: Add a "Visible" checkbox to the popup menus of
  the editor, the mixer, and the sequencer.
* Export soundfile: Make it impossible trying to
  create a FLAC file with 32 bits or float format
  since those are not supported by FLAC.
* Plugins: Just ignore loading plugin cache from disk
  if hash version on file is newer than is currently
  supported in the program.
* Plugins: Save plugin cache in hashmap V3 format so
  that older versions of Radium can still be used
  after scanning new plugins. (All versions of Radium
  between 5.9.90 and 5.9.93 will probably be marked
  unstable soon because of this.)
* Instruments: Fix undoing delete instrument. This
  operation was not always able to load the old
  audiofile for the sampler and fluidsynth instrument.
* Instruments: Fix instrument-list windows. Broken in
  5.9.90.
* Instruments: Fix VST plugins not always showing up
  in the popup menus before they are scanned.
* Editor: When moving notes in the piano roll, play
  new note if pitch is changed for an instruments
  that doesn't support changing the pitch of an
  already playing note.
* Windows: Fixed various problems if using non-ascii
  filenames and dirnames.
* Editor: Fix popup menu option for grabbing
  keybinding for "Rename instrument".
* Build: Add new build-type DEBUG_FAST, which is
  the same as DEBUG + O2/O3.
* VST/AU: Fix plugins not deleted properly when
  exiting.
* API:
  * New: editorIsVisible, showEditor, hideEditor,
    copyFilepathToClipboard, getClipboardFilepath,
    createIllegalFilepath, isIllegalFilepath,
    isLegalFilepath, getBase64FromFilepath,
    getFilepathFromBase64, putSettingsF,
    getSettingsF.
  * Use a custom "filepath" type to store filenames
    and dirnames.
  * Fix loadSong and saveAs sometimes causing
    autobackups and saving not working. Was only a
    problem when calling these functions from Python.
    


Changes 5.9.92 -> 5.9.93:
* Editor: Fix cut and paste range.



Changes 5.9.91 -> 5.9.92:
* Windows: Fix Jack if running in a directory with
  non-ascii characters.



Changes 5.9.90 -> 5.9.91:
* Menus: Remove lots of entries from "Editor View"
  that are also available in relevant popup menus.
* Build: Remove some -Werror flags from non-debug
  build.
* API/internal: Change type from int64_t to file_t
  for files.
* Internal: Let "instrument_t" be a struct to avoid
  accidentally mixing types.
* Mixer: Fix the "Configure color" option in the
  popup menu.
* API: createIllegalFile, isIllegalFile



Changes 5.9.88 -> 5.9.90:
* Windows: Show progress window much earlier when
  starting the program.
* Sampler instrument: Fix GUI graphics not updating
  immediately when dragging sliders if GUI was opened
  by the second time or later.
* Sampler instrument: Fix memory corruption when
  opening a sampler instrument GUI for the second
  time. In Radium 5.9.88 this memory corruption
  started to crash the program.
* Editor: Popup menus for timing tracks.
* Import MOD: Decrease time it takes to import MOD
  file with lots of tempo changes. 
* Scripting: Update S7 to latest version.
* Editor: Fix very small font for the labels in the
  upper right when the swing track is not visible.
* Editor: Fix error message "getTrackX2: No track X"
  sometimes popping up, especially after importing
  MOD file.
* Sequencer: Fix some shortcuts in the seqtracks
  config popup menu.
* Internal/GUI: Fix a bug in the raw mouse cycle
  handling in the internal widget system.
* FaustDev: Fix block diagrams not being drawn when
  using the LLVM backend. Bug introduced in 5.9.88.
* Editor/OpenGL: Replace use of spinlock with mutex.
  This might fix some freezing in the editor when
  it's redrawn.
* Sequencer: Add popup menu to the timing lane
  headers area.
* Keybindings: Fix grabbing keybinding when
  navigating popup menus with the keyboard.
* Editor: Add support for grabbing keybinding to the
  entries in the track header popup menu.
* GUI: Fix entries in sub menues not always being
  highligthed.
* Sequencer: Add support for grabbing keybinding for
  the various grid functions in the grid button popup
  menu.
* Keybindings: Fix "Remove keybinding" when a
  previous keybinding has been added with other
  focus qualifiers than the default ones.
* Keybindings: Fix sometimes not detecting when
  overriding a keybinding.
* Mixer: Add support for grabbing keybindings for
  rotating the mixer to the popup menu of the mixer
  direction button.
* GUI: Add alpha to text color of disabled buttons
  and check boxes.
* GUI: Fix various buttons and checkboxes still being
  highlighted after releasing mouse button.
* Keybindings: Remove "EDIT SHIFT_L F5" keybinding to
  unzoom.
* Mixer: Options in the popup menu to edit various
  zoom keybindings.
* Keybindings: Add "Help keybindings" option to the
  bottom of all popup menus to grab keybindings.
* Help: Variuos fixes for the keybindings help page.
* Sequencer: Light up background color of the
  seqtrack numbers when hovered or moved.
* GUI: Fix buttons and checkboxes not always stops
  being highlighted after mouse pointer has been
  moved somewhere else.
* Mixer: Fix keyboard focus when un-windowing mixer.
* GUI: Add support for grabbing keybinding to
  the popup menu of all buttons and check boxes in
  the mixer, editor, sequencer, and playlist.
* Instrument widget: Save half/full status to disk.
* Instrument widget: Fix font size for effect sliders
  not always being correct when widget is half or
  full size.
* Instrument widget: Various clean-ups for the
  half/full size buttons.
* API:
  * New: setCurrMixerConfigNum, resetMixerConfigNum,
    setMainMixerInWindow, mainMixerIsInWindow,
    switchMixerIsInWindow,
    switchInstrumentWidgetInMixer,
    setShowCpuUsageInMixer, getShowCpuUsageInMixer,
    switchShowCpuUsageInMixer,
    setVisibleMixerConnections,
    getVisibleMixerConnections,
    switchVisibleMixerConnections,
    setVisibleMixerBusConnections,
    getVisibleMixerBusConnections,
    switchVisibleMixerBusConnections,
    mixerConfigNumIsUsed, resetEditorZoom,
    resetMixerZoom, resetSequencerZoom,
    setSwingEnabled, getSwingEnabled,
    switchSwingEnabled, setPianorollAutoRange,
    switchRecordAccuratelyFromMidi, playlistUp,
    playlistDown, switchSequencerGridEnabled,
    switchTrackPanOnOff, switchTrackVolumeOnOff,
    setSequencerInFullMode, sequencerInFullMode,
    switchSequencerInFullMode, hasInstrumentForTrack,
    isLegalInstrument, createIllegalInstrument,
    getAudioInstrumentNum, getMainPipeInstrument,
    switchDrunkVelocityOnOff,
    editorFollowsPlayCursor,
    switchEditorFollowsPlayCursor,
    insertEditorSeqtrack, insertAudioSeqtrack,
    insertBusSeqtrack, appendEditorSeqtrack,
    appendAudioSeqtrack, appendBusSeqtrack, setBPMs,
    setSwingTrackVisible, setSignatureTrackVisible,
    setLpbTrackVisible, setBpmTrackVisible,
    setReltempoTrackVisible, showHideLinenumbers.
  * Removed: undoTrackPanOnOff, undoTrackVolumeOnOff.
  * Update documentation for zoom and unzoom.
  * Fix playlistInsert.
  * Use a custom "instrument" type instead of int64_t
    to store instrument id.
  * Change order of arguments for
    gui_setVertRatioInMixerStrips.
  * Let the default guinum argument for
    gui_getVertRatioInMixerStrips and
    gui_setVertRatioInMixerStrips be -1 (main mixer
    strips gui).
  * Change order of arguments for
    gui_setNumRowsInMixerStrips.
  * Let the default guinum argument for
    gui_getNumRowsInMixerStrips and
    gui_setNumRowsInMixerStrips be -1 (main mixer
    strips gui).
  * Fix state of current seqblock and seqtrack if
    calling deleteSeqtrack directly instead of
    pressing the "-" button in the sequencer.
  * Add optional argument
    "bool force_insert/force_delete" to
    insertSeqtrack and deleteSeqtrack. The argument
    is false by default. If false, program will ask
    user "are you sure?" if calling the function
    causes song to switch from editor timing mode to
    sequencer timing mode.
  * Fix function names for addBPM3 and addLPB3.



Changes 5.9.86 -> 5.9.88:
* Startup: Make sure a proper error message is shown
  if the custom color configuration file is not
  valid.
* Windows: Fix editor text sometimes being garbled
  after startup. Bug has probably always been there,
  but hasn't been notable until very recently.
* Windows: Fix writing keybinding configuration to
  disk after grabbing keybinding.
* Internal: Use radium::Timer instead of QTimer for
  the main timer. Might lower idle CPU usage on Linux
  a little bit.
* Internal: Improve GC performance.
* Faust: Update faust to master-dev-2019-12-22
  (between V2.21.0 and 2.21.1). This update fixes
  interpreter backend not working properly for
  instruments using prerendered tables and other
  things ("os.osc" is the most prominent example not
  working before when used in an instrument).
* Keybindings: Make MOUSE_* and FOCUS_* qualifers
  OR-ed, and not AND-ed. AND-ing for these makes no
  sense since you can never have more than one widget
  focused, or the mouse to be directly above more
  than one widget at the same time.
* Keybindings: Add close button  to the keybinding
  grab gui.
* Keybindings: Add checkboxes for selecting focus for
  editor, mixer, and sequencer to the keybinding grab
  gui.
* Keybindings: Display more detailed information
  about current keybinding(s) in the "override?"
  window.
* Sequencer: Right-click the seqtrack settings
  radio-buttons to edit keybinding.
* API: cancelGrabKeybinding
 


Changes 5.9.85 -> 5.9.86:
* macOS: Don't display startup warning window anymore
  if running 10.14.
* macOS: Officially support 10.15, but display a
  warning during startup that it hasn't been much
  tested yet.
* macOS: Include a QJackCtl app in the binaries since
  neither the "Jack Pilot" nor QjackCtl binaries
  included with jack works very well in 10.15.
* macOS: New workarounds to prevent Apple's OpenGL
  library from crashing when resizing (especially in
  10.14 and 10.15). Unfortunately, this causes a
  little bit of flickering when resizing, plus longer
  time to resize, but it's better than crashing.
* GUI: Fix crash when ensuring that a visible widget
  always has keyboard focus. The crash could for
  instance be triggered by pressing the tab key 4
  times in a row. Bug was introduced in 5.9.85.



Changes 5.9.83 -> 5.9.85:
* Mixer strips: Fix the replace plugin entry in the
  popup menu.
* Scripting: Update S7 scheme interpreter.
* Keyboard: Change keyboard focus to a visible widget
  when the widget currently having keyboard focus is
  hidden.
* Menus: Move the Zoom entries from "Editor View" to
  "Windows".
* Keybindings: Let keypad +, -, * and Ctrl +, -
  zoom in/out/reset in the mixer and sequencer as
  well, not just the editor.
* Sequencer: Fix seqtrack header height when there is
  only one seqtrack.
* Playlist: Put back the "Hide" entry to the popup
  menu (disappeared when playlist was rewritten).
* Mixer strips: Fix the "Wide" and "Enabled"
  checkboxes in the popup menu of the current
  instrument mixer strip.
* MIDI: Fix modulator gui for MIDI CC targets
* MIDI: Fix saving/loading/undo/redo CC slider
  modulation.
* Editor: Tweak vertical scroll bar position.
* Editor: Middle-align text of labels and input
  widgets in the upper left.
* Editor: Automatically scale font size of the upper
  left labels to make sure "Swing" is always
  completely visible.
* Help: Some minor updates.
* Editor: Fix error message popping up if changing
  track width of track while playing song and current
  block is changed.
* Editor: Fix editor sometimes not responding after
  pressing the "F" button in the sequencer twice, and
  possibly other situations.
* Editor: Clearer and better looking interface for
  the track headers.
* Editor: Show audio meters in the track headers.
* Instrument widget: Fix font type in the MIDI
  instrument widget.
* Editor: Fix pianoroll notes snapping to the next
  grid line instead of the current 50% of the time.
  Was usually not noticable except when trying to
  move the end position to the end of the block,
  which wasn't possible without pressing Ctrl.
* GUI: Various gfx tweaks.
* Preferences: Put the colors into sub sections and
  adjust order.
* Instrument widget: Show full path in tooltip and
  status bar when mouse cursor is positioned above a
  settings button in the sample browser.
* Sequencer: Show path in tooltip and status bar when
  mouse cursor is positioned above a settings button
  in the file browser.
* Playlist: Tweak button positions.
* GUI: Fix gradient behavior when painting
  checkboxes.
* Mixer: Fix high CPU usage when mixer strips are
  visible.
* Instruments: Fix memory leak.
* Fix unnecessary assertion sometimes popping up when
  checking OpenGL on Windows.
* Sequencer: Fix seqtrack slider not working in some
  semi-rare situations.
* Menus: Remove duplicate "Silence!" entries.
* API:
  * setPianorollLowKey: Set default value of
    'blocknum' to -1.
  * setPianorollHighKey: Set default value of
    'blocknum' to -1.
  * gui_verticalAudioMeter: Ignore note event
    painting if "note_event_instrument_id" is set
    to -2.
  * gui_addVerticalAudioMeter: Ignore note event
    painting if "note_event_instrument_id" is set
    to -2.
  * Better error messages for various instrument
    functions.
  * Change "zoom" and "unzoom" to zoom / reset zoom
    the part (editor/mixer/sequencer) that has
    keyboard focus, not just the editor.
  * Removed: getTrackPanOnOffX1, getTrackPanOnOffY1,
    getTrackPanOnOffX2, getTrackPanOnOffY2,
    getTrackVolumeOnOffX1, getTrackVolumeOnOffY1,
    getTrackVolumeOnOffX2, getTrackVolumeOnOffY2,
    getTrackPanSliderX1, getTrackPanSliderY1,
    getTrackPanSliderX2, getTrackPanSliderY2,
    getTrackVolumeSliderX1, getTrackVolumeSliderY1,
    getTrackVolumeSliderX2, getTrackVolumeSliderY2.
  * New: setBestGuessKeyboardFocus
 

Changes 5.9.81 -> 5.9.83:
* GUI: Increase default system font height from 8
  to 10 on Linux and Windows, and from 12 to 14
  on macOS.
* Preferences: Clean up color order a little bit.
* GUI: Adjust colors.
* Build: Remove the k_cext and oscx pd externals from
  libpds since some linkers refuse to link object
  files using mktemp.
* Sampler instrument: Fix Noise and error messages
  when playing non-looped samples using a non-cubic
  resampler (Bug introduced in 5.9.41(!)).
* GUI: Make scroll bar colors configurable.
* GUI: Make colors of all buttons and checkboxes
  configurable.
* GUI: New appearance for buttons and checkboxes.
* Instrument widget: Adjust some fonts and layouts.
* Playlist: Don't show error message if pressing
  "Insert" and there are no audio files.
* Instrument widget: Fix being able to deselect both
  the A and the B a/b buttons.
* Modular mixer: Always show bus connections when
  "C2" is enabled. Earlier they weren't shown unless
  "C1" was also enabled.
* Sequencer: Auto-scroll to make current seqtrack
  visible when pressing up/down key.
* Sequencer: Make Page up/down scroll up/down 4
  seqtracks.
* Instrument widget: Fix width of the "Controls
  visible" checkbox.
* Sequencer: Add vertical scrollbar for seqtracks.
* Sequencer: Fix various minor issues when seqtracks
  are hidden.
* Sequencer GUI: Various minor tweaks and bug fixes.
* GUI: Light up buttons and check boxes when hovered
  by the mouse.
* Preferences: Improve help text for the "Update
  waveforms during playback" button.
* Sequencer: Fix mouse pointer shape not always being
  of the correct type.
* GUI: Fix bottom bar widgets often not using all
  available vertical space.
* Midi messages instrument: Fix CC for "Balance". It
  sent out CC 9 instead of CC 8.
* Midi messages instrument: Order all effect sliders
  by CC.
* Midi messages instrument: Add missing CC effects.
* Build: Fix building with qt 5.13.
* API:
  * setTopmostVisibleSeqtrack: Ignore operation if
    seqtrack is not visible.
  * setCurrSeqtrack: Add optional argument
    "bool auto_scroll_to_make_seqtrack_visible",.
  * New functions: getStringLength,
    getSequencerLeftPartButtonsY1,
    getLowestPossibleTopmostVisibleSeqtrack,
    getSeqtrackBorderWidth, setCurrSeqtrackDown,
    setCurrSeqtrackUp, autoscrollSeqtracks,
    getGcMemoryUsage.



Changes 5.9.79 -> 5.9.81:
* Sequencer/Mixer: Made default Bus color bluish
  instead of greenish to make it easier to see mute
  status.
* Sequencer: Tweak borders a little bit.
* Linux: Possible fix for unnecessary CPU usage.
* Sequencer: Write "H0", "H1", "H2", or "H3" instead
  of just "H" for the track height buttons.
* Sequencer: Let mouse wheel scroll 3 entries up or
  down. Earlier it only scrolled 1.
* Playlist: Fix wobbly text when moving vertical
  scrollbar.
* Sequencer: New "Tracks" tab to quickly configure
  visibility, mute, solo, record, and height of all
  seqtracks.
* Sequencer: Change the name of the "Browser" tab to
  "Files".
* Sequencer: Various GUI optimizations and minor
  fixes.
* Mixer: Various GUI optimizations and minor fixes.
* Sequencer: Quickly change height of a track by
  scrolling mouse wheel on top of the "H" button.
* Sequencer: Fix current seqtrack sometimes changing
  in non-logical ways when clicking inside the
  right-side tabs.
* Sequencer: Fix first letter not being readable for
  the current editor block in the "Blocks" tab
* Sequencer: Fix first letter not being readable for
  the audio file in the "Sounds" tab.
* Sequencer: Fix error messages popping up if
  right-clicking a seqtrack number.
* General: Fix potential memory leak in sequencer.
* API:
  * New: setSeqtrackVisible, getSeqtrackVisible,
    gui_supportsCallbacks, getLowestVisibleSeqtrack,
    resetSeqtrackConfig, setCurrSeqtrackConfigNum,
    getCurrSeqtrackConfigNum, seqtrackConfigIsUsed,
    setSeqtracksVisible.
  * Add optional argument
    "throw_error_if_seqtrack_is_not_for_audio" to
    seqtrackIsRecording.



Changes 5.9.77 -> 5.9.79:
* Sequencer: Let all new audio seqtracks have the
  same initial color. This color is configurable.
* Sequencer: Fix making auto-crossfades when changing
  interior values for a seqblock.
* Audio: Fix export soundfile when jack transport is
  enabled.
* Sequencer: Tweak colors for bpms, signatures, and
  markers.
* Sequencer: Change default keybinding to split audio
  file from CTRL + S to S. S is a more common
  operation, and this also fixes keybinding clash
  with saving file (which was very unfortunate).
* Sequencer: Change default keybinding to switch Solo
  from S to Shift + S.
* Mixer: Add a default keybinding Shift + S to
  switch solo of the selected instruments.
* Sequencer: Made the seqblock boxes lighter by
  default (fade/interior/speed/stretch), and also
  made these colors configurable.
* Sequencer: Paint horizontal and vertical indicator
  lines when moving automation nodes.
* Sequencer: Paint horizontal lines across all tracks
  and lanes when mouse pointer is above a movable
  object, to better show where the objects are placed
  in time.
* Sequencer: Always paint a thin horizontal line
  under the mouse pointer to show grid and to better
  visualize where objects are placed in time.
* Sequencer: Optimize drawing cursors.
* API: getSeqAutomationColor,
  getSeqblockAutomationColor, setSeqIndicator,
  cancelSeqIndicator, seqIndicatorEnabled,
  getSeqIndicatorXPos, getSeqIndicatorY,
  getSeqIndicatorType, getSeqblockColor.



Changes 5.9.76 -> 5.9.77:
* Mixer: Fix crash during startup if instrument
  widget was positioned inside mixer. (Bug introduced
  in 5.9.76).
* Sequencer: Don't pause player when moving a
  seqblock while playing block.
* Build: Make Faust compile with LLVM9. (Teteros)
* Editor: When overriding a note from MIDI input,
  also change the velocity when "Always use velocity
  from MIDI..." is enabled.
* Sequencer: Make sure seqtrack instrument is always
  deleted/created when corresponding seqtrack is
  deleted/created, and vice versa. (Fix for undo/redo
  creating/deleting seqtrack and seqtrack instrument).
* Sequencer: More intelligent algorithm to create
  names for seqtrack buses.
* Load/New: Fix assertion window sometimes popping up
  because main pipe instrument doesn't exist. (Bug
  introduced in 5.9.76).



Changes 5.9.74 -> 5.9.76:
* Editor: Only change the tempo multiplier value of
  the initial block when dragging the tempo
  multiplier slider. This also fixes undo.
* Undo: Don't start at undo level 5 when loading
  song.
* Mixer: Also delete corresponding seqtrack if
  deleting a seqtrack instrument. (Earlier, the
  instrument was just recreated immediately right
  after being deleted.)
* Build: Fix building faust when the
  INCLUDE_FAUSTDEV_BUT_NOT_LLVM environment variable
  is set.
* Mixer: Change default color for the border of
  current mixer strip from green to white.
* General: Make sure there is always a current
  instrument.
* Bottom bar: Fix tooltip for the standard velocity
  slider.
* Mixer: Let arrow keys change current instrument.
* Editor: Play notes in other tracks as well when
  "Edit lines" is 0 and we add a note.
* Menus: Add "Set Edit Lines 6/7/8" to
  Editor Edit -> Note.
* Editor: Let CTRL_L + 1L1 set "Edit Lines" to 0.
* Editor: Change keybinding for Switch Scroll Play
  from CTRL_L + 1L1 to SHIFT_L + 1L1.
* Editor: Show velocity text and fx text on line
  under, if free, to avoid "xxx" entries.
* Editor: Remove the default ALT_L + T and CTRL_L + T
  keybindings. (The function
  "switchTrackNoteShowType" isn't very useful
  anymore.)
* API:
  * New: setCurrentInstrumentLeft,
    setCurrentInstrumentRight,
    setCurrentInstrumentUp, setCurrentInstrumentDown,
    mainMixerIsModular, setMainMixerIsModular,
    switchMainMixerIsModular, gui_getGlobalX,
    gui_getGlobalY, gui_getMainMixerGui,
    gui_getMainMixerStripsGui,
    gui_getMixerStripsGuiInActiveWindow,
    gui_isActiveWindow.
  * Add optional arguments 'blocknum' and
    'windownum' to undoReltempo and setReltempo.



Changes 5.9.72 -> 5.9.74:
* Editor: Fix rare crash when adding selecting
  "New FX".
* Sequencer: Let CTRL + S be the default keybinding
  to split audio file. The old keybinding ("S") was
  recently overridden by the seqtrack solo on/off
  keybinding.
* Sequencer: Let "split audio" split by sequencer
  grid if sequencer grid is enabled.
* Sequencer: Fix error messages popping up when
  moving seqblock to a new seqtrack.
* Sequencer: Fix error messages popping up when
  splitting audio file.
* Sequencer: Fix error message showing up after
  loading if current seqtrack is for audio files.
* Help: Minor fixes.
* Sequencer: Paint white seqblock names in the block
  browser and the audio file browser.
* Playlist: Make sure current entry is always
  visible.
* GUI: Make sure scrollbar position is always legal.



Changes 5.9.71 -> 5.9.72:
* Playlist: Fix background color for current entry.
* Editor: Add option in the Preferences GUI to
  disable updating waveforms during playback.
* Build: Check that Qt is at least V5.10 before
  starting to compile.
* Sequencer: Fix saving editor seqtrack volume and
  mute to disk.
* GUI: Ensure new windows are placed on the same
  screen as the main window.


Changes 5.9.69 -> 5.9.71:
* Editor: Fix displaying sample filenames with
  non-ascii characters when current seqtrack is for
  audio files.
* Sequencer: Fix displaying window title for track
  on/off-window when opened the first time.
* GUI: Don't apply scrollbar state to vertical list
  area when scrollbar is not visible.
* Scripting: Update S7.
* Playlist: Rewritten:
  * Somewhat nicer graphics
  * The assertion window should not popup anymore in
    various situations.    
* Sequencer: Bind C key to change color for all
  selected seqblocks.
* GUI: Make scrollbars look slightly better.
* GUI: Don't show scrollbars if everything fits. 
* Scripting: Make linter check arguments for some
  types when calling global functions.
* Scripting: Add signatures for the ra: functions.
* Scripting: Make linter check arguments for local
  functions, not only global functions.
* Sequencer: Let the keybinding F + SHIFT_L append
  block, R + CTRL_L to delete block, and I + CTRL_L
  to insert block. The same keybindings are in the
  editor. Added because the sequencer has a block
  browser.
* Scripting: Arity-check calls to functions defined
  by lambda* and define*, not only lambda and define.
* Audio: Let Shift + Ctrl + M switch metronome
  on/off.
* API:
  * New: switchMetronome, gui_isDoubleClicking,
    getTimeStringFromFrames, getCurrPlaylistPos,
    setCurrPlaylistPos,
    lockCurrPlaylistPosToCurrSeqblock,
    getPlaylistPosTime, getPlaylistPosForSeqblock,
    generateNewColorForAllSelectedSeqblocks.
  * Change setSeqblockName and getSeqblockName to
    take seqblockid as argument instead of
    seqblocknum+seqtracknum.
  * Let -1 (current position) be the default
    argument for "pos" in createSampleSeqblock.
  * setSeqblockName takes base64 string by default.
  * getSeqblockName now returns base64 string.
  * gui_setWindowTitle takes optional argument
    'name_is_base64'. Argument is false by default.


Changes 5.9.67 -> 5.9.69:
* Playlist: Fix a crash that could happen in
  various situations, for instance when creating a
  new seqtrack. 
* Menus: Fix the "Set Default Colors 1/2" entries
  under "Edit".
* Mixer: Paint gray border around mixer strips for
  instruments that are selected.
* Sequencer: Make Alt + left/right key move cursor to
  prev/next mark.
* Sequencer: Make left/right key move cursor 1 second
  back/forward. (This keybinding will be changed
  later to jump 1 bar bacward/forward.)
* Sequencer: Make Shift + left/right key move cursor
  10 seconds back/forward. (This keybinding will be
  changed later to jump 4 bars backward/forward)
  change later.)
* Sequencer: Make Win/Meta/Meta + left/right key
  select previous / next seqblock in current
  seqtrack.
* Sequencer: Make Alt + 1 move cursor to mark 1,
  Alt + 2 move cursor to mark 2, and so forth.
* Sequencer: Make 1L1 move cursor to start.
* Menus: Name the EXTRA_R key "Right Meta" (linux)
  and "Right Win" (windows), not "Menu".
* Sequencer: Bind the "M" key to switch mute for the
  current seqtrack.
* Sequencer: Bind the "S" key to switch solo for the
  current seqtrack
* GUI: Make sure implicit mute/solo status is always
  updated.
* Audio: Make sure undo is never created for
  solo/bypass when undo for solo/bypass is disabled.
* Sequencer: Fix assertion window popping up when
  moving more than one seqblock.
* Scripting: Fix error message sometimes being
  screwed up.
* Instruments: Create undo when changing instrument
  color(s).
* Mixer: Bind "C" key to change color for all
  selected sound objects.
* Mixer: Paint red border around selected instruments
  instead of making them bluish.
* Mixer: If an object is both current and selected,
  paint purple border color (i.e. mix current color
  and selected color).
* Audio: Make switch solo/mute/bypass for selected
  instruments operate on the current instrument if no
  instrument is selected.
* Audio: Make setting random sample for all selected
  instruments operate on the current instrument if no
  instrument is selected.
* Mixer: Bind the "B" key to switch bypass.
* Mixer: Bind the "S" key to switch solo.
* Mixer: Bind the "M" key to switch mute.
* API:
  * New functions: getInstrumentSolo,
    getInstrumentMute, getInstrumentBypass,
    switchInstrumentSolo, switchInstrumentMute,
    switchInstrumentBypass,
    getExtendedSelectedInstruments,
    generateNewInstrumentColor,
    generateNewColorForAllSelectedInstruments,
    getSeqtrackMute, setSeqtrackMute,
    switchSeqtrackMute, getSeqtrackSolo,
    setSeqtrackSolo, switchSeqtrackSolo, incSongPos,
    jumpToSequencerMark, jumpPrevSequencerMark, and
    jumpNextSequencerMark.
  * Use current seqtrack if seqtracknum is set to -1.
  * Switch argument order for setInstrumentSolo,
    setInstrumentMute, setInstrumentBypass,
    setInstrumentIsImplicitlyMuted, and
    setInstrumentIsImplicitlySoloed.
  * In getInstrumentSolo, getInstrumentMute,
    getInstrumentBypass, setInstrumentSolo,
    setInstrumentMute, setInstrumentBypass,
    switchInstrumentSolo, switchInstrumentMute, and
    switchInstrumentBypass, set default value for the
    "instrument_id" parameter to -1.
  * Fix getHtmlFromText function which screwed up
    lineshifts and empty lines.


Changes 5.9.65 -> 5.9.67:
* Load: Fix probable memory corruption. Seems to
  rarely have had any consequences though.
* Windows: Fix crashreporter. Probably broken since
  Radium 5.9.61.
* Mixer: Pressing the Delete key deletes all selected
  mixer objects.
* Scripting: Optionally check S7 scheme code for
  unknown symbols and wrong number of arguments
  before evaluating. Call errorCheckEvalScheme to
  enable. (Always enabled in debug mode)
* Edit: Fix missing warning about overriding
  keybinding. Probably broken around 5.9.60.
* Scripting: Improve S7 error display.
* GUI: Never display a solo-ed instrument as
  implicitly muted.
* GUI: Fix right shift not always working for playing
  current block. For instance after using a popup
  menu.
* Mixer: Possible fix for hanging mixer-direction
  popup menu.
* Instrument widget: Possible fix for hanging
  auto-suspend popup menu.
* Sequencer: Fix wrong seqblock being set as current
  seqblock after adding a new seqblock from the
  seqblock browser.
* Editor: Fix track paste and track cut not updating
  swing when selected from the popup menu.
* Editor Add "Clear track" option to the main menus
  under "Editor Edit" -> "Track", and to the track
  popup menu.
* Editor: Add Left Alt + Delete as keybinding for
  clearing track.
* Editor: Fix various situations that could make
  illegal cursor position.
* Internal: Optimize hash tables a little bit
* Editor: Fix undo in "Cut track" in the track popup
  menu.
* Scripting: Update S7
* API:
  * New: deleteAllNotesAndStopsInTrack,
    deleteAllStopsInTrack, metronomeEnabled,
    clearTrack, errorCheckEvalScheme,
    setErrorCheckEvalScheme, getTextFromHtml
  * Make undo in deleteAllNotesInTrack
  * Make undo in clearTrackFX
  * Document when isLeftMousePressed,
    isRightMousePressed, and isMiddleMousePressed
    works.
  * Remove the surrounding p-tags from the result
    of calling getHtmlFromText.



Changes 5.9.64 -> 5.9.65:
* Mixer: Fix quirky behavior in send-sliders when
  trying to set new value after undoing or redoing.
* Modular Mixer: When deleting a sound object with
  exactly one input connection, transfer the output
  connection settings to the parent sound object.
  This behaviour is similar to what happens when
  deleting a plugin in a mixer strip.
* New song template: Remove chorus and reverb sends
  from the "Click" instrument.
* Mixer: Fix bus send values sometimes being set to
  -inf dB or 0dB in various situations.
* Mixer strips: Fix error messages sometimes popping
  up in 5.9.64 when inserting / removing plugins.
* Mixer strips: Fix slow gfx update in 5.9.64 when
  editing bus send sliders.
* Mixer strips: Display automation/modulation values
  again for the bus send sliders, which disappeared
  in 5.9.64.
* Mixer strips: Include the "Effect:" section in the
  popup menu for bus send sliders.
* Instrument widget: Optimize graphical updates.
* API: Various improvements for debugging scheme
  code.



Changes 5.9.62 -> 5.9.64:
* Mixer: Fix bug not making it possible to show mixer
  strips for plugins.
* Metronome: Don't play extra sounds when playing
  block. Fix for bug introduced in 5.9.62.
* Editor: Avoid jumping cursor when stopping to play.
* Player: Fix selecting correct current seqblock and
  current block after stopping to play.
* Audio: Make Solo behave more generally. For
  instance, setting solo for a bus only makes the
  buses mute, not all instruments.
* Mixer/Sequencer: Display non-filled yellow border
  around solo buttons for implicitly soloed
  instruments.
* Jack: Don't crash, and don't show assertion window
  if saving state or setting port name when jack port
  could not be registered.
* About window: Include control port number.
* Message window: Fix quotations
* Audio Removed all bus on/off effects. Instead,
  audio connections are created / deleted. This
  improves CPU usage by around 5% and cleans up the
  code a bit.
* Mixer: Added "C2" button to show/hide bus
  connections. (Hidden by default.)
* Editor: Add "Edit" entries to the track popup menu.
* Editor: Make resize faster, and reduce chance of
  seing framed black editor while resizing.
* Internal: Updated S7.
* Editor: Fix minor graphical glitches when a block
  is played in more than one seqtrack.
* Sequencer: When setting cursor position when not
  playing, set current seqblock to the one under the
  cursor of the current seqtrack, if there is one.
* Sequencer: Fix single-click in the timeline to set
  cursor position (red cursor).
* Sequencer: When pressing Ctrl+C and no seqblocks
  are selected, copy the current seqblock and not the
  seqblock under mouse pointer.
* Sequencer: Remember current seqblock when changing
  seqtrack.
* Editor: Not necesarry to place the mouse cursor
  inside the editor when copying and pasting blocks.
* Init: Don't show assertion reporter window when a
  scheme function is redefined. It's enough showing
  the warning window.
* API:
  * New: showEditQuantitizeTab, showEditTransposeTab,
    showEditRandomizeTab, showEditVariousTab,
    canAudioConnect, setInstrumentIsImplicitlyMuted,
    instrumentIsImplicitlySoloed,
    setInstrumentIsImplicitlySoloed,
    atLeastOneInstrumentHasSolo
  * Removed instrumentIsBusDescendant.
  * Fix selectPrevPlaylistBlock and
    selectNextPlaylistBlock when playing song.
    Broken in 5.9.62.
  * Don't pretty-print backtrace code. Takes up
    too much space.


Changes 5.9.61 -> 5.9.62:
* Sequencer: Fix bar and beat numbers in the
  sequencer timeline.
* Edit: Functions to randomize octaves.
* Scheme: Improve backtrace display.
* Edit: Fix right-clicking a button to change
  keybinding for it. Fix for bug introduced in
  5.9.60.
* Sequencer: When changing current seqblock, also
  change current block if seqblock holds editor
  block.
* Sequencer: When changing current seqtrack, also
  change current seqblock.
* Sequencer: Make left arrow key select previous
  seqblock and right arrow key select next seqblock.
* Build: Updated S7.
* Sequencer: Remember current seqblock when
  undoing/redoing, and also save to disk.
* Playlist: Is visible during startup by default.
* Sequencer: Let delete key delete current seqblock.
* Sequencer: When current seqblock is deleted, let
  next seqblock be current seqblock, or previous if
  there is no next.
* Sequencer: Paint name of current block with a white
  pen instead of painting a blue border around the
  seqblocks.
* Playlist/Sequencer: Bind current playlist element
  and current seqblock.
* API:
  * New: selectPrevSeqblock, selectNextSeqblock
  * Update grid button graphics when calling
    setSequencerGridEnabled.
  * Add dynvec_t type, and convert most functions
    storing arrays in dyn_t to use dynvec_t instead.



Changes 5.9.60 -> 5.9.61:
* Build: Compile ladspa-plugins without debug symbols
  to lower startup time if realtime virus scanning is
  enabled.
* Windows: Update Qt to V5.12.3. (macOS: Qt was
  updated to V5.12.3 in Radium 5.9.60. Linux: Qt is
  still at V5.12.2.)
* Windows/Linux: Compile Radium with gcc 8.3.0.
  (Upgraded from gcc 7.4.0.)
* GUI: Only hardcode F11 to switch full screen for
  windows which takes care of keyboard events
  themselves. For instance the help windows.
* Linux: Fix undefined behavior when setting a window
  to not be full screen.
* Edit: Functions to distribute notes evenly in
  range, track, or block.
* Sequencer: Display correct bar numbers. (Bug
  introduced in 5.9.60.)
* GUI: Fix memory leak in popup menus
* Mixer: Only make one undo entry for "solo all
  selected/etc." in the popup menu.
* Mixer: Add "bypass/unbypass all selected" entries
  to the popup menu.
* Build: compilation fixes for gcc9.
* Mixer: Add function "switch-solo-for-selected-instruments"
* Sequencer: Fix some minor graphical garbage in the
  lower-left buttons.
* GUI: Fix crash that sometimes happened when
  clicking slighly outside a popup menu entry.
  (Bug introduced in 5.9.60)
* Log: Log all clicks on popup menu entries.
* API: setSoloForInstruments, setMuteForInstruments,
  setBypassForInstruments,
  switchSoloForSelectedInstruments,
  switchMuteForSelectedInstruments (Lydkraft),
  switchBypassForSelectedInstruments (Lydkraft).



Changes 5.9.52 -> 5.9.60:
* Editor: Don't update graphics during playback if
  "enable_editor_rerendering_during_playback = false"
  is included in the config file.
* Editor: Let grid follow graphical line, not tracker
  line. I.e. don't ignore LZ when using grid.
* Keybindings: Let up/down key move select previous
  or next seqtrack when sequencer has keyboard focus.
* OSX: More workaround for graphics not updating
  after resizing editor.
* Windows: Fix paths being screwed up when directory
  separators are converted to backslashes. Might fix
  some Python issues.
* Manual: Various improvements.
* GUI: Improve keybinding display in the main menus,
  popup menus, and the edit tab
* Sequencer: Drag seqtrack number to change seqtrack
  order. (The numbers inside the circles) 
* Linux: When running Radium under gdb, close popup
  menu if it has been open for 40 seconds and kill
  Radium if a popup menu has been open for at least
  50 seconds. This to avoid freezing X if program
  crashes under gdb while a popup menu is open.
* New song: Make default color of the main pipe blue
* Sequencer: Rename the lower left buttons.
* Mixer: Add "1:3", "1:1", and "3:1: radio buttons to
  the main mixer header and to the mixer popup menus.
* GUI: Set all bus instrument colors to "Default Bus
  color" (a configurable color) when starting up.
* Sequencer: Introduce "Bus" seqtracks. Bus seqtracks
  are audio seqtracks that pipes input by default.
  The colors of seqtrack buses are also set to
  "Default Bus color".
* Audio: Add "Pipe input" option to audio seqtrack
  instruments.
* Sequencer: Minor optimization for the audio file
  player.
* Editor: Fix metronome not making any sounds between
  seqblocks in editor timing mode.
* Sequencer: Display slightly less erroneous bars
  and beats between seqblocks in the timeline when
  the duration of the last bar of the previous played
  block wasn't a full bar.
* Initialization: More messages during startup about
  what's happening.
* Editor: When creating new a note, pitch, fx,
  velocity, or tempo with mouse, always let that
  note/pitch/fx/velocity/tempo start at the
  beginning of the line the mouse cursor is
  placed in, not on the next line if mouse cursor was
  placed below half-way into the line. (blackhole89)
* Editor: Fix new piano-notes being rounded to the
  nearest note (whether it's up or down). Before,
  it was always round down to the nearest note.
* Audio: Fix audio meter graphical update when an
  instrument changes number of visible channels.
* GUI: Fix clicking radio buttons in popup menues
  when clicking the entry outside the circle.
* Sequencer: Double-click a marker to loop between
  that marker and the next.
* Editor: Show red border around current column
  inside the cursor (the color is configurable).
* Editor: Show border around current track. The
  border has the same color as the keyboard focus
  border color, and is also shown only if the editor
  has keyboard focus.
* Sequencer: Include last marker when calculating
  song duration.
* Sequencer: Use all leftmost space when there is
  only one seqtrack. (There is no current seqtrack
  border when there is only one seqtrack.)
* Internal: Update S7 scheme.
* Menus: Only display "Ctrl" when both left or
  right control is assigned to a command. Same for
  alt and shift.
* Menus: Automatically display several entries when
  more than one keybinding is assigned to a command.
* Startup: Fix keybindings sometimes not working on
  windows. At least I'm pretty sure it's working now.
* GUI: Speed up opening popup menues. (Content is
  cached now.)
* Playlist: Fix crashes that could happen when
  inserting audio file.
* Edit: Make sure all text is shown in the "Randomly
  delete notes" and the "Lightly shuffle pitches"
  sliders.
* Keybindings: Redefine almost all keybindings so
  that they only work when having relevant
  keyboard focus.
* GUI: Separate keyboard focus for the editor, the
  mixer, and the sequencer. Press Ctrl+F5, Ctrl+F7,
  and Ctrl+F8 to change keyboard focus between the
  editor, the mixer, and the sequencer.
* Internal: Display error message when there is an
  error while finding right keybinding code to
  execute when a key is pressed.
* Shut down: Fix crash iwhen program could't start
  up.
* Linux: Update URL to nvidia driver
* Sequencer: Add a "Copy filename to system
  clipboard" entry to the audio seqblock popup
  menu.
* Fluidsynth: Fix erroneously display of
  sample/bank/preset in the instrument GUI.
* Editor: Update tooltip for "Edit Lines" ("EL") in
  the bottom bar.
* Editor: Fix note not stopping to play when
  releasing computer keyboard key after adding a
  note.
* Editor: Fix note being played when adding notes and
  "Edit Lines" has a value larger than 0.
* Audio: Improve CPU usage of fading in and out.
* Audio: Improve CPU usage of the granulator a little
  bit.
* Editor: Make resizing look more professional by
  covering up some flickering. It's probably not
  possible to make perfect though, because of OpenGL.
* Audio: Minor optimization to the multicore
  scheduler.
* Load/Save: Remember last used directory when
  loading/saving song
* GUI: Fix a division by zero when rendering editor
  track header. Probably makes no difference in
  graphics, but might make it run faster.
* Audio: Add a little bit of release to the Click
  instruments to avoid noise when unpressing the
  click button in the bottom bar.
* Audio: Written new algorithm for smoothing delay.
  Should improve CPU usage significantly overall.
* FaustDev: Add support for the interpreter backend.
* FaustDev: Compile Radium with the option
  WITHOUT_LLVM_IN_FAUST_DEV to only include the
  interpreter backend. (Avoids linking with the
  LLVM libraries.)
* FaustDev: Make compilation faster.
* Build: Fix compiling with clang 8.0.
* API:
  * New: copyWtextToClipboard, getClipboardWtext,
    copyTextToClipboard, getClipboardText,
    gui_getSequencerFrameGui, setEditorKeyboardFocus,
    setMixerKeyboardFocus, setSequencerKeyboardFocus,
    gui_setLayoutStretch,
    gui_getVertRatioInMixerStrips,
    gui_setVertRatioInMixerStrips, addKeybinding,
    getKeybindingsFromCommand,
    instrumentIsSeqtrackBus.
  * Removed: getKeybindingFromCommand.
  * Renamed: setKeybinding -> addKeybindingToConfFile,
    removeKeybinding -> removeKeybindingFromConfFile.
  * Documentation: Remove erroneous comments for
    openFileForReading and readLineFromFile. These
    functions are implemented.
  * Add optional start and end arguments to
    setSeqLooping.
  * Add optional "is_bus" argument to appendSeqtrack
    and insertSeqtrack
  * gui_createMixerStrips ha as new optional argument
    "vert_ratio" (is 1/1 by default).
  * swapSeqtracks doesn't create undo anymore.



Changes 5.9.51 -> 5.9.52:
* OSX: Workaround for sequencer graphics not being
  updating in 10.14 when moving the "dragger" (i.e.
  the "=" button in the top left corner of the
  sequencer).
* Editor: Fix cursor line sometimes being placed in
  wrong position after resizing.
* OSX: Workaround for crash in Apple's OpenGL library
  that sometimes happened when starting up, and when
  resizing editor. (The workaround is to pause
  graphics rendering for a short while after
  resizing). This bug was especially noticable on
  macOS 10.14.
* Internal: Add compile time option to run OpenGL in
  the main thread instead of it's own thread. Didn't
  fix the OSX crashes though.
* Editor: Reduce flickering when resizing.
* Keybindings: Don't crash and don't show assertion
  reporter if there is something wrong with the
  keybinding configuration.
* Keybindings: Show error message in message window
  when pressing a key and the keybinding failed to
  run.
* OSX: Don't crash if trying to run Radium without
  first installing jack.



Changes 5.9.50 -> 5.9.51:
* Sequencer: Don't crash after selecting Cancel when
  asked for replacement of missing audio file.
* Sequencer: Don't accept replacement audio file if
  the base names of the two filenames differ. This is
  a quick right-before-the-release hack to avoid a
  crash that can happen if the two files have
  different lengths. Needs proper solution later.
* Song properties: Change the text "Send global swing
  tempo to plugins" to "Send global swing tempo to
  plugins and jack transport".
* Song properties: Change the text "Audio files" to
  "Audio files in Sample player and Fluidsynth".
* GUI: Increase default block saturation to 1.0
* GUI: Increase default instrument saturation
  to 0.67.
* GUI: Add options to set instrument saturation and
  brightness for the editor only. May want a less
  saturated background color in the editor.
* Internal: Include the samplereader and ratio tests
  into "make test".
* Internal: Fix "make test".
* Internal: Run "make test" in the build script for
  creating new releases. "make test" does catch the
  bug below, but running it wasn't automated.
* Internal: Fix crash when moving several seqblocks
  in some situations. The bug was general though, so
  it might have caused other problems as well. The
  bug was introduced in 5.9.48, so all releases
  between 5.9.48 and 5.9.51 will be marked unstable.
* Audio: Fix the problems with latency compensation
  in 5.9.50. The bug had actually always been there,
  but hopefully it had not been audible
  before 5.9.50.
* Load: Fix crash when loading old songs,
  approximately around 4.2.0 or older. Not sure when
  this bug was introduced.
* Audio: Some minor optimizations of CPU usage.
* API: getInstrumentBrightnessInEditor,
  setInstrumentBrightnessInEditor,
  getInstrumentSaturationInEditor,
  setInstrumentSaturationInEditor.



Changes 5.9.49 -> 5.9.50:
* Audio: Make internal block size configurable.
  CPU usage is reduced significantly when the
  internal block size is increased.
* Jack: Show error message if changing jack block
  size during runtime.
* Audio: Reorganized the audio engine in order to
  significantly reduce CPU usage when there's many
  sound objects.
* Audio: Remove the "Recalculate latency on the
  fly..." option since it is not necessary anymore.
* Editor: Don't move cursor when stopping to play
  block and jack transport is enabled. This fix also
  turns off the ability for another program to set
  current editor block and line when not playing.
* Audio: Share output buffers between instruments to
  decrease cache misses. Significantly reduces CPU
  usage when there's many instruments.
* Sampler instrument: Fix displaying empty waveforms
  in the editor (very rarely though) when automating
  pitch or stretch.
* API: Removed doAlwaysRunBuses, setAlwaysRunBuses



Changes 5.9.48 -> 5.9.49:
* System: Updated Qt to 5.12.2.
* GUI: Color tweaks.
* System: Add missing Qt5Webkit library for QT5
  build. (Teteros)
* Sample player: Move the "Granulate" checkbox to the
  top of the next column.
* Instrument: Adjust displaying ratio text in the
  compressor.



Changes 5.9.46 -> 5.9.48:
* Linux: Patch the included WebKit library so that it
  doesn't load browser plugins. Visiting the
  Wikipedia LFO page (linked to in the manual) could
  make Radium crash if user had installed a buggy
  plugin, or a plugin linking to Qt.
* Sequencer: When pressing Space while playing, just
  stop playing, and don't move cursor back. When
  pressing Space while NOT playing, first move cursor
  back to last place we started playing from, and
  then start playing.
* GUI: Remove the text "CPU:" from the bottom bar.
* GUI: In the bottom bar, make the status bar and
  the volume slider always have the same width.
* Editor: When edit is OFF, and we are playing notes
  on the computer keyboard, send the notes to the
  current instrument and not to the instrument for
  the current track.
* Instruments: For older songs (approx. a year), fix
  note duplicator values being set to default values
  if undoing Reset or Random. Also fixes A/B usage
  and possibly other things. These are more
  fixes for the old note duplicator Chance bug which
  unfortunately caused old songs to have wrong values
  in them.
* Init: Make sure custom initialization code (in
  keybindings.conf) doesn't run until program has
  started up. Program could crash during startup
  because of this.
* Playlist: Fix wrong content showing up when a
  different seqtrack was selected while playlist was
  hidden.
* Playlist: Fix selecting prev and next playlist
  block when playlist isn't visible.
* Instruments: Immediately remove "[m]" from
  instrument slider/checkbox text after removing
  a modulator from the effect.
* Preferences: Add sliders to control brightness and
  saturation for blocks/audiofiles colors and
  instrument colors.
* Instrument: Fix rare crash that could happen when
  creating new instrument.
* Sequencer: Fix rare crash that could happen when
  creating new seqtrack.
* Audio: Optimize checking if instrument can
  autosuspend.
* GUI: Make tab colors configurable.
* Metronome: Fix silent metronome when playing block
  in sequencer timing mode.
* Metronome: Fix stop notes not being sent out in
  sequencer timing mode.
* Metronome: Fix stop notes sometimes not being sent
  out when starting to play a new block in editor
  timing mode.
* Modular mixer: Draw autosuspended objects in a
  grayer color than before.
* Linux: Decrease CPU usage for VST plugin GUIs.
* Windows/OSX: Fix program sometimes hanging when
  exiting program after using a midi input or output
  device.
* API: getInstrumentBrightness,
  setInstrumentBrightness, getInstrumentSaturation,
  setInstrumentSaturation, getBlockBrightness,
  setBlockBrightness, getBlockSaturation,
  setBlockSaturation.



Changes 5.9.44 -> 5.9.46:
* Windows/VST: Add a "DPI" checkbox to the VST plugin
  header when DPI is not 96, i.e. when either the
  display is scaled, or a hiDPI monitor is used.
  When unchecking the DPI checkbox, the plugin GUI
  will be reopened with a DPI of 96 instead. This
  will both let Windows do the scaling (causing
  blury and larger graphics), and in some cases fix
  bugs caused by plugins not handling a
  non-standard DPI. You need Windows 10 for this
  to work.
* OpenGL: Remove startup warning that Radium hasn't
  supported high DPI display for a very long time.
  It's been a pretty long time now.
* Error message window: Position in the middle of the
  screen.
* Progress window: Add a minimize button in the upper
  right corner.
* Mixer: Don't update graphics for the modular mixer
  when it's not visible.
* Mixer strips: Fix note intencity circle only
  lighting up/down when the main mixer was visible.
* GUI: Turn off menu and combobox animation. Screwed
  up menus on osx when using Qt 5.12. (Think the
  menu animation actually brought back the same bug
  that caused me to upgrade Qt from 5.7 to 5.10.)
* Mixer: Fix error message sometimes popping up when
  showing popup menu.
* JUCE patch for Linux: Display ALSA MIDI client
  names as clientName + ": " + portName to avoid
  mixup for ports with the same port name belonging
  to different clients.
* JUCE patch for Linux: Make sure all ALSA MIDI
  connections and ALSA MIDI ports are publicly shown
  (for instance in the qjackctl patchbay). Not
  showing them only creates confusion.
* JUCE patch for Linux: Set realtime priority for the
  MIDI input thread.
* Build: Update Juce from 5.3.2 to 5.4.3.
* Linux: Don't read from configuration file when
  opening a native VST gui. (Race condition that
  could have caused various trouble.)
* Init: Fix 1-10 seconds freeze that sometimes
  happened during program startup.
* Windows/Sequencer: Fix displaying non-ascii
  characters in the audio file browser.
* OSX: Fix file requester not filtering out entries
  when loading/saving mod/midi/xm/rad.  
* OSX: Radium requires 10.12 or newer.
* Editor: When appending new block, let it have the
  same number of tracks and lines as the current
  block. (Same behavior as insert block.)
* Instruments: Include the pan and width effects in
  the wet signal by default. This can be changed in
  the song properties window. When loading older
  songs, pan and width is not included in the wet
  signal, since that could change the sound.
* Instruments: Disable the dry/wet slider when
  instrument is bypassed.
* API:
  * New functions: setIncludePanAndDryInWetSignal,
    includePanAndDryInWetSignal, appendBase64Strings.
  * Add optional argument "text_is_base64" to gui_drawText



Changes 5.9.43 -> 5.9.44:
* Editor: Add undo when selecting "Add automation to
  current editor track".
* Sequencer: Delete block when undoing "Replace With
  New Block".
* Sequencer: Less gradient background color.
* Modular mixer: Generate same color for all selected
  instruments when selecting "Generate new color".
* Linux: Don't show warning about MESA when using
  an AMD GFX card.
* Init: Initialize OpenGL much earlier in the
  startup. Could reduce the chance of crashing
  OpenGL during startup.
* Editor: Fix not playing notes twice when adding a
  note and "Play notes under the cursor when moving
  up or down" is enabled. This was supposedly fixed
  in 5.9.42, but wasn't.
* Editor: Turn off autorepeat when pressing left
  shift while adding notes and "Enable keyboard
  autorepeat when adding notes in the editor" is
  disabled.
* Instruments: Update slider text immediately when
  changing "Change value when pressing "random".
* Editor: Ensure cursor is visible when moving the
  horizontal scroll bar.



Changes 5.9.42 -> 5.9.43:
* Editor: Don't crash when changing on/off for a
  non-existent track.



Changes 5.9.41 -> 5.9.42:
* Fluisynth: Update URL to fluidsynth in the info
  window.
* Editor: Don't play notes twice when adding notes
  and "Play notes under the cursor when moving up or
  down" is enabled.
* Sequencer: Fix graphics rendering between the
  timing/marker lanes and the opmost visible
  seqtrack.
* MIDI instrument: Fix error message popping up when
  mouse is above a CC slider or above a note
  duplicator on/off button.
* Instrument widget: Fix wrong fonts in the note
  duplicator, for the instrument name input widget,
  and for the sample browser path.
* Sampler instrument: Fix modulators when loading
  songs saved before 5.9.41. Note that songs saved
  with 5.9.41 (and only that version) will require
  some editing if modulators had been assigned to
  effects in the sample player in that version of
  the program. (5.9.41 is marked as unstable now.)
* Instruments: Fix assertion window popping up when
  selecting "add automation to current editor track"
  and there was already an automation node for that
  effect at the current editor position.
* Instruments: Don't show assertion window when
  making states for the Faust Dev and Pd instruments.
* Sample instrument: Delete GUI when instrument is
  deleted.
* OSX: Show a different startup warning when running
  macOS 10.14. Radium has been tested on 10.14 now,
  but not much, and it sometimes crashes during
  startup.
* fix for prev. commit
* Sample player: Fix high CPU usage when the GUI is
  open.
* Audio meters: Ensure meters are really updated
  every frame. Earlier we updated every 20ms, which
  is more than the common 16.6ms update period.
* Audio meters: Changed the "CPU friendly" option
  in preferences to update every 3rd frame instead
  of every 2.4th frame. Probably looks better with a
  consistant refresh rate.
* Sampler instrument: Set default grain overlap value
  to 3.0 instead of 1.0.
* Sampler instrument: Allocate granulator instances
  from a common pool shared by all sampler
  instruments. This should both lower memory usage
  and CPU usage.
* Sampler instrument: Added a "fine stretch" slider
  in addition to the old "coarse stretc" slider. The
  coarse stretch slider went from -100 to 100 which
  was a bit hard to control.
* Sampler instrument: Added a "gran. volume" slider
  for doing volume compensation so that the level
  can be set to approximately the same when
  enabling/disabling granulation. Note that the
  default value is set to -6dB, so you need to
  manually set this value to 0.0dB after loading
  songs saved with Radium 5.9.41.
* Sampler instrument: Don't stretch waveform data in
  editor when granulation is disabled.
* Sampler instrument: Display stretch values between
  0.0 and 1.0 as "1.0/xxx" instead of "0.xx".
* Sampler instrument: Change scaling method when
  stretch is below 1.0. Now stretch spans with
  linear numerator values in the range 100/100 to
  1/100 instead of ranging linearly from 1.0 to
  0.01. Note that stretch automation will sound
  different for values below 1.0 for songs saved with
  Radium 5.9.41.
* Startup: Don't draw OpenGL until program is
  finished initializing. Fixes program sometimes
  freezing for a few seconds after startup.
* Startup: Show mixer strip for current instrument
  before swapping opengl for the first time.
* OSX/crashreporter: Only wait 5 seconds for the OSX
  diagnostic report file to be created.
* Progress window: Optimize performance.
* Build: Upgrade libatomic_ops from 7.4.12 to 7.4.14
* Build: Update BDWGC to 7.4.16. Contains an
  important fix for Windows if running 32 bit Radium
  in a 64 bit operating system.



Changes 5.9.39 -> 5.9.41:
* Sequencer: Use a gradient background color.
* Instruments: Fix bad bug when undoing/redoing note
  duplicator voice on/off. Fix for undo/redo and
  memory corruption. The bug was probably introduced
  during the last year.
* Sampler instrument: Added granulation.
  Visualization is displayed in the GUI window.
* Instruments: Save "Random" state by effect name and
  not by effect number. Prevents wrong values if
  loading an instrument that has changed the number
  of effects, or the effect order, since last time.
* Plugins: Show assertion window if saving effect
  value to hash table with an already used key.
* Editor: Let a bottom slider value of 0 mean that
  the height is set automatically. (In "GFX tweaks")
* Import MOD: More progress window messages.
* OpenGL: Remove some flickering when resizing.
* Editor: Add an "R" checkbox in the bottom left
  corner. This checkbox replaces the "tracker style"
  vs. "sequencer style" radio buttons in preferences.
* Editor: Made tracker-style recording the default
  mode.
* Sequencer: Improve statusbar messages in the
  seqtrack headers.
* GUI: Ensured the bottom bar of editor, the up/down
  buttons in playlist, and the horizontal scrollbar
  in mixer, are aligned.
* Mixer: Clean up widget hierarchy and removed a
  small unnecessary border.
* Editor: Reorganized widgets. This might possibly
  have made graphics faster.
* Editor: Re-implemented the bottom bar.
* GUI: Less gradient colors for large rectangular
  areas.
* Sequencer: Don't change background color for the
  current seqtrack header to green. Instead, just
  make the color brighter.
* GUI: Tweaks to painting rectangular border ardound
  vertical sliders.
* OSX: Minor improvement to rendering the mixer graphics.
* Mixer: Don't change current instrument when
  right-clicking in the mixer strip for the current
  instrument.
* Sequencer: Make the copy track on/off popup menu
  entry texts shorter.
* Sequencer: GUI tweaks.
* OSX: Fix closing the progress window if Radium
  crashes.
* Jack: Fix checking if jack is running during startup
  not always reporting correctly.
* OSX/Windows: Fix let Left Alt start navigating
  the main menus. (Probably also a fix for some
  Linuxes as well.)
* GUI: Workaround to avoid bottom bar updating
  graphics unnecessarily often.
* GUI: Remove the Qt bottom bar and replace it
  with a custom bottom bar which looks sligthly
  better.
* Preferences: Make help text for "tab bar height"
  clearer.
* Audio meters: Fix bug causing all note diode areas
  to be repainted every frame.
* Editor: Enable by default the "Multiply number of
  lines to scroll by the "Edit Lines" value" option.
* Mixer: Only show tooltip for sliders if there
  wasn't enough space to fit all text.
* OpenGL: Wait to swap OpenGL until program is
  finished initializing. Might fix semi-rare macOS
  startup crash. Possibly looks better too.
* Init: Run a test program during startup to detect
  if the GFX driver crashes when probing OpenGL.
* API:
  * New: getTrackSliderIsMoving,
    recordAccuratelyFromMidi,
    setRecordAccuratelyFromMidi,
    showProgressWindowMessageIfOpen,
    progressWindowIsOpen.
  * Removed: getTrackSliderScrollerX1,
    getTrackSliderScrollerY1,
    getTrackSliderScrollerX2,
    getTrackSliderScrollerY2.
  * Added optional argument "force_show" to
    showProgressWindowMessage



Changes 5.9.38 -> 5.9.39:
* Mixer strip for current instrument: Fix popup menu.
* Mixer strip for current instrument: Don't change
  current instrument when editing.



Changes 5.9.36 -> 5.9.38:
* Modular mixer: Show statusbar message about
  creating new connections when mouse is hovering
  over lower half of name, or hovering over the
  input/output slot positions.
* Modular mixer: Display mute/solo/bypass/volume in
  statusbar when edited and hovered by mouse.
* Mixer: Improve statusbar text for solo and mute.
* Sequencer: Don't use different background color for
  the current seqtrack header if the current seqtrack
  is for editor blocks.
* Mixer: Improve mixer strip popup menu.
* Help: Improve mixer help somewhat.
* Editor: Pressing shift while editing text
  (fxtext/bpmtext/etc.) prevents cursor from moving
  down.
* Editor: Pressing shift while pressing the DEL key
  prevents cursor from moving down.
* New song: Turn off the high shelf filter for the
  reverb. Don't know when +9dB 4500Hz happened, but
  it seldomly sounds very good.
* New song: Explicitly set connection type for the
  connections.
* Mixer: Fix configuration window not being on top of
  mixer window.
* Sequencer: Add a Grid checkbox to the seqtrack
  header top button bar. Right click this checkbox to
  change grid type.
* Sequencer: Remove the sequencer grid options in the
  preferences since this grid configuration has been
  replaced by the Grid checkbox in the seqtracks
  header.
* Sequencer: Fix status bar text for the dragger.
* Preferences: rename "Play Cursor" to "Play-cursor".
* GUI: Fix placing message windows in the middle of
  the parent window.
* Nag window: Make simpler.
* Internal: Improve scheme backtrace display.
* Editor: Add undo/redo for setting track on/off.
* GUI: Fix popup menus so that when you click, the
  marked entry is selected, no matter whether the
  mouse pointer is above a separator or not.
  Workaround for Qt misbehavior.
* Sequencer: Don't enable the "delete seqblock" entry
  in the popup menu when mouse pointer is not above
  a seqblock.
* Sequencer: Add options "Copy editor track on/off ->
  seqblock track on/off" and "Copy seqblock track
  on/off -> editor track on/off" to the seqblock
  popup menu. Can also be accessed by pressing
  Ctrl + Page Up / Ctrl + Page Down.  
* Init: Lower startup time.
* Init: Wait until startup is completely finished
  before closing the progress window.
* VST/AU: Add option to disable the virtual MIDI
  keyboard below native GUIs.
* Import MOD: show pattern number in progress bar
  when sending patterns to radium.
* Import MOD: Only open one progress window.
* Web browser: Use direct method to zoom.
* Mixer: Add options to explicitly change connection
  type for the sliders in the mixer strip paths.
  Either "Plugin", "Send", or "Auto".
* OSX: Show warning during startup if running
  macos 10.14 or newer.
* Init: Show progress window a little bit earlier in
  the process.
* Help: Clarify that Radium never uses Jack Transport
  for timing information.
* Mixer: When adding plugin or send to a strip,
  store the connection type (plugin or send) so that
  the entries don't change role afterwards. For
  instance, the roles could earlier change when
  moving sound objects around in the modular mixer.
* Remove some debug output from prev. commit. 
* Mixer: Improve GUI performance a little bit.
* Sequencer/Mixer: Various GUI tweaks.
* Sequencer/Mixer: Make the color for current
  seqtrack/mixer strip much brighter.
* Mixer: Add status bar text when mouse pointer is
  above volume slider, audio meter, volume text,
  peak text, mute button, solo button, and pan
  slider.
* Mixer: Clean up the interface for inserting new
  plugin and new send. (More cleanups needed though.)
* Jack transport: When stopping to play block, don't
  jump back to sequencer start position.
* Menus: Make the dot entries (".") work when
  clicking on them.
* Menus: Make "play song" and so forth only play, not
  stop if already playing. Vice versa for the stop
  entries.
* Menus: Fix wrong command being executed for all
  entries having the same menu text, except the last
  entry.
* Help: Added picture of the instrument effect popup
  menu to the instrument effect popup menu help page.
* Jack transport: Fix various issues with playing,
  stopping, and positioning cursor.
* Help: Added info about Jack Transport to the timing
  documentation.
* GUI: Minor scrollarea/scrollbar update tweak.
* API:
  * New: gui_addVisibilityChangeCallback,
    getAudioConnectionType, setAudioConnectionType,
    showVirtualMidiKeyboardBelowNativeGUIs,
    setShowVirtualMidiKeyboardBelowNativeGUIs,
    copyEditorTrackOnOffToSeqblock,
    copySeqblockTrackOnOffToEditor, setTrackOn,
    sequencerGridEnabled, setSequencerGridEnabled,
    setPaintSequencerGrid.
  * Deleted: getSeqBlockGridType,
    setSeqBlockGridType, getSeqAutomationGridType,
    setSeqAutomationGridType, getSeqTempoGridType,
    setSeqTempoGridType, getSeqLoopGridType,
    setSeqLoopGridType.
  * Add optional argument "connection_type" to
    createAudioConnection.
  * Let changeAudioConnections understand
    ":connection-type" field for connections.


Changes 5.9.34 -> 5.9.36:
* Mixer: Set current instrument immediately when
  clicking a plugin or send slider. No need to
  right-click or select the instrument in other ways.
* Jack transport: Fix next beat always being sent
  instead of current beat in editor timing mode.
* Jack transport: Fix beats/bar when using sequencer
  timing.
* Mixer: Removed all resize flickering. Hopefully.
* Mixer: Fix graphical garbage that sometimes can be
  seen between mixer strips.
* Mixer: Write number of elements in mixer path below
  label in non-wide mixer strips.
* Mixer: Make GUI more compact by removing some
  unnecessary spacing between elements and use
  less corner rounding.
* Sequencer: Lighter seqblock header background
  color.
* Startup: Remove splashscreen. Only show progress
  window during startup.
* GUI: Nicer looking and less buggy progress window.
* Sequencer: Disallow being able to deselect both
  time lane and bars+beat lane at the same time.
* Import MOD: Don't show markers lane.
* Import MOD: Don't show bus mixer strips.
* Audio meters: Add slight gradient color. Makes it
  easier/possible to see number of channels
* Sequencer: Fix slightly skewed horizontal mouse
  movement when mouse cursor goes outside vertical
  boundaries.
* Instruments: Clean up the popup menus a little bit.
* Modular mixer: Clean up the popup menus.
* Modular mixer: Added "Rename" and "Load Preset"
  entries to the popup menu.
* Instruments: Minor clean-up of the instrument popup
  menu.
* Instruments: Add "Load Preset" and "Save Preset"
  entries to all popup menues.
* GUI: Fix positioning windows in the middle of the
  parent window.
* Sequencer: Fixed some situations where controllers
  could be wrongly modified, or an error message
  could pop up, when showing popup menu.
* Modular mixer: Add "Bypass" checkbox to the popup
  menu.
* Sequencer: Show audio meter for the output of
  the last instrument in chain, not the first.
  Same behaviour as in the mixer.
* Sequencer: Don't stop playing song if
  right-clicking a block in the block browser.
* Blocklist: Don't stop playing song if
  right-clicking a block.
* Audio: Fix various issues with undo when
  changing solo or bypass.
* Instrument: Make it optional whether to make
  undo when pressing a bypass button. (Enabled by
  default).
* Startup: Fix main window sometimes being put in
  front of the comment window when loading song
  from the command line.
* Mixer: Fix note indicators not lighting up for
  mixer strips that have plugins in it's path.
* Mixer: Paint red background for peak text if
  peak is above 4db.
* Mixer: Adjust painting pan slider a little bit.
* Mixer: Minor tweak to solo/mute buttons drawing.
* Modular mixer: Adjust object background color a
  little bit.
* Sequencer: Fix timeline sometimes painted with
  the wrong background color.
* Sequencer: Paint timeline background with
  gradient color.
* Sequencer: Fix markers being placed at wrong
  position when loading song with different
  samplerate.
* Load: Fix assertion window popping when loading
  any song saved after 5.9.30 with a different
  samplerate.
* Sequencer: Minor optimization for automation.
* Sequencer: Fix race condition when automating
  stretch or speed.
* Build: Update s7.
* OSX: Put back "Import MOD" into the menus.
* Startup: Applied possible fix for super rare
  startup crash while initing keybindings.
* OSX: Never use native file dialog when importing
  MOD. Workaround to avoid GUI freeze on high sierra.
* API:
  * New functions: doUndoBypass, setUndoBypass
  * Add optional argument "note_event_instrument_id"
    to gui_verticalAudioMeter and
    gui_addVerticalAudioMeter.


Changes 5.9.32 -> 5.9.34:
* Editor: Fix possible undefined behavior if
  changing numer of tracks in a block in the
  blocklist while playing.
* OSX: Temporarily disable "Import MOD" from
  the menus since importing MOD doesn't work
  on OSX. (Should be fixed in the next release.)
* Windows: Fix media keys not being eaten by
  Radium when used. E.g. pressing the volume
  up key causes other programs to also increase
  the volume.
* Windows: Fix media keys being interpreted
  as other keys when handlers for them were
  disabled in the keyboard configuration.
  (Seems like media keys doesn't have valid
  scan codes.)
* Editor: Fix copying various data to new track
  such as Piano roll range and so forth.
* Build: Update s7 to latest version.
* Build: Update QScintilla to 2.10.8.
* Sequencer: Fix bottom of audio meters beiing cut
  off if ranging below the top of the navigator.
* Mixer/Sequencer: Adjust colors in the bottom
  bars.
* Mixer/Editor: Add a mini-sequencer navigator the
  bottom bars. These navigators support both mouse
  clicking and mouse wheeling to start/stop
  playing.
* Editor: Fix assertion window popping up if
  clicking below last line in a note-text
  sub-track.
* Mixer/Sequencer: Remove editor elements from the
  bottom bars of the sequencer and the mixer.
* Sequencer: Draw seqblock names in navigator if
  enough vertical space.
* Pd: Don't allow two controllers with the same
  name.
* Sequencer: Don't stop playing if moving the last
  seqblock in song to a new seqtrack, and that
  seqblock was currently playing.
* Sequencer/Mixer: Fix resetting solo (didn't
  update  descendant instrument solo values and so
  forth.)
* Sequencer: Add a volume slider to editor
  seqtracks.
* General: Improve undo log.
* Sequencer: Fix screwed up seqtrack layout when
  sequencer is shown. (When pressing F8 twice.)
* Sequencer: Add a Mute button to editor seqtracks.
* Help: Complete the documentation page for the
  instrument effect popup menu.
* Sequencer: Fix header colors for audio seqblocks
  and seqblock colors in the navigator.
* Keybindings: Pressing Space now switches between
  playing and not playing (common DAW behavior).
  While Enter/Return starts playing from the cursor
  position, Space starts playing from the
  startplay-cursor position.
* Keybindings: Changed the old keybinding for
  Space to Ctrl+Space and renamed it to "Silence!".
* Sequencer: Paint blue line where we started to
  play ("startplay-cursor").
* Keybindings: Fix python code between asterisks in
  the configuration file not loading during startup.
* Keybindings: Made the Enter and Return keys
  start/stop playing (common DAW behavior).
* Keybindings: Changed the default keybinding for
  solo/unsolo current editor track from Enter to
  Alt + Enter.
* Keybindings: Changed the default keybinding for
  adding note (and so forth) from Return alone
  into Alt + Return.
* Player: Fix starting to play from current position,
  either from the menues or pressing Shift+Alt+Space.
  It didn't work if current seqtrack was an audio
  seqtrack. Bug introduced a while ago.
* Menus: Add "Navigate 4 menu rows down" and
  "Navigate 4 menu rows up" entries
* Mixer: Show a note indicator led in the audio
  meters, similar to the ones in the modular mixer.
* GUI: Open the "Project menu" when pressing the
  Left Alt key, similar to standard GUI behavior
  in Windows. This makes it easier to know whether
  we start navigating the menus when pressing left
  alt.
* Mixer: Fix peak and volume text not being scaled
  to fit.
* Sequencer: Don't show error messages about illegal
  navigator handle values since it seems to happen
  legitimately during playback when the "always show
  cursor" option is enabled.
* Note duplicator: Show effect names and "(right
  click for options)" in the status bar for all
  fields when mouse is above a field.
* Editor: Fix wrong automation value sometimes (i.e.
  50% of the time) being sent to plugin if the same
  automation is played in two consequtive seqblocks
  and the first automation plays to block end and the
  second automation starts at block start.
* Note duplicator: Show correct effect name in the
  status bar when mouse is above the on/off buttons.
* Modular mixer: Make the "Solo" and "Mute" entries
  in the popup menu into checkboxes.
* Mixer/Sequencer/Instrument: Right-clicking an
  effect slider or an effect checkbox resets the
  effect.
* Mixer/Sequencer/Instrument: Make sure all effect
  sliders and checkboxes show the same popup menu.
  This also adds the options "Start recording
  automation in editor", "Add automation to
  current editor track", "Add automation to
  current sequencer track", and "Change value
  when pressing Random" to the sequencer and the
  mixer.
* Mixer: Clean up various popup menus.
* Sequencer: Clean up various popup menus in the
  audio seqtrack headers.
* Mixer/Sequencer/Instrument: Cleaned up the
  instrument effect popup menu.
* Instruments: Don't show rare (and false) error
  message about a missing instrument after creating
  an instrument, especially after creating a
  modulator.
* Load: decrease time importing MOD and XM files.
* Instruments: When undoing the deletion of an
  instrument, don't make that instrument the
  current instrument unless it was the current
  instrument when being deleted.
* Modular mixer: When loading an .mrec file, make the
  first loaded instrument the current instrument, not
  the last.
* Load: Sligtly faster to load track if it contains
  many instruments.
* Sequencer: Fix border around the current file
  browser entry not being clipped correctly.
* Sequencer: Fix slightly wrongly painted graphics for
  seqtrack name in the seqtrack headers.
* Instruments: Support "Random" also for system
  effects. "Random" is turned off for system effects
  by default though.
* Sequencer: Fix error message popping up when
  clicking on a seqtrack header pan slider.
* Sequencer: Don't accept dropped audio file or block
  when dropped into the right side tabs.
* Sequencer: Make Shift + Right-click delete block in
  blocklist.
* Blocklist GUI: Change blockname text color to black.
* Block lists: Add "Rename" option to the popup menus.
* Mixer: Fix undo for resetting an insert slider.
* Editor: Faster to insert/delete lines while plaing
  if LZ is less than 1.
* Editor: Fix cursor not always positioned at correct
  line when stopping to play after changing LZ while
  playing. Also fixes wrong and/or lacking "realline"
  messages sent to Pd instruments, and possibly other
  things.
* API:
  * New functions: deletePdController,
    setInstrumentEffectChangesValueWhenPressingRandom,
    getInstrumentEffectChangesValueWhenPressingRandom,
    startRecordingInstrumentAutomationInEditor,
    playSongFromCurrentSequencerPosition,
    getLastSongPosStart, setLastSongPosStart,
    undoSeqtrackNoteGain, setEditorSeqtrackMuted,
    getEditorSeqtrackMuted.
  * Add optional argument "textcolor" to gui_line.
  * Add optional argument "set_as_current" to
    createAudioInstrument,
    createAudioInstrumentFromPreset,
    createAudioInstrumentFromDescription, and
    cloneAudioInstrument.
  * Add arguments "include_editor_elements" and
    "bool include_navigator" to gui_bottomBar



Changes 5.9.31 -> 5.9.32:
* Mixer: Some minor improvements to the popup menu.
* Instruments/Help: Add "Help" option to the bottom of
  the effect slider/checkbox popup menu.
* Sequencer: Fix race condition in all of automation
  and timing. Bug introduced in 5.9.30. This fixes
  wrong tempo values sometimes being read, wrong
  signature values sometimes being read, wrong
  automation values sometimes being read, wrong
  song tempo values sometimes being read, and possibly
  prevent crashes and strange behaviours. Wrong
  behaviours caused by this bug should have been
  rare though.
* Control: Fix possible crash during shutdown.
* Editor: Fix various race conditions when changing
  number of lines, changing tempo, etc. while playing.
  This should fix various assertion dialogs popping
  up in rare circumstanses in conjunction with timing.
* Help: Improve the documentation for timing.
* GUI: Make sure popup menu entries are never painted in
  "hovered" color when mouse cursor is not above the
  entry. For instance, when there were only one entry,
  that entry was always painted in the hovered color.
* Editor: Make the functions to insert and delete lines
  insert or delete the expected number of lines when
  LZ is not 1. I.e. when LZ is 2, insert 1/2 line.
  If LZ is 1/2, insert 2 lines, and so forth.
* Editor: Fix cursor position after inserting or
  removing lines when LZ is not 1.
* Internal: Fix a race conditition during startup
  (probably harmless). This also fixes a rare
  assertion hit during startup.
* Fluidsynth instrument: Update current bookmark when
  writing directory path manually.
* Sampler instrument: Update current bookmark when
  writing directory path manually.
* Sampler instrument: Show message window when a
  soundfont or directory couldn't be opened.
* Sampler instrument: Optimize memory usage. Besides
  using a lot less memory, it might improve realtime
  performance as well by causing fewer cache hits.
* Instruments: Paint effects with lighter color when
  mouse is above an effect slider or checkbox.
* Instruments: Display "(right-click for options)" in
  the status bar when mouse is above an effect slider
  or checkbox.
* GUI: Adjust default background color a little bit.
  (Made it a little bit darker).
* GUI: Change default slider colors back to a
  red->green gradient color instead of the new
  grayish color that was hard to distinguish from
  the background.
* API
  * Change types of the "start" and "length" arguments
    for 'setInstrumentLoopData' from int to int64_t.
  * Update S7 scheme interpreter.


Changes 5.9.30 -> 5.9.31:
* Sequencer: Fix wrong seqblock duration of stretched
  seqblocks when changing tempos of a editor block.
* Sequencer: Don't overlap two editor seqblocks when
  changing tempo of the first block so that the
  length of it increases.
* GUI: Fix main window sometimes being put behind all
  other windows right after startup.
* Instrument: Fix patch widget label colors. Might
  only have been a problem in debug mode.
* Sequencer: Optimize graphics a little bit when
  editing tempos, signatures, and markers.
* Sequencer: Show closed-hand mouse-cursor when
  moving a vertical scrollbar in the right side tabs.
* Sequencer/Windows: Fix strange behavior when
  releasing mouse button outside current widget.
* Sequencer/Windows: Fix browsing directories on a
  network disks in the file bropwser.
* Internal: Fix program crashing when exiting. Have
  only seen it happen in debug mode on Windows though.
* Windows: Fix time positions for notes suddenly
  jumping to 0 when edited in the piano roll.
  Probably rare though. Bug introduced in 5.9.21.
* Preferences: Change the checkbox for selecting left
  or right side for current mixer strip into radio
  buttons .
* Preferences: Remove the "Timeline" group from the
  "Sequencer" tab. Whether to show bars and/or time
  in the timeline is now a property of the song and
  not a global option.
* API: Removed showBarsInTimeline,
  setShowBarsInTimeline.



Changes 5.9.22 -> 5.9.30:
* Sequencer: Scale various line widths with fontsize.
* Internal: Fix api-errors not being displayed in the
  message window. (Bug probably introduced in 5.9.21
  or thereabout).
* Sequencer: Improve gfx performance when moving
  the navigator bar.
* Sequencer: Fix play cursor sometimes being drawn on
  top of seqtrack headers.
* Sequencer: Always draw the same bar numbers in the
  "bars and beats" lane.. E.g. don't sometimes draw bar
  13-15-17, and sometimes draw 14-16-18, depending on
  the position of the navigator. Always draw bar
  13-15-17.
* Sequencer: Improve painting sequencer grid.
* Sequencer: Adjust seqblock header colors.
* Sequencer: Improve painting the dragger.
* GUI: Fix some situations where the alpha channel
  disappeared from a color.
* Sequencer: Position song tempo automation above
  timeline, not below.
* Sequencer: Fix a possible crash (probably rare) that
  could happen if playing song while swapping two
  seqtracks.
* Sequencer: Force sequencer timing mode when first
  seqtrack is for audio.
* Help: Document timing.
* Sequencer: Tweak painting buttons and checkboxes.
* Sequencer: Markers. A new sequencer lane called
  "Markers" can be enabled by right clicking and enable
  the "Markers" checkbox. Markers are also shown in the
  sequencer navigator.
* Sequencer: Alternative timing system for the sequencer
  ("sequencer timing"). Instead of using editor blocks
  in the first seqtrack to define tempo and rhythm,
  set tempo and rhythm in the new sequencer timing
  lanes. Select "sequencer timing" by right-clicking
  in the sequencer and select "Use sequencer timing".
* Metronome: Only play metronome ("Click") for timing
  generated by the first seqtrack.
* Instruments: Change the text "green lines" to "yellow
  lines" in the "T" button tooltip.
* Sequencer: Make undo/redo automation atomic. Before
  this change, some wrong values could be sent to the
  plugins while undoing/redoing.
* Sequencer: Fix possible crash when undoing/redoing
  sequencer automation and loading song. I've never
  seen the crash though.
* Sequencer: Automatically set block and block position
  in blocklist and playlist when changing cursor
  position in sequencer.
* GUI: Paint thin black border around buttons.
* Sequencer: Paint seqblocks on top of grid, not grid
  on top of seqblocks.
* GUI: Decrease time it takes to resize window and
  other situations. Fix for regression introduced in
  Radium 5.9.15.
* GUI: Paint most filled rectangles in the sequencer
  and the mixer with a slight gradient color.
* GUI/Internal: minor improvement when mixing two
  colors.
* Preferences: Add tab bar height option to the "GUI"
  tab.
* Sequencer: Add the tabs on the right side:
  * Block browser
  * Sound browser
  * File browser
* GUI: Some fixes for drawing text.
* Audio: Round displayed CPU percentage to nearest
  integer. Earlier it was always rounded down.
* Soundfilesaver: Fix typing number of channels with the
  keyboard.
* Sequencer: Don't crash if playing audio files with 9
  channels or more.
* Sample Player instrument: Replace qt scrollbars with
  radium scrollbars in the sample browser.
* Instrument widget: Scale sample font size with system
  font size.
* Mixer: Show minimum and maximum values in the volume
  requester.
* Audio: Fix using LADSPA_PATH environment variable with
  more than one path.
* GUI: Only display single digits for CPU usage in the
  bottom bar.
* Audio: Fix CPU usage being measured inaccurately for
  single instruments.
* Audio/GUI: Slightly improve CPU usage measuring and
  display.
* LADSPA: Show warning if loading a TAP plugin. These
  plugins should not be trusted.
* Audio: Fix CPU spikes in Zita Reverb, probably caused
  by CPU cache misses. (It's now compiled without the
  "-vec" Faust option).
* Sequencer: Visualize granulation parameters in the
  audio seqblock GUI when changing parameters.
* GUI: Fix automatically breaking lines when drawing
  text.
* Sequencer: Fix memory corruption when inserting
  soundfiles with more than 2 channels.
* Soundfilesaver: Fix writing soundfiles when there is
  no 2ch "system out" module in song.
* Audio: Fix realtime allocation error in some
  situations when there's lots of grains in granulation.
* Internal: Fix showAsyncMessage. Don't risk evaluating
  argument and so forth.
* Build: Add various -W* arguments and fix some
  potential bugs.
* Build: Compile with -flto in release mode.
* GUI: Adjust default color for scrollbar. 5.9.22
  was very bright.
* API:
  * New functions: gui_filledPolygon, gui_drawPolygon,
    gui_removeMouseWheelCallback, getFileInfo,
    iterateDirectory, gui_createFileDragIcon,
    gui_createBlockDragIcon, gui_setFont, gui_getFont,
    getParentPath, putSettings, putSettingsW,
    getSettings, getSettingsW, getSampleBrowserFont,
    requestWString, getSequencerRightPartEmpty,
    setSequencerRightPartEmpty,
    getSequencerRightPartX1, getSequencerRightPartX2,
    getSequencerRightPartY1, getSequencerRightPartY2,
    getAudioFilesGeneration, getAudioFiles,
    getTabBarHeight, setTabBarHeight,
    getEditorBlocksGeneration,
    getNumeratorFromRatioString,
    getDenominatorFromRatioString, createUuid,
    getSequencerTempos, getAllSequencerTempos,
    setSequencerTempos, getSequencerSignatures,
    getAllSequencerSignatures, setSequencerSignatures,
    getAllSequencerMarkers, setSequencerMarkers,
    isUsingSequencerTiming, setUsingSequencerTiming,
    getSequencerTiming, setSequencerTiming,
    iterateSequencerTime,
    doPaintVerticalMarkersInSequencer,
    setPaintVerticalMarkersInSequencer,
    showBarsAndBeatsSequencerLane,
    setShowBarsAndBeatsSequencerLane,
    showTimeSequencerLane, setShowTimeSequencerLane,
    showTemposSequencerLane,
    setShowTemposSequencerLane,
    showSignaturesSequencerLane,
    setShowSignaturesSequencerLane,
    showMarkersSequencerLane,
    setShowMarkersSequencerLane,
    gui_setAlphaForColor, gui_makeColorLighter,
    gui_makeColorDarker
  * gui_textWidth: add optional argument "guinum".



Changes 5.9.21 -> 5.9.22:
* GUI: Replace all Qt scroll bars with Radium scroll
  bars.
* GUI: Fix scrollbar positions not being updated when
  using mouse wheel inside a scroll area.
* GUI: Fix mouse wheel for scrolling the mixer area.
  If mouse pointer was on top of a slider, the slider
  value would change value instead, and other similar
  things, which was quite confusing.
* Sequencer: Don't show the resampler seqblock
  interface popup menu for editor seqblocks.
* Sequencer: Add "Recording options" entry to the
  audio seqtrack section
* General: Reduce gc pause times.
* API:
  * New function: gui_addMouseWheelCallback
  * Add optional argument "listen_to_mouse_wheel"
    to gui_scrollArea, gui_verticalScroll, and
    gui_horizontalScroll.



Changes 5.9.20 -> 5.9.21:
* Quantitize: Fix crash happening sometimes. Bug
  introduced in 5.9.8.
* Editor: Make changing pianonote end position
  frame-accurate.
* Editor: Make moving pianonote and changing pianonote
  start position frame-accurate.
* Editor/pianoroll: Fix assertion error sometimes
  popping up when trying to move note below end of
  block.
* S7: Build s7 with debug symbols.
* Sequencer: Name the automation entries ("Automation")
  in the popup menu.
* Editor/pianoroll: Make sure mouse pointer is placed
  in the middle of the newly created note in the x
  direction, and at the bottom of the newly created
  note in the y direction. This feels much more
  natural.
* Editor/pianoroll: Make it possible to move new
  notes upwards, not just change end note position.
* Sequencer: Fix assertion window popping up when
  creating automation and possibly other situations.
  Bug introduced in 5.9.19
* GUI: Display "Shift + Right Mouse" as keybinding to
  various popup menu entries used for deleting things.
* Scripting: Don't show assertion reporter if a
  callback returns the wrong type.
* Soundfile saver: "Range" -> "Range in current block".
* Manual: Some minor fixes.
* Menus: Rename "Solo/Mute" to "Editor Solo/Mute".
* Menus: Moved "Turn off Solo for all instruments"
  from the Solo/Mute menu to the "Play menu".
* Menus: "Glissando" -> "Glissando between two notes".
* Menus: Rename "Block view" to "Editor View" and
  "Block edit" to "Editor Edit".
* Editor: Add "Muted" and "Soloed" to the track popup
  menu.
* GUI: Fix mixer strip for current instrument moving
  to the left side of the mixer when pressing the "W"
  button. Bug introduced in 5.9.15.
* GUI: Fix minimum height of the main window to grow
  and grow in size when pressing the "W" button in
  the mixer. Bug introduced in 5.9.15.
* Preferences: Options to let mixer window and
  sequencer window be independent windows. I.e. that
  they are not children of the main window, meaning
  that the main window can be put in front of the
  mixer or sequencer, the windows possibly get other
  bar buttons (depending on the OS and window
  manager), and so forth.
* Mouse: Fix gridding working the wrong way in the
  editor if the object we were moving wasn't
  already placed on the grid. Bug introduced
  around 5.9.5.
* Mouse: Make gridding frame-accurate.
* Editor: Fix moving note end in the note text
  subtrack.
* API: sequencerWindowIsChildOfMainWindow,
  setSequencerWindowIsChildOfMainWindow,
  mixerWindowIsChildOfMainWindow,
  setMixerWindowIsChildOfMainWindow.



Changes 5.9.19 -> 5.9.20:
* Menus: Cleaned up a little bit. A lot more
  remains.
* Demo song: Remove all pauses and adjust system
  volume
* Sequencer: Ensure editor seqblocks never overlaps
  after loading song. This fixes assertion error
  sometimes popping up when reaching the end of
  a seqblock after loading a song with samplerate
  mismatch (and possibly other situations).
* Sequencer: Fix editor seqblock length when loading
  old songs where samplerates mismatch. (Most
  demo songs are saved in the older song format.)
* Instruments: Add "Recv. external MIDI" checkboxes
  to the instrument popup menu.
* Instrument list: Option to select whether
  instruments should receive MIDI from external
  input.
* Preferences: Add option to disable sending
  MIDI input to current instrument.
* MIDI: Make sure the option "use track channel for
  midi input" is remembered between sessions.
* GUI: Adjust preferences layout a little bit.
* API: instrumentAlwaysReceiveMidiInput,
  setInstrumentAlwaysReceiveMidiInput,
  isSendingMidiInputToCurrentInstrument,
  setSendMidiInputToCurrentInstrument



Changes 5.9.18 -> 5.9.19:
* Linux: Build JUCE library optimized for SSE2 and
  SSE math. Should speed up audio processing, and
  possibly avoid denomals. (This is probably a
  regression, but I don't know when it happened.)
* Mixer: Don't stutter graphics when changing a
  "Main Pipe" send-slider value and other non-bus
  send-sliders values.
* Editor: Make MIDI FX enabled by default after
  creation. Bug introduced in 5.9.18.
* Editor: Fix selecting new FX when right-clicking on
  a different track than the current track, in some
  situations.
* Internal: Make sure execution is stopped when
  hitting an error, not continued, in various
  situations.
* Editor: Fix error message popping up when hovering
  mouse over fxtext in a track with MIDI instrument.
* Crashreporter: When Radium crashed because of the
  Nouveau driver, we tell this in the crashreporter,
  and remove the "SEND" button.
* Pd: Fix crash when deleting a controller in some
  situations.
* Mouse: Make sure mouse pointer is always placed at
  correct position after erasing in the piano roll.
* API: Replaced getFxtextEffectNumFromX with
  getFxtextFxnumFromX.
 


Changes 5.9.16 -> 5.9.18:
* Sequencer: Fix error message popping up if moving a
  seqblock to another seqblock and there isn't enough
  space between start of song and another seqblock
  already positioned in the new seqtrack.
* Editor: Show editor track popup menu when
  right-clicking below last line.
* Editor: Show editor track popup menu when
  right-clicking above line 0.
* Internal: Improve error message handling.
* Internal: Don't show the "stop/continue/etc." dialog
  when something went wrong. There was never any
  reason to press any other button than "Stop", and
  sometimes this dialog itself caused a lot more
  problems than the error.
* Internal: Don't treat mouse events in scheme when
  another scheme code is running.
* Editor: Fix crash/hang in 5.9.16 when moving a
  seqblock to another seqtrack in some rare
  situations.
* Internal: Delete effect monitors immediately when
  deleting instrument.
* Internal: Made various code that stored several
  scheme callbacks safer.
* GUI: Fix memory leak in popup menus.
* Internal: Make gc-protecting s7 objects faster.
* Internal: Assert that gc-protecting works correctly.
* Editor: Fix shift key not forcing vertical movement
  when moving blocks.
* Editor: Ensure piano roll rubber is hidden if an
  exception is thrown.
* GUI: Make keyboard navigation of popup menus behave
  same way as the main menus.
* GUI: Fix keyboard navigation in sub menus of popup
  menus.
* Editor: Right-clicking inside the note name subtrack
  will show the track popup menu, not switch between
  wide and narrow mode.
* Editor: Add a "wide/narrow mode" checkbox to the track
  popup menu.
* Add a "2 char note name" checkbox to the track popup
  menu. 
* Add help page for editor track FX.
* Options to enable/disable individual editor track FX.
* Mouse: Fix using Alt to move all nodes (and not Ctrl).
  Bug introduced in 5.9.16.
* Sequencer: Disable the "Granulation parameters" popup
  menu option when seqblock doesn't hold sample. Error
  messages were displayed if this option was selected.
* GUI: Automatically isplay keybinding for various popup
  menu entries.
* Menus: Add Seqblock functions to the "Clipboard" menu.
* Internal: Fix displaying function names in error
  handler.
* Internal: Prevent rare program freeze in error handler.
* Editor: Fix bug when pressing alt+shift+right mouse
  button on a velocity. Could lock up the program when
  doing that.
* Editor: Don't create microtonal notes in the piano roll
  unless ctrl is pressed.
* API:
  * New functions: showFXTextHelpWindow, getFxEnabled,
    setFxEnabled, gui_isEnabled, setTrackNoteLength,
    getTrackNoteLength, trackNoteAreaWidthIsWide,
    setTrackNoteAreaWidth, getLastHoveredPopupMenuEntry,
    hoverPopupMenuEntry
  * Let changeTrackNoteLength take tracknum / blocknum /
    windownum as arguments instead of just windownum.
  * Add argument "throw_exception_if_not_found" to
    removeEffectMonitor



Changes 5.9.15 -> 5.9.16:
* Updated the manual somewhat.
* Sequencer: Update graphics after undoing or redoing
  fade length.
* Instrument widget: Don't create undo entry for the Solo
  button unless undo for solo is enabled in preferences.
* Audio: Add option to create undo entries when clicking
  a solo button.
* Sequencer: Fix error messages popping up after just
  clicking a seqblock, without moving it.
* Sequencer: Make keyboard modifiers consistent by
  changing the modifier for copying seqblock from Shift
  to Alt (macosx: Ctrl). This way, Shift can be used to
  move a seqblock vertically.
* Mouse: Use the same keyboard modifier to scroll
  horizontally as used to limit mouse movement in the
  x direction. (Windows/Linux: windows key. macOS: Alt)
* Mixer/Manual/Faust: When using the mouse scroll wheel
  to scroll vertically, scroll to the left when
  scrolling the mouse wheel up, and to the right
  when scrolling the mouse wheel down. Not the other
  way around.
* Sequencer: Draw seqtrack number in a separeate box,
  not as part of the seqtrack name.
* Sequencer: Fix having to press mouse button two
  times to make mouse button work right after
  changing seqtrack name.
* Update s7
* API: ensureCleanStateOutsideMouseCycle



Changes 5.9.12 -> 5.9.15:
* Sequencer: New GUI for the seqblock track on/off
  window (i.e. the editor seqblock GUI). It
  basically looks the same, but uses the internal
  widget system instead of the Qt widget system,
  so the code is cleaner and is more stable. The
  new GUI also have colorized buttons using the
  instrument colors.
* Internal: Improved scheme backtrace.
* Fix for editor tracks on/off GUI.
* Sequencer: Fix updating content of seqblock GUIs
  after undoing/redoing.
* Linux: Fix keyboard modifiers being resetted when
  reconfiguring widget contents.
* Sequencer: Add undo entries when editing editor
  track on/off in editor seqblock GUIs.
* Sequencer: Fix situations where seqblock GUI was
  closed automatically unnecessarily.
* Sequencer: Optimized undo handling in various
  situations.
* Mouse: When clicking on an existing object, wait
  until mouse pointer has started moving before
  creating undo entry.
* Sequencer: Fix error message sometimes popping
  up after an audio seqblock GUI had been
  automatically closed after a seqblock was
  deleted.
* Sequencer: Set sample name as window title for
  the audio seqblock GUI.
* Sequencer: Replaced granulator from sndlib with
  a custom made granulator. The new granulator uses
  less CPU (especially for realtime usage), and
  behaves a bit differently. The new granulator
  also provides a new "strict no jitter" option.
* Sequencer: Display correct dB value in the Gain
  slider in the audio seqblock GUI.
* Sequencer: Fix the "Normalize!" button in the
  audio seqblock GUI.
* Mouse: Fix possible strange behaviors when first
  pressing left button and then pressing right
  button without releasing left button first.
* Sequencer: Fix error message when right-clicking
  a pan slider.
* DSP: Some minor optimizations.
* Sequencer: Fix moving seqblock above the first
  visible seqtrack and below the last visible
  seqtrack.
* GUI: Fix lower tabs not using all horizontal space
  when neither the editor nor the mixer were visible
  in the main window.
* Sequencer: Add a "W" button to the top left area.
  The "W" button move the sequencer into it's own
  window, similar to the "W" button in the mixer.
* Sequencer Add an "F" button next to the "W" button.
  The "F" button let the sequencer take up all space
  in the main window. The "F" button works the same
  way as the "Full" button in the instrument widget.
* Sequencer: Change seqtrack header button order from
  "H R M S" to "R M S H"
* Sequencer: Fix graphics update when releasing mouse
  button after selecting rectangle area.
* Sequencer: Start editing seqtrack name when pressing
  mouse button on the name, not when releasing the
  mouse button.
* GUI: Ensure code that is supposed to run when
  releasing a mouse button is always executed.
  (Workaround for Qt design flaw.)
* Sequencer: Extend the horizontal borders between
  seqtracks to begin at the leftmost part of the
  seqtrack header.
* Sequencer: Fix delete seqtrack automation when
  shift+rightclicking.
* Sequencer: Use SplitVCursor as mouse cursor shape for
  the dragger.
* Sequencer: Fix error messages popping up when undoing
  a split audio seqblock operation. Other things may
  have been fixed too.
* Crashreporter: Replace any occurence of the users
  user name with "$USERNAME" (literarily) to ensure
  some more anonymity.
* Crashreporter: Include all non-standard characters
  found in home path and program path.
* Crashreporter: Include both home path and program
  path.
* Crashreporter: Fix some crashreports from linux users
  and some assertion messages not being delivered to me
  by the server (turns out that exim4 will silently not
  deliver an email if at least one line is around 800
  characters long or more).
* API:
  * New functions: markSeqblockAvailable,
    unmarkSeqblockAvailable,
    setVerticalSplitMousePointer,
    setSequencerInWindow, showHideSequencerInWindow,
    showSequencer, hideSequencer, sequencerIsVisible,
    sequencerInWindow, gui_setName, gui_bottomBar,
    hideUpperPartOfMainWindow,
    showUpperPartOfMainWindow,
    upperPartOfMainWindowIsVisible,
    showHideUpperPartOfMainWindow,
    setSeqblockGrainStrictNoJitter,
    getSeqblockGrainStrictNoJitter, undoSeqblock,
    enableSchemeHistory, disableSchemeHistory.
  * deleteSeqblock: add optional argument
    'notify_listeners'.
  * deleteSeqblock: take seqblockid as
    argument instead of seqblocknum+seqtracknum.
  * Don't show error message if a
    seqblock-deleted callback have called
    directly, or triggered a call to,
    removeSeqblockDeletedCallback.
  * Let addSeqblockDeletedCallback and
    removeSeqblockDeletedCallback take
    callback as the only argument, plus
    automatically remove the callback if it
    returned false.


Changes 5.9.10 -> 5.9.12:
* Sequencer: Fix gfx garbage when moving first or last
  seqblock automation node.
* Sequencer/Navigator: Paint seqblocks being recorded.
* Sequencer/Navigator: Paint multiple seqblocks being
  moved (i.e. orange color) in navigator
* Sequencer: Mark the "fixed position for play cursor"
  option as experimental.
* Sequencer: Turn off automatically scroll timeline so
  that cursor is always visible when playing. The feature
  can be enabled again under Preferences.
* Build: Handle better situation when UIC or MOC failed.
* Sequencer: Scroll horizontally so that the cursor is
  placed 1/4 into the visible area, and not 1/2, when
  play cursor falls outside the visible area when playing.
* Main GUI: Fix jumpy graphics when drawing the main
  window lower tab names ("Edit" / "Instrument" /
  "Sequencer") while resizing.
* Sequencer: Paint play-cursor in navigator as well.
* Sequencer: The height of all seqtracks can now be
  taller than the height of the sequencer:
  * Option to set height of a seqtrack. (Use the
    new "H" button or the "Set size" entry in the popup
    menu. The default seqtrack height is wet to
    "2 rows".
  * Ways to scroll the sequencer vertically:  
    * Use the mouse scroll wheel while pointer is
      positioned in the seqtrack headers
    * In the seqblock parts of the sequencer, hold one
      of the Windows keys (OSX: Alt key) while scrolling
      the mouse wheel.
    * Move the navigator up or down.
* Sequencer: Include the seqtrack popup menu entries in
  the header popup menu.
* Sequencer: Ask user for confirmation when deleting
  first seqtrack and the second seqtrack is for audio
  files.
* Sequencer: Add "Swap with next seqtrack" entry to the
  seqtrack section of the popup menu.
* API: swapSeqtracks, getSeqtrackMinHeightType,
  setSeqtrackMinHeightType, getSeqtrackMaxHeightType,
  setSeqtrackMaxHeightType, getSeqtracksX1,
  getSeqtracksX2, getSeqtracksY1, getSeqtracksY2,
  getTopmostVisibleSeqtrack, setTopmostVisibleSeqtrack,
  autoscrollSequencerToMakePlaycursorVisible,
  setAutoscrollSequencerToMakePlaycursorVisible.



Changes 5.9.9 -> 5.9.10:
* Sequencer: Fix graphics update when editing stretch or
  speed automation.
* Plugins: Fix creating undo  when editing a native GUI.
* Sequencer: Draw seqblocks properly when seqtrack
  height is smaller than font height.
* Sequencer: Paint seqblock text and border in floating
  point precision when they are moved (to avoid
  jumpy text).
* Audio file reader: Fixed code that perhaps could have
  caused buggy behavior when trying to load a non-
  existent file.
* Crashreporter/Linux: Include desktop/window
  manager info into the report.
* Crashreporter: Include all environment variables
  containing "qt" into the report.
* Menus: Add "Test assertion reporter warning" and
  "Test assertion reporter error" entries to the
  Help -> Debugging menu.
* Linux: Assert during startup that neither of
  QT_QPA_PLATFORMTHEME, QT_QPA_PLATFORM, nor
  QT_PLUGIN_PATH are set.
* Linux:. Unset the QT_QPA_PLATFORM and QT_PLUGIN_PATH
  environment variables in the startup script. Perhaps
  this will fix some strange crashes reported by
  anonymous users via the crashreporter.
* Windows/crashreporter: Fix backtrace when program path
  contains non-ascii characters.
* Windows/sequencer: Fix editing seqblocks for audio
  files containing non-ascii characters.
* Windows/qjackctl: Fix starting the server when program
  path contains spaces.
* Windows: Fix loading audio files containing non-ascii
  characters into the sequencer.
* Windows: Fix problems with Ladspa and rdf when program
  path contains spaces.
* Ladspa: Updated included rdf file for calf. (Lots
  of calf plugins are not placed in the uncategorized
  category anymore.)
* Sequencer: Remove gap between last seqtrack and
  navigator.



Changes 5.9.8 -> 5.9.9:
* Sequencer: Automatically update number of tracks in the
  track on/off editor when the number of tracks in the
  block changes.
* Sequencer: Automatically close the track on/off editor
  when seqblock is deleted.
* Sequencer: Fix track on/off editor after moving the
  seqblock before or after another seqblock.
* Sequencer: Fix moving several seqblocks at once. (Bug
  introduced in last release I think.)
* Sequencer: Display instrument names for the tracks in
  the track on/off editor.
* Sequencer: Change seqblock in the track on/off editor
  when changing current seqblock. Earlier, it was changed
  when the mouse just hovered it.
* Sequencer: Set current seqtrack when starting to edit
  seqtrack automation.
* Sequencer: Fix error message sometimes popping up right
  after opening seqblock audio GUI.
* Sequencer: Optimize drawing waveforms.
* Sequencer: Optimize drawing seqblock automation.
* Sequencer: Fix drawing shadowed waveforms (shown when
  interior values are set).
* Sequencer: Fix drawing seqblock automation outside start
  and end of a seqblock.
* Sequencer: Finished implemented the concept of
  "current seqblock". The current seqblock has a blue
  border around it.
* Sequencer: Various minor rendering tweaks.
* Disk: Improve error messages when disk access fails.
* Sequencer: Saving song remembers sequencer visible area.
* Sequencer: Undo remembers the sequencer visible area.
* Editor: Pressing Escape or closing the window immediately
  cancels the block properties window.
* Editor: Make it possible to set only one track in the
  block properties window.
* API: requestWasCancelled, setCurrSeqblock,
  getCurrSeqblockId, cancelCurrSeqblock



Changes 5.9.5 -> 5.9.8:
* Sequencer: Make sure the seqblock below mouse is always
  the selected one when showing the seqblock popup menu.
* Sequencer: Always make it possible to set right interior
  to 0, even when we use grid.
* Sequencer: Update fade values in realtime when changing
  stretch or speed.
* Sequencer: Fix right interior handle text in seqblocks
  sometimes showing "0.01" even if it was really 0.
* Sequencer: If seqblock interior is less than 0.01ms, write
  "0.01ms" not "0.01s" in the interior handles.
* Sequencer: Show seqblock grid when popup menu is open.
* Sequencer: Move "Split audio"/"Set gain"/"Normalize" from
  the "Audio files" section to to the "Audio seqblock" section
  in the seqblock popup menu.
* Sequencer: Fix cancelling "Set gain" from the seqblock
  popup menu.
* Sequencer: Show an are-you-sure dialog if trying to insert an
  audio seqtrack in first position. (You normally want an editor
  seqtrack there for grid and timing.)
* Sequencer: Paint automation nodes after painting seqtrack
  borders.
* Sequencer: Make it possible to select an automation node even
  when parts of the node is painted in the neighbouring seqtrack.
* Sequencer: Started implementing the concept of
  "Current seqblock".
* Sequencer: Fix various situatons where the song cursor left a
  trail of graphical garbage.
* Preferences: Rename "Sequencer -> Grid -> Loop start/stop" to
  "Sequencer -> Grid -> Loop/Punch start/stop".
* Editor: Cancel the "Apply tempo" operation in the block tempo
  multiplier popup menu if a BPM entry will become above 999 or
  below 1.
* Editor: Disable the "Reset" and "Apply tempo" entries in the
  block tempo multiplier popup menu if block tempo multiplier
  is set to 1.0.
* Editor: Rename "Apply tempo" to "Apply tempo (and Reset)" in
  the block tempo multiplier popup menu.
* Audio: Reduce chance of audio overruns when adding or deleting
  audio connections.
* Update s7
* Editor: Write "Current seqtrack is pausing" instead of
  "Current sequencer track is pausing".
* Sequencer/Editor: Immediately write "current sequencer track
  is pausing" in the editor when changing current seqtrack
  to a pausing seqtrack.
* Sequencer/Editor: Fix setting block multiplier if seqtrack
  stretch had already been set to a value not equal to 1.0 and
  block multiplier was not set to 1.0.
* Sequencer: Paint grid in a more subtle way. Use thinner lines
  and a more transparent color.
* Save: Don't make automatic backup if user is currently
  pressing a mouse button.
* Load: Fix crash when loading a song saved before the sequencer
  was added to the program.
* Disk: Fix assertion window popping up if loading an older
  song that had editor range in a block.
* Sequencer: Paint current grid type that is currently in use.
  Earlier only the bar grid was painted.
* Sequencer: Don't paint anything to the left of where grid
  starts, i.e. before the start time of the first block in the
  first seqtrack.
* Sequencer: Same way to find grid for painting grid, painting
  timeline, and when finding closest position in a grid.
  Earlier, the different ways could sometimes be
  noticed/seen.
* Editor: Fix some situations where the assertion window
  popped up when a block was set to play ridiculously fast.
* Sequencer: Possible to select current automation node when
  parts of the nodes are outside the seqblock or
  seqtrack area.
* Soundfilesaver: Change "could sound very differently" to
  "can sound very different".
* Sequencer: Fix selection of current seqblock handle when
  moving mouse away from a seqblock automation.
* Sequencer: Optimize graphics.
* Sequencer: Paint seqblock handles on top of the seqblock
  automation background fill.
* Sequencer: Fix automation sometimes being drawn above
  seqtrack headers.
* Sequencer: Fix Seqblock automation outside the interior
  boundaries not being drawn more opaquely. Bug introduced
  a few releases ago.
* Sequencer: Some smaller changes to the seqblock audio GUI
  (i.e. "Settings").
* Sequencer: Fixed a few minor bugs when moving an audio
  seqblock while the seqblock audio GUI is open.
* Sequencer: Fixed wrong seqblock sometimes being rendered as
  being under the mouse while the seqblock is moved by
  the user.
* Sequencer: Don't split audio files at grid by default when
  pressing the "S" key. If you want to split at grid, use the
  popup menu instead.
* Sequencer: Never split audio file if pressing Ctrl+S while
  the mouse pointer is inside the sequencer. Ctrl+S should
  always be for saving song.
* Sequencer: Double-clicking a seqblock opens the
  "enable/disable editor tracks" or the audio seqblock
  "settings" GUI.
* Sequencer: Moved various entries from the "Seqblock----"
  section to the "Editor seqblock---" section.
* Sequencer: Add pitch slider to the audio seqblock GUI. This
  is more convenient than to both change "speed" and "stretch".
* Sequencer: Display inverted value as seqblock speed. This
  should both feel more natural and be more convenient. E.g 2.0
  is double speed and 0.5 is half speed. In addition, if both
  speed and stretch have the same value, seqblock duration
  is the same as if both speed and stretch had been set to 1.0.
* Manual: Use the word "seqtrack" instead of
  "sequencer track".
* Manual: Document how to record audio.
* Manual: Updated information on how to add seqtracks.
* Manual: Document resetting automation (shift + alt +
  right mouse button).
* Manual: Fix documentation for "Move all automation nodes".
  Any alt key should work, not just left alt.
* Automation: Let Shift + Alt + right mouse button delete all
  nodes.
* Sequencer: Fix two undo entries being created when deleting
  a seqblock automation node using shift + right mouse button.
* Sequencer: Fix undo entry not being created when deleting
  first or last node when using the popup menu.
* Sequencer: Set node value to default, not 0, when deleting
  first or last seqblock automation node.
* Sequencer: Show instrument name in statusbar when mouse is
  above a seqtrack automation node.
* Sequencer: Draw seqblock interface text in floating point
  precision when playing song and sequencer cursor is in fixed
  position.
* Sequencer: Add "Show GUI" to the seqtrack automation popup
  menu.
* Sequencer: Add "Move to a different seqtrack" to the seqtrack
  automation popup menu.
* Sequencer: Add "Cut automation", "Copy automation", and
  "Paste automation" to the seqtrack automation popup menu.
* Sequencer: Remove the "Remove (delete all nodes)" option from
  the seqtrack automation popup menu. Use "Cut automation"
  instead.
* Automation: Consistently use the word "node", not a mix of
  "node" and "break point".
* Sequencer: Fix player not always automatically stopping at song
  end when there is seqtrack automation (bug introduced maybe
  a few months ago).
* Editor: Fix track headers not being redrawn when clicking the
  undo/redo buttons in the bottom bar.
* API:
  * New functions: addSeqAutomation2, getMouseFx, getMs,
    getCurrSeqblockIdUnderMouse,  getSequencerGridType.
  * Throw assertion when it won't work to add callback to a GUI.
  * Fixed the return value of addSeqAutomation
  * Changed setCurrSeqblockUnderMouse, getSeqblockStretch,
    getSeqblockSpeed, getSeqblockStretchSpeed, and
    getSeqblockResampleRatio to take seqblockid as argument
    instead of seqblocknum+seqtracknum.
  * Add optional argument 'use_gfx_if_possible' to
    seqblockHoldsBlock, seqblockHoldsSample,
    getSeqblockStretchSpeed, and getSeqblockResampleRatio
  * Removed the "seqtracknum" argument from getSeqGriddedTime.
  * Let popupMenu return guinum
  * Only show the "Ok / Continue" error dialog if we are
    fairly certain it won't block user interaction, possibly
    making it impossible to continue using the program. If we
    are not certain, the message will be shown in the message
    window instead.



Changes 5.9.4 -> 5.9.5:
* Update S7.
* Sequencer: Fix assertion reporter popping up, and sometimes
  also crashes, when saving a song that was originally created
  before audio seqtracks and editor seqtracks were separated.
* Sequencer: Fix erratic font size changes for the text in the
  seqblock handles when the play cursor has been set in fixed
  position.
* Sequencer: Make automatic crossfades optional.
* Sequencer: Make sure we are able to move editor seqblocks as close
  as possible other seqblocks without overlapping.
* Sequencer: Set window title of the "Enable/disable editor tracks"
  window to the name of the editor block the seqblock uses.
* Sequencer: Make sure we are able to stretch editor seqblocks as
  much as possible without overlapping another seqblock.
* Manual: Improve Mouse section of the manual a little bit.
* Sequencer: Fix undefined behavior (including crashes) that might
  happen when redrawing.
* API:
  * Added: doAutoCrossfades, setDoAutoCrossfades
  * Removed: helpWindowToFront, maximizeEditorWindow,
    minimizeEditorWindow
 


Changes 5.9.0 -> 5.9.4:
* Update S7 scheme interpreter.
* Sequencer: Make it faster to move and edit seqblocks with stretch
  or speed automation.
* Sequencer: Fix minor memory leak.
* Sequencer: New look for the interface for fade in/out, interior,
  speed, and stretch. The values themselves are also drawn on top
  of the seqblocks themselves.
* Sequencer: Redraw everything when grid type changes.
* Sequencer: Only repaint seqblocks holding current editor block
  when editor is repainted.
* Sequencer: Optimize redrawing when selecting seqblocks
  (i.e. the selection rectange).
* Editor/Sequencer: Don't update graphics when changing current
  instrument and neither the previous nor current current instrument
  is used in the current editor block.
* Sequencer: Make seqblock colors a little bit less lighter,
  more saturated, and less transparent.
* Sequencer: Fix popup menu for the stretch boxes sometimes being
  activated also after resetting stretch.
* Sequencer: Don't set seqblock under mouse as selected (i.e. a
  greenish color) when right-clicking it.
* Sequencer: Set a sensible maximum width of the interface handles.
  I.e. if a seqblock is 100000 pixels wide, the handles are not 25000
  pixels wide, as they were before.
* Sequencer: Optimized drawing a little bit.
* Manual: Document how to break grid while editing automation.
* Sequencer: Paint automation nodes in a less transparent color.
* Manual: Documented moving all automation nodes, plus some general
  improvements to the mouse section
* Automation: When pressing the Alt key (OSX: Ctrl key), all break
  points are moved. Goes for all automation editing in the editor
  and sequencer.
* Sequencer: Add "Reset" and "Add default value node" options to
  the seqtrack automation popup menu.
* Sequencer: Add "Remove (delete all break points)" option to popup
  menu for seqtrack automation.
* Sequencer: Fix slightly off navigator position when dragging the
  right handle.
* Sequencer: Fix stuck navigator. When the right handle was moved
  as far as possible to the left, the only way out was to zoom out.
  This has been fixed.
* Disk: Include Radium version in .rad files.
* Load: Don't show message about having to change note duplicator
  values because of an earlier bug when loading any of the
  demo songs.
* Modular mixer: Zoom to / from mouse pointer position, not to
  the middle of the window.
* Sequencer: Make sure time at mouse pointer is still the same
  when zooming in/out using the scroll wheel. I.e. zoom towards
  the mouse, not towards the middle of the screen.
* Audio file recorder: Don't start recording if we failed to
  open file.
* Sequencer: Set default fadeout value for new audio files
  to 10ms. This value is configurable, and can also be
  turned off.
* Sequencer: Fix fade out for audio files not working very well
  (it could cause pops) if value was less than around 100ms,
  plug fix a general tiny lag in volume automation and fade in.
* Sequencer: Fix sample reader not providing the last frames of
  a sound file. Somewhere between 0 and 4096 frames were always
  skipped. This caused small pops if the sound file wasn't
  silent the last 85ms or so.
* Internal: Wait until sample recorder thread has shut down
  before exiting. Fixes Qt error message during shut down in
  debug mode, and possibly other things.
* Sequencer: Resampler ratio seqblock automation.
* Sequencer: Add left and rigth "speed" seqblock boxes, similar
  to the "stretch" boxes.
* Sequencer: Option to enable/disable seqblock automation
  to the node popup menu.
* Sequencer: Option to enable/disable a seqtrack automation.
* Quantitize: Fix "behavior if a note becomes too short after
  quantization". For some releases, the option "keep original
  length" was always used no matter what the option was set to.
* Mixer: Add "Connect to main pipe" entry to the top of the
  sound object popup menu if instrument has audio out and it
  isn't connected to anything. (Very often you want to connect
  this object to the main pipe.)
* Mixer: Rename "Paste sound object(s)" popup menu option to
  just "Paste".
* Mixer: Fix "Paste sound object(s)" popup menu option. It was
  usually not enabled even when there was sound object(s) in
  the clipboard.
* Editor: If cursor is placed on last line, jump to line 1 if
  pressing the End key.
* Editor: Never scroll to line 1 unless cursor is placed on last
  line. E.g. if block has 32 lines and cursor is placed on line
  16, scroll to line 31 and not line 1 if pressing page down.
* Player: Don't play current editor block when releasing left
  shift key if a mouse button is pressed since the left shift
  key was pressed.
* Player: Don't play current editor block when releasing left
  if the number of undos have changed since the left shift key was
  pressed.
* Sequencer: Properly extend seqblock automation length when
  seqblock length has been extended.
* Seqblock: Don"t obtain keyboard focus in the seqblock settings
  widget.
* Sequencer: Also reduce seqblock automation length if seqblock
  length has been reduced.
* Sequencer: Put back the "Volume automation" entry in the editor
  seqblock popup menu. By accident, it disappeared somewhere
  between 5.8.1 and 5.8.6
* Sequencer: Show current interior value (i.e. "|---" "---|") in
  realtime in the status bar when changing an interior value.
* API:
  * New functions: getSeqAutomationEnabled,
    setSeqAutomationEnabled, getSeqblockLeftSpeedX1,
    getSeqblockLeftSpeedY1, getSeqblockLeftSpeedX2,
    getSeqblockLeftSpeedY2, getSeqblockRightSpeedX1,
    getSeqblockRightSpeedY1, getSeqblockRightSpeedX2,
    getSeqblockRightSpeedY2, getSeqblockSpeed,
    getSeqblockStretchSpeed, getDefaultAudiofileFadeout,
    setDefaultAudiofileFadeout, getDefaultInstrumentEffect,
    getSeqblockInteriorStart, getSeqblockInteriorEnd,
    getSeqblockSelectedBox
  * Add optional argument "use_gfx_if_possible" to
    getSeqblockStartTime, getSeqblockEndTime,
    getSeqblockStretch, getSeqblockSpeed,
  * Fix backtrace in message window when exception is thrown
    in the C API.
  * Don't show assertion reporter when an illegal value
    is sent to setFxnode. Just throw normal API exception.
    


Changes 5.8.9 -> 5.9.0:
* Soundfile saver: Make the "All files saved" dialog modal, and
  fix keyboard focus.
* Soundfile saver: Only save audio from current "system out", the
  one that has slider in the bottom bars.
* Soundfile saver: Option to set number of channels
* Modular mixer: Fix sound object popup menu.
* Soundfile saver: Avoid freezing on OSX and Windows when saving
  multiple soundfiles.
* OpenGL: Hide Mesa startup warning for AMD devices (Teteros)
* Build: Silence missing libxaw warning (Teteros)
* Build: install.sh script to create radium directory in /opt and
  other places.


Changes 5.8.8 -> 5.8.9:
* GUI: Disabled the remaining usage of synchronized popup menus
  (only the menu to select MIDI port was left). The command line
  interface menu will be used instead to select MIDI port.
* GUI: Replaced lots of minor synchronized popup menus with async
  popup menus. Might fix various subtle problems.
* Sampler: Make record button popup menu async.
* GUI: Make slider popup menu async.
* GUI: Make checkbox popup menu async.
* Editor: Use async menus to select automation. Workaround for a
  bug in the popup menus of Qt on OSX.
* OSX: Another attempt to fix including the diagnostic report in
  crash reports.
* Edit: Fix right-clicking an edit button sometimes destroying
  parts of the users keybindings file.
* Preferences: Rename the "Windows" tab to "Gui".
* Editor: Add "Generate new instrument color" option to the track
  header popup menu.
* Sequencer: Change "Clone block" to "Clone editor block" in the
  popup menu.
* API:
  * Changed readLineFromFile to not strip whitespace.
  * Removed: simplePopupMenu.


Changes 5.8.7 -> 5.8.8:
* Build: Fix build when user has installed system version of
  Qscintilla.
* Build: Fix building sndlib
* Editor: Fix mark instruments as being assigned to an editor
  track.
* Editor: Fix crash when deleting an instrument assigned
  to an editor track


Changes 5.8.6 -> 5.8.7:
* Editor: Only show used instruments in the bottom part of the
  popup menu to select instrument for a track. Also added a sub
  menu containing all instruments.
* Menus: Add "Show/Hide Edit" to the Windows menu.
* Build: Make sure sndlib is rebuilt when it's been updated.
* Build: Fix building sndlib.
* OSX: Trying to fix obtaining diagnostic reports file for the 
  crash/assertion reporter.
* API: instrumentHasBeenUsed


Changes 5.8.4 -> 5.8.6:
* Blocklist: Add various assertions and logging in order to fix
  a crash bug happening when selecting previous block (reported
  via crash reporter).
* OSX: Try to avoid an extra assertion report that has popped up
  recently when program crashes.
* Sequencer: Add "Delete all pauses" entry to the popup menu
* Playlist: Add option to delete all pauses
* Instrument/Mixer: Fix wrong default chance value when changing
  to a different A/B (default value was 1 instead of 256).
* Editor: Fix wrong pan value when pasting sound objects. Bug
  introduced in 5.8.4
* Audio: Began speed automation, but it"s not working yet, and GUI
  has been disabled.
* Audio: Fix memory leak in granulation.
* Audio: Fix cluttered CPU usage in granulation and resampling.
* Sequencer: Reorganized seqblock popup menu a bit.
* Audio: Handle appropriately when samplerate ratio is too low or
  too high for libsamplerate.
* Sndlib: Fix so that increasing jitter doesn't increase sound length
  when stretching audiofile in the sequencer.
* Packages: Update sndlib to latest version.
* Qt: Fix Qt error message about shared opengl context when building
  with Qt 5.9.
* Audio: Increased maximum number of CPUs from 16 to 64
* Instrument widget: Don't update patch widget name for a name that
  has been edited manually when double clicking sample name in the
  audio file requester.
* Sequencer: Let jitter be 0% by default (granulation).
* Sequencer: Show current seqblock automation value in status bar
  when mouse is placed between two nodes.
* Sequencer: Fix tiny fade-in for mono files when starting to play
  in the middle of a file. Caused by type. Earlier you could hear
  a click in the right channel.
* Peaks: Fix recreating the peak file when audio file have been
  modified since last time peak file was created.
* Peaks: Fix peak values sometimes having the value "inf", causing
  malformed waveforms.
* Jack: Don't crash during startup when jack server is not running.
* System: Shut down Juce properly before exiting program.
* Linux/OpenGL: Don't recommend to turn off vsync if using Intel GFX
  (a very long time since that made sense).
* Linux: Prevent buggy Qt plugins from crashing radium.
* GUI: Prevent Qt from loading plugins during static initialization.
* Editor: Fix undoing/redoing tempo multiplier. (Seqblock stretch
  values were not updated)
* Sequencer: Automation for granular synthesis parameters, including
  stretch.
* Sequencer: Reorganized the popup menus a bit.
* Audio: Fix possible audio underruns when starting to play block.
* Sequencer: When painting automation, also paint a filled
  transparent area below the lines.
* Sequencer: Show correct popup menu when right-clicking an
  automation node which is on top of a seqblock fade square.
* Sequencer: Don't change time value when resetting the value of
  a seqblock automation node, when seqblock is stretched.
* Editor: Ensure sequencer state is the same when undoing changing
  block properties.
* API:
  * Renamed undoSequencerAutomations -> undoSeqtrackAutomations,
    undoSequencerEnvelopes -> undoSeqblockAutomations,
    getNumSeqAutomationNodes -> getNumSeqtrackAutomationNodes,
    getNumSeqAutomations -> getNumSeqtrackAutomations
  * Deleted undoSeqblockAutomations.
  * New functions: getNumSeqblockAutomations, undoSeqblockAutomation,
    getSeqblockAutomationName, getSeqblockAutomationDefaultValue,
    getSeqblockAutomationDisplayString,
    getSeqblockAutomationValueForTime


Changes 5.8.2 -> 5.8.4:
* Program log: Add menu command to program log. Might help track down
  some crashes reported by the crash reporter.
* Sequencer: Options to configure granulation parameters for audio
  files. Right click stretch area and select "Granulation parameters".
* Sequencer: GUI to set gain/resampler type/granulation parameters
  for audio files.
* Instrument/load: Ignore A/B setting when the number of effects
  have changed. This change also prevents the assertion window to
  pop up, and possibly other problems.
* Startup: Show message windows in safe mode during startup. Might
  fix some crashes reported by the crash reporter.
* Log: Log all messages shown in message windows.
* Bottom bar: Hopefully fixed a crash happening when closing window
  with bottom bars.
* Editor: Add a separator between list of used fx and "New FX" in
  the automation popup menu.
* Internal: Same way to load and save instrument settings when
  loading/saving song and loading/saving presets. Not enabled in
  release mode yet.
* Instrument: Option to save presets with embedded samples.
* Presets: Save "pan" and "chance" in preset files.
* MIDI: Fix crashes that could happen after selecting "Delete all
  unused MIDI instruments"
* API:
  * New functions: setSeqblockGrainOverlap,
    getSeqblockGrainOverlap, setSeqblockGrainLength,
    getSeqblockGrainLength, setSeqblockGrainJitter,
    getSeqblockGrainJitter, setSeqblockGrainRamp,
    getSeqblockGrainRamp, getSeqblockResamplerType,
    getSeqblockSeqtrackNum, getSeqblockSeqblockNum,
    addSeqblockDeletedCallback, removeSeqblockDeletedCallback.
  * Changed setSeqblockGain/getSeqblockGain/getMaxSeqblockSampleGain
    to take seqblockid as parameter instead of
    seqblocknum+seqtracknum.
  * Make it possible to let the second argument for
    gui_horizontalIntSlider/gui_horizontalSlider/
    gui_verticalIntSlider/gui_verticalSlider be a function that
    returns text, instead of text.


Changes 5.8.1 -> 5.8.2:
* Mixer: Fix error message showing up when right clicking in certain
  places.
* Playlist: Don't update playlist unnecessarily when timing is
  changed in the editor (and probably other situations).


Changes 5.7.9 -> 5.8.1:
* VST/Linux: Close and reopen native GUI instead of hiding and
  showing. Fixes some situations where the position and size of GUI
  elements becomes screwed up.
* Playlist: Add Renoise-compatible keybindings. (https://users.notam02.no/~kjetism/radium/forum/viewtopic.php?f=7&t=53&p=148#p146)
* Manual: Inform about the "Edit" tab in the keybindings file.
* Note duplicator: Hear changes immediately when changing volume and
  transpose. (Don't have to wait until a note is played.)
* GUI: Organize note duplicator effects in sub menus (one for each
  voice) in the automation popup menu.
* GUI: Add text to the separators in the automation popup menu:
  "Instrument effects", "System effects", and "Note duplicator
  effects".
* GUI: Fix separators in the sub-menus of popup menus.
* Note duplicator: Add popup menus with the optinos "Reset",
  "Add automation ...", "MIDI learn", and "Assign modulator" to all
  variables.
* Modulators: Only create one undo entry when creating a new modulator.
* Instrument GUI: Add "pan" column to the note duplicator for the
  sample player and the Pd instrument. (Those are the only instruments
  that supports panning of individual notes.)
* Load: Add "Warning: Found unknown variable ..." messages to the
  message log instead of displaying separate messages. To avoid having
  to click an "Ok" button many times when loading a song saved with
  a newer version of Radium than what is currently running.
* Linux: VST GUIs seems more snappy.
* VST/AU: Fix the "Don't run plugin GUI code when swapping OpenGL"
  option.
* VST/AU: Some improvements to prevent undefined behavior.
* Startup: Inform in the "Adding LADSPA plugins" message that this
  step could take some time if realtime virus scanning is enabled in
  the operating system.
* Import MOD: Always insert first block at the beginning of song.
* Song: Only include loop end position when calculating song duration
  if looping is enabled.
* Song: Only include punch end position when calculating song duration
  if punching is enabled.
* General: Do string encoding/decoding in a different way. Hopefully
  this fixes some recent crash reports where character encoding seems
  to have failed.
* API:
  * New functions: resetInstrumentEffect, createModulator,
    getModulatorDescription3, getSongPos, getInstrumentInfo,
    mousePointerInMixer, playlistInsert, playlistRemove
  * Add default arguments to createSeqblock.


Changes 5.7.8 -> 5.7.9:
* Editor: Fix new notes not ending at next note position. Bug
  introduced in 5.6.5.
* Save: Better error messages when unable to open file for writing or
  unable to write data to disk.
* Menus: Rename "Help -> Help overview" to "Help -> Manual"
* Manual: Minor improvements.


Changes 5.7.7 -> 5.7.8:
* Load: Don't show assertion window if loading song saved with 5.7.7
  or later which hasn't got a MIDI-learned block tempo multiplier.


Changes 5.7.6 -> 5.7.7:
* Sequencer: Use all available space for seqtrack names in seqtracks
  for editor blocks.
* Sequencer: Use dB when setting audio file gain.
* Editor: Add "add MIDI learn" and "remove MIDI learn" to the block
  tempo multiplier popup menu.
* Modular mixer: Set current instrument when right-clicking a sound
  object
* MIDI Learn: Make undo when parameter value is changed from MIDI.
* VST/AU: Display generic GUI if plugin doesn't provide one.
  (Using GenericAudioProcessorEditor from Juce).
* GUI: Finally fix so that popup menues are closed before doing
  operation.
* Plugins: Fix progress window popping up and not closing again when
  program asks if user wants to open plugin that crashed last time.
  (And probably other situations)
* API: setSeqtrackNoteGain, getSeqtrackNoteGain



Changes 5.7.4 -> 5.7.6:
* GUI: Prevent a rare crash during startup.
* VST/AU: Show a virtual keyboard under the native GUI of plugins that
  accept MIDI.
* Preferences: Update tooltip text for Sequencer -> Transport.
* Sequencer: Add "Set gain" and "Set normalized gain" options to the popup menu
  when mouse is pointing at an audio file.
* VST/AU: Show Progress window when traversing plugin paths for potential
  plugin files.
* Preferences: Remove the "Look through directories for potential plugins"
  button in the plugins tab.
* Preferences: Automatically look through directories when adding or
  removing a path in the plugins tab.
* Preferences: When adding a path with the "..." button, automatically add
  the path when finished in the plugins tab. I.e. no need to press the
  "Add" button afterwards, which at least to me was confusing.
* Preferences: Must press the Return key for a manually added path to be
  added in the plugins tab. Earlier it was enough just to move the mouse
  around a little bit while writing.
* GUI: Don't display names of empty directories in the plugin selector
  popup menu.
* VST/AU: When using more than 30 seconds to search for plugin files, don't
  ask to stop searching in all paths, just stop searching in the current
  path.
* Plugin manager: add "VST paths" button (only Linux and Windows). Opens
  the Plugin tab in the preferences in its own window.
* Linux: Update libxcb and xcb-proto to 1.13.
* Sequencer: Ensure current seqtrack graphics is updated properly.
* Sequencer: Let Shift + right-click delete seqtack under mouse.
* Editor: When scrolling down more than one line, don't jump up to line 0
  unless cursor are placed at last line. Instead, place cursor at the last
  line.
* Sequencer: Set current instrument when inserting new audio file, and
  update header graphics.
* Sequencer: Adjust color of current audio seqtrack header a little bit.
  Painting it green was confusing.
* VST: Add "/usr/lib/vst", "/usr/local/lib/vst" to the default vst paths.
  (Teteros)
* Editor: Don't jump over the "glide" subtrack in the global swing track when
  pressing right arrow key.
* Sequencer: Show a pan slider in the track headers when there's room for it.
* GUI: Fix initial GUI position of Faust plugins.
* GUI: Remember last position of Faust GUIs.
* Sequencer: Fix painting the transparent blue/red looping/punching colors.
  Sometimes they could be painted at wrong positions.
* Sequencer: Fix showing bars+beats in timeline when last block is placed to
  the left of the visible area.
* Sequencer: Show bars+beats by default in the timeline instead of HH:MM:SS.
* Audio meters: Remove almost invisible black line that could appear between
  channels when displaying more than two channels.
* Mixer strips: Fix MIDI learn and modulators for sink plugins.
* Player: Don't automatically start playing right after enabling looping when
  the player was stopped last time because it reached end of song.
* Sequencer: Don;t stop playing until cursor has reached loop end, if looping.
* Sequencer: Don;t stop playing until cursor has reached punch end, if punching.
* Mixer: Various fixes for MIDI-learn.
* Mixer: Display the full range of db values for the tekst written on top of
  send sliders, don't stop when db > 6.
* Upgrade S7 scheme to latest version.
* Mixer: Write "[M]" in the middle of MIDI-learned pan sliders.
* GUI: Make sure all graphics are updated when adding or removing MIDI learn.
* Mixer: Write "[M]" in the middle of MIDI-learned volume sliders.
* VST/AU: Make sure the correct effect value is stored when automation or
  modulation sets a new value simultaneously.
* Build: Fix vst header include path
* API: vstConfigOpen, setSeqblockGain, getSeqblockGain,
  getMaxSeqblockSampleGain.



Changes 5.7.2 -> 5.7.4:
* VST/AU: Always store individual effect values in undo, file, and a/b.
  Fixes some misbehaving plugins (not sure whether the plugins are
  required to store the effect values in the state, but I would think so).
* VST: Add "C:/Program Files/VstPlugins", "C:/Program Files (x86)/VSTPlugins",
  "C:/Program Files/Common Files/VST3", and
  "C:/Program Files (x86)/Common Files/VST3" to the default VST paths.
* Sequencer: Add "Add automation to current editor track", "Add automation
  to current sequencer track", and add/remove modulator entries to the
  header popup menus.
* Mixer: Add MIDI learn entries to the effect popup menus.
* Sequencer: Add MIDI learn options to the popup menus of the volume slider
  and the mute/solo buttons.
* Sequencer: Change "applies" to "apply" in the recording configuration
  GUI.
* VST/AU: Might prevent some badly written plugins from crashing in rare
  situations.
* Sequencer: Fix "Enable/disable editor tracks" GUI (partly broken in 5.7.2).
* Sequencer: Add seqtrack instrument immediately to audio seqtracks.
* GUI: Always close popup menu before doing operation. It both looks more
  correct, plus that the popup menu could cover other widgets opened after
  selection.
* GUI: Fix seqtrack header painting on OSX when sequencer height is changed.
* GUI: Slightly speed up rendering of widgets painting all content.
* Sequencer: Save relative path for audio files so that the song file
  and the audio files can be moved together.
* Sequencer: If audio file couldn't be found when loading, ask user where
  it is.
* MIDI: Change the "Error. Unable to open MIDI output device ..." error
  message to "Error. Unable to open MIDI input device ...".
* MIDI: Add a "Yes (don"t ask again)" option when connecting to an output
  port with the same name as a connected input port, plus make the warning
  message cleearer.
* VST/AU: Show at least two a/b buttons, or none if there isn't room.
* VST/AU: Slightly faster to open and close GUIs.
* VST/AU: Set GUI position before opening it. Fixes slight flicker.
* VST/AU: Resize GUI window immediately when plugin gui changes size.
  No need to manually reopen the GUI anymore.
* GUI: Close popup window (if open) when opening system error window.
* Juce: Upgrade to 5.3.2.
  Modifications:
  * Use ALSA client name + ": " + ALSA port name as juce port name, not
    just the ALSA port name.
  * Run ALSA MIDI input thread with lowest realtime priority. Necessary
    to get accurate timing.
  * Always subscribe to ALSA MIDI ports. I.e. always make connected port
    names public.
* MIDI: Fix realtime display of notes when recording MIDI, when the MIDI
  device sends 0x90 instead of 0x80 for note off.



Changes 5.7.0 -> 5.7.2:
* Sequencer: Option to rename seqblocks. For audio files, this will edit
  what is displayed in the sequencer and playlist (the file itself is not
  renamed). For editor blocks, this will edit the block name.
* Blocklist: Let Shift + right mouse button remove the audio file from
  the song and the playlist when clicking a sound file, not delete a block.
* Blocklist: Don't add blocks or samples when right-double clicking.
* Playlist: Don't remove seqblocks when right-double clicking.
* Sampler instrument: Make A/B and undo/redo more efficient.
* Sampler instrument: Sound is not slightly paused anymore when changing
  A/B, unless the A/B change also changes sample.
* Fluidsynth instrument: Make A/B and undo/redo more efficient.
* Instruments and Mixer: Fix a really bad bug in the A/B system. Values
  loaded from A/B wasn"t stored on disk and in undo/redo. Not sure when
  this bug was introduced, but it was visible for the users since the
  effect sliders weren't positioned to the new values.
* VST/AU: Make undo/redo more efficient.
* VST/AU: Make changing effect values more efficient.
* Mixer: Make A/B more efficient.
* Mixer: Include plugin state information in A/B data.
* VST/AU: Add A/B buttons to the header of the native GUIs.
* Mixer: Show error message if trying to apply an A/B value loaded from
  a song which used a version of the instrument that had different
  number of effects than the saved state.
* Instruments: Make changing A/B more efficient.
* VST/AU: Fix GUI position when opened in Linux.
* Mixer: Fix reset A/B for "g" and "h". Earlier, resetting "g" actually
  resetted "f", and resetting "h" actually resetted "g".
* Sequencer: Increase calculated song duration if loop end or punch end
  is placed after the end of the last seqblock.
* Sequencer: Fix blocklist not being updated when inserting new track.
* Sequencer: Disable the popup menu options "Replace with existing block"
  and "Replace with new block" when right-clicking in an audio file
  seqtrack.
* Sequencer: Punch in/out when recording. Enable by right clicking in the
  timeline and select "Punch in/out" in the popup menu.
* New song: Move start/end looping position into visible area.
* Sequencer: Slightly improve the timeline popup menu
* GUI: Add support for radio buttons in the pop menus.
* Sequencer: Ask whether to delete unused recording takes when loading
  song or quitting program.
* Sequencer: When saving song, mark used recording takes as not being
  auto-deleted.
* Sequencer: Make it configurable whether to auto-delete recording takes
  when they become unavailable.
* GUI: Always cancel operations when pressing the Escape key in the line
  requesters. Don't just treat the escape key the same way as the return key.
* Quantization GUI: Fix name of the "Quantitize Range" button.
* Audio recording: Automatically delete takes when undoing (redo still
  works).
* Audio recording: Never reset the "take" counter when autocreating
  filenames.
* Sequencer: Don't wrap lines when printing seqblock header names. I.e. if
  there is not space for all of "Name of seqblock" in the seqblock header,
  don't just select between "Name of" and "Name", but print as many
  characters as there is space for.
* Undo: Fix current redo data being deleted when right-clicking a sound
  object in the modular mixer and possibly other situations.
* Sequencer: Program requires a session to record files. If not, we
  would have to move the recorded audio files when user saves song, which
  is a bit messy.
* Sequencer: One button for each function in the bottom of the seqtrack
  headers instead of popup menus.
* Audio recording: Fix rare crash when stopping to record audio file.
* Audio recording: GUI to configure recording options. Right-click
  the "R" button.
* Sequencer: Don't show assertion reporter if soundfile was deleted
  while being used. Instead, just show a normal window informing that
  the window could not be found anymore.
* GUI: Fix clicking checkbox not always responding when clicking too
  fast.
* Audio: Increase number of system input ports from 2 to 8.
* Autobackup: Don't make backup when recording audio files
* API: setSeqtrackUseCustomRecordingConfig,
  getSeqtrackUseCustomRecordingConfig, setSeqtrackRecordFromSystemInput,
  getSeqtrackRecordFromSystemInput, setSeqtrackRecordingMatrix,
  getSeqtrackRecordingMatrix, resetSeqtrackRecordingOptions,
  doAutoDeleteSequencerRecordings, setDoAutoDeleteSequencerRecordings,
  unusedRecordingTakesTreatment, setUnusedRecordingTakes,
  setSeqpunching, isSeqpunching, setSeqpunchingStart,
  getSeqpunchingStart, setSeqpunchingEnd, getSeqpunchingEnd,
  setSeqblockName, getSeqblockName.


Changes 5.6.9 -> 5.7.0:
* Sampler: Fix crash when sampler instrument is deleted.
* Internal: Some improvements to the memory validation system
  Prevent bugs such as the sampler instrument bug above from going
  into production again.
* Sequencer: Record audio (press the new "R" button in the seqtrack
  header).
* API: seqtrackIsRecording, setSeqtrackIsRecording


Changes 5.6.7 -> 5.6.9:
* Linux: Include the libfontconfig.so library file.
* Player: More finegrained locking and less locking when changing tempo
  and other things.
* Player: Fix rare tsan hit when changing block tempo multiplier.
* Editor: Don;t limit mouse movement to the visible vertical area when
  moving notes / velocities / pitches / automation / temponodes.
* Error message: Fix showing error message from non-main thread
  (sometimes happens when an error messages is generated by Qt.)
* Sequencer: Disable option to enable/disable the "Glide to next break
  point" option in the last node for automations.
* Windows: Don't use mouse delta values when the mouse hardware reports
  absolute coordinates. This fixes jumping mouse movement in virtual box
  (when mouse integration is turned off) and possibly if using mouse
  pads or other similar devices.
* Windows: Read delta mouse movement directly from the hardware
  (WM_INPUT). Fixes situations where it's not possible to set the
  mouse position from software. In addition, it's better for finetuning
  since we circumvent acceleration applied by the operating system.
* Mouse: Slightly change mouse pointer position when the pointer is
  getting close to any of the edges. This makes it possible to e.g.
  continue moving a seqblock even if there is no more screen space for
  the mouse pointer to move.
* Sequencer: Fix error message popping up when trying to delete song
  tempo node while mouse is not currently above a node.
* Sequencer: Automatically set current seqtrack when adding new
  seqblock.
* Sequencer: Only show audio files in the file requesters to load
  audio files.
* Sequencer: Don't change current seqtrack when deleting seqblock.
* Sequencer: Swap which end of the seqblock is changed when selecting
  "Reset stretch". The old behavior might have had some advantages, but
  it felt counterintuitive.
* Playlist: Don't start playing song when clicking on an audio file
  name in the playlist.
* Sequencer: Don't stop playing if playing block (not song) when setting
  new cursor position.
* Playlist: Remove rare memory corruption bug that could happen when
  clicking the up/down arrows in the playlist to swap audio files.
* Sequencer: Move seqblocks a little bit smoother.
* Fix minor memory leak in blocklist and playlist.
* For audio file seqtracks, display audio file names in the blocklist
  instead of blocks.
* Sequencer: Let first seqtrack have the name "Main seqtrack" in
  new songs.
* Sequencer: Differenciate between audio file seqtrack and block
  seqtrack. An audio file can not be placed in a block seqtrack and
  vice versa. Later (not implemented yet), this makes it possible to
  implement seqtrack volume and solo/mute work for blocks without
  making too much interface confusion.
* Sequencer: Faster graphics when moving single seqblock.
* Sequencer: Fix update of mouse pointer shape in the seqtrack headers.
* Sequencer: Fix setting current seqtrack when clicking on the vertical
  audio meter.
* Sequencer: Numerate seqtrack headers.
* Sequencer: Add "Display bars and beats" checkbox to the popup menus.
* API:
  * Rename selectSeqtrack to setCurrSeqtrack.
  * Add a "for_audiofiles" argument to appendSeqtrack and
    insertSeqtrack.
  * New functions: seqtrackForAudiofiles, setSeqtrackName,
    getSeqtrackName, getAudiofilePostfixes, addAudiofile,
    moveAbsMousePointer, getDeltaMouseX, getDeltaMouseY,
    hasDeltaMouse, canMovePointer, getGlobalMousePointerX,
    getGlobalMousePointerY, getAbsMousePointerX, getAbsMousePointerY,
    getScreenWidth, getScreenHeight.


Changes 5.6.5 -> 5.6.7:
* GUI: Prevent crash in some rare situations when displaying an error
  message from a resize event. (Workaround for QTBUG-64375)
* Sequencer: Always change current seqtrack when clicking anywhere
  inside a seqtrack header.
* Sequencer: Automatically set current instrument to the seqtrack
  instrument when changing current seqtrack.
* Sequencer: When moving a seqblock to a new seqtrack, automatically
  set the new seqtrack as the current seqtrack.
* Sequencer: Don't show error message if trying to delete seqtrack and
  there is only one seqtrack. Instead, just silently ignore
  the operation.
* Sequencer: Optimize when to update graphics. (i.e. faster graphics).
* Mouse: Don't repaint editor and sequencer unnecessarily when moving
  the mouse pointer.
* Playlist: Show seqblock time in realtime when a seqblock is moved.
  This is a fix for a regression introduced maybe a few months ago.
* Sequencer: Paint all song tempo automation graphics when zooming in.
* Sequencer: Some minor optimization of sequencer automation rendering.
* Peak files: Peak files are now 50% smaller and uses 50% less memory
  in the program.
* Mixer strips: Fix graphics update when current instrument is changed.
* Sequencer: Various bug fixes and minor improvements.
* Sequencer: Draw a green border around current seqtrack, similar to
  how current instrument is shown in the mixer.
* Sequencer: Add "Song tempo automation visible" checkbox to the
  timeline popup menu, and replace "Hide song tempo automation" with
  "Song tempo automation visible" in the song tempo automation
  popup menu.
* Sequencer: Display instrument for seqtrack pointed to by mouse at
  the top in the "New automation" popup menu.
* Song: Calculate song length from start to the last automation node,
  not the last seqblock. This change also fixes a bug where
  automation nodes could be forced to be placed before a previous
  node when song length was shortened.
* Sequencer: Allow automation nodes to be placed after song length.
* Build: Move unpacking of s7.tar.gz from bin/packages/build.sh
  to Makefile.qt, plus automatically unpack if there is a
  newer version.
* GUI: Wait 5 seconds before trying again if a mouse/resize/paint
  callback fails. This to avoid debug message bonanza if something
  goes wrong.
* Sequencer: Redo seqtrack header GUIs. Much simpler and faster now.
* Sequencer: Don't start/stop playing twice when using scroll wheel to
  start/stop playing if the mouse cursor is placed in the
  sequencer timeline.
* Editor: Avoid a couple of floating point divide by zero errors
  when the height of the editor is very small.
* Build: Trying to fix find_moc_and_uic_paths.sh for Ubuntu.
* Build: Fix VST include path. Steinberg changed the directory
  structure again.
* Build: Upgrade s7 to latest version.
* GUI: Faster to delete widgets.
* Windows: Don't show error message about unable to find jack process
  command line arguments (not important for users to know).
* Editor: Set the default value of "F" (editor follows play cursor)
  to false.
* GUI: Remove the thin black line that can sometimes be seen between
  the channels in the vertical audio meters.
* GUI: Optimize rendering of audio meters and other widgets that paint
  all pixels (optimization by not filling the background first).
* API: Another fix for memory corruption (and strange scheme error
  messages) when an exception is thrown in scheme code called from
  a Qt event.
* GUI: Vertical audio meter rendering tweaks.
* GUI: Optimize vertical audio meter rendering, especially for widgets
  containing more than one audio meter.
* GUI: Don't paint background color of various widgets unnecessarily
  (bug fix). May speed up some things notably.
* Message window: Make sure error messages are properly shown also if
  they contain text that could be interpreted as html.
* Build: Support gcc 8.
* Sequencer: Fix possible sound glitches that could happen when moving
  seqblocks.
* MIDI: Use a lot less CPU when recording.
* API: gui_setClipRect, gui_cancelClipRect, gui_addVerticalAudioMeter,
  gui_removeVerticalAudioMeter, setPaintOpacity,
  gui_areaNeedsPainting, gui_dontAutofillBackground,
  gui_removeAllVerticalAudioMeters, removeStatusbarText


Changes 5.6.4 -> 5.6.5:
* Demo songs: Romance by Nikos Levantis.
* Editor: Incrase distance between peaks when displaying waveforms.
  This both looks better (although arguably) and uses less CPU.
* MIDI: Display notes in realtime as they are recorded when
  recording notes in sequencer mode.
* Audio meters: Don't show wrong meter values when audio meters
  are resized.
* GUI: Don't set mininum height of the editor to 400 pixels.
* Internal: Fix memory corruptions that could happen if a scheme
  exception is thrown in code called by a Qt event.
* Sequencer: Make it possible to change sequencer height by
  dragging the area above the seqtrack headers. This one is easier
  to use than the already existing drag handler.
* Reduce time Radium uses to exit.
* Editor: Don't re-calculate peak data unnecessarily for looping
  samples. Fixes stalling when setting block multiplier very low.
* Menus: Add "Suggest new feature" to the Help menu.
* API:
  * Fix a couple of bugs in gui_update and gui_getBackgroundColor
  * Make gui_update take double as arguments instead of ints, and
    automatically floor down / ceil up values so that the caller
    doesn't have care about Qt's mix of integers and floats in
    their widget system.
  * New functions: gui_getSplitterSizes, gui_setSplitterSizes.


Changes 5.6.3 -> 5.6.4:
* Sequencer: Avoid silent audio when playing an audio file that
  has fade-out, but no fade-in or envelope, the second time the
  audio file is played.
* Sequencer: When starting to play audio file, avoid starting
  to smoothly gliding between the volume it was set to last
  time the file was played to the volume it is supposed to play.
  (This smoothing transition only lasts around 1.5ms though)
* Instrument list: Fix opening the instrument list window.


Changes 5.6.2 -> 5.6.3:
* Sequencer: Track headers with name, volume sliders, and mute/solo
  buttons.
* Sequencer: Buttons to add, remove, and append seqtrack. Faster
  than using the popup menu.
* Instruments: Let default instrument colors be more colorful.
* Sequencer: Fix various bugs when playing samples.
* Sequencer: Avoid assertion hit about not finding sample.
* Sequencer: Fix some minor paint bugs.
* Sequencer: Improve general rendering performance.
* Sequencer: Draw sample waveforms using less points. Looks better
  and uses less CPU.
* Scheduler: Trying to track down rare assertion reports when a VST
  plugin sends out midi signals.


Changes 5.6.1 -> 5.6.2:
* Sequencer: Don't create undo when a Seqtrack instrument is
  automatically created. This operation can't be undone so
  we previously got an error message when trying to undo.
* Sequencer: Don't crash when an audio file is placed after an
  editor block containing a note continuing to play after the block
  has ended.
* Sequencer: Options to automatically generate new colors for editor
  block and audio samples.
* Mixer: Options to generate new random color for instruments.
* Sequencer: Halfly use the seqtrack instrument color as background
  color in the seqtracks, and make the default sequencer background
  color a little bit more greenish.
* API: generateNewColor


Changes 5.6.0 -> 5.6.1:
* Sequencer: Fix possible xruns when deleting sequencer block.
* Sequencer: Fix peak memory not released when removing audio file.
* Sequencer: Fix strange things that could happen if deleting audio
  file immediately after creating it.
* Sequencer: Fix buggy behaviour in peak rendering if loading
  songs with lots of audio files (several thousands).
* Player: Fix changing block tempo multiplier while playing song.
* Sampler: Fix peak rendering bug when zooming in a lot.


Changes 5.5.9 -> 5.6.0:
* Editor: Make it possible to delete last track.
* Playlist: Fix various bugs that could happen when pressing the
  arrow up or arrow down buttons in the bottom of the playlist.
* Sequencer: Remove lots of unused/dead/unnecessary code left from
  recent refactorings. Might speed up some things.
* API: Removed the following functions: getSeqblockGfxStartTime,
  getSeqblockGfxEndTime, positionSeqblock, positionSeqblockGfx,
  moveSeqblock, moveSeqblockGfx, getSeqblockStretchGfx,
  getSeqblockInteriorStartGfx, getSeqblockInteriorEndGfx.



Changes 5.5.8 -> 5.5.9:
* Load: Don't adjust for block length samplerate mismatch twice. This
  bug caused strange bugs when loading a song saved with a different
  jack samplerate, and it could be very notable if you didn't run
  jack with a samplerate of 48000 as the samplerate of the default
  song would mismatch.


Changes 5.5.7 -> 5.5.8:
* Sequencer: Add undo when changing interior start or end values.
* Sequencer: Fix loading/undoing/redoing an audio file sequencer
  block which has non-default interior start or end values and
  no stretch.
* Menus: Add "Report bug" entry to the Help menu.
* Sequencer: Make sure navigator bar is tall enough to show all
  information when there are many seqtracks.
* Sequencer: Don't show error message when trying to set an
  interior start value of an audio sample before the start of
  a song.
* Sequencer: Fix various issues when deleting a seqtrack with audio
  files.
* Sequencer: Fix so that it doesn't become impossible to move the
  right sequencer navigator handle if it had been moved as
  far left as possible. Before, the only way out of this situations
  was to zoom out using the mouse wheel.
* Peak files: Read peak files in a separate thread. Reading peak
  files of very long samples can take a little bit of time. This
  was especially notable when loading song.
* Peak files: DO re-generate peak file after failing to read it,
  and DON'T re-generate peak file after successfully reading it.
  (Program did the opposite.)
* Sequencer: Don't show error message happening when zooming out
  a lot and trying to move left stretch value before song start.
* Sequencer: Show correct number of audio meter channels for the
  Seqtrack instruments after loading song.
* Sequencer: Fix selection rectangle when editor is not visible.
* Sequencer: Fix Audio file split using the S key when editor is not
  visible.
* Sample player: Update current directory of browser when an audio
  file has been drag-dropped.
* Editor: Let RIGHT_ALT+U and RIGHT_ALT+D transpose all notes in a
  chord if the cursor is placed in the note subtrack, not just the
  first note of the chord.
* Editor: Let RIGHT_ALT+LEFT and RIGHT_ALT+RIGHT change velocity of
  all notes in a chord if the cursor is placed in the note subtrack,
  not just the first note of the chord.
* Editor: Let RIGHT_ALT+U and RIGHT_ALT+D transpose ranged notes if
  cursor is placed inside a range, similar to RIGHT_ALT+LEFT
  and RIGHT_ALT+RIGHT for changing velocity.
* Editor: When using polyphonic tracks and the cursor is placed in
  a velocity subtrack (and not in the note subtrack), the function to
  transpose single notes (RIGHT_ALT+U/D), and the function to change
  velocity (RIGHT_ALT+LEFT/RIGHT), will operate on the note in the
  current velocity subtrack and not the note in the first velocity
  subtrack.
* Sequencer: Always hide grid graphics when releasing mouse button.
* Sequencer: Remove the text "shape" from the fade shape popup menus.
* Mixer: Fix audio meter graphic update. (Some dirty graphics could
  sometimes be seen in 5.5.6 and 5.5.7.)



Changes 5.5.6 -> 5.5.7:
* Sequencer: Fix possible strange graphics and crashes when zooming
  in a lot.
* GUI: Fix popup menu style in Windows and macOS. The style changed
  in 5.5.6. Now it's back to normal.
* Audio: Fix rare bugs related to the sequencer that could happen
  when creating new instruments.
* Sequencer: Fix semi-rare crashes and strange behaviors that
  could happen when moving audio files in some situations.
* Internal: Fix some minor thread sanitizer hits.



Changes 5.5.4 -> 5.5.6:
* GUI: Fix a memory corruption bug in asynchronous popup menus.
* Mixer: Don't display "[disabled]" for the "Show GUI" option
  in the mixer strip popup menu.
* Sequencer: Configurable fade in and fade out shapes. Radium
  offers the same fade shapes as in Ardour: Linear,
  Constant Power, Symmetric, Slow, and Fast. The implementation
  is also based on code from Ardour.
  Manual: http://manual.ardour.org/editing-and-arranging/create-region-fades-and-crossfades/
* Scheduler: Add an assertion to try tracking down a rare
  assertion hit.
* Audio meters: Add option to update audio meter graphics every
  other frame instead of each frame. This seems to reduce
  editor stutter on some computers when the CPU is buzy.
* Audio meters: Only update dirty graphics. This seems
  to reduce editor stutter significantly on some computers
  when the CPU is buzy.
* Editor: Support high DPI displays. I.e. all available space
  is used, not just one quarter of it. Made in cooperation with
  Jarrad Hope. Tested on Linux (KDE) and macOS (retina display).
* Crashreporter/Linux: Inform whether it's the official binary
  or a custom build.
* Sequencer: Don't crash if adding audio file after manually
  deleting the seqtrack plugin.
* Seqtrack plugin: Fix whether it can deleted or not. Previously
  it could only be deleted when it was not safe to delete it,
  and vice versa
* API: useCPUFriendlyAudiometerUpdates,
  setUseCPUFriendlyAudiometerUpdates, getFadeShapes,
  getSeqblockFadeShape, setSeqblockFadeShape,
  getFadeShapeIconFilename.



Changes 5.5.2 -> 5.5.4:
* Player: Don't switch current instrument when starting to
  play from the beginning of a sequencer or range loop
* Linux: Include missing libraries used by the Pure Data
  instrument. Fix for computers missing libfftw, libogg,
  libvorbis, etc.
* Sequencer: Fix sequencer block start value sometimes having
  negative value when moving more than one sequencer block at
  the same time
* Sequencer: Copy sequencer block when pressing shift and
  drag mouse.
* Sequencer: Let the background color of a sequencer block
  header be halfly transparent
* Sequencer: Maintain logical Z order of sequencer blocks. I.e.
  the last used sequencer block is displayed at top, and
  so forth.
* Sequencer: Smooth the volume+fade values before applying to
  audio files.
* Sequencer: Avoid the "interior-end value is larger than the
  default block duration" error sometimes popping up due to
  floating point rounding errors.
* Sequencer: Made audio file background halfly transparent,
  and paint background halfly in the same color as the
  audio file.
* Sequencer: Auto-fade in/out audio files when overlapping.
* Sequencer: Improve sequencer block auto-swap performance.
* Sequencer: Don't auto-swap audio files with other sequencer
  blocks.
* Sequencer: Don't show error message after undoing appending
  track without moving the mouse.
* Disk: Make it safer to save files.
* Build: Fix finding qt tools when uic-qt5/moc-qt5/qmake-qt5
  doesn't exist.
* Sequencer: Option to split audiofiles. Press the S key, or use
  the popup menu.
* Sequencer: Remove "technology preview" note/warning when
  inserting audio files. Hopefully it's stable enough for
  usage now.
* API: getSeqblockResampleRatio, getSeqblockId,
  getSeqblocknumZOrder, getSeqblockZOrder, setSeqblockZOrder.



Changes 5.5.1 -> 5.5.2:
* Modulators: Fix assertion window sometimes popping up when
  loading song when a modulator GUI is open
* GUI: Fix rare popup menu bug that could cause wrong entry
  to be selected, or program to crash.
* Sequencer: Configurable interface color.
* Sequencer: Configurable audio file background color.
* Load: Fix memory leak when loading song. (Fix for known bug
  introduced in 5.5.1.)
* Sequencer: Paint envelope before start and after end with
  a lower opacity.
* Sequencer: Only paint envelope before start and after end if
  mouse pointer is above it.
* Sequencer: Faster to change interior start and end values in
  audio files.
* Sequencer: Cache peak data so we don't have to read peak files
  from disk as often.
* Sequencer: Always try to cache first 2 seconds from the start
  position of all audio files to lower time starting to play.
* API: getAudiofileColor, setAudiofileColor



Changes 5.5.0 -> 5.5.1:
* Load song: Fix semi-rare crash introduced in 5.5.0.
* Editor: Try to track down a rare bug happening when deleting
  a velocity text entry.
* Sequencer: Fix initial envelope duration for audio files.
* Sequencer: Fix undo/redo for fade in / fade out.
* Mixer: Fix mixer object position in the modular mixer after
  redoing adding instrument.
* Update checker: Fix update checker. Broken since
  around 4.4.0.
* Sequencer: Internal simplification. This also fixes some
  minor bugs.
* Audio: Support drag-and-drop of .mrec files.
* Audio: Add option to let main pipe have 8 channels. 
* Audio: Add 8 channel versions of System Out, System In,
  Pipe, Jack In, and Jack Out.
* Sequencer: Paint all of the sequencer block area affected
  by the envelope. I.e. from start to end of block, not just
  below the envelope.
* Audio: Fix equalizer blowing up when frequencies are set
  higher than samplerate/2. Fixes for lowpass, lowshelf,
  highshelf, and higpass.
* API: getAudioInstrumentDescription, internalReplaceMainPipe,
  undoSeqblockFades



Changes 5.4.9 -> 5.5.0:
* Editor: Fix crash when pasting track or block from an old
  song into a new song.
* Load: Show warning if loading song saved with a different
  jack samplerate since they can sound slightly different.
* Sequencer: Fix automation when loading song saved with
  a different jack sample rate.
* Sequencer: Fix volume envelope when loading song saved
  with a different jack sample rate.
* Sequencer: Fix song tempo automation when loading song
  saved with a different jack sample rate.
* Sequencer: Fix undo/redo for enable/disable envelope.
* Sequencer: Fix failure to load some recent songs saved
  with a different jack samplerate.
* Sequencer: Fix positions of subsequent blocks when
  changing stretch of a block with a custom tempo multiplier
  value.
* Editor: Also mute FX automation when track is muted. And
  in addition, add option to not mute FX automation when
  track is muted to keep compatibility with older songs.
* Load: Fix mixer comment on/off status.



Changes 5.4.8 -> 5.4.9:
* Audio: Fix possible audio glitch that could happen when
  stopping to play in a song that has many MIDI instruments.
* Sequencer: Fix some envelope interface issues when a
  previous block in the same sequencer track had tempo
  multiplier not set to 1.0.
* Mouse: Fix pointer flickering in the sequencer when
  hovering over envelope or automation.
* Load: Don't crash if creating a new audio instrument after
  loading a song that was saved before audio was supported.
* Load: Only show one warning window about different way to
  calculate ritardando/accelerando in new songs.
* Mixer strips: Show instrument name in tool tip if
  instrument name was too long to fit.
* VST/AU: Remember GUI positions separately for each parent
  window.
* Mixer: Add "Show GUI" checkbox to the popup menu in the
  modular mixer.
* Mixer: Change "Show GUI" entry in the popup menu into a
  checkbox.
* VST: Fix some minor issues when closing GUI.
* Windows: Remove the "Always on top" option for plugins since
  it made no sense to disable it on that platform.
* VST: Bind native GUI to the window it was opened from. On
  Windows, this means that the GUI will be put in front of the
  window you would expect it to be put in front of, and not a
  random window, which was the case in 5.4.8.
* Windows: Fix opening VST GUI in the modular mixer.



Changes 5.4.7 -> 5.4.8:
* GUI: Don't start new windows in "Window Stays On Top" mode
  since these windows will cover VST GUIs. Also remove
  the Qt::Tool flag on Windows since it's not needed on that
  platform to make windows stay on top of the main window.
* Windows: Partly fix always-on-top VST GUIs. They will stay
  on top of the main window and the last opened currently
  visible window, but not on top of other windows.
* Audio: Try to prevent and track down a bug reported by the
  crash reporter.
* VST: Minor fix for keyboard grabbing in the GUI.
* VST: Fix opening VST GUIs in the middle of the screen.
* Sequencer: Fix bug that caused timing weirdness when
  changing number of lines in a block.
* Sequencer: Fix bug sometimes causing program to freeze when
  showing bars in the timeline.
* Sequencer: Improve timeline rendering a little bit when
  showing bars.



Changes 5.4.6 -> 5.4.7:
* Mouse handling: Fix various minor issues.
* Sequencer: Reset envelope node values to 0.0 dB,
  not 1.0 dB.
* GUI: Enable same keybindings to navigate popup menus as
  in the main menu.
* GUI: Fix menu highlighting when mouse hovers over a
  checkable entry.
* Sequencer: Start playing from mouse position when clicking
  in the timeline.
* Sequencer: Various improvements to the audio file support.
* Mixer strips: Add a space before "dB".
* Mixer strips: Don't scale down font size when it doesn't
  fit. (Make text easier to read)
* Mixer strips: Minor tweaks.
* GUI: Improve message window performance
* Sequencer: Keep envelope and fades when pasting blocks.
* Sequencer: Keep envelope and fades when moving blocks
  between tracks.
* Sequencer: Keep envelope and fades when moving more than
  one seqblock.
* Sequencer: Keep envelope and fades when swapping blocks.
* Upgrade s7.
* API: createSeqblockFromState, getSeqblockState,
  gui_appendValue, setSongPos, playSongFromPos



Changes 5.4.4 -> 5.4.6:
* Windows: The included Jack (and qjackctl) now supports ASIO.
* Windows: Include missing liblzma-5.dll file in 32 bit builds.
* Sequencer: Automatically adjust envelope duration when
  changing length of block or audio file.
* Sequencer: Fix "[disabled]" being printed in the popup menu.
* Instrument GUI: Fix setting chance.
* Disk: Fix loading song having a name (block/instrument/etc.)
  that only contains spaces.
* Linux: Show stronger warning about the Nouveau driver.
* Sequencer: Enable HD play back of audio files in the
  sequencer. Technology preview only. Should not be used in
  production.
* Sequencer: Fix bug when closing the "Enable/disable editor
  tracks" window directly instead of pressing "Close".
* Sequencer: Rename popup menu entry "Enable/disable tracks"
  to "Enable/disable editor tracks".
* API:
  * Deleted: setSeqblockInteriorStart,
    setSeqblockInteriorStartGfx, setSeqblockInteriorEnd,
    setSeqblockInteriorEndGfx.
  * New: cancelGfxSeqblocks



Changes 5.4.2 -> 5.4.4:
* Editor: Fix memory corruption if giving space as note name
  when adding note.
* Editor: Fix chancetext with value 0.
* Instruments: Fix chance being set to 256 when changing a/b.
* Menus: Make "Open plugin manager window" create instrument.
* Keyboard configuration: Fix code inside asterisks.
* Keyboard configuration: Don't run generated python code from
  last session during startup.
* Edit: Add "Randomly delete notes" function to the
  Randomize / Skew / Shuffle tab.
* Sequencer: Just show one simultaneous enable/disable editor
  tracks window, and update content automatically when mouse
  hovers over a sequencer block.
* Mixer: Include mixer strips configuration into a/b.
* Mixer strips: Reduce time changing mixer strips configuration.
* System: Suppress Mesa startup warning for amdgpu driver
  during startup. (Teteros)
* Sequencer: Sequencer block fade in/out.
* Sequencer: Sequencer block volume envelope.
* Sequencer: Various seqblock mouse/gfx improvements.
* Sequencer: Fix selecting correct current automation line
  below mouse pointer in the sequencer when a line
  is non-gliding.
* Edit: Fix modulo skew range down.
* Audio: Don't pause player when undoing effect automation.
* Sequencer: Show thicker linkes for the current automation and
  scale automation lines based on system font height.
* API:
  * Renamed undoSequencerAutomation to undoSequencerAutomations.
  * New functions: setSeqblockSelectedBox,
    getSeqblockLeftFadeX1, getSeqblockLeftFadeY1,
    getSeqblockLeftFadeX2, getSeqblockLeftFadeY2,
    getSeqblockRightFadeX1, getSeqblockRightFadeY1,
    getSeqblockRightFadeX2, getSeqblockRightFadeY2,
    getSeqblockFadeIn, getSeqblockFadeOut,
    setSeqblockFadeIn, setSeqblockFadeOut,
    undoSequencerEnvelopes, getSeqblockEnvelopeValue,
    getSeqblockEnvelopeTime, getSeqblockEnvelopeLogtype,
    getNumSeqblockEnvelopeNodes, addSeqblockEnvelopeNode,
    deleteSeqblockEnvelopeNode, setCurrSeqblockEnvelopeNode,
    cancelCurrSeqblockEnvelopeNode, setCurrSeqblockEnvelope,
    cancelCurrSeqblockEnvelope, setSeqblockEnvelopeNode,
    getSeqblockEnvelopeNodeX, getSeqblockEnvelopeNodeY,
    getSeqblocksState, createGfxSeqblocksFromState,
    applyGfxSeqblocks, getSeqblockEnvelopeMaxDb.



Changes 5.4.1 -> 5.4.2:
* Modulators: Added Random type.
* Editor: Fixes window see-through problem on OSX.



Changes 5.4.0 -> 5.4.1:
* OSX: Fix various crashes, especially notable in 10.13 but
  also sometimes in 10.12. It was caused by setting the
  Qt::WA_MacAlwaysShowToolWindow flag on a window.
* Block list: Fix changing block name.
* Instrument widget: Display the preset menu async. Might
  fix reported difficulties on OSX.



Changes 5.3.3 -> 5.4.0:
* Compile Linux and Windows binaries with GCC 7.20 (upgraded
  from 5.40).
* Compile macOS binaries with Clang 5.0 (upgraded from
  Clang 3.6 or thereabout).
* Upgrade Qt to 5.10 for all three platforms.
* Editor: Don't crash when pasting a track containing
  a deleted instrument.
* Linux: Fix keyboard release detection. Proper release
  detection is needed when playing sounds with the computer
  keyboard, but it hasn't been possible before since Qt5
  didn't support it before Qt 5.10.
* audio/Modulators: Prevent a crash when assigning modulator
  to a plugin parameter.
* OSX/crashreporter: Try to increase the chance of including
  the system diagnostics log in the crash report.
* Check for updates: Use https and not http when requesting
  latest version. OSX complained about this, and the update
  checker might not have worked before on OSX.
* Audio: Fix memory corruption when playing note on MIDI
  channel 8 or above. (This change may have fixed a lot of
  strange behaviors.)
* Audio: Fix running out of memory (and sometimes crash)
  when there's more than a few click instruments.
* Audio: Fix crash when there's more than 16 click
  instruments.
* Error message: Fix assertion reporter popping up when when
  reporting an error from a different thread than the main
  thread.
* Audio: Started work implementing recording and playback of
  audio files to and from disk in the sequencer.
* Upgraded S7 scheme.
* API: setSeqblockInteriorStart, setSeqblockInteriorEnd,
  getSeqblockInteriorStart, getSeqblockInteriorEnd,
  createSampleSeqblock, getSeqblockSample,
  getSampleLength, seqblockHoldsBlock,
  seqblockHoldsSample, getSeqblockLeftInteriorX1,
  getSeqblockLeftInteriorY1, getSeqblockLeftInteriorX2,
  getSeqblockLeftInteriorY2, getSeqblockRightInteriorX1,
  getSeqblockRightInteriorY1, getSeqblockRightInteriorX2,
  getSeqblockRightInteriorY2, setSeqblockInteriorStartGfx,
  setSeqblockInteriorEndGfx, getSeqblockInteriorStartGfx,
  getSeqblockInteriorEndGfx


Changes 5.3.2 -> 5.3.3:
* Audio: Don't show assertion reporter when clicking "R"
  in the sample browser in the fluidsynth instrument.
* Demos: Added "Dance of Hypocrisy" by Nikos Levantis.
* Editor/Player: Make sure displaying the track on/off
  status are always updated when playing song.
* Demos: Added "The Elf" by Nikos Levantis.
* Editor/Mouse: Don't display error message when trying
  to create a velocity at the same position as another
  velocity.
* Editor: Optimize displaying waveforms.
* Editor: Fix current line being changed too much upwards
  when changing LZ value.
* Editor: Remove flickering that sometimes happened when
  changing LZ value.
* Editor: Don't leave one or two empty pixels at the end
  of waveforms.
* Editor: Clean up and optimize waveform rendering.
* Editor: Fix updating waveforms immediately when the value
  of position/attack/finetune/etc./etc. are changed.
* Sample requester: Some work to prevent and track
  down a rare crash.
* API: addVelocityDontDisplayErrors


Changes 5.3.1 -> 5.3.2:
* Disk: Show the "Error. Unable to save file ..." error
  message in the message log window instead of a message
  window.
* MIDI: Don't show assertion reporter when receiving MIDI
  in some situations right after starting to play.
* Crashreporter: Include time since last received MIDI
  message.



Changes 5.3.0 -> 5.3.1:
* Editor: Fix moving the cursor to the right when it's
  positioned at the rightmost legal LPB subtrack.
* Edit: Fix too many undos being created in the
  operations in the "randomize/shuffle" tab for notes
  with pitch changes or velocities.
* Blocklist GUI: Don't play block when clicking if playing
  song
* Blocklist GUI: Fix memory corruption when setting name
  of block.



Changes 5.2.9 -> 5.3.0:
* Editor GFX: Show all of the orange horizontal+vertical
  node indicator lines (when moving something). Don't
  hide everything to the left of the first normal track.
* Swing: Fix assertion (and sometimes crash) if adding
  signature change to a block with swing.
* Editor: Some fixes when navigating the cursor in the
  tempo/timing tracks and not all of them are visible.
  (Crash/assertion fix.)



Changes 5.2.7 -> 5.2.9:
* Song properties: Add option to enable/disable embedding
  audio files in the song properties window.
* Menus: Add "Save As, with embedded audio files" to the
  file menu.
* Change "Save As" to keep the same embedding audio files
  status, not to save without embedded audio files.
* GUI: Let the song properties window and the song comment
  window have normal check boxes.
* Pluginmanager: Clear search string after finished rescanning
  all plugins.
* Gui: Fix possible freeze when showing message window while
  a modal widget is open.
* Demo songs: Added "Concrete Vox" by Nikos Levantis.
* Load song: Fix loading of plugins that uses more than
  3 seconds to initialize. Reaktor is one such plugin.
* Blocklist GUI: A table to show and edit things in
  all blocks.
* Instrumentlist GUI: A GUI similar to the blocklist GUI,
  but for instruments.
* Mixer strips: Display dB value in status bar when changing
  volume of non-wide strips.
* Block properties: Create undo entry when changing the name
  of a block.
* Mixer strips: Fix showing the mixer strip of an instrument
  after undoing deletion or redoing creation.
* Modulator GUI: Don't display strange content if changing
  anything while sorting is enabled.
* Modulator GUI: Fix sorting the "Enabled" column.
* MIDI: Fix crash that could happen if receiving external MIDI
  while loading song
* Modulator: Add "LFO" to the LFO modulator names.
* API: setBlockName, showBlocklistGui,
  getBlockUsageInSequencer, showInstrumentListGui,
  gui_addFocusInCallback, saveWithoutEmbeddedSamples



Changes 5.2.5 -> 5.2.7:
* Audio: Don't show an error message when undoing the deletion
  of an instrument that was soloing.
* Demo: Added "The tree of bugs" song by Nikos Levantis.
* GUI: Minor fix to the compressor GUI.
* Audio: Fix making audio connection to an instrument with only
  one input from an instrument with more than one output. Bug
  created summer 2017.
* Colors: Change the default automation color 7 from an almost
  invisible blue-like color to a more visible red-like color.
* Mixer strips: Fix showing strips for instruments not having
  audio inputs or outputs.
* Audio: Minor fix to the timing values sent to VST/AU/Jack/etc.
* Audio: Modulator instrument. Right-click a slider or checkbox
  and select "Assign modulator". Currently it can generate
  Sine LFO, Triangle LFO, Square LFO, Saw LFO, Inverted Saw LFO,
  manual input (which can be MIDI-learned on), unmodified
  audio input, and the output of running an envelope-follower
  on the audio input. Parameters for both audio and MIDI
  instruments can be modulated. Currently it only follows
  global tempo. Triggering from note input has not been
  implemented yet.
* Build: Update QScintilla from 2.9.2 to 2.10.1. (The
  text editor used in the Faust instrument.)
* API: New functions: gui_removeParent, hasModulator,
  addModulator, replaceModulator, removeModulator,
  getModulatorDescription, getModulatorDescription2,
  getModulatorInstruments, getModulatorTargets,
  setModulatorEnabled, getModulatorEnabled



Changes 5.2.4 -> 5.2.5:
* Help: Minor fixes to mixer documentation.
* Audio: Possibly optimize conversion between db and gain on
  OSX and Windows.
* Import mod: Don't show swing track, and hide bus and click
  mixer strips
* Disk: Save show/hide global swing track status to disk.
* Import mod: Fix import mod (broken a couple of releases ago).



Changes 5.2.3 -> 5.2.4:
* Disk: Use full path when saving embedded sample.
* Disk: Show error message when unable to embed audio file.
* Menus: Add "Show program log" option to Help.
* Demo songs: Un-embed the samples of "Care" to avoid error
  messages when radium is placed in a read-only directory.
* Disk: Don't un-embed samples when selecting "Save" (autobackups
  does not embed samples though).
* Disk: Fix embedding samples for fluidsynth.
* Disk: Don't delete content of embedded audio files folder when
  loading song, unless necessary.
* Disk: Improve text in message boxes used to find paths for missing
  audio files.
* Mixer strips: Fix error message popping up after loading some
  songs when pressing "M".
* Scheme: Update s7 to latest version.



Changes 5.2.1 -> 5.2.3:
* MIDI: Add "Delete all unused MIDI instruments" option to the
  MIDI menu.
* Sequencer: Don't enable the "Replace with existing block",
  "Replace with new block", and "Clone block(s)" options when no
  block is selected
* Preferences: Update information text for the
  "Protect against high CPU usage" option.
* Demo songs: Add "Care" by Nikos Levantis.
* Mixer: Fix error message sometimes popping up when loading a song
  if there are MIDI instruments in the current song.
* Windows/Linux: Build with "-fomit-frame-pointer" instead of
  "-fno-omit-frame-pointer". This could make the program
  notably faster in some situations. OSX is still compiled with
  "-fno-omit-frame-pointer" since bactrace didn't work without it.
* Demo songs: Add "Change The World" by Nikos Levantis.
* Load: Put embedded samples into a newly created directory placed
  where the song file is.
* Sequencer: Show sequencer block start position in the status
  bar when mouse pointer is above a sequencer block.
* Menus: Change "Make Block fit in window" to
  "Make current Block fit in window"
* Sequencer: Stretch sequencer block.
* Mouse: Only call get-seqblock-info once. (small optimization)
* GUI: Set window title for various windows.
* Crashreporter: Include last s7 error message and file/line.
* Message window: Fix memory leak. Old message window was not
  deleted when reopening.
* API:
  * New functions: getSeqblockGfxStartTime, getSeqblockGfxEndTime,
    getSeqblockLeftStretchBox, getSeqblockRightStretchBox,
    positionSeqblock, positionSeqblockGfx, getSeqblockStretch,
    getSeqblockStretchGfx, setCurrSeqblock, cancelCurrSeqblock,
    gui_setWindowTitle.
  * Renamed: addBlockToSeqtrack to createSeqblock and
    addGfxGfxBlockToSeqtrack to createGfxGfxSeqblock.
  * Fix crash that could happen if handleError() was called during
    a call to a Python API function.
 


Changes 5.1.9 -> 5.2.1:
* Windows: Not necessary anymore to install jack to run Radium.
  Radium now includes an embedded version of Jack which is used if
  Jack is not installed globally.
* Mixer: Fix the "W" button. Broken in 5.1.8.
* Current mixer strip: Don't show error message when changing
  width.
* Playlist: Don't show "Pause player" message briefly when
  changing block or playlist position.
* Editor: Popup menu to switch between showing line numbers and
  bars/beats.
* Edit: Add "Randomize note positions and durations" functions to
  the Randomize/Skew/Shuffle tab.
* Editor: Replace "Help Swing text" with "Swing Help" in the popup
  menus
* Sequencer: Option to disable/enable individual editor tracks in
  sequencer blocks.
* API: gui_popup



Changes 5.1.8 -> 5.1.9:
* Editor: Fix crash when adding note in some situations.



Changes 5.1.6 -> 5.1.8:
* Editor: Also show the track number in status bar when moving
  cursor to a swing text sub track.
* Swing: Fix wrong timing values for gliding swing.
* Editor: Add option to show swing help to the popup menu in the
  global swing track.
* Crashreporter: Include Qt version in the report.
* Editor: Use the tempo of the current track tempo when rendering
  the vertical tempo indicator lane (the area to the right of the
  line slider). Before this release Radium only displayed global
  tempo in the tempo indicator lane.
* Editor: Add undo when overwriting a swing value.
* Load: Fix bug that very often caused program to crash when
  loading a song with swing.
* Preferences: Add interface to set maximum elements in a popup
  menu.
* More bugs found by the autotester fixed.
* Playlist/Sequencer: Fix crash when doing
  "delete block" -> "undo" -> "redo" for a block in the playlist
* Menus: Add "Show message window" option to the help menu.



Changes 5.1.5 -> 5.1.6:
* Menus: add "Show undo history" option under
  Help -> Program debugging
* Lots of bugs fixed. The bugs are found by running an autotester
  script.
* Audio: Fix the crossfade value in the sampler instrument when
  automating reverse or pingpong.
* Menus: Some minor fixes to the keybindings.
* Audio: Fix undo handling when parameters are changed in the
  native gui of a plugin.
* Plugin manager: Don't display an error message when finished
  scanning remaining plugins.



Changes 5.1.4 -> 5.1.5:
* Audio: Fix adding undo entries when parameters are changed in the
  native GUI of a plugin. Sometimes a lot more than 1 undo entry
  was added per second. (This functionality is still not working
  perfectly though.)
* OSX: Workaround for a bug in a 3rd party library that caused lots
  of undo entries to be made when when creating and deleting
  AU plugins in certain situations.
* OSX: Fix a bug the in keyboard handler that sometimes made Radium
  crash. Seems to be related to using non-latin keyboard.
  (More info: https://tinyurl.com/ydaz9os9)
* Audio: Ask "Are you sure?" when trying to load a Moody Sampler 5.0
  VST plugin instance. This plugin crashes when it is deleted.
* Audio: Don't crash some VST plugins when undoing a deletion.
* Editor: Make the horizontal track slider more conventional.
* Build: Include initial LLVM 5.0.0 support from Faust2 (Teteros)
* API:
  * New functions: getTrackSliderScrollerX1, getTrackSliderScrollerY1,
    getTrackSliderScrollerX2, getTrackSliderScrollerY2,
    setTrackSliderIsMoving, getTrackSliderPos, setTrackSliderPos.
  * Renamed setScrollbarIsMoving to setEditorScrollbarIsMoving.



Changes 5.1.3 -> 5.1.4:
* Edit: Fix operations on track when cursor is placed to the left
  of the first track.
* Edit: Fix Modulo skew block.
* Windows: Fix Radium not always starting.
* Editor: Fix pianoroll eraser. It was broken in 5.1.3.
* Editor: Fix mouse scroll wheel up/down wrongfully using the
  qualifier keys that was used when pressing a normal key last time.
* Menus: Show keybindings again. (They disappeared in 5.1.3.)
* Editor: Don't show MIDI channel name in track header if the track
  is assigned to a MIDI instrument. (MIDI channel is set in the
  instrument widget for those instruments).
* Editor: Don't enable the popup menu option to change MIDI channel
  for tracks assigned to MIDI instruments.
* Editor: Shorter status bar text when moving cursor.
* Editor: Show buttons when selecting midi channel for track instead
  of showing a text requester.
* Doc: Fix first sentence of swing help text.
* API: Functions to read binary from file: openFileForBinaryReading,
  readLe32FromFile, readLeU32FromFile, readBe32FromFile,
  readBeU32FromFile, readLe16FromFile, readLeU16FromFile,
  readBe16FromFile, readBeU16FromFile, read8FromFile,
  readU8FromFile


Changes 5.0.11 -> 5.1.3:
* Windows32: Remove some console printing that could have caused
  importing xm modules to fail.
* Build: Delete the radium_plugin_scanner binaries when
  executing "make clean"
* Current mixer strip: Make the "Hide mixer strip" popup menu
  option work.
* Keyboard: Fix bug causing Right Ctrl to always be registered
  as Left Ctrl. (Not discovered until now since almost all
  default keybindings bound to Left Ctrl are also bound to
  Right Ctrl.)
* Ctrl + J: Fix ",x", where "x" is track number. Earlier the
  cursor also jumped to line 0. When there is nothing before the
  comma, Ctrl + J is only supposed to move the cursor
  horizontally.
* Edit: Tell the player to reload notes after changing them.
  No need to restart player or wait until it starts from the
  beginning of a block or range before hearing the difference.
* Instrument widget: Fix "Add automation to current editor track"
  and "Add automation to current sequencer track".
* GUI: Ensure that we have keyboard focus when closing a window.
  Fixes so that you don't have to click inside the editor to get
  focus back. This problem was especially notable on Windows.
* Edit: Functions to shuffle pitch values.
* Settings: Take backup of old file before overwriting
  configuration file.
* Linux: Fix for rare crash related to mouse movement.
* Keyboard (linux/osx): Fix keyboard handler not immediately
  registering when mouse moved to a different area.
* GUI: Add "Set/Change/Remove keybinding" options to the popup
  menu for all buttons in the Edit tab.
* Menus: Add "Reload keyboard configuration" to the help menu.
* Edit: Functions to modulo-move notes up or down.
* Editor: Don't show assertion reporter if undoing after
  increasing number of lines when a track has swing.
* Html viewer: Let Ctrl + +/- zoom out/in.
* API: 
  * Make gui_setText also work on Text classes
  * New functions: getNoteId, reloadKeybindings, setKeybinding,
    getKeybindingsFromCommands, getKeybindingFromCommand,
    getKeybindingsFromKeys, getKeybindingFromKeys, setKeybinding,
    grabKeybinding, removeKeybinding,
    getPath, getHomePath, getProgramPath, getPathString,
    appendFilePaths, openFileForReading, openFileForWriting,
    closeFile, writeToFile, fileAtEnd, readLineFromFile,
    fileExists


Changes 5.0.10 -> 5.0.11:
* Gui: Fix a crash that could happen when toggling full screen (F11)
  for the mixer window.


Changes 4.9.19 -> 5.0.10:
* Mixer strips windows: Don't obtain keyboard focus.
* Doc: Remove "Save URL" and "Save link" from the popup menu when
  clicking a link.
* Doc: Fix "Open in new window" when right clicking a link.
* Editor: Show track info in the status bar when moving cursor left
  or right.
* Audio: If a plugin has more outputs than inputs, silence those
  extra outputs when plugin is bypassed.
* Instrument widget: Move the "Solo" button next to the "Mute" and
  "Bypass" buttons.
* Instrument widget: Replace the "Effect on/off" button with
  a "Bypass" button.
* Instrument widget: Replace the "Volume on/off" button with
  a "Mute" button.
* Audio: Only apply "Volume" if effect is NOT bypassed, and apply
  volume BEFORE applying dry/wet, not after. Radium will also
  show a warning when loading song created with an older version
  of Radium since it could sound different now if using bypass
  or dry/wet.
* Editor: Fix moving cursor to the note text when swing text is
  visible and cursor is positioned to the right of the note text.
* Editor: Also show the effect name in the status bar when mouse
  is above an fx text sub track.
* API: getFxtextEffectNumFromX, gui_setTakeKeyboardFocus,
  gui_takesKeyboardFocus, gui_setUrl.


Changes 4.9.17 -> 4.9.19:
* Mixer strips: Don't show an error message when inserting plugin.
  (An unnecessary error message was shown in some situations.)
* Audio: Fix sample seek when block tempo is not 1.0.
* GUI: Various tool tips improvements.
* Editor: Eraser for the pianoroll. Press right mouse button
  to erase notes.
* Editor: Some tweaks when drawing track headers.
* Editor: Don't show the swingtype column (i.e. where "d" or
  "m" is written) unless it's used.
* Doc: some updates to home.html
* GUI: Update tooltips for the mixer widget header.
* Editor: Show info about the current sub track when the mouse
  pointer is above a subtrack. (E.g  make it quicker to find
  out whether a subtrack is the chance track, or the
  swing track.)
* Editor: Add "Hide/Show swing" to the track popup menu
* Editor: Add "Help swing" to the the track popup menu.
* Editor: Move the swing sub tracks to the left of the
  piano roll.
* API:
  * Replace use of "int notenum" with "dyn_t note", where "note"
    can be either "int notenum" or "const char *note_id"
  * New functions: getCenttextX1/etc, getChancetextX1/etc,
    getSwingtextX1/etc, getVelocitytextX1/etc, getFxtextX1/etc,
    unselectAllNotes, noteIsSelected, selectNote, unselectNote,
    getSelectedNotes, showPianorollEraser, hidePianorollEraser.


Changes 4.9.16 -> 4.9.17:
* Playlist: Add "Hide" option to the popup menu.
* Player: Fix changing cursor position while playing.
  E.g when pressing page up/down
* GUI: Fix keyboard focus for the tracker module file
  requester.
* GUI: Let all windows obtain keyboard focus by default when
  selected.
* GUI: Tweak automatic adjustment of the height of the
  instrument widget.
* GUI: Fonts are immediately changed in the font requesters.
* GUI: Update all, or almost all, fonts when changing system
  font.
* API:
  * New functions: setEditorFont, setSystemFont, getEditorFont,
    getSystemFont, gui_fontRequester
 



Changes 4.9.14 -> 4.9.16:
* Swing: Fix swing area being skewed to the start of a block
  when the first defined swing value is placed in the second
  bar or later.
* Swing: Fix crash if trying to edit block swing (not track
  swing). Bug introduced in 4.9.6
* Mouse: Fix creating new automation in the editor when
  the leftmost visible track is not the first track.
* Mixer strips: Add options to "Add automation to current
  editor track" and "Add automation to current sequencer
  track" for sliders that can be automated.
* GUI: Fix graphics not being quite updated right after
  opening a requester, etc. (Very rare problem)
* Internal: don't update audio meter data after gui has closed.
* Internal: Never release patch structs, just clean content.
  Might fix very rare crashes. (I got one though.)
* Mixer strips: Allow strips without sends to be smaller than
  strips with sends
* Mixer strips; Allow strips without plugins to be smaller
  than strips with plugins.
* Mixer strips: Don't make undo before a slider is actually
  moved.
* Mixer strips: Show plugin/send values in the status bar.
* Keyboard: Fix keyboard release handling. It was broken
  in 4.9.14.
* Mixer strips: Show automation values. Shown the same way as
  in the instrument widget.
* Instrument widget: Make sure on/off elements (such as
  highshelf on/off, pan on/off, solo on/off, etc.) are updated
  immediately when automated.
* Mixer strips: Make sure on/off elements (such as pan on/off,
  solo on/off, and so forth) are updated immediately when
  automated.
* Automation: Internal optimization.
* Automation: Fixes assertion window sometimes popping up
  unnecessarily when starting to play. (Related to automation)
* Mixer strips: Add tool tips to the name label of non-wide
  strips. This makes it easier to read the names (because they
  are vertical).
* Import mod: Fix importing modules that has a "C" command
  (volume) set higher than 0x40. This fixes import of the
  module "Massaker" by Esau.
* Mixer strips: Option to widen and unwiden all strips.
* Editor: Menu option to make all blocks fit in window, not
  just the current block.
* Mixer strips: Remake mixer strips after changing system font
  to adjust geometries.
* Mixer strips: Make it possible to hide comments at the bottom
  of the strips. Also make it hidden by default. Can be enabled
  again in the song preferences.
* Mixer strips: Allow shorter mixer strips (3-4 rows should fit
  in a 1900x1800 screen, even when the sequencer is visible).
* Editor: No need to pause playing when adding glissando.
* Import mod: Ask "are you sure?" if current song has unsaved
  changes.
* API:
  * New functions: setMixerStripCommentsVisible,
    mixerStripCommentsVisible, getStoredInstrumentEffect,
    getInstrumentEffectColor,
    addAutomationToCurrentEditorTrack,
    addAutomationToCurrentSequencer.
  * Make addEffectMonitor monitor automation values in
    addition to user-setted values.


Changes 4.9.12 -> 4.9.14:
* Import MOD: Fix attack and release values for the instruments.
  Bug introduced in 4.9.9.
* Fix program freeze on OSX when scanning plugins and a realtime
  message pops up.
* Windows: Make sure splash window is on top when starting up.
* Preferences: Changed "rescan directories for potential
  plugins" to "Look through directories for potential plugins".
* Keybindings:
  * F5: show/hide editor
  * F6: show/hide playlist/blocklist
  * F7: show/hide mixer
  * F8: show/hide sequencer
  * F9: show/hide instrument
  * F10: show/hide edit
* Mixer: Update instrument GUI when turning on/off bypass. Fixes
  instrument gui sometimes being grayed out even after bypass
  was turned off.
* Keybindings: Make python code inside asterisks work when not
  having write access to the binary directory, plus fixed other
  related issues.
* Keybindings: Fix overriding keybindings. It was a little bit
  buggy.
* Audio: Fix plugin scanner when home area path or plugin
  filename path has non-ascii characters
* GUI: Various work to make message windows functional when a
  modal window is open.
* GUI: Fix various crashes when a parent window is deleted.
* Scheme: Upgrade s7 interpreter.
* Help: Set font to "arial, sans-serif". Looks better on OSX
  than the default web fonts.
* Help: Make Ctrl + scroll wheel zoom in/out and Shift + scroll
  wheel scroll left/right.
* Build: Remove a couple of non-existant dependencies from the
  makefile.
* Editor: Fix message about "Track #x not existing" when doing
  mouse operations.
* Mixer strips: Fix mixer strips configuration window sometimes
  showing up on top of the wrong window.
* Mixer strips: Adjust minimum width of mixer strip.
* Mixer: Make a/b include connection gains and connection
  on/off.
* Build: gcc4 compilation fixes
* Mixer strips: Buttons to enable/disable plugins and sends.
* Add support for LLVM 4.0.1 in faust2. From
  https://github.com/grame-cncm/faust/commit/63d1d8f06f3c6ae22674f4dc8b16a64232432779
  (Teteros)
* Event scheduler: Fix code doing undefined behavior.
* Audio: Improve solo situation a little bit (it's not perfect
  yet). Now it also solos input-connected and output-connected
  instruments within a non-branching graph. TODO: Turn on/off
  connections appropriately when solo-ing.
* Scheme: Eval code from s7webserver in the global environment
* Editor: Immediately gray/ungray the editor when it gets/loses
  keyboard focus
* Web: Make Ctrl+F search and F3 repeat search.
* GUI: Make F11 work on all windows.
* Editor: Show open/closed hand mouse pointer types when moving
  the scroll bars.
* GUI: General fix for the mouse cursor sometimes being stuck
  in the wrong shape.
* Mixer strips: Some gfx tweaks.
* Made it possible to configure the border color around current
  instrument in the modular mixer and the mixer strips.
* GUI: Fixed rare crash in the requester.
* Scheme: Run code received by the s7webserver through the
  "FROM-C-catch-all-errors-and-display-backtrace-automatically"
  function. Necessary to avoid crash if s7 runs in a custom
  exec and we hit an exception.
* Mixer strips: Add undo when renaming instrument.
* Mixer strips: Reorganize popup menu a little bit
* Mixer strips: Add "Set as current instrument" and "Help"
  options.
* Mixer strips: Removed a superfluous "info" option (there were
  two of them).
* Mixer strips: Paint a green border around the current
  plugin/send instead of paint everything with a bluish
  transparent color.
* Mixer: Disable replace/copy/cut/delete/save options in the
  popup menu for permanent instruments since we aren't allowed
  to do these operations on permanent instruments anyway.
* Mixer strips: Paint sink sends as a send, and not a plugin.
  I.e. show the arrow on the left side.
* Mixer strips: When deleting a sink send (for instance a send
  to "System out"), only delete the connection, not the
  instrument itself.
* Mixer strips: Always show "Main pipe" in the bus area.
* Edit: Show message about missing range when trying to
  transpose range without a range.
* Fonts: Update main window lower tab size after changing
  system font.
* Plugins: Add VST3 and AU plugins to favourites.
* GUI: Reset mouse pointer type when it is moved to a different
  widget. Fixes open hand mouse pointer stuck over the Edit tab
  and other situations.
* API:
  * Add optional "default_value" argument to the requester
    functions and added some code to prevent someone from
    closing a requester while it's being used (which causes
    crash).
  * New functions: isDoingRequest, gui_getEditorGui,
    getAudioConnectionEnabled, setAudioConnectionEnabled,
    undoAudioConnectionEnabled, gui_getParentGui,
    gui_drawEllipse, gui_filledEllipse, openExternalWebBrowser,
    gui_activate

Changes 4.9.10 -> 4.9.12:
* Documenation: Move things from the help menu into the
  documentation portal.
* Gui: More work to improve issues related to window hierarchy.
* Windows32: Fix instrument name displayed as "(null)" in
  the progress window during loading. Lots of related bugs
  fixed as well that could have caused bugs on all platforms.
* GUI: Fix the "hide" button not always working in the message
  log window when running a modal dialog.
* GUI: Fix a possible crash when parent of message gui is closed.
* Audio: Scan plugin in separate process. A buggy plugin won't
  crash radium anymore when scanning a buggy plugin (at least
  not normally).
* Plugin Manager: Fix bug that made scanning not always work
  quite correctly plus that it caused a "Gui #xxx closed and
  can not be used" error message.
* Editor: Fix the "invert pitch" function.
* Html viewer: Let Alt+left open previous page, Alt+right open
  next page, F5 reload, and Ctrl+R reload
* Documentation: Created a "help portal" with some inital
  content.
* Documentation: Updated keybindings.help.
* Edit: Add keybinding tool tips to the quantization buttons
  (range/track/block).
* Edit: Show message about missing range when trying to run
  a function that operate on ranges.
* Keybindings: Use Right Shift instead of Left Shift to
  transpose note one octave up or down.
* Keybindings: Use the 7 key to expand range and block.
* Edit: Removed "Under construction" and the "More" tab from
  the main window tabs. Although it's still under construction,
  it doesn"t look so frail anymore.
* Edit: Add new functions to randomize pitches and velocities.
* Edit: Add buttons for expand/shrink pitch, expand/shrink
  lines, invert pitch intervals, reverse notes, glissando,
  and creating polyphonic track.
* Edit: Brushed up the "Transpose" tab (GUI tweaks + write
  keybindings on the buttons).
* API/GUI: Let WebView get keyboard focus.
* API/GUI: Let standalone windows get keyboard focus when
  opened.
* Editor: Fix crash/freeze when using the glissando function
  on microtonal notes.
* Player: Don't schedule notes that have negative pitch values.
  (Negative pitch values can happen when using the note
  duplicator.)
* Render: Don't crash if trying to render a note value outside
  legal range.
* Fix error messages not showing when keybinding or menu
  configuration files couldn't be parsed..
* Fix error messages not showing when import XM failed, import
  MOD failed, and when import MIDI file failed.
* Preferences: Made the play cursor type options clearer.
* Jack Transport: Fix starting to play from a new position.
  Earlier the program started to play at the current position
  instead since we didn't wait for Jack to finish moving the
  cursor.
* Audio: Make sure last value in a sequencer automation
  is sent out. This bug was especially notable if the
  second-last node was non-gliding.
* Audio: Send correct init-song effect values when a node
  is non-glide.
* Audio: Send correct automation values when starting to
  play in the middle of a song. I.e. the effect values that
  the instruments would have had if starting to play from
  the beginning.
* API/setPitch: Dont allow higher pitch values than 127.
* API: gui_setToolTip, getKeyboardBindings,
  getKeyboardBinding, getQualifierName.



Changes 4.9.9 -> 4.9.10:
* Mixer: Update volume slider in modular mixer when
  volume was changed via MIDI learn.
* Mixer: Fix error message showing up when using an
  instrument without inputs or outputs.
* Audio: Add undo when editing plugin from a native GUI.



Changes 4.9.8 -> 4.9.9:
* Gui: Fix strange behaviors caused by keyboard events
  not used by Radium being sent back to Qt.
* Audio: Fix the XI instrument loader, which could have
  failed now and then, depending on the mood of the C
  compiler. This might, or might not, have been a problem
  in some past releases. In technical fairness, it should
  have failed in 50% of the releases, but I can't recollect
  that it has ever happened. It fails in gcc 7 though.
* Audio: When playing a song from the beginning, all
  effects in all audio instrument are reset to the state it
  had before new values were set by automation.
  (MIDI instruments have always done this. I've forgotten
  to implement it for audio instruments, until now.)
* GUI: Stop drawing the automation values in the sliders
  when setting a new value manualy. This way we always
  know the current value of an effect by looking at the
  slider: If the automation value is painted, the
  automation value is the current value, and if not, the
  slider value is the current value.
* Editor: Tweak bottom bar and reltempo positions.
* Build: Compile with "-no-strict-aliasing" since there is
  lots of code that I think could break without it.
* Audio: Fix bug that caused values set by automation to be
  saved to disk.
* Audio: Always set correct volume when enabling any of the
  following effects: Volume In, Volume, Pan, Dry/Wet.
  Earlier, wrong effect was set if automation had changed
  the values while the effect was disabled.
* Audio: Change mute into muting "Volume In" instead of
  "Volume" when the sound object doesn't have any output
  channels.
* Editor: Create undo when pressing return to add or edit
  notes and pitches.
* Menus: Don't start to navigate the main menus after
  pressing e.g. Left Alt + X. (The main menus should only
  pop up if pressing the Left Alt key alone.)
* GUI: Fix strange focus behavior when using combo boxes.
  (There are lots of combo boxes in the MIDI instrument
  widget)
* Menus: Fix keyboard focus after pressing the Escape key to
  close the main menus.
* Mixer: Workaround for a Qt bug causing mouse click not to
  work right after a custom exec have been triggered by
  pressing the mouse button, for instance after trying to
  delete a bus.
* GUI: More fixes to make sure things are repainted when
  running a custom exec, at least when it's safe to do so.
* Log window: Make it possible to click html links.
* Sequencer: Only repaint the sequencer track the node
  belongs to, not all tracks.
* GUI: Wider borders and wider space between widgets in the
  async message dialog.
* Internal: Reorganize code to better handle synchronized
  windows popping up at inconvenient times.
* Editor: Render pianoroll of the rightmost visible track even
  when the note lane isn't visible.
* Editor: Fix block tempo multiplier slider sometimes drawn
  with the wrong colors.
* Editor: Don't change current track when mouse pointer is
  outside the editor.
* Editor: Fix general flickering in the non-opengl parts. (Bug
  introduced a couple of releases ago.)
* GUI: Don't repaint everything when pressing the up or down
  key. (One of many situations where it is not necessary to
  repaint.)
* Sequencer: Turn off repainting-every-5-seconds-just-in-case
  hack. Not necessary anymore.
* GUI: More work to avoid widgets not being repainted when
  running a custom exec.
* Editor: Fix instrument names not always being displayed
  completely in the track headers when the text is getting
  closer to the right edge of the editor.
* Sequencer: Only repaint when necesessary when moving the
  mouse cursor in the editor or the sequencer.
* Mixer strips: Tweak volume requester gfx.
* Mixer strips: Display "0.0" instead of "-.0.0" in the volume
  display.
* GUI: Don't hide tracker headers, block tempo slider, and so
  forth, when running custom exec.
* Mixer strips: Write "New volume for ... (now ...dB):" in the
  requester when clicking the volume text. Earlier, the
  requester could have been confusing, especially if opened
  because the user clicked randomly in the mixer.
* GUI: More work to ensure program has keyboard focus when
  starting up.



Changes 4.9.7 -> 4.9.8:
* Mixer strips: Save configuration of the main mixer strips
  to disk.
* Mixer strips: Don't show error messages if deleting things
  too fast.
* Gui: Never allow a menu or a tooltip window to be the
  parent of another window.
* Mixer strip: Hide sliders immediately when deleting.
* Fix crash if the realtime error message window pops up on
  top of a window, and we delete that window before closing
  the message window.
* API: gui_getNumRowsInMixerStrips,
  gui_getMixerStripsConfiguration,
  gui_setMixerStripsConfiguration
 

Changes 4.9.6 -> 4.9.7:
* Mixer strips: Add option to set number of rows in the popup
  menu.
* Mixer strips: Reset configuration after loading song.
* Mixer: Faster to change number of rows.
* Fluidsynth: Don't show non-sf2 files in the sample browser
  when starting up.
* Sequencer: Fix "Configure block color".
* Mixer strips: Fix strip order.
* Modular mixer: Remove the zoom slider. No one probably uses
  it.
* GUI: Set width of the main window splitter handlers to 0
* Mixer strips: Also make the volume slider work when dragging
  the volume meter.
* Mixer strips: Some GFX tweaks.
* API: gui_setNumRowsInMixerStrips, gui_resetAllMixerStrips


Changes 4.9.5 -> 4.9.6:
* OSX: Fix menu fonts.
* GUI: When changing system font, don't change customly set
  fonts.
* Editor: Don't cancel range when changing LZ.
* Editor: Also expand/shrink swing when expanding/shrinking.
* Editor: Make it possible to expand/shrink by a fractional
  factor, for instance to shrink 4 lines into the space
  of 2.5 lines.
* Editor: Range can span any area. It is not limited to
  start and stop at line anymore.
* Sampler/Fluidsynth: Option to remove bookmark when informed
  about a non-existing bookmark directory.
* Help: Add info about copy/cut/paste to fxtext.html (it's a
  nice feature that is not too obvious to find just be trying
  and failing.)
* Editor: Fix copy/paste/cut first fx track. Before this commit,
  and after swing-per-track was implemented, we
  copied/pasted/cut the swing track when trying to
  cut/copy/paste the first fx track.
* GUI: Make sure requester dialogs are wide enough.
* Mixer strips: Don't create a separate mixer strip for plugins
  that has been added after a mixer strip window has opened.
  Bug introduced in 4.9.5.


Changes 4.9.3 -> 4.9.5:
* Modular mixer: Add "Show mixer strips" option for showing
  mixer strips for the currently selected instruments.
* Remove check during startup that we have write access to the
  program path.
* GUI: Make sure requester dialogs opens up in front of the
  current window, not (necessarily) the main window.
* GUI: Fix graphical updates of mixer strips and sequencer right
  after running a requester that popped up in front of a
  different window.
* Mixer strips: All popup menues contains "Hide mixer strip",
  "Configure mixer strips on/off" and "Set current instrument"
  options.
* Mixer strips: Always show a popup menu when right clicking.
* Packages: Upgrade visualization library. Fix for a switch fall
  through that could cause strange mouse behavior.
* Packages: Update qhttpserver. Fixes a ubsan hit that looked
  quite serious.
* Mixer strips: Gui to enable/disable strips
* Mixer strips: Popup-menu option to hide mixer strip.
* LZ: Fix undo. The LZ value itself was not included in the undo
  data.
* GUI: Reset "Half" and "Full" mode when the instrument is
  deleted.
* GUI: Fix instrument widget size when the "Half" button is
  selected and the instrument widget is inside the mixer.
* GUI: Don't hide sequencer when the instrument widget is inside
  the mixer and we are selecting "Half" or "Full" size.
* Player: Automatically stop hanging notes when the player jumps
  to the start of the sequencer loop. Avoids situations where more
  and more notes are added until we run out of polyphony.
* Mixer strips: Some graphical tweaks. Less borders and so forth.
* Instrument color dialog: Fix keyboard focus.
* GUI: Don't give keyboard focus to the editor when opening a new
  window. Specifically, it avoid forcing keyboard focus to the
  editor when changing current instrument. Perhaps other
  situations as well.
* GUI: Make sure the instrument configuration GUI is placed on top
  of the main window.
* Drag/drop: Don't treat dropped files if showing requesters.
* Editor: When creating new lines, let them have correct LZ value,
  not 1.
* FaustDev: Never delete editor automation when recompiling code.
* GUI: Don't force keyboard focus to editor focus when the widgets
  in the upper left corner of the editor are updated.
* FaustDev: Don't gray editor when editing source code.
* Gui: Update current instrument widget immediately after
  removing or adding a connection. Fixes bus sliders not changing
  enabled/disabled status immediately.
* API:
   * New functions: instrumentGuiIsInLowerTab, gui_moveToCentreOf.
   * gui_text: Options to align text.
   * GUI: Make gui_width and gui_height work when gui hasn't been
     shown yet.
   * gui_drawText: Fix alignment arguments. Centering options
     for vertical and horizontal were switched.

Changes 4.9.2 -> 4.9.3:
* Menus: Only navigate menus if pressing the left alt key alone.
  I.e. Don't navigate menues after pressing left alt +
  another key.
* OSX: Workaround for a Qt bug that caused mouse press and
  mouse release events to be generated artificially when we
  set new mouse cursor position. This workaround should also
  speeds up mouse operations in general. (Instead of calling
  QCursor::setPos, we call the Core Graphics function
  CGWarpMouseCursorPosition.)
* OSX: Workaround for a Qt bug that caused splitter handlers not
  to be working, and the mouse pointer not to change shape when
  hovered above a splitter handler.
* OSX: Fix some minor graphical artifacts in the editor.
* Sampler/Fluidsynth: Don't warn more than once about
  a bookmarked directory not existing anymore.
* Crashreporter: Rename executable from "crashreporter" to
  "radium_crashreporter".
* GUI: Ensure we don't input a too small max tempo multiplier
  value in the tempo automation track header.
* Menus: Fix keyboard stopping navigating menues when going
  back to previous sub menu. I.e. when pressing left arrow.
* Keyboard: Workaround to force full focus to program after
  starting program. On Linux, left alt didn't work to navigate
  windows without this workaround, and on Windows the operating
  system claimed the main window didn't have keybaord focus,
  even though Qt for some reason received keyboard events.
* OSX/OpenGL: A couple of changes that might prevent rare crash
  during startup.
* API: Only show a  normal message if calling addFx, and the
  effect already existed. Don't start assertion reporter.

Changes 4.9.1 -> 4.9.2:
* Upgrade the S7 scheme interpreter.
* Mixer strips: Minor graphical tweak.
* Audio: Fix algorithm to check if trying to create recursive
  audio graph. Bug introduced in 4.9.1.
* Mixer: Twice as fast switching to a different a/b setting.
  Earlier, the current a/b setting was applied (again) right
  before applying the new a/b setting.
* Jack: Don't freeze program when jack has shut down, and
  don't freeze if saving or exiting. These bugs might have
  been introduced around 4.8.7.
* Load: Turn off undo when cleaning mixer. Might make loading
  songs a little bit faster, especially if the song uses
  plugins that is slow to create settings data
  (VST chunks, etc).
* Internal: Don't create undo when ignoring undo. Minor general
  optimization.
* Load: Release resources obtained by bus instruments when
  loading song. MIDI learn was probably the only visible
  resource not being released, but it also leaked memory.
* Load: Fix rare crash when loading song with many instruments.
* Mixer: Don't crash when changing to a different A/B setting
  after deleting an instrument. Bug introduced in 4.9.1.
* OSX: Fix modifier key not being registered as released after
  pressing a mouse button while holding a modifier key.
  Makes Ctrl+Z work after shift+right clicking an instrument
  without having to click somewhere first, and other
  situations.
* Internal: Fixes leakage of internal object to keep track of
  playing notes. The leak happened when deleting an instrument
  while it was playing.



Changes 4.9.0 -> 4.9.1:
* Windows: Fix approximately 99.99% of the keyboard focus
  problems.
* GUI: Show full screen and close buttons on all windows by
  default.
* OSX: Fix strange error message during startup about missing
  file.
* Mouse: Fix sequencer (and more seldomly the editor) not
  always working.
* Preferences: Move the "Bring instrument widget to front"
  option from the "Windows" tab into the "Plugins" tab.
* GUI: Show message about instrument not having a GUI.
* Mixer strips: Fix replace instrument.
* Audio: Always connect and disconnect all connections
  simultaneously. Before, connections were often created and
  deleted one by one.
* Audio: Simultaneously fade out the old connections while
  fading in the new connections. Before, old connections were
  faded out before new connections were faded in.
* Mixer: Faster to create and remove audio connections.
* Player: Approx. 1.5ms faster to stop playing.
* Sequencer: Don't pause player when undoing/redoing
  automation.
* Sequencer: Fix bugs that could have caused undo/redo to
  operate on wrong tracks.
* Editor: Be more intelligent about whether to remove
  automation when replacing an instrument.
* Don't pause player unnecessarily when undoing or redoing
  removing or adding instrument.
* GUI: Try to add minimize and maximize buttons to all
  windows.
* Crashreporter: Make sure window is big enough to show all
  content


Changes 4.8.8 -> 4.9.0:
* Import mod: Remember file requester geometry, and don't
  minimize the file requester when showed for the first time.
* OpenGL: Fix pre-render blocks when loading song. Before, it
  only prerendered visible tracks. Reduces the chance of
  experiencing small delays when switching to a new block,
  especially when playing song.
* Main menus: Support the following keys when navigating the
  main menus with the keyboard: page up, page down, shift+up,
  shift+down, home, end.
* Track menu: Add "Help Swing text" entry.
* Mixer strips: Make sure the main window mixer strip doesn't
  obtain more vertical space than it needs.
* Mixer strips: Remove all margins from the main window mixer
  strip.
* Mixer strips: Remove large gap at the bottom of the mixer
  strip, especially for minimized mixer strips. Bug introduced
  in 4.8.7.
* Mixer strips: Make the background frame visible again for the
  send/insert areas. Bug introduced in 4.8.5 or 4.8.7.
* Mixer strips: Don't cancel last undo if double-clicking
  a minimized mixer strip at a position where the mouse pointer
  would end up on top of a plugin slider after the mixer strip is
  not minimized anymore.
* Quantization: Take LZ Zoomlevel into account for the quantize
  value.
* GUI: More window position tweaks.
* OSX: Increase default font sizes so that Radium looks more
  the same on the three platforms by default.
* Windows/OSX: Use the FreeType font engine instead of the font
  engine provided by the operating system.
  * Makes the three platforms look more the same.
  * Could make fonts look much better, depending on the
    operating system.
  * The default fonts look better.
  * Other fonts could look worse. If using custom fonts, you
    might need to adjust font settings.
* Audio: Less time to set an effect values. (Pre-compute port
  range hints.)
* OpenGL/OSX: Actually re-enable "draw in separate process" on
  OSX. Turns out it was only the GUI to enable
  "draw in separate process" that was re-enabled in 4.8.7.
* Playlist: Fix starting to play block when selecting a block in
  the playlist, and we were playing song.
* GUI: Fixes slow graphics that could happen when using
  automation to turn a bus on or off.
* Editor: Only show the text "Current sequencer track is pausing"
  when the current sequencer track isn't playing a block.
* OpenGL: Avoid semi-rare deadlock in situations where the
  current seqtrack isn't playing a block.
* Import Mod: Fix import mod that has tempo modifications. This
  might also fix other problems related to adding, removing or
  changing a BPM value. Bug introduced in 4.8.7.
* Import mod: Fix keyboard focus when opening the file requester.
* Audio: Some minor improvements to performance.
* Sequencer: Don't pause player when editing if playing block
  instead of playing song. The result is less audio stuttering.
* Audio: Use less time to stop playing.
* Menus: Stop navigating the menues if pressing left alt when
  the menues are active. Previously, the main menu bar was
  hidden.
* Menus: Fix showing/hiding/navigating the menues with the
  keyboard (by pressing left alt). Tested on all three platforms.
* Preferences GUI: Add a note that some GFX drivers have
  significantly lower performance if enabling
  "Draw in separate process".
* Linux: Don't lose keyboard modifiers when switching instrument
  (and possibly other situations). Fixes e.g shift+left and
  shift+right for switching to previous or next track.
* Main window: Make sure no elements in the horizontal splitter
  can collapse.
* Sequencer: Fix program freeze while trying to paint grid and
  we have zoomed in so much that there is no grid to paint.
* Log window: When shutting down, messages are shown in custom
  dialogs instead. If not these messages would never be shown,
* Sequencer: Speed up moving sequencer blocks, especially when
  playing.
* Audio: Some minor improvements to prevent xruns.
* Audio: Don't restart player if trying to switch block to the
  same block.
* Load: Show the "plugin not found" messages in the log window
  instead of custom dialog boxes so that the user doesn't have
  to click "Ok" many times.
* GUI: Fix rare program freeze that could happen when pressing
  return in the editor while a custom dialog needs reply from
  the keyboard.



Changes 4.8.7 -> 4.8.8:
* Windows/Faust Dev instrument: Don't crash. (LLVM had to be
  recompiled after upgrading the compiler.)
* Mixer strips: Make it impossible to resize the parent of the
  main window mixer strip. Also make it impossible to collaps
  the parent widget of the main window mixer strip.
* Mixer strips: Don't paint blue border around the main window
  mixer strip.
* GUI: Fix widget positions in the main window when
  adding/removing mixer widget
* GUI/Windows: Fix switching fullscreen (F11) for the mixer
  window. (This fix might have fixed other problems related to
  fullscreen as well, and not just on Windows.)
* GUI: Fix FaustDev GUI. Widget positions seems to be perfect now,
  also when selecting "half" or "full" size.
* Stability: Fix a couple of crashes that sometimes happend when
  quitting the program.
* Audio: Remove audio artifacts when disablng or enabling the
  system compressor. Happened for instruments with more than two
  output audio channels.


Changes 4.8.5 -> 4.8.7:
* Include a "Kill Jack" program with Radium. "Kill Jack" kills the
  jack server unconditionally. It could be a very useful tool.
* Re-enable "draw in separate process" on OSX. (Hopefully it
  doesn't crashes anymore.)
* Make sure message windows are opened at the centre of parent or
  screen
* OpenGL: Create shaders in the main OpenGL thread, and not in the
  OpenGL helper thread. This makes the shaders work when rendering
  in a separate process in VirtualBox. This change might make
  "draw in separate process" work on more configurations.
* OpenGL: Force linking shader immediately after creation. Also
  give an error message if linking failed. Might fix problems
  with "Draw in separate process" and other things.
* GUI: Fix keyboard focus for the input requester. Especially on
  windows, it didn't always get keyboard focus when initialized.
* GUI: Make sure the input requetser window is wide enough to
  show all content.
* GUI: Fix problem that sometimes caused the current mixer strip
  to be placed between the editor and the mixer.
* Show a "Doesn't have a gui" message when selecting
  "Show/hide GUI of current instrument" and current instrument
  doesn't have a GUI.
* GUI/Flowlayout: Horizontally centre all items.
* GUI: Fixed a couple of bugs that caused widgets not to always
  resize properly and not to always paint properly.
* Packages/libxcb: Fix compilation if python points to python3
  instead of python2. (Alyssa P. Hacker)
* Packages/libxcb: Fix compilation error caused by indentation
  errors in python file. (Alyssa P. Hacker)
* Quantitize GUI: Don't synchronize the quantitize value across
  quantitize GUIs. Each quantitize GUI has it's own value.
* Quantitize GUI: The inserted value will no longer be
  automatically divided by greatest common denominator.
* Ratio GUI: Pressing control causes denominator to change value
  when using mouse wheel. (Instead of changing the numerator
  value)
* Ratio GUI: Possible to write floating point numbers.
* Ratio GUI: Writing e.g. "9/b" will be converted to "9/1", not
  "0/1".
* Ratio GUI: Writing e.g. "b/9" will be converted to "0/9", not
  "0/1".
* Import mod: Fix keyboard focus in file requester
* Progress window: Fix flickering, and fix not always working
  properly.
* Swing: Make the editor use current track swing setting when
  swinging along while playing
* Mixer Strips: mixer strips: Add "Show Info" popup menu option
  when right clicking an instrument
* Import MIDI: Don't show assertion reporter when importing MIDI
  while playing
* Fix keyboard focus in vst path line edit widget
* Preferences: Various GUI tweaks.
* Don't pause player when copying a track. This bug also
  manifested istelf on lots of other functions.
* Sequencer height is always remembered and constant.
* Instrument height is always minimal.
* Jack Transport: Fully implemented, includin an option to let
  Radium be the "Jack Timebase Master". Enable under the
  "Sequencer" tab in preferences.
* Input requester: Pop up a modal window. Never show it between the
  menus and the editor anymore. (Created keyboard problems and
  often autoresized the main window.)
* Mixer strips: Minor fix to instrument border rendering.
* Don't show assertion reporter when moving very short notes in the
  piano bar.
* Lots of assertions that we are not calling update()/show()/exec()
  while painting.
* Always use radium_error_message program to show message when
  painting or loading song. Fix for crash.
* Fix the radium_error_message program program. It didn't
  properly wait for start and finish.
* Put the sequencer and the instrument into a new tab bar. Also
  added a new tab called "Edit".
* Move stylesheet css into a separate file called
  "bin/stylesheet.css" so that it can be modified without
  recompiling, and also modified by user.
* Some Qt stylesheet tweaks
* Let QScrollArea widgets have transparent background
* API:
  * GUI: Make sure tab background is correct
  * GUI: Fix empty color for gui_text
  * GUI: Various bug fixes
  * GUI: Add "rotate" parameter to gui_drawText
  * GUI: By default, there are no spacing or borders
  * GUI: Don"t call resize callback again if it failed.
  * GUI: Fix keyboard focus for line requesters that has no
    callback
  * GUI: First argument to gui_ratio can also be a string or a
    float.
  * setQuantitize: First argument can also be a string or a float.
  * getQuantitize: Take an optional argument "as_string". If true,
    returns quantitize value as string instead of ratio.
  * GUI: Workaround for a Qt bug causing callback for gui_line to
    be called twice. (QTBUG-40. Reported in 2005!)
  * New functions: gui_verticalSplitter, gui_horizontalSplitter,
    gui_setAsWindow, gui_removeTab, gui_currentTab,
    gui_setCurrentTab, gui_getTabPos,
    gui_minimizeAsMuchAsPossible, gui_getMainXSplitter,
    gui_getSequencerGui, gui_getInstrumentGui, gui_getTabBar,
    gui_numTabs, gui_tabName, gui_getSplitterHandle,
    getRatioFromString, getStringFromRatio



Changes 4.8.3 -> 4.8.5:
* Fix a bug in the jack check program that made it not always
  work.
* Let radium_check_jack_status also check opening input ports.
* Make the crashreporter window always pop up in front of other
  windows.
* Update s7 scheme interpreter.
* Fix crash if playing right after loading MIDI file. I could
  only make it crash on Windows, but the underlying bug causing
  this crash could have caused crashes in other situations and
  on other platforms as well.
* Removing the hermes filter ladspa plugin since it was very
  unstable.
* Removed the surround encoder ladspa plugins since the
  documentation for it says that it hasn't been tested.
* Show the "Bookmarked sample directory doesn't exist anymore"
  message in the log message window instead of opening a
  new dialog.
* Plugin manager: Add "Show Info" popup menu to show instrument
  info.
* Add info about whether a plugin is an instrument to the plugin
  info window.
* Save old file as <filename>.bak when saving file.
* Inform that Radium should be restarted after scanning plugins
  (in case an unstable, but non-crashing, plugin was loaded while
  scanning).
* Don't freeze when the program receives SIGINT while playing.
* Improve performance changing sample for the sampler instrument
  or the fluidsynth instrument.
* Fix showing text in the message window that contains <, >, or
  other characters that could confuse the html renderer.
* Pop up the message window and show scheme history when catching
  an error.
* If soundfile can't be found, check the "sounds" directory of
  the program before asking the user.
* Set lighter background color for the post-recording dialog.
* Paint gui groups with a more distinct background color.
* Various internal changes to prevent bugs.
* Various internal changes to detect bugs.
* Some internal changes to improve performance.
* API:
  * Make functions returning Place/dyn_t*/func_t* available to
    Python. Radium does not return any value from these
    functions when called from Python though.
  * Don't allow -1 as a place anymore. Use 'same-place instead.
    This in order to detect if setting a place to -1 by mistake.
  * Removed: callFunc_void_int_bool
  * Added: evalSchemeWithReturn, getHtmlFromText, gui_ratio,
    gui_setStyleSheet, gui_setStyleSheetRecursively,
    setQuantitize, getQuantitizeType, setQuantitizeType,
    gui_flowlayout
 

Changes 4.8.2 -> 4.8.3:
* Current mixer strip: Fix resize of wide strip, and don't show
  two strips above each other in certain situations.
* Mixer strips: Make sure the label of a minimized mixer strip is
  always at least two characters high.
* Async file requester when loading protracker module.
* API:
  * GUI: Support tabs container (gui_tabs/gui_addTab)
  * Deleted: importMod
  * New: requestImportMod, gui_fileRequester, gui_tabs, gui_addTab,
    gui_className



Changes 4.8.1 -> 4.8.2:
* Windows: Make sure that notification windows, shown during,
  startup, are not hidden by other windows.


Changes 4.8.0 -> 4.8.1:
* Update s7 scheme interpreter.
* Fix semi-rare freeze when undoing block position in the
  sequencer while playing.
* Fix window-on-top and remember-geometry for the help windows.
* Fix LLVM 4.0 incompat with faust. (Teteros)
* API: gui_web


Changes 4.7.9 -> 4.8.0:
* Various fixes to reduce flickering when opening windows
* Open the main window at the centre of screen during startup.
  (On Linux, it often opened up in the upper left corner.)
* Make sure all new windows are opened at the centre position of the
  parent window.
* Fix remember geometry for the Preferences window
* OSX: Fix window on-top-of hierarchy. Turned out
  QWidget::setParent() doesn't make windows always stay on top of
  each other on OSX (which they do on all other platforms). The
  workaround is a combination of tool windows and modal windows.
  The workaround behaves approximately the same way and is applied
  to all platforms.
* Replace all use of usleep. May fix some bugs on windows, where
  usleep doesn't work if asking to sleep more than one second.
* Show taller async message window initially.
* Sequencer: Don't repaint when a non-async window is visible.
  This avoids blank sequencer graphics in some situations.
* Set default button in message windows. I.e. when pressing the
  Return or Enter key, the default button is pushed. The default
  button is the rightmost one on Window and Linux (mostly),
  and it's the leftmost one on OSX. (It's the same button, but
  systems displays button order differently.)
* Detect during startup if the jack server is malfunctioning, and
  kill it if it does. Don't just freeze Radium, as before. This
  also releaves the user from killing the jack server manually,
  which is a little bit complicated.
* Mixer: Fix modular mixer height cut in half when pressing the "M"
  button two times.
* Mixer strips: Fix gui leak for narrow-sized mixer strips. Two
  unused widgets were created every time a narrow-sized mixer
  strip was created or recreated, and they were never deleted.
  This could probably have taken up significant amounts of memory
  after a while.
* OSX/Plugin manager: Workaround for non-working Return and Enter
  keys.
* Show the "About" window asynchronously.
* Don't crash if a plugin asks for timing information outside
  realtime audio thread. Also shows warning window if a plugin
  does this. This avoids crash after closing the "Moody Sampler"
  AU plugin.
* Plugin manager: Many fixes.
* Plugins: Many fixes to the way we load plugins.
* API:
  * Reduce scheduling resolution from 90ms to 5ms. (Increases
    performance on some gui-related things.)
  * GUI: Optimize adding/removing rows to/from table. (Increases
    plugin manager performance)
  * GUI: Don't cancel various virtual methods (paint/resize/etc.)
    from running when a non-async window is visible. This avoids
    some of blank widgets when showing file requesters, etc.
  * GUI: Don't crash when deleting a table cell gui.
  * GUI: Clean up, make faster, and make safer, the way we
    store, lookup, and organize qwidgets. (It was possible to
    crash it before.)
  * addMessage: Call showMessage if the underlying scheme file
    that addMessage uses has not been loaded yet.
  * Removed the char* type. Can only use const_char* now.
  * New functions: gui_numOpenGuis. gui_hasKeyboardFocus


Changes 4.7.8 -> 4.7.9:
* Fix some minor plugin scanning issues, such as making it
  possible to rescan previously blacklisted plugins.
* Add OS version to crash report.
* Plugin manager: Make Home/End keys work.
* Plugin manager: Let the Return and Enter keys select plugin,
  and let the Escape key cancel/close window. 
* Show non-critical and non-interactive messages in a static log
  message window. I.e. no need to press "OK" to continue. Not all
  messages have been changed to do this yet though.
* Add "Show plugin manager" entry to the windows menu.
* More fixes to make mixer widget and other windows remember
  geometry.
* Various fixes to make sure windows are put on top of the
  correct window.
* API: gui_addKeyCallback, openPluginManager, addMessage,
  gui_setText, gui_setStaticToplevelWidget, getDateString,
  getTimeString.


Changes 4.7.7 -> 4.7.8:
* Fix undo in the sequencer when inserting lines in a block
* Workaround for a couple of Qt bugs causing crashes
  when opening menues and doing mouse operations in
  the modular mixer.
* Fix async menues.
* Plugin manager: "Rescan all" button.
* If there are several plugin files with the same name, load all
  of them, and figure out which one to use. Give warning if more
  than one was usable.


Changes 4.7.6 -> 4.7.7:
* Store on disk the result of scanning a plugin, plus store a
  blacklist of plugins that crashed during scanning.
* Fix problems changing A/B state that was loaded with the song.
* Mouse: Fix mouse pointer position after editing in the editor
* Fix keyboard focus in async popup menues
* API: getMaxSubmenuEntries / setMaxSubmenuEntries


Changes 4.7.4 -> 4.7.6:
* Show popup menu with the presests from the last used directory,
  also when selecting "<Load New Preset>" from the track header,
  and "Load" from the instrument widget header.
* Don't show assertion reporter when loading multi preset
  from track header menu.
* Make sure only ONE undo entry is added when creating a new
  instrument from the track header menu.
* Mixer: Always place it on top of main window.
* Try to fix plugin deletion crash on OSX when CPU is buzy for
  at least 5 seconds after closing.
* Turned off "draw in separate process" on OSX for now since
  it's been reported to be unstable.
* Various stuff to make sure windows are placed on top of the
  correct parent window
* Made both replace and load instrument interfaces async. 
* Fix recent load song crashes plus many other potentially
  crashy situations.
* Plugin manager: Enabled.
* "Show instrument window when double-clicking" is now off
  by default.
* Plugin manager.
* Made instrument popup menu async.
* Fix vsync warning message during startup
* Log more undo info
* API:
  * Added: obtainKeyboardFocus, releaseKeyboardFocus,
    gui_setModal, getGlobalMousePointerX,
    getGlobalMousePointerY, gui_moveToParentCentre,
    showAsyncMessage, createInstrumentDescriptionPopupMenu,
    getAllPresetsInPath,
    requestLoadPresetInstrumentDescription,
    instrumentPresetInClipboard, autoconnectInstrument,
    gui_addDeletedCallback, gui_addRealtimeCallback
  * Removed: instrumentDescriptionPopupMenu,
    requestLoadPresetInstrumentDescription.
  * Renamed: gui_setAlwaysOnTop -> gui_setParent,
    replaceInstrument -> requestReplaceInstrument,
    loadInstrumentPreset -> requestLoadInstrumentPreset,
  * Made doubleClickCallback work with tables
  * showMessage: Add button options
  * GUI: Large table speed up.
  * GUI: All toplevel windows remember geometry
  * GUI: Implement :get-value for table


Changes 4.7.3 -> 4.7.4:
* Mixer strips: 4X faster to create/recreate.
* Mixer strips: Fix freeze if several bus paths have common
  targets.
* Fix mouse pointer position when editor is not visible. This
  fixes mouse pointer moving to lower right corner when
  editing sequencer automation.
* Don't crash if failing to load a plugin when loading song.
* Options to load and save single blocks and tracks.
  Instruments and automations are not loaded yet though.
* Save instrument comments into .rec and .mrec files
* shure -> sure (Teteros)
* Make the vsync startup warning hidable (Teteros)
* API: appendPaths, removeSchedule, getSoundPluginRegistry,
  populatePluginContainer, gui_addTableRows,
  gui_getNumTableRows, gui_getTableRowNum, gui_sortTableBy,
  gui_stretchTable, gui_setEnabled, gui_table,
  gui_addTableCell, gui_enableTableSorting.


Changes 4.7.2 -> 4.7.3:
* Make sure all timing data is updated after loading song.
  Fix for weird behaviors after loading song.
* Swing help text fixes.



Changes 4.7.1 -> 4.7.2:
* Don't crash when changing global tempo and there is more than
  one block.
* Option to enable sending swinging tempo to plugins. Default
  is off.
* Option enable editor to swing along when playing. Default
  is on.


Changes 4.7.0 -> 4.7.1:
* Swing help text.
* Make sure standalone line requesters don't fall off the
  right part of the screen.
* Scroll down when pressing DEL on an empty lpb/bpm/swing
  text entry.
* Always start new bar at signature changes.
* Swing: First-beat swing values are of the grayed-out type
  if not created manually by the user.
* Upgrade s7.
* Swing: Support swing for individual editor tracks.
* Report during startup if the current version has been marked
  unstable.



Changes 4.6.9 -> 4.7.0:
* Various fixes to prevent the s7 garbage collector from collecting
  non-garbage.
* Refuse to compile if using clang<3.4, or gcc<5. Swing won't
  always work if using a compiler without sufficent support for
  integer overflow checks.
* Show "hide swing track" popup menu to the editor.
* Soundfilesaver: Add tooltip to the resampler type combo box.



Changes 4.6.8 -> 4.6.9:
* Let new bpmtext/lpbtext/swingtext entries be non-gliding by
  default.
* Temporary hack to prevent a CPU spike when starting to play in the
  middle of a block. If sample seek is enabled for an instrument,
  there will still be a small CPU spike, but only for that
  instrument. A proper fix should be included in the next release.
  (bug introduced in 4.6.7)
* Mixer: Fix error about creating recursive connection when
  changing a/b.
* Don't show assertion reporter, and don't calculate wrong time,
  if moving a tempo automation node to the top of a block.
* Mixer: Remember window geometry.
* Swing track. (Just the block track for now, swing sub-tracks will
  be added later)
* Fix delete signature.
* Fix copying signature track.



Changes 4.6.7 -> 4.6.8:
* Some debug code to track down a bug in the sampler player.
* Upgrade s7. The previous version had a memory corruption.
* Poor man's sample seek. Should work work fine for playing long
  samples without any type of loops or pitch changes.
  Check the "S" box in the plugin header to enable.



Changes 4.6.6 -> 4.6.7:
* Mixer: Update volume slider in modular mixer when changing a/b.
* Mixer: Fix a/b state after loading.
* Don't stutter when undoing main bpm or main lpb.



Changes 4.6.4 -> 4.6.6:
* Soundfile rendering: Fix rendering block.
* Soundfile rendering: Option to set minimum resampler quality.
* Soundfile rendering: Fix keyboard focus when finished editing the
  "post recording" value.
* Less pause time when changing global BPM.
* Continue playing range if changing global tempo.
* Add mimetype support for .rad files. (Teteros)
* Only let the left alt key operate main window menues if the main
  window has keyboard focus.
* Ask "are you sure?"-questions, and so forth, in a new window, if the
  main window doesn't have keyboard focus.
* Prevent stuttering when changing global bpm or global lpb.
* Option to select random sample for all selected instruments.
  Keyboard shortcut: Left shift + R.
* Sampler: Create undo point when selecting random sample.
* Option to load song from command line.
* Sequencer: Fix rare crash when zooming in too much while playing
  song.
* Configure the color of all selected instruments simultaneously.
* Add LLVM 3.8.1+ compat to bundled faust. (Teteros)
* Add a .desktop file and more icons. (Teteros)
* Fix misleading indentations in Juce. (Teteros)
* A new song properties window in the project menu. Currently only has
  options to change accelerando and ritardando types.
* New methods to calculate accelerando / ritardando
* Add glide/hold options to the BPM track. I.e. not necessary to use
  the tempo automation track to gradually change tempo.
* API: setRandomInstrumentSample,
  setRandomSampleForAllSelectedInstruments, getInstrumentTypeName,
  getInstrumentPluginName, getSelectedInstruments
    


Changes 4.6.3 -> 4.6.4:
* Fix popup menu for instrument objects in the modular mixer
* Song comment window: Change title from "Dialog" to "Song Comment"
  and don't open the window modally.


Changes 4.6.2 -> 4.6.3:
* Fix removing BPM and LPB entries from the BPM track and LPB track.


Changes 4.6.0 -> 4.6.2:
* Build: Compile with -O2 instead of -O3 for non-CPU intensive files
  to improve backtrace.
* Mixer: Fix bug that could cause the Instrument widget to be
  positioned above the Modular Mixer widget.
* Mouse: Make it possible to move the the editor scrollbar with the
  mouse.
* Mixer: More work to avoid, and to track down why, the assertion
  reporter sometimes pops up (and undo/redo stops working) when
  releasing the mouse button. (It's a quite rare problem though.)
* Fix tooltips for the BPM and LPB text input widgets.
* Don't show assertion reporter when loading a new instrument preset
  and there are no preset files in the current directory.
* API: Let getBlockLength, getSongLength, and lineDuration return
  double instead of float.
* API: New functions: getCurrRealline, setCurrRealline,
  getNumReallines, getEditorScrollbarScrollerX1,
  getEditorScrollbarScrollerX2, getEditorScrollbarX1,
  getEditorScrollbarY1, getEditorScrollbarX2, getEditorScrollbarY2,
  getEditorScrollbarScrollerY1, getEditorScrollbarScrollerY2



Changes 4.5.9 -> 4.6.0:
* Windows: Don't show lots of console windows when opening the crash
  reporter.
* Menus: remove "(under development)" from the mixer strips window
  entries.
* Doc: Merge mixer and mixerstrips documentation into one page.
* Menus: Add "Show Quantization and Track Monoization Window" entry
  to the windows menu.
* Possible to press any key (not just return) to add signature when
  the cursor is placed in the signature track.
* Fix pressing the DEL key to delete chance text.
* No need to press return to add/edit numbers in the LPB and BPM
  tracks anymore. Instead, just write the numbers directly.
* More attempts to avoid progress window flickering.
* Minor performance improvement to Zita Reverb.
* Mixer strip: Switch between wide/narrow mode when clicking the
  name of the current instrument.


Changes 4.5.8 -> 4.5.9:
* Windows: Fix crashreporter backtrace.
* Mixer strips: Draw blue color on top of sliders for
  the current instrument
* Windows: Fix keyboard input when the Mixer is running
  in a separate window.
* Sequencer: Fix mouse handling when editor is not visible


Changes 4.5.6 -> 4.5.8:
* OSX: Upgrade Qt from 4.6.2 to 4.7.1. Might fix some GUI issues.
* Windows: Compile with gcc 5.4. Should be a little bit faster.
* Add a bottom bar to mixer when it's running in a separate window.
* Make it possible to move the vertical handle between editor and
  sequencer. I.e. make it possible to resize the height of the
  sequencer widget.
* Windows/crashreporter: Don't show two crash reporter windows
  when crashing.
* Minor GUI and audio optimizations.


Changes 4.5.4 -> 4.5.6:
* VST: Fix saving FXB/FXP
* Fix tool tip for the "half"/"full" buttons in the instrument widget.
* Mixer strips: Draw a blue and thick border around the mixer strip for
  the current instrument.
* Mixer strips: Change current instrument when clicking name. To switch
  between narrow and wide mode, right click and select/unselect "Wide".
  Clicking the name of the mixer strip of the current instrument
  changes wide/narrow mode, as before.
* Mixer: Add an "I" checkbox to switch between putting the
  instrument widget in the bottom of the mixer, or putting the
  instrument widget in the bottom of the main window.
* Mixer: Add a "W" button to show the mixer in a separate window
* Mixer / Mixer strips: Various tweaks to reduce flickering.
* Linux: Fix 1,2,3,4,5,6,7,8,9,0 keys when using french keyboard
* MIDI: Ask "are you sure?" question if trying to make a
  recursive connection
* Mixer: Clean up a/b states when loading song
* Mixer strips: Update "send" values when changing a/b state
* Mixer: Add an "M" button that switches between modular mixer
  and mixer strips.
* Windows: Mixer strips: Keep keyboard focus after switching to
  full screen. (no need to click the window first anymore)
* API: getAllTemponodes/getAllLPB/getAllBPM
* API: Changed "getSampleRate" to return integer instead of float



Changes 4.5.2 -> 4.5.4:
* Mixer: Checkbox to show/hide connections.
* Mixer: Apply volume/muting/soloing/bypassing changes to all
  selected objects.
* Mixer: Update mixer object volume sliders when undoing.
* Show arrow letter, not "=>", above the rightmost arrow in the
  instrument window.
* Mixer: Popup menu options to unsolo/mute/unmute all objects,
  and options to solo/mute/unsolo/unmute all selected objects.
* Mixerstrips: Update send sliders when a value is changed from
  another mixer strip.
* OSX: Give up, and disable high CPU protection on this platform.
  It really seems like Apple goes to great lengths to make programs
  use 100% CPU in OpenGL applications when the window is not visible
  (i.e. they are not just transforming 'OpenGL Swap' into a dummy
  function, which would be stupid enough by itself, albeit managable).
  To illustrate how hard this problem is, the code in the JUCE library
  to work around the same problem doesn't work properly either, so in
  all JUCE OpenGL applications and plugins running on OSX, you are
  likely to see a little bit of graphics stuttering now and then
  caused by JUCE's high CPU protection logic. On most OpenGL
  applications, this is not a big deal, but in Radium, where there
  are very big movements and close interactions between user and
  OpenGL graphics, it's very noticable and annoying. A workaround
  may exist in OSX 10.9 and later, but I'm not sure I want to
  prevent Radium from running on OSX 10.8 yet.



Changes 4.5.0 -> 4.5.2:
* OSX: Fix the 0,1,2,3,4,5,6,7,8,9 keys when using a french keyboard
* Osx/sierra: Workaround for crash in qt when exiting program
* Upgrade Visualization-Library. Fix for rare startup crash,
  especially on OSX.
* Enable draw in separate process by default, and also force-enable
  it if it earlier had been excplicitly disabled.
* Windows: Fix draw in separate process.
* Crashreporter: On windows, report crashes as crashes, not errors.
* Don't crash crashreporter when showing assertion from a different
  thread than the main thread.
* OSX: Fix system font on 10.12.
* Use system font in the playlist.
* Some debug code to try to track down an undo bug in the mixer
* Windows: Fix use of non-ascii paths for sndfile, libgig,
  and the crashreporter.
* Make the "Quit" button in the system message window actually quit
  the program
* Windows: Fix starting program if the current path contains
  non-asci characters.
* Mixer strips: General speed up, plus fix ctrl to slow down mouse



Changes 4.4.8 -> 4.5.0:
* OSX: Enable draw in separate process by default. Quick temporary
  workaround for OpenGL freeze problem.
* Fix using left meta to force horizontal movement when pressing keyboard
  before mouse.
* OSX: Use left alt instead of left meta to force horizontal movement.
  Left meta is already used to slow down mouse movement on OSX.
* Updated keyboard modifiers in the Help -> Mouse menu so that they are
  correct for all three platforms.
* Don't crash when selecting "Quit" after getting message that OpenGL is
  too old during startup.
* Mixer strips: Various gfx improvements.
* Mixer strips: Speed up rendering a lot.
* Mixer strips: Menu options to show window with 1, 2, or 3 rows
  of mixer strips.
* Mixer strips: Click name to switch between a narrow and a wide strip.
* Mixerstrips: Fix full screen.
* A general fix for popup menues not always working, especially
  in mixer strips.
* Make the "ignore warnings and errors for two seconds" and
  "ignore warnings and errors for the rest of the program" buttons
  work again.
* Preferences: Fix some usage of wrong font types.
* Progress window: Should quit by itself now if Radium crashes
  (or is killed) while progress window is open.
* Progress window: Remove flickering when printing new message.
  Works perfectly on Linux/Windows, but not on OSX, as usual.
* Avoid rare deadlock when playing looped range.
* Sequencer: Fix painting correct bar numbers when block tempo != 0.
* Sequencer: Fix program freeze when painting bar numbers.
* API: Renamed ctrlPressed to controlPressed. 'controlPressed' returns
  true if Ctrl is pressed on Linux/Windows, and if Cmd is pressed on OSX.
* API: New functions: control2Pressed, gui_addPaintCallback, gui_update,
  hasWideInstrumentStrip, setWideInstrumentStrip,
  gui_toolTip, gui_drawVerticalText.


Changes 4.4.7 -> 4.4.8:
* Audio: Make it optional whether to use buzy looping as synchronization
  primitive in the multicore scheduler. Buzy looping may cause CPU spikes
  if a plugin uses more than one thread to process audio.
* More intelligent way to check if OpenGL uses too much CPU. On OSX the
  old way didn't work quite well since it seemed like the OS used a lot
  of time right after re-rendering the editor, which it also did, but
  not for so long that we needed to pause the rendering.
* Removed the "Experimental feature" text from the auto-suspend and
  recalculate options in the preferences window. Those seems to work fine.
* Mixer strips: Automatically scale font size, if necessary, so that we
  always see all text.
* Added mixer strips help to the Help menu.
* Add "Add automation to current sequencer track" option to effect slider
  popup menu



Changes 4.4.6 -> 4.4.7:
* OSX: Let the Cmd key behave as Ctrl key again. This is an emergency fix
  since Ctrl+mouse click turned out to be interpreted as a right click
  on OSX. More work needed though.
* Revert to multicore scheduler from Radium V4.4.4. The new one had
  CPU spikes.
* Sequencer: Fix changing loop start position when mixer strip for current
  instrument is visible and on the left side
* Cache sample directories.
* Sequencer: Option to show bar numbers instead of time in the timeline.
* Show loading sample directory progress status in the progress window
  instead of the editor, if the progress window is visible.
* Disable painting when loading song. Less flickering, and hopefully
  also fixes a rare crash during startup.
* Draw a tiny track header border when several tracks are merged together
  into one track header
* Sequencer: Fix moving the navigation bar when the current mixer strip
  is visible and on the left side



Changes 4.4.5 -> 4.4.6:
* Don't scroll editor when using the mouse wheel on various text fields,
  such as changing various ratios or a piano roll interval.
* Fix tooltip for the piano roll header.
* Fix a quite rare bug in mixer strip that prevented it from showing
* Fix undo/redo when splitting a track into monophonic tracks
* Add option to automatically split recorded tracks into monophonic
  tracks after recording.
* Never swap OpenGL while creating or deleting a plugin or a plugin
  window. Could fix some rare crashes if using a semi-buggy GFX driver
  with plugins using OpenGL.
* Option to turn off the high CPU usage check in the OpenGL thread.
* Make sure the solo button in the mixer strips is updated when pressing
  the solo button in the instrument widget
* Don't create undo when changing solo
* Improved spinlock implementation
* Many thread sanitizer fixes. Might fix subtle bugs.
* Compile using boost 1.63 by default
* API: numSelectedInstruments/instrumentIsSelected



Changes 4.4.4 -> 4.4.5:
* Fix crash when loading song that has a sequencer track with no
  sequencer blocks.
* Improve multi core scheduler somewhat. The improvement might not be
  measurable, but it shouldn't be worse than before. Still room for
  improvement.
* Several thread sanitizer fixes. Could fix some subtle bugs.
* Make it impossible to enable safe mode (it is not safe to enable
  safe mode).
* Add c/c++ version and s7 version to about window.
* Audio meters: Fix falloff speed. Don't falloff faster when there are
  more instruments.


Changes 4.4.3 -> 4.4.4:
* Mixer strips: Don't set volume to 6Db if it's above +6 Db when showing
  mixer strip.
* Fix bug causing assertion window to pop up when adding note with
  value 0 in the note text area.


Changes 4.4.2 -> 4.4.3:
* Windows: Include test version of jack 1.9.11. (I've been using
  it for almost a year, and it includes a newer version of qjackctl.)
* OSX: Workaround for the OS failing to set normal threading priority
  on 10.12
* Mixer strips: Make sure the windows are always on top of the
  main window
* Fix a crash during shutdown
* Draw green rectangle around mute buttons when the instrument is
  implicitly muted (i.e. muted because some other instrument is soloed)
* Change audio multi core scheduler to buzy loop when waiting for new
  tasks. This increases audio performance, but also increases the
  overall CPU usage.
* Audio recording: By default, save new audio files in a subdirectory
  of the song file.
* Audio recording: Plug tiny memory leak.
* Audio recording: Don't check in the realtime thread if the file
  path exists.
* Mixer strip: By default, show the current mixer strip on the left
  side of the main window.
* Sequencer: Fix sequencer automation when block tempo is not 1.0.
* Preferences: Move some window related options from the "Various" tab
  to the "Windows" tab.
* Mixer: Fix autoposition new mixer objects.
* Add option to the Windows menu to show/hide current instrument GUI
* Menu entry to show/hide current mixer strip
* Preferences Option to show/hide current mixer strip during startup
* Reorganize "Windows" menu a little bit
* Build: Fix VST include path in the makefile
* Show error message window if failing to parse keybindings file
* Fix overriding keybinding, where the original keybinding only has
  integer arguments, while the new keybinding have at least one
  argument which is not integer
* API: Rename instrumentActive to instrumentIsOpen,
* API: Rename gui_is_open to gui_isOpen
* API: New functions: schedule, hideInstrumentGui, instrumentGuiIsVisible


Changes 4.4.1 -> 4.4.2:
* Don't un-mute an instrument when changing volume
* Mixer: Don't create volume slider undo before actually moving the slider
* Fix "Load" in the instrument widget and "Replace" for mixer strip plugins
* Upgrade the S7 scheme interpreter


Changes 4.4.0 -> 4.4.1:
* Mixerstrip: Implement ctrl-clicking mute and solo buttons
* Mixerstrips: Fix F11 for mixer strips window, and only show full screen
  of the currently pointed at mixer strips window
* Windows/OSX: Fix keyboard input for mixer strips windows
* Sequencer: Don't crash when deleting instrument that has automation
* Sequencer: Replace sequencer automation intelligently when an instrument
  is replaced.
  I.e. transfer system volume automation to new instrument, and so forth.
* Made most popup menues async so that they don't block audio meters and so
  forth. Instrument selector is still synchronized though.
* Added a little space to the left of the checkboxes in the popup menues.
* Mixerstrips: Only show legal alternatives when replacing a send or a sink
* Mixerstrips: Don't delete the old sink instrument when replacing, just
  disconnect it.
* Plugin selector: Only enable plugins that fits. For example, if
  replacing an instrument that has both input and output connections, we
  can only replace it with a plugin that has input and output connections
* Mixerstrips: Fix heigth so that it fits the window when horizontal slider
  is visible.
* Mixer: Keep old position when replacing an instrument (bug introduced
  in 4.4.0)
* API: Make sure cursor is always placed at the beginning when showing
  text input widgets (i.e. gui_line).
* Never lose keyboard focus for the text input requester in the upper left
  of the main window.
* Show single mixer strip for current instrument in the right part of the
  main window.
* Mixerstrips: Add "Show GUI" and "Set current instrument" to the path
  popup menu
* Mixerstrips: Use all available space for audio meters
* Mixerstrips: Popup menu option to show instrument info
* Mixer: Popup menu option to show instrument info
* Mixerstrips: Fix replace plugin sink. Forgot to implement it in 4.4.0.
* Mixerstrips: Include all instruments that you can send to when creating
  a new send. Bug fix.
* Mixerstrips: Delete instrument when right-shift-clicking header name or
  anywhere inside the path
* Mixerstrips: Option to configure instrument color in the popup menues
* Don't enable reverb bus and chorus bus on new instruments
* Mixerstrips: Sort mixer strip buses by connections so that the flow
  always goes from left to right
* New API functions:
  gui_mousePointsMainlyAt, hasNativeInstrumentGui, getCurrentInstrument,
  setCurrentInstrument, instrumentActive, gui_is_open, gui_createString,
  showInstrumentInfo
  

Changes 4.3.8 -> 4.4.0:
* Fix velocity pitch gradient colors when notes text is off.
* Let chance 0 mean using previous chance for that instrument.
* Add preferences option about whether to show playlist window during
  startup
* Fix patch voice on/off when changing a/b/c/d/e/f/g/h
* Fix Ctrl-key modifier on OSX. (I.e. don't use Cmd when slowing down
  mouse movement)
* Sequencer menu: Make replace/clone also work on selected sequencer
  blocks
* Sequencer: Fix moving blocks
* Sequencer: Fix selecting/unselecting single blocks
* Fix high CPU usage when using Intel GFX driver and Radium window is
  not visible.
  May fix high CPU usage if using AMD GFX card too.
* Wait at least 1 second before turning off autosuspension graying for
  the mixer objects, to avoid flickering
* Use same db2linear function in the mixer and sliders as in the mixer
  strips
* Add decaying values to the audio meters
* Change volume meter range from -70 -> +40 to -40 -> +35
* Fix this information text: "a signal of at least 50db".
* Linux: Fix running Radium if the full path contains space
* Mixer strips window. A traditional mixer interface.
* Add MOUSE_MIXERSTRIPS keyboard qualifier
* Show playlist window by default when starting the program. It might
  make block handling less confusing for new users
* Update mixer object graphics (if necessary) when calling changing
  instrument effects from the API.
* API: Fix checking error and throwing exception when running Python.
* Don't show assertion reporter if trying to add a note with illegal
  start and end values
* API: Option to continue instead of throwing exception
* API: Make it possible to paint on all types of gui, and rename canvas
  to widget.
* API: make gui_addMouseCallback work on all gui types
* New Api functions:
  gui_textWidth, hasAudioConnection, hasEventConnection, cancelLastUndo,
  showInstrumentGui, undoMixerConnections, deleteAudioConnection,
  deleteEventConnection, gui_addDoubleClickCallback,
  informAboutGuiBeingAMixerStrips, showMixerStrips, gui_setFullScreen,
  gui_isFullScreen, dbToGain, gainToDb, remakeMixerStrips,
  getAudioConnectionVolume, setAudioConnectionVolume,
  undoAudioConnectionVolume, getNumInputChannels, getNumOutputChannels,
  getInstrumentComment, setInstrumentComment, addAudioMeterPeakCallback,
  resetAudioMeterPeak, undoInstrumentEffect, gui_mixColors,
  gui_getBackgroundColor, getMinDb, getMaxDb, addEffectMonitor,
  removeEffectMonitor, gui_addCloseCallback, gui_setSize,
  gui_disableUpdates, gui_enableUpdates, gui_verticalAudioMeter,
  instrumentIsBusDescendant, gui_addLayoutSpace, gui_getX, gui_getY,
  gui_setPos, gui_getSystemFontheight, gui_horizontalScroll,
  gui_setMinWidth, gui_addResizeCallback, getInstrumentEffect,
  getAudioBusId, gui_scrollArea, gui_verticalScroll,
  gui_setLayoutSpacing, gui_setSizePolicy



Changes 4.3.7 -> 4.3.8:
* Fix crash when song tempo automation has been visible (but is hidden
  now), and a block was moved past the end of the song while playing,
  and the cursor is now past the previous end of the song, and a
  sequencer track was added.
* API: gui_setBackgroundColor and gui_addMouseCallback.



Changes 4.3.6 -> 4.3.7:
* API: Functions to create a canvas and paint on it
* Convert chance help to html
* Convert velocity help to html
* Update help text for the "draw in separate process" OpenGL option.
  (in general, it should be enabled)
* Adjust various things in the preferences window.
* Automatically show instrument widget when double clicking a sound
  object, plus option to turn this feature off/on.
* Convert all help texts to html
* Updated the keybinding documentation with the new MOUSE_* qualifiers
* Add EVENT_MOUSE_EDITOR, EVENT_MOUSE_MIXER, and EVENT_MOUSE_SEQUENCER
  qualifier "keys".
* Fix keybinding for functions that doesn"t only take integers as
  arguments (an ugly bug).
* Fix redefining keybinding for functions that takes non-integer
  arguments.
* Options to change sequencer grid for tempo/block/loop/automation.
  The grid can be changed to "no", "line", "beat", or "bar".
* Make sure copy/cut/delete in the seqblocks popup menu is enabled
  when right clicking outside a sequencer block.
* Fix Ctrl+X in sequencer when no block is selected.
* Support sequencer effect automations. (i.e. horizontal automations
  in the sequencer)
* Fix jumping mouse when releasing ctrl before releasing left mouse
  button when moving a node.
* Fix custom keybindings help on windows.
* Correct song tempo node position when creating new node when ctrl
  is not pressed.
* Display negative time correctly
* Reorganize sequencer popup menu a little bit
* Optimize sequencer automation by using binary search instead of
  linear search.



Changes 4.3.5 -> 4.3.6:
* Show message windows during startup, if necessary. Fixes apparent
  missing information about errors in keyboard configuration.
* Don't save keybindings dictionary to file. Fixes keybindings
  in the menues if binary directory doesn't have write permission.
* Add info about how to change keybindings to the help menu.
* Always write "0.00 dB", not "-0.00 dB" or "+0.00 dB".
* Make sure progress window positions and resizes properly.
* Various tweaks to ensure Radium works and looks properly
  with larger system fonts.
* Update sequencer immediately when editing notes.
* Draw all pitch values in the sequencer.
* Fix sequencer mouse handling when editor is invisible.
* Color adjustments. The default colors have higher saturation
  + some minor stuff.
* Fix minor sequencer rendering when doing smooth scrolling.
* Use instrument color to paint sequencer block track background,
  and don't paint default sequencer block track background
  anymore.



Changes 4.3.4 -> 4.3.5:
* Smooth sequencer scrolling. (can be enabled in the preferences)
* If no sequencer block is selected, Ctrl+C copies the sequencer
  block under the mouse.
* Protect statically stored scheme functions from disappearing
* Plugins: Show warning window instead of trying to load
  incompatible plugin state, if state is incompatible.
* Don't load invalid a/b state information from plugin state.
  (This means that previously saved a/b state information can
  be lost now and then when upgrading or downgrading Radium)
* Fix a general program freeze introduced a couple of releases
  ago.
* Fix memory leak. Very little memory was freed when loading
  or creating new song. (bug introduced a few releases ago)
* Possible to automate note duplicator voice on/off.
* Make sure sequencer cursor is always visible when playing song.
* Loading/saving, copy/pasting, and undo/redo: Always keep same
  order for various types of editor nodes (e.g. notes, fx,
  velocities, etc.) when two or more nodes have the same time, 
* Fix unnecessary deletion in various situations when two
  or more velocity or pitch nodes have the same time position.
* Scale bottom bar height based on system font height
* Render last line as ranged when it is ranged
* Fix a few usages of non-system font in the preferences dialog
* OSX: Add some debug printing to track down why program doesn't
  start on sierra
* Reorganize Window menu a little bit
* Crashreporter: Send edited text, not original text.
* Always position progress window on top of main window
* Use system font size in the progress window
* Allow use of Qt 5.5 on Linux if the file
  "kf5deprecatedwidgets.so" is deleted from the system.
* Fix end pitch value when adding pitch to note
* Only create whole note pitch values unless ctrl is pressed
  when adding a new pitch node to a note
* Fix bug that in some situtaions caused pitch automation
  points to be deleted when moving a note up or down that
  contained both velocity automation and pitch automation
* Fix import xm
* Add qtbase5-private-dev to the list of ubuntu packages
* Ctrl+J: Add options to move cursor to line and/or track
* Various build and documentation fixes (Nil Geisweiller)
* Fix status tex bar text when moving sequencer navigator
* Option to ignore message windows for 2 seconds if a new
  message window pops up immediately after closing a message
  window
* Fix the default track separator colors
* S7: Don't allow any redefinition of global symbol during
  initialization
* Improve compressor graphics rendering a tiny bit
* Fix MIDI learn for solo
* Fix statusbar text for sequencer
* scheme: Show warning if redefining a global symbol
* Upgrade s7
* API changes:
  * deleteNote (same as deletePianonote 0)
  * hasRange/getRangeStartTrack/getRangeEndTrack/
    getRangeStartPlace/getRangeEndPlace
  * handle error when note value is less than 0.001
  * Change order of arguments for setPitch
  * Change order of arguments for setVelocity
  * Replace all set*LogtypeHolding functions with set*Logtype
    functions
  * Let getPitchValue return 0 if pitch_end is 0
  * rename addFx to requestFx (because of nameclash)
  * addPitch/addPitchF/setPitch/setPitchF
  * Rename various create* functions into add*
  * Let createPianonote take Place as placement types instead
    of float
  * Let the velocity argument for addNote be a float and not
    an int
  * Remove getMaxVolume function.
  * deleteAllNotesInTrack
  * Let getGrid and getQuantitize return a Place and not a float
  * Removed deprecated functions getNotePlace, getNoteEndPlace,
    and setNoteEndPlace
  * let first argument to cutNote be a Place and not a float
  * Throw s7 exception in api functions. Get backtrace from where
    the error happened, and avoid getting several message windows
    popping up if something goes wrong.
  * getPitchValue/getPitchPlace/getPitchLogtype/deletePitch/
    setPitchLogtypeHolding.
  * Replace isPianonoteLogtypeHolding with getPianonoteLogtype
  * Rename lots of *pitch* functions into *pitchnum*
  * Let getNoteStart and getNoteEnd return Place and not float




Changes 4.3.3 -> 4.3.4:
* Linux: Check during runtime that we are not linking to another
  version of libxcb than the one included in bin/packages.
* Switch keybindings for F8 and F9.
* Don't show instrument widget when starting up.
* Let F8 show/hide sequencer instead of playlist.
* Don't show playlist window when starting up.
* Don't allow moving sequencer blocks before time 0.
* Sequencer: Let moving blocks have a different color
  than the selected blocks.
* Sequencer: Make sure block positions stays the same
  when removing or adding a block that has a different
  tempo multiplier value than 1.0.
* Sequencer: Fix moving several blocks when at least
  one of them has a tempo multiplier value other than 1.0,
  plus use the same skew value for all moving blocks.
* Sequencer: Adjust when to swap the position of two blocks.
* Fix ctrl-click to select/unselect sequencer block.
* Always unselect seqblocks when finished moving.
* Support Ctrl+X/C/V keyboard shortcuts in the sequencer.
* Move several sequencer blocks simultaneously.
* Fix swapping a seqblock when moving it to the
  left of a sequencer block with a size less than half
  than the one being moved.




Changes 4.3.2 -> 4.3.3:
* Add Cut/Copy/Paste/Delete options to sequencer popup menu
* Make ctrl-click select/unselect sequencer block
* Ensure sequencer timeline isn't hidden after loading song
* Make it possible to move sequencer blocks before previous
  blocks and after later blocks.
* Disallow building Radium with Qt 5.5 on Linux because of
  a buggy KDE library which is automatically loaded.
* Make mixer selection color configurable.
* Update s7 scheme interpreter.
* API: Various fixes for crashing or showing assertion reporter
  when providing an illegal index value.
* s7: Write scheme function name in error messages, not the C
  function name
* Select multiple sequencer blocks using selection rectangle
  to select several blocks at once, or ctrl-clicking to
  select/unselect.
* Exclusively select when ctrl-clicking a mute/solo/bypass
  button in the mixer.
* Only create one undo when moving a sequencer block between
  sequencer tracks.
* Change solo behavior if two or more sound objects are selected.
  If two ore more sound objects are selected, solo will work
  on those objects instead of the instrument objects.
* Ctrl+click an already selected sound object unselects it in
  the mixer.
* Moving a sound object to the same position in the mixer
  doesn't create undo.
* Clicking on a sound object button or slider doesn't make the
  object selected.
* Moving a sound object to the same place doesn't cause
  assertion reporter to pop up in some situations.
* Always let timeline triangles in the sequencer have the
  same width as height.
* Fix various issues with sound file saver.
* Show more warning information about the nouveau GFX driver.
* API: Finish up the new gui functions.
* Workaround for crash/etc. that could happen when using
  tempo automation on a splitted line.
* Avoid some graphical glitches in the editor when
  restarting a loop.



Changes 4.3.1 -> 4.3.2:
* Don't send pitch change messages when the value is the same as
  last time. Minor optimization + that it screwed up automatic
  portamento a little bit.
* Always show warning during startup if VSync is turned off. It's
  most likely a mistake if it's turned off.
* Sampler instrument: Automatic portamento effect.
  (I.e automatically glide between notes and pitches)
* Change default behavior to not stop playing when saving song.
* Make sure various information about Linux GFX drivers are not
  showed unless actually running Linux.
* Add new option called "Glide to next note at mouse position"
  to the pianonote popup menu.
* Sampler instrument: Options to select a random sample file
  (Accessible either by pressing the new "R" button, or
  by selecting "Select radium sample" in the sound object
  popup menu.)
* API: Many new functions for creating GUIs.



Changes 4.3.0 -> 4.3.1:
* Linux: Fix use of embedded libxcb.
* Fix song tempo widget size after loading a song with a visible
  song tempo widget.



Changes 4.2.9 -> 4.3.0:
* Add "Hide song tempo automation" option to song tempo automation
  popup menu.
* Ensure graphics is updated when changing song tempo automation.



Changes 4.2.8 -> 4.2.9:
* More fixes for open hand mouse pointer.
* Removed some startup warnings about unstable gfx drivers
  and so forth on Linux. With latest version of libxcb,
  this will hopefully not be a problem anymore.
* Linux: Include xcb-proto 1.12 and libxcb 1.12. All versions
  of xcb before 1.11.1 (which is quite new) are probably
  unstable if using AMD or Intel gfx drivers.
* Fix high CPU usage when sequencer window is visible



Changes 4.2.7 -> 4.2.8:
* Write a warning in capitol letters next to the vsync option in the
  preferences. (Disabling vsync only makes sense using buggy gfx
  drivers.)
* Sequencer looping.
* Make sure the mouse pointer looks like a pointer when it is
  supposed to be a pointer.
* Fix text cluttering in the sequencer timeline when using another
  system font than the default.
* Make the range color alpha channel configurable.
* Assign track MIDI channel to note when: 1. playing using MIDI keyboard,
  2. Editing notes in piano roll, 3. Scrolling editor up and down with
  the arrow keys, and 4. When playing using the computer keyboard.
  Also add option to the preferences to keep original MIDI channel
  when using MIDI keyboard.
* Use the system font height to determine sequencer dimensions, not the
  editor font height.
* Send actual time to plugins. I.e. remove block tempo multiplication
  and song tempo automation out of the picture.
* Add monitor refresh rate to the help->About window
* Song tempo automation



Changes 4.2.6 -> 4.2.7:
* Make fewer undo points when moving sequencer blocks
* Attempt to lower file requester startup time on windows
* Show sequencer grid graphically when moving blocks
* Only use first sequencer track to define grid
* Scrolling the mouse wheel down stops the player and
  sets cursor position in the sequencer.
* Sampler: Don't change reverse value in realtime.
  I.e. already playing notes doesn't suddenly change
  between playing backards and forwards.
* Fix "Block Copy" and "Block Paste" in the menus
* Fix semi-rare crash that could happen right after
  a sequencer is deleted or changed, for instance after
  loading a song.
* Fix sequencer grid when a block tempo multiplier doesn't
  have the value 1.0.
* Update note graphics in the sequencer immediately.
* Configure instrument colors (select "Configure color"
  from the track header or mixer sound object popup menus).
* Warn about all Mesa 10 Linux Intel GFX drivers during startup.
  It seems like Radium could crash at any time if using
  these drivers.
* Possibly improve audio performance by reducing cache misses.
  Memory usage has decreased a little bit too.



Changes 4.2.5 -> 4.2.6:
* Mouse: Don't bar-align the first block in the sequencer.
* Mouse: Always move the sequencer blocks the same number of pixels.
* Option to recalculate latency on the fly when turning on/off
  a bus connection. Saves a lot of CPU on songs with many instruments.
  This is probably just a temporary workaround for the CPU problem
  until a proper solution is implemented. Latency should not be
  recalculated when you turn on/off of a bus connection since
  it produces minor artifacts (caused by interpolation) and also
  causes minor temporary tempo changes (i.e. at least one beat will
  have a different length than the surrounding beats).
* Fix mouse problems when moving sequencer blocks. A very common
  problem on OSX, but it has also been observed on Linux.
* Fix rare assertion window popup when loading song.



Changes 4.2.4 -> 4.2.5:
* Don't paste color when pasting block
* Move sequencer blocks in the vertical direction as well as the
  horizontal direction.
* Always hide sequencer window if instrument window is half or
  full size.
* Let new blocks have 64 lines by default, not 70.
* Mouse: Align sequencer blocks by bar positions in the sequencer
  track(s) above. Pressing ctrl (to finetune) prevents automatic
  alignment.
* Update default sequencer colors.
* Legalize sequencer block positions when timing has been changed.
* Paint bars and beats in the sequencer.
* Fix rare hang when loading song or protracker module.
* Don't show assertion reporter if the user doesn't have physical
  jack output ports.
* Always select the block when right clicking on a block in the
  sequencer.
* Options to replace block under mouse with current/existing/new
  block, in sequencer popup menu.
* Add "configure block" option to sequencer block popup menu.
* Option to configure block colors. Block colors are also saved
  to disk.
* Hide progress window when showing message so that it doesn't
  cover the message window.
* Regularly make sure progress window is on top when open.
* Various preferences gui adjustments.
* Windows: Fix keyboard after Radium was brought to foreground
  again after being minimized by clicking the taskbar icon.
* Include Linux Intel 10.3.3 driver in list of GFX drivers to
  show warning about.



Changes 4.2.3 -> 4.2.4:
* Add options to the sequencer popup menu for deleting and inserting
  blocks.
* Temporary fix to avoid tiny inaccuracies in the BPM value sent
  to plugins. Should fix some plugins from re-syncing.
* Don't reset transport location when switching block while playing.
  (bug introduced in 4.2.17)
* Fix quantitization on imported automation.
* Tell plugins that we are in non-realtime mode when rendering
  sound files.
* Add options to the sequencer popup menu for creating and
  deleting sequencer tracks.
* Don't allow trying to set BPM or LPB to 0.
* Avoid hanging note if receiving note on and note off at the
  same time from MIDI.
* Fix note stop / velocity change / pitch change for notes that
  are scheduled to start in the future
* Fix play note that has start time > 0 when playing notes
  triggered by MIDI or computer input.
* Don't multiply tempo with the block tempo multiplier of
  block #0 when pausing.
* Unique block colors in the sequencer.
* Various sequencer navigator GFX tweaks.
* Option to lock juce when swapping opengl. Might prevent some
  plugins from crashing when opening native GUI.
* Minor pitch line GFX tweak.
* Tweak sequencer "piano roll" painting.
* Ensure scheduler is really cleared before starting to play.
  Should prevent the assertion reporter from popping up in
  some situations.
* Ask VST3 and AU plugins for audio tail length instead of
  using default value.



Changes 4.2.2 -> 4.2.3:
* Switch editor block when clicking a block in the sequencer
* Draw blue border around current block in the sequencer
* Pd: fix a bug that happened when loading long lines. The bug could
  for instance cause mininum and maximum slider values to be lost.
* Fix the functions for selecting next and previous playlist position.
  (ra.selectNextPlaylistBlock and ra.selectPrevPlaylistBlock)
* Fix play song from current position
* Fix a scheduling bug that sometimes caused events to be scheduled
  at the wrong time.



Changes 4.2.1 -> 4.2.2:
* Make mixer object peaks less invisible for instruments with more
  than 16 channels
* Print jack samplerate in the about window
* Fix automation from other instruments in a track
  (bug introduced in 4.1.7)
* Fix GUI lockup which could happen if more than one special type
  of GUI element asked for keyboard input simultaneously and/or
  more than one input requester window was visible.
* Upgrade to Juce 4.2.4
* Some emergency scheduler fixes. Some things still not working.
* Always draw the tiny pitch lines. Didn't always see if the notes
  continued playing into the next block before
* Fix unnecessary drawing when velocity has height 0. Also avoids
  a divide by zero assertion in debug mode.
* Fix possible freeze in automation scheduler
* Fix a couple of memory corruptions when using the MIDI instrument.
* Started work on a vertical timeline sequencer. More than one sequencer
  track is supported, but only one is visible for now.
* Add 64 bit integer type to the API
* Fix semi-rare scheduler crash(es) when doing pitch and velocity
  operations.
* Fix a division by zero occurence in the Editor renderer.



Changes 4.2.0 -> 4.2.1:
* Update block play positions in the playlist after changing
  a block length. (Bug introduced in 4.1.7)


Changes 4.1.9 -> 4.2.0:
* Use less time deleting plugins that have thousands of parameters
* Remove a couple of situations where the assertion reporter
  popped up unnecessarily.
* Fix loading songs that contain AU and VST3 plugins.
* Disable changing presets for VST3 plugins, at least for now
  since it's not working.



Changes 4.1.8 -> 4.1.9:
* Play block when selecting a block in the block selector.
  It didn't work before when playing song.
* Warn about old Intel Linux GFX driver during startup.
* Reorganize the instrument header buttons.
* Don't load a VST3 plugin when you meant to load the VST plugin
  with the same name, plus 5 other similar situations.
  I.e. set the type name of a VST3 plugins to "VST3" (not "VST")
  and the type name of audio unit plugins to "AudioUnit" (not "VST"). 
* Various minor VST/VST3/AU fixes. 



Changes 4.1.7 -> 4.1.8:
* Fix various player bugs introduced in 4.1.7.
* Support VST3 plugins under Windows and OSX, and AudioUnit pluins
  under OSX.



Changes 4.1.6 -> 4.1.7:
* Reintroduce pitch lines for non-gliding notes, but don't draw pitch
  lines under note names.
* Make the pitch lines twice as thick.
* Options to enable/disable whether parameters should change when
  clicking "Random". (Right click slider or checkbox to select.)
* Give message if trying to cut or copy sound object when no sound
  object is selected. (Instead of showing the assertion reporter.)
* Workaround for possibly wrong BPM values sent to VST plugins
  when switching block while playing, and block multiplier is not 1.0.
* Fix very rare player freeze when changing block tempo.
  (plus fix unreliable timing).
* Only use the scheduler from year 2012, and remove all remaining
  use of the scheduler from year 2000.
* New and very flexible internal playlist structure.
* Don't restart player for every automation in the whole song
  when deleting an instrument. Just stop it once if necessary.
  (Fixes xrun-like sound when deleting instrument)
* Sampler: make "note adjust" floating number.
* Show the "Reset" option when trying to reset the current
  a/b setting setting. Display it in disabled mode though.
  (It was a bit confusing when nothing happened before.)



Changes 4.1.5 -> 4.1.6:
* Don't fill up undo log when adding undo for all effects of an instrument.
* Don't delete old song when importing MIDI, just put the midi data
  into a new appended block.
* Add "reset" option to the a/b testing buttons when right clicking one.
* Mixer a/b testing
* Fix bug that sometimes caused player not to restart after undoing or redoing.
* Update s7 scheme interpreter to latest version.
* Keyboard shortcuts and menu entries for copy/paste/cut/delete mixer objects
* Fix solo for instruments that have input event connections.
* Add "Turn off solo for all instruments" entry to the Solo/Mute menu
* API: Make the setInstrumentEffect function work on any instrument,
  not just the sample player.
* Fix importing midi (and calling the "setNumLines" api function) while
  playing.
* Mixer: Remove the "Zoom in" and "Zoom out" buttons.
* Mixer: "Reset Zoom" -> "<snake-arrow>Zoom".
* Mixer: "Show CPU usage" -> "CPU"
* import mod: Fix looping when looping from last line of pattern



Changes 4.1.4 -> 4.1.5:
* MIDI instrument: Fix bug that caused midi channel 2 to be send out
  at channel 3, channel 3 to be sent out at channel 4, and so forth.
* Option to assign MIDI channel to track. Can be convenient for some
  VST instruments. Ignored by the MIDI instrument.
* Display MIDI channel 1-16 instead of 0-15 in the MIDI messages instrument.
  (Radium has always used 1->16 for MIDI channel.)
* Paint solid bars for the peak meters in the mixer, not just single lines.
* Let the MIDI messages plugin receive notes from the editor, and add
  channel value to the notes.
* Fix sliders in the FaustDev instrument when pressing "half" or "full".
* Still show automation values in the sliders after selecting "half"/"full".
* Don't open the window informing about new versions modally since this
  can block starting up the program if another window opens on top of it.
* Fix peak colors when db > 0 (i.e. show yellow and red too, not just green).



Changes 4.1.3 -> 4.1.4:
* Fix various crashes happening after loading a song
  or a preset that was saved with Radium 4.1.3.
* Don't crash during startup if a popup window is
  shown right after splash screen is hidden. (Bug
  introduced in 4.1.3)
* Turn on the "Briefly pause rendering when opening windows"
  option if using an AMD or Intel card on Linux
  (Can be turned off manually).
* Make it possible to configure color for the left part
  of the track separators. (The left part was hardcoded
  to black color before.)
* Use correct rgb color mixing algorithm.
  (i.e. "sqrt(m*c1^2 + (1-m)*c2^2)")
* Put the "Show controls" check box and sample browser
  back to the old positions in the instrument widget.



Changes 4.1.2 -> 4.1.3:
* Hide splashscreen if showing a message during startup.
* Always autosuspend buses, pipes, patchbay instruments, and the
  sampler instrument.
* Buttons for doing A/B testing (A/B/C/D/E/F/G/H testing).
* Don't autosuspend current instrument when not playing.
  (Annoying to look at flickering mixer objects.)
* Add a close button to the MIDI learn configuration window.
* Rearrange plugin parameters when changing size between
  normal/half/full. (Show less tabs in half or full mode).
* Fix display of CPU usage for the current instrument when
  showing CPU usage in the mixer.
* Don't write "Auto-suspended" immediately in the top of the
  instrument widget when instrument is auto-suspended.
  Use the normal cpu usage update interval. (Less flickering)
* Never shrink the note duplicator widget. Always let
  it have the same size.
* Fix saving a song which had previously been saved with
  embedded samples.
* Show restart instructions when jack is not running properly.
* Option not to stop playing when saving song.
* Do autobackups even while playing. (Can be turned off in
  the preferences window.)
* Never grey out editor when editing colors, even if the
  editor doesn't have keyboard focus.
* Fix undo/redo for system effect parameters.
* Thicker track borders.
* Lighter default track border color.
* Start/continue/stop playing when receiving MIDI
  start/continue/stop messages.
* Fix some always-on-top-of-main-window issues.



Changes 4.1.1. -> 4.1.2:
* Rename auto-bypass to auto-suspend.
* Optionally show CPU usage per instrument in the mixer.
* Fix MIDI input-related crash when deleting instrument. Bug introduced
  in 4.1.1
* Let Notes added by MIDI input be polyphonic when shift is pressed.
* Fix bug causing both note on and note off be registered as note on
  when a note was added from MIDI input.
* Add inputs/outputs/latency/tail/time of last last activity to the
  instrument info box.
* Grey out auto-suspending sound objects in the mixer, in realtime.
* Various auto-suspend tweaks and bug fixes
* By default, disable auto-suspend for zita reverb in new songs.
* Instruments can optionally override default auto-suspend behavior.
* Autoposition instruments in the mixer (again) when importing MOD.
* Fix general buggy behavior when closing text line requesters.
* Allow cancelling adding a new MIDI port.
* Many bug fixes and tweaks for auto-suspend.
* Show requester windows at mouse position.
* Let Escape key exit editing number boxes



Changes 4.1.0 -> 4.1.1:
* Option to auto-bypass instruments. The feature turns off processsing for
  an instrument when it has been inactive for a specified amount of time,
  i.e. when it has not received or produced any audio or events.
  This can save lots of CPU. Note that this bypass is not the same as
  the mixer-bypass. The mixer-bypass only turns down the volume,
  but it doesn't turn off processing.
* Fix bug causing assertion reporter to pop up when changing tempo etc.
  (bug introduced in 4.1.0)
* Run plugins also when dry/wet value is 0% or bypassing. If not,
  delaying plugins might cause old audio to suddenly kick in when
  unbypassing. Other artifacts may have occured too because of this.
* Upgraded s7 scheme interpreter to latest version.
* Fix startup crash if startup is interrupted.



Changes 4.0.9 -> 4.1.0:
* Add bypass button to native VST GUI windows
* Windows: Fix always-on-top for VST GUIs (i.e. avoid
  sub windows to appear behind the main VST GUI window).
* Add option to the preferences to disable always-on-top
  for VST GUIs.
* Fix latency compensation when dry/wet value is less than
  100%, or we are bypassing.
* Timeskew: Optionally report latency for positive skew values.
  (Practical when testing latency compensation)
* VST timing info: Ensure bar start value is correct when
  starting to play.
* Add plugin latency compensation to editor events (e.g. note
  on / note off, automation, pitch, etc.) when a plugin
  with latency is input-connected.
* Add latency compensation to VST timing data, if needed.
* Fix semi-rare startup crash introduced in 4.0.8.



Changes 4.0.8 -> 4.0.9:
* Use system font size to determine the height of the "Grab keyboard" check box
* Some ubsan fixes
* Don't show those tiny pitch lines if a track plays the same pitch for all notes
* Detect if instrument receives, generates, or sends out very powerful signals,
  and show a warning if they do.



Changes 4.0.7 -> 4.0.8:
* Add "Grab keyboard" checkbox to the VST GUI windows.
* Windows: Fix keyboard focus in VST plugins.
* Rename "Paste Preset(s)" to "Paste sound object(s)".



Changes 4.0.6 -> 4.0.7:
* Show load/paste preset and VST plugins first in instrument popup menu.
* Don't allow copying a permanent sound object to the clipboard.
  (i.e. a bus or the main pipe.)
* Fix autoconnect and auto position when creating new instrument
  from track header.



Changes 4.0.5 -> 4.0.6:
* Show note about autobackup in the preferences window.
  Autopackup is not performed while playing.
* Fix bug when pressing backspace at line 0 and the end position
  of a note was between line 0 and line 1.
* Disable minimize and maximze buttons on the GUI of native VST plugins.
  This fixes strange situation when putting VST plugin in full screen on OSX.
* Only render soundfile if there is a "System Out" instrument in the mixer.
* Cut/copy/paste sound objects
* Load/save multiple presets
* Fix very small timing error when block multiplier does not have
  the value 1.0. This means that older songs with a block
  multiplier != 1.0 will not play correctly, although it is
  likely not noticable.
* Don't show assertion reporter when recording failed.
* Fix selecting "Reset" when right clicking on a slider.
* sample recording: Set middle note in smpl chunk instead
  of setting an uncommon sample rate.
* Get middle note from the "instr" chunk, if it exists,
  and there was no "sampl" chunk. Untested though, since I don't
  have a sound file with "an nstr" chunk.
* Get middle note from the "sampl" chunk in wav files, if present.
* Start audio recording sample accurately.
* Update peaks in realtime when recording audio.



Changes 4.0.4 -> 4.0.5:
* Fix modifier keys on OSX.
* Don't crash if deleting the instrument while recording audio.



Changes 4.0.3 -> 4.0.4:
* Revert most of the keyboard changes in 4.0.3 since it caused various problems.
  However, although detecting autorepeat on linux doesn't quite work now,
  on OSX and Windows the functionality should be the same as in 4.0.3, apart
  from the bugs.
* Option to record audio into sampler instrument. (Hard drive, multitrack recording)
* Some attempts to track down and prevent one autopeported crash when deleting instrument.



Changes 4.0.2 -> 4.0.3:
* Fix player pausing when using play cursor (noticable for instance
  when changing tempo while playing)
* Option to render range to soundfile
* Only show .rad files in file requester when saving song
* Make alt+w/ctrl+w widen automation area(s) as well,
  not just the note area.
* Attempts to fix reported startup crash using debian + OpenGL 2.0.
* play range: Ensure nothing is played below the range. (It could
  sometimes happen before). There is still a little delay right
  before starting to play the range again (when looping),
  but this delay has been reduced significantly.
* Fix program freeze that could happen if trying to play a very
  small range, block or song. (range/block/song length must probably
  be less than 5 milliseconds)
* Very simple fx quantization. (Keep last value only)
* Add "Add automation to current track" slider option
* VST: Automatically switch tab when changing parameter in external GUI
* Only disable keyboard autorepeat when playing samples.
* velocity text: Dont show last velocity value if the previous node was non-glide.
  (to avoid unnecessary "xxx" values)
* Windows: Remove "AltGr -> play block" from the menues since it often doesn't work.
* The FaustDev instrument has been removed from the Linux binaries for now.
  Hopefully this makes the Linux binaries run on Ubuntu 16.
* Workarounds to avoid crashes in the TAP reflector plugin, and possibly
  other TAP plugins.
* Actually reduce crackling when playing an instrument for the first time
  if using very low jack buffer size, or the CPU is very busy.
  (It was only applied in the debug builds in 4.0.2.)
* Include fftw3 libraries in the Windows and OSX releases.
  Many additional LADSPA plugins are loading now. Pitch shifters, etc.



Changes 4.0.1 -> 4.0.2:
* Slider text: show value set by the user, not the current
  value. (The current value can be also be set automation).
* Reduced instrument memory usage significantly.
* Reduce crackling when playing an instrument for the first time
  if using very low jack buffer size, or the CPU is very busy.
* Fix quick-selecting preset.



Changes 4.0.0 -> 4.0.1:
* Ignore keyboard when the mixer has focus
* Ignore keyboard when the blocklist or playlist has focus
* Support drag-dropping audio files
* Support drag-droping preset files
* When selecting "Load preset" in the mixer, or "Load" in the instrument widget,
  a popup menu is show with the existing presets in the last used preset directory,
  plus an option to load a preset from a different directory.
* MIDI learn can also lear from input event connections.
* MIDI Messages instrument: Fix CC values for the general purpose controllers.
  The instrument sent out 16/17/18/19 instead of 80/81/82/83.
* Fix MIDI port name display in the MIDI learn configuration window.
* Grey out editor when editor doesn't have keyboard focus.
* Desparate attempt to find a workaround for rare OSX startup crash.
  (Please report if OSX still sometimes crashes on startup.)
* Fix crash during startup on OSX when jack is not running.
* Don't show assertion window when trying to load non-working preset file.
* OSX: Don't wait for diagnotic report in the crashreporter when we show assertion
  instead of crash. Before this fix, the crashreporter window popped up at least
  20 seconds after the assertion happened, and therefore a provided user
  description about what happened could be quite useless.
* Fix double scroll wheel events, and possibly other types
  of doubly reported mouse events as well. (Qt5 fix)
* Experimental option to prepare opengl data in separate thread. This helps making
  rendering smooth when there's lots of graphical data. Turned off by default.
* Fix mouse drag not always working when dragging too fast
  or gfx is slow because of much graphical data. (Qt5 fix)
* Increase rendering performance for blocks with many lines.
  Changing the LZ value shouldn't change performance that much anymore.



Changes 3.9.9 -> 4.0.0:
* Automation record: Don't show assertion warning when trying (and failing)
  to add a new fx automation point at the same time position as an already
  existing fx automation point.
* Thicker non-line-aligned beat lines. (0.6 pixels -> 2.3 pixels)
* Fix memory corruption when rendering block with non-line-aligned
  beat lines.
* Option to render multiple sound files, one for each instrument.
* Fix memory corruption when using VST plugins. (bug introduced in 3.9.9)
* Fix rare startup crash. (bug introduced in 3.9.9)
* Fix crash when removing the system out instrument or loading
  a song where the system out instrument has been removed.
  (bug introduced in 3.9.9)
* Reorganize project menu a little bit.
* Fix note duplicator horizontal gui stretch.
* Fix play cursor following. It didn't always follow.
* Keep sample read position when switching from ping-pong
  to non-ping-pong while playing.
* Fix a MIDI record position inaccuracy which could happen
  when switching to a block with a different length than the
  previous one.



Changes 3.9.8 -> 3.9.9:
* Don't let shift + mouse scroll wheel move editor cursor left/right.
* Cut/copy/paste individual fx-es in tracks.
* Record automation. (right-click a slider)
* Changed default play cursor color to black, and increased width to 4 pixels.
* Ensure the bottom bar volume slider is always updated.
* Don't show assertion window when loading older song with fxs->effectnum != fxs->fx->effect_num
* Fix track cut
* Fix copying/pasting/cutting tempo tracks
* More accurate play range looping.
* More time set off for for graphical updates.
* Should be noticable if using VST plugins on Windows or OSX.
* Workaround for OSX crash when deleting some VST plugins with open native GUI.
* Use non-native color selector on OSX (i.e. no separate window).
* MIDI learn. (right-click a slider or right-click a check box)
* Fix MIDI instrument widget stretch
* No 2-3 seconds freeze on Windows after starting up.



Changes 3.9.7 -> 3.9.8:
* Turn off custom put-dialog-in-front system. Using the Qt::WindowStaysOnTopHint flag instead.
  (Less weird behavior when raising windows in front of others.)
* Fix "Make track monophonic". It didn't handle velocities and pitch changes,
  and it didn't create undo data at the correct time.
* Fix race condition when recording MIDI (fix rare crash).
* OSX: Fix VST plugin keyboard focus for qt5.
* Don't estimate monitor refresh rate when using qt5. The estimation is technically
  necessary since we need to know the refresh rate according to the sound card
  clock, and not the gfx card clock. But in practice it makes no difference since
  we interpolate the screen position anyway to avoid jumps. In qt5 there is a
  single function call to get the refresh rate without having to measure
  or dive into the OS APIs.
* Faust: Allocate hash tables with malloc to avoid large .bss sections
  (This causes shorter garbage collector pause times.)
* BDW-GC: Don't include data segments for dynamically loaded libraries.
  (This causes shorter garbage collector pause times.)
* Use Qt::FramelessWindowHint instead of Qt::Popup for the progress window,
  to avoid locking up the X server on Linux.
* Removed some unnecessary paint calls



Changes 3.9.6 -> 3.9.7:
* Fixed mod/xm import on OSX.
* OSX: dont show dock icons for the helper programs
* Clean up gfx update handling a bit. Should improve graphical performance.
* Remove some pre-opengl gfx buffers that were not used. Using less memory now,
  and resizing might be noticable faster.
* macosx: Enable full screen. Doesn't crash now, probably because of using Qt5 instead of Qt4.
* Progress dialog when opening songs.
* Option to save song with audio samples embedded. Works for the Sampler and
  Fluidsynth instruments. Could be useful when sending songs to other people
  or transfer songs between computers.
* Add Reverse and Ping-Pong loop to the sampler instrument
* Fix graphics for show/hide bpm track and tempo multiplier track
* Double the number of effect columns before using tabs.
* Tweak Patchbay gui a bit.
* Adjusted tapiir gui.
* Removed the custom Ctrl+C handler. Ctrl+C seems to work properly now without it.
* OpenGL: Call glMakeCurrent / glDoneCurrent before and after rendering each frame.
  Before we only called glMakeCurrent during program startup.
  Don't know if it makes a difference.
* disk: Give error message if the last step when saving
  a file (i.e. copying new file over the old file) failed.
* Fix bug that could cause non-glide automation not to be played.
* Force additional windows, such as the preferences window,
  to always display in front of the main window.
* Upgrade to Qt5. It seems like the seemingly
  random OpenGL related crashes are gone now.
* Some blocklist/playlist gfx tweaks
* Don't ask for effect display value string when
  the effect is an on/off button (crash fix)
* Fix pasting effects from other instruments
* Tweak when to paint stipled automation node lines



Changes 3.9.5 -> 3.9.6:
* Update bus slider strings immediately when changing a bus instrument name
* Fix freeze that could happen when pasting tracks and other situations
* Fix crash when pasting block using a sampler instrument pointing
  to a directory with lots of samples.
* Timeskew plugin. Like a delay, except that you can set negative
  values as well.
* Plugin delay compensation.
* Optimize rendering performance. Should especially be noticable
  on Windows 32 computers with slow disk.
* Apply faust scroll wheel behavior to the mixer and editor as well,
  and document this behavior in the help menu.
* Don't record CPU usage data for plugins that are not visible.
* Draw missing horizontal lines to connect nodes where glide is set to OFF.
  This is not only visually better, but also necessary in order
  to show the last values without enabling text.
* Update mute/solo/bypass buttons when automated
* Upgrade BDW garbage collector to 7.4.4
* More detailed information when getting "unknown effect number" error.
* Add missing sustain pedal effect name handling in
  the Fluidsynth instrument.
* Fix memory leak in FaustDev undo.
* Fix splitting block while playing
* Check errors when reading file from disk
* Gray out selected objects in the mixer again.



Changes 3.9.4 -> 3.9.5:
* Fix Linux binary
* Draw a rounded rectangle around the current sound object in
  the mixer.
* Various mixer graphics improvements.
* Various thread sanitizer fixes
* Finally fixed an old pesky race condition bug.
* Updated package list for debian/ubuntu and fedora.
* Remove xmessage, pygtk and libglade from bin/packages.
* Mixer: Only open GUI if double clicking on the instrument name.
* Mixer: double clicking is normally handled as two single clicks.
* Add solo buttons to the sound objects in the mixer and the
  instrument window.
* Change the Faust "Show C++" and "Options" buttons into checkboxes.
* Make sure all dialogs remember geometry when they are reopened.
* Fix loading LADSPA plugins.
* Add options for LLVM optimization level and Faust GUI style
  in the preferences dialog.
* Automatically increase slider font size when the instrument
  window is full size
* Replaced the "maximum" checkbox with "half" and "full" checkboxes.
* Don't crash if we can't read a song file.



Changes 3.9.3 -> 3.9.4:
* Show min/avg/max CPU usage for each individual instrument.
* Fix rare divide by zero bug when displaying CPU usage.
* 2Bar Demo Track by Tobias Lutzenkirchen included in the Project menu.
* FaustDev instrument. Develop faust instruments inside Radium.
* Instrument maximimize button.
* Faust instruments GUI button. Only the blue style available for now.
* Add separator between plugin and system effects in the effect popup menu.
* Start counting tab pages from 0 (not 1) in the plugin effect widgets.
* Don't play if pressing shift or altgr when the cursor is placed in a text field.
* Load song: Inform user when the effect names of a plugin has changed and
  will be ignored.
* LADSPA/Linux: Search for plugins in LADSPA_PATH (and bin/ladspa) before
  searching in the default locations.
* Don't create undo data when loading song, and when exiting.
* Ensure faust effect names are unique. Important when saving and
  loading songs since effects values are stored by name, not by index.
* Make sure editor is updated when the instrument widget automatically
  adjusts its height.


Changes 3.9.2 -> 3.9.3:
* Fix crash when changing the pitch of a note
* Don't show assertion window when a midi device
  name read from config file could not be found.


Changes 3.9.1 -> 3.9.2:
* Added some workaround code in an attempt to not crash if hitting an old bug (which I thought was gone).
* Fix loading presets which were saved before 3.9.1
* text: 0x80 is always 50% (instead of around 50.2%), and 0xff is now interpreted as 0x100.
  Setting an actual 0xff value is not possible.
* Larger font for help texts


Changes 3.9.0 -> 3.9.1:
* Added "chance text", similar to velocity text, fx text, etc.
  Specify the chance of whether to play a note or a pitch.
* Don't crash if trying to set centtext value on an end note
* Fix the various show gui automations.
* Fix old songs that was saved with "Gain (dB)" as volume effect name
  instead of "System Volume".
* Add another voice to the note duplicator
* Added three extra buses
* Add highpass filter to equalizer
* Add "chance" column to note duplicator. This can also be automated.
* Add 16x16 and 24x24 patchbays
* Change editor redraw mode on Windows and OSX to be similar to Linux.
  Might make a difference.
* Don't show warning window if trying to switch solo mode
  on non-existing track
* Fix keybindings in the menu for switching track on/off and track solo.
* Prefix LADSPA and VST effect names with effect number to ensure
  effect names are always unique.
* Some midi recording fixes. Might fix rare crashes.


Changes 3.8.9 -> 3.9.0:
* Make sure cursor is placed correctly when switching blocks
* Dont show warning window when a vst plugin sends a MIDI sysex message
* Fix block switch crash introduced in 3.8.9
* Accept drag-and-dropped radium songs into the editor


Changes 3.8.8 -> 3.8.9: (removed, unstable)
* Check for for note name(s) under cursor first when finding note(s) to increase/decrease velocity of
  when pressing AltGr+left/right
* pressing AltGtr+down/up jumps to next waveform start/end position when cursor is in the automation area.
* api: cursorNextWaveform/cursorPrevWaveform
* FX range: Fix copying automation for instruments with empty effect names
* Fix adding new fx from another instrument when the track already has an fx with the same number
* MIDI: Ask system to open default device when creating new midi instrument, instead of using the first one available
* windows/midi: Use default device (instead of the first device) for output if the requested device could not be found
* 32x32 patchbay instrument
* Clean up MIDI recording code. More stable and accurately, and recording over several blocks should work better.
* Fix potential undefined behavior when cutting track
* Use JUCE instead of RtMidi for sending and receiving MIDI
* More than one MIDI input port simultaneously.
* Show most used plugins in the bottom of the pluginmenu.
  (All previously used plugins are shown in the "next" sub menues.)
* Remove "keep left input", etc. instruments from the plugin menu
  (they take up space and the patchbay is better anyway)
* Some assertions to try to hunt down ladspa initialization crash on osx
* Ensure current line is legal when changing the LZ value
* Send around midi channels in the note event system
* patchbay plugin: Fix situation that theoretically could silence all
  channels when loading song or preset



Changes 3.8.7 -> 3.8.8:
* api: currentLine / setCurrentLine
* Make scroll wheel behave as pressing up / down arrow key
  instead of scrolling up / down
* Paint current connections in more distinct colors
* Fix 1L1 key on apple keyboards. On ISO keyboards the 1L1 key
  has moved down to the ZL1 key. Dont know how to detect whether
  we are using an apple or iso keyboard, but mac users probably
  usually use apple keyboards.
* OSX: Enable and fix crashreporter
* Wait until opengl widget has updated before returning
  from gl_create_window
* mouse: Fix editing lines below LZ * number of lines in block.
* Another attempt to fix window reconfiguration crash on osx.
* OSX: Fix keyboard focus in native VST GUIs



Changes 3.8.6 -> 3.8.7:
* Clean up instruments when loading new song. Can significantly
  reduce memory usage. (Tito Latini)
* Don't disable garbage collector when loading song. Can significantly
  reduce memory usage.
* Improve mouse performance significantly. This may reduce overall
  gfx stutter when doing operations with the mouse, or just moving the pointer,
  especially on Windows. More work is possible here though.
* Fix fx popup menu when there are many instrument with many effects.
* Show a message in the editor when the garbage collector is turned off.
* Actually turn off the garbage collector when unselecting
  "Enable Garbage Collector" in the preferences.
* Try to fix window reconfiguration crash on OSX.
* Update s7 scheme interpreter
* Fix VECTOR_clean and VECTOR_move. (Tito Latini)



Changes 3.8.5 -> 3.8.6:
* Allow fx from other patches than the track patch
* Fix windows startup.
* Fix playing note when editing in the piano roll for a MIDI instrument,
  and similarly, fix playing note when editing in the piano roll for
  an audio instruments that uses pitch instead of note id to identify
  which sound to turn off (e.g. fluid synth and VST instruments).


Changes 3.8.4 -> 3.8.5:
* Fix crash during midi instrument patchname undo. (Tito Latini)


Changes 3.8.3 -> 3.8.4:
* Play note when creating / moving note in pianoroll
* api: playNote/stopNote, and replaced playRange
  with playRangeFromStart/playRangeFromCurrent
* Make sure note stop event is sent out after note start event
  when the note is started and stopped at the same time
* Always scroll down after editing if playing and using the play cursor
* Restart player after doing undo/redo, if we were playing.
* Ctrl key slows down slider movement whn moving the vertical compressor sliders
* Fix fx when cloning instrument
* Ctrl key slows down slider movement when moving volume sliders in the mixer
* Show error message window if keybindings.conf has syntax error
* Always read bin/keybindings.conf, then read ~/.radium/keybindings.conf if it exists
* Add more undo information to crash log
* Fix crashreporter on linux
* Fix some range cut/copy/paste things


Changes 3.8.2 -> 3.8.3:
* Show message in editor when temporarily stopping player
* In general, start player again if player had to be stopped before doing an operation.
* Lowered undo block interval from 3 to 1/2 second. (computers have more memory now)
* Revitalize PC_Pause and PC_StopPause
* Disable faster render test code (which really wasn't faster, at least not noticably)
* Render: Don"t crash if current track number doesn"t exist
* Make sure "LZ" is updated in the window when the value changes
* Zoom in/out exponentially
* api: getLineZoomBlock, getBlockLength, getSongLength


Changes 3.8.1 -> 3.8.2:
* Fix reset bottom bar volume slider
* Turn on GL pause by default for Linux users not using an nvidia card
* mouse: Use track under mouse when turning on/off cent text / velocity text /
  fx text, not the track the cursor is placed on.
* Upgraded to latest version of s7
* api: msleep
* Add Post-recording tools GUI to the quantization menu (in addition to the MIDI menu)
* Fix inverted MIDI volume slider
* Delete all MIDI instrument windows when creating new song. Also fixes
  crashes that can happen when loading new song.
* Fix peaks in bottom bar volume slider, and don't crash if creating and deleting
  "System output" sound objects in a special order.
* Don't do autobackup if the editor doesn't have keyboard focus
* Obtain keyboard focus when showing popup menu
* Can select MIDI instruments from track header again


Changes 3.8.0 -> 3.8.1:
* Track paste: Fix undo/redo if it was necessary to create instrument,
  and autoconnect to main bus if creating new instrument.
* Don't try to replace mixer object if pressing shift while releasing right
  mouse button.
* Refactoring automation/peak rendering in sliders. The program might
  be noticable faster and more stable now.
* Update garbage collector help text in the preferences window.
* Make automation/peak rendering in sliders visible also when value is at maximum.
* Show "Please wait, loading samples directory (<num> / <total>)" when
  it takes more than 1/2 second to load a samples directory
  in the sample browser.
* Paint automation and peak in sliders with subpixel accuracy.
* Make sure the bottom bar volume peaks points always show peaks of
  a "System out" object, if one exist.
* Popup menu: Fix selecting entries with same name. (Fixes the
  bug that caused instruments to be cloned when trying to select
  instrument for a track.)
* Bookmarks for the sample instrument sample browser.
* mouse: "Apply tempo" option to popup menu when right clicking
  the block tempo multiplier slider
* api: getSignature/getLPB/getBPM/getTemponodePlace
* Option to turn off GL pause (plus perform a GL pause when opening
  a popup menu, which I had forgotten). Also turn off GL pause
  by default now, since it's probably (i.e. hopefully) only necessary
  if using older AMD or Intel drivers on Linux.
* Save note duplicator data + forward events into preset files,
  plus clone these data when cloning instruments
* Refactor audio instrument creation / deletion / etc. Major change.
  Radium should be more stable when creating and deleting instruments.
* windows: Windows file requester filter workaround.


Changes 3.7.9 -> 3.8.0:
* Don't crash if deleting jack or pd plugin (bug introduced in 3.7.9)
* Add filename/linenumber/etc. to undo entries, and add undo entries to
  crash log.
* VST: Print unit in Radium sliders
* VST: Don't crash when parameter string provided by the plugin is garbled.
* OSX: Fix loading VST plugins with mismatched plugin name and library file
  name. (And don't abort during startup.)


Changes 3.7.8 -> 3.7.9:
* macosx: Fix for VST plugins that have other files in Content/MacOS/ than
  the plugin file itself.
* Many band aids for various problems caused by running timers in instrument
  windows after the plugins have been deleted. Peaks and automation indicator
  lines on top of the sliders are not updated after undo or redo now, but it
  will be fixed later.
* Code cleanup
* api: many new functions and fixes for instruments and undo/redo
* Fix computer keyboard release key to stop playing note


Changes 3.7.7 -> 3.7.8:
* Fix fx text editing when cent text and/or velocity text is enabled
* Sampler instrument: Remember loop on/off setting when changing sample
* mouse: Don"t add new note or pitch if it"s placed on last legal position
* Fix "scroll editor to line" function.
* Sampler instrument: Fix loading of "Note adjustment" and "Hold".
* Fix "Set instrument for track" -> undo -> redo.


Changes 3.7.6 -> 3.7.7:
* Update gfx as soon as possible when switching block while playing
  if edit mode is off. (test code, this shouldn't make a difference)
* Color tweaks
* Configurable check button color
* Configurable line slider color
* Configurable button text color
* Configurable track slider color
* Fix setting high note in pianoroll header.
  (bug introduced in 3.7.6)
* Don't allow adding LPB or BPM with value 0.
* Options for trying/using incremental garbage collector
* Don't wait one second during startup
* Don't redraw twice. (bug introduced in 3.7.6)
* Don't crash when changing number of lines for a block
  with custom signatures
* mouse: Try to fix some warnings


Changes 3.7.5 -> 3.7.6:
* Render block more immedately when switching block when playing song
* sampler instrument: Disable portamento test code (was never meant to be enabled).
  Bug introduced in 3.7.3. This can cause some pitch glides to sound
  notably different between 3.7.3 and 3.7.6.
* Option to turn on/off garbage collector under edit->preferences->various.
  This can be useful to find out what's causing the gui to freeze sometimes.
* Handle MIDI input and update graphics,
  also when the editor doesn't have keyboard focus.
* Read all colors from config file during startup,
  to avoid reading config file during playback
* mouse: Must press shift to delete pitch
* pianoroll: Show correct notename for highest visible note (not the note above)
* Use already stored value when adding new fx, not mouse position.
  (Not when adding fx to a MIDI instrument though.)
* api: setVelocity -> setVelocityF, createPitch -> createPitchF,
  createVelocity -> createVelocityF, createVelocity3 -> createVelocity,
  createFx -> createFxF, createFxNode3 -> createFxNodeF, etc.
* mouse: quasi track scroll bar (dragging the track slider now causes
  the cursor to move left/right).
* Fix modifier key handling when cursor is placed on a "text track"
* pd: Fix radium_send_blockreltempo message
* mixer: Improve check button rendering. Needs more work though
* mixer: Improve connection graphics
* mixer: Reduced connection line width from 3 to 1.2 pixels
* mixer: Put connections below sound objects
* Update fx text documentation
* Possible to configure mixer connection colors
* Adjust some colors
* Possible to configure mixer border color
* osx: Fix vst tab in preferences
* osx: Recursively search for vst plugins
* macosx: Enable menu key if using a pc keyboard
* Popup menu in blocklist to insert/append/delete block
* shift+right mouse deletes track when clicked in track header
* shift+right mouse deletes block/playlist when clicked
  in the blocklist/playlist window.
* Make mixer text color configurable
* api: playCursorEnabled/switchPlayCursorOnOff
* AltGr+up/down jumps to prev/next "text" entry,
  depending on cursor position, not just prev/next note
* osx: Support the MENU button (i.e. the "Right Cmd" key).
* Show visually when a note continues playing into the next block
* Popup menu options for whether to continue playing note into next block
* vst: Try to always show native gui on top of all other windows.
* macosx: Fix caps lock modifier key.
* Fix keybindings for selecting/solo/etc. track
  which uses CAPS, plus fix CAPS key on Linux.



Changes 3.7.4 -> 3.7.5:
* windows: Run low level keyboard hook in separate thread.
  Hopefully this will prevent left windows key from suddenly
  showing the windows menu on Windows 7.
* osx: Support the 1L1 key on non-iso keyboards.
* playlist move up/down buttons
* Make slider text color configurable
* Don't change play position when play cursor is enabled
* Scroll down when adding note, and playing, and play cursor is enabled
* If trying to scroll past last line, jump to line 1 instead of stopping
  at last line.
* Fix not smoothly scrolling the last line (bug introduced in 3.7.3)
* Keep "glide" when pasting pitches.
* Keep "glide" when pasting velocities
* Switch glide mode in text tracks by pressing T
* api: numSignatures/numLPBs/numBPMs
* Possible to hide centtext track if notetext track is not visible
* vst: Don't do debug printing in the callbacks
* Fix vst sliders in radium might not always update if the slider
  was updated in the native gui. (The bug is quite unlikely to have
  ever happened though)


Changes 3.7.2 -> 3.7.4:
* osx: Fix modifier keys when clicking mouse
* Hack fixes for positioning leftmost track.
  We dont show half-tracks anymore on the leftmost part of the editor since its both
  confusing for the user and complicated to implement.
* Fix deleting FX node by shift+right clicking
* Handle corner case situation where if we play really extremely
  fast (probably a billion times faster than anyone ever will
  ever have use for), editor stops moving.
* Make velocity text a bit more yellow/brown
* Option to show key code in the editor. Useful when reporting non-working keys.
* Cent text track. Enable by right clicking the track header.
  It is also enabled automatically if there are notes with cents not equal to 0, and other "text" tracks.
* Don't paint pianoroll if it's to the left of the track area.
* Recreate sound object if pasting a track using a deleted sound object
  (This also fixes crash if the track with the deleted sound object contained FX)
* Use floats for transpose in the note duplicator. Step also changed from 1 to 0.25.
* osx: Disable fullscreen (since it makes the program crash)
* player: Possible to change play position while playing
* Copy audio instrument. (select "copy instrument" in the track header left clicking or pressing F12)
* Remove some potential crash bugs by disallowing to replace/load permantent
  sound object (i.e. buses + main pipe)
* Fix instrument assignment for track when selecting new audio -> load preset from track header
* sampler: Set browser to the dir of the current sound file
* Option to clear all muted tracks (under Edit -> Block)
* range paste: Options to cut note at cursor (if any) and pasted notes
  at next note, and option to automatically scroll down after pasting
* AltGr + left/right arrow changes all velocities of a note, not just the first velocity.
* Only show Blowfish song in the Project menu on Linux
* Fix focus issues for the line requester (e.g. when asking yes/no questions)
* Show correct color for current sample file name
* OSX: Workaround for various bugs in QColorDialog on OSX.



Changes 3.7.1 -> 3.7.2:
* Upgrade s7 scheme interpreter
* Render: Use thin stipled lines for those vertical fx lines
  (instead of showing nothing, like now)
* Show mixer help window in the help menu,
* Right mouse button + shift is now the general way to delete things.
* mouse: clean up popup menues a bit
* Fix Dry/Wet and Pan slider display
* Mouse: Add glide option to fx/velocity/pitch and clean up various tings
* popup menues: Close popup menu after clicking on a checkable item
* Only draw pianonote text if it is approximately inside the pianobar
  is the current pianonote
* Show the "Please wait, saving backup" message in the editor,
  not in a popup window
* Make automation colors more distinct
* Show percentages in bottom bar for automation values
  (it's impossible to show the real values without doing
  some tricks we really dont want to do)
* FX text (similar to velocity text). Enable by right clicking in the
  track header and select "FX text".
* Only disable autorepeat if the editor currently has keyboard focus
* Another attempt to fix resize
* Make velocity/fx/mixer help windows non-modal


Changes 3.7.0 -> 3.7.1:
* Update scroll length in bottom bar when pressing Ctrl+1/2/3/4/5
* Hide all pianoroll track headers from previously visible block when switching to a new block
* Set correct x1 value for track slider
* Behave correctly if trying to nest Undo_Open / Undo_Close calls.
  The user still gets a warning though (because there shouldn't be any
  situations where this is needed).


Changes 3.6.9 -> 3.7.0:
* Fixed various issues when recording MIDI
* Show correct line when playing a block with a low multiplier value
* Make sure editor is updated after resizing
* Popup menu when right clicking on track header.
  (copy track / insert track / delete track / etc.)


Changes 3.6.8 -> 3.6.9:
* Write "Rec." again immediately at the top of a track when starting to
  record notes via MIDI.
* Fix output level on the tracker module template song file.
  (It was too high and created distortions)


Changes 3.6.7 -> 3.6.8:
* New and much better tracker module importer.
* Optionally edit velocities by text instead of graphics, like
  in a normal tracker.
* Fix race condition bug when replacing instrument.


Changes 3.6.6 -> 3.6.7:
* Only pause GL thread 200ms (instead of 1 second) when creating new Qt widgets
  Hopefully that is enough to avoid crash in buggy gfx drivers.
* Create a bunch of track headers during program initialization to avoid creating
  one while playing and causing everything to freeze for one second.
* Windows: Disable completely non-native file requesters and file requester filters.
  None of those works properly (or at all) with Qt on windows.
* Render: Draw range better
* Copy/cut/paste automation range
* Render: Disabled red "Rec" update, cause it caused block to be rendered
  twice when switching block during playback.
* Various OpenGL rendering fixes. Stuttering and/or negative jumps should not
  happen when changing block or re-render the block in other ways.
* Fix possible (but in case, probably very rare) crash and/or undefined
  behavior when changing instrument for a track.


Changes 3.6.5 -> 3.6.6:
* Various color tweaks
* Don't mistake shift+space or altgr+space as a "play block"
  command if releasing the shift or altgr key before the space key
* Make effect automation lines have the same color every time
  (i.e don't select a random automation color).
* Render: Always paint the small pitch indication lines, and always
  draw text on top of everything else.
* Don't show middle part of very long vertical effect automation lines
* Don't erase the stored vblank value when opening the preferences window



Changes 3.6.4 -> 3.6.5:
* Color tweaks and stronger track background colors
* Put back HOME/END keybindings for scrolling to the start and end of a block.
* Fix tempo automation undo
* Don't crash if deleting the rightmost track in a block
* Sample instrument: Don't crash if setting illegal start pos
* Cleaned up resampler code. Don't crash if playing too fast.
* Fix gfx render freeze if tempo is extremely high



Changes 3.6.3 -> 3.6.4:
*    Lighter default peak colors
*    Remove the "0x00" prefix for all effect names in the multiband compressor
*    Draw thicker automation lines
*    Turn off some warnings in RELEASE mode
*    Fix assert window showing up when pressing delete two times in the velocity area of a note
*    Try to narrow down a cursor-related crash-bug caused by setting number of tracks
*    Don't count playing time when deciding to take backup
*    Show a dialog window when taking backup (saving file takes a little bit more time now)
*    Change block when changing playlist position
*    Don't stop playing if changing playlist position
*    Fix play bug which happens after playing a song to the end.
     (had to select "Play Song" twice before)
*    Sampler instrument: Start vibrato phase at lowest pitch. Sounds cool, plus that
     this behavior is compatible with protracker (!).
*    api: Dont crash if providing non-existing blocknum
*    Updated s7 scheme interpreter



Changes 3.6.2 -> 3.6.3:
*    Rolled forward again to 3.6.1 and fixed the 3.6.1. player bugs
*    Using non-native file requester by default on windows. The Qt filerequester doesn't seem so slow anymore.
*    Fix various keyboard focus issues.
*    Several deep bug fixes
*    vst: Dont save and store effect parameters manually. General optimization plus crash fix for the CM 505 plugin.
*    Faster to save VST plugin presets
*    vst: Use both .dll and .DLL files
*    Refuse to start radium if OpenGL version < 2
*    Fix rare player freeze when CPU is very busy.
*    Sleep correct amount of time when waiting for vertical refresh and nothing needs to be redrawn
     (editor might feel less sluggish)
*    Fix editor sometimes turning blank while playing
*    Minor jack shutdown fix


Changes 3.6.1 -> 3.6.2:
* Panic fix: Roll back to 3.6.0.
  3.6.1 contained some deep changes to the player, and those changes doesn't quite work yet.
  
Changes 3.6.0 -> 3.6.1:
* Fixed many more bugs found by running ThreadSanitizer.
* mouse: After moving a piano roll note, let mouse pointer position be the same compared to the position of the note, as before
* Fix mouse pointer type when mouse pointer is inside the tempo multiplier track
* Fix mouse pointer type stuck in horizontal mode after changing block tempo
* mouse: Option in the piano roll to cut note.
* mouse: Always let the selected note get a portamento point, when selecting "add portamento point" in the piano roll.
  (If the track is polyphonic, it was quite random which note would get the point)
* Scroll to the right line after changing block.
* Swapped default color 1 and 2
* default colors: Make range visible in a track without an instrument assigned
* player: Clear scheduler when stopping to play. I.e. no notes or other types of messages
  can play after pressing the space key.


Changes 3.5.9 -> 3.6.0:
* Fixed many bugs found by running ThreadSanitizer.


Changes 3.5.7 -> 3.5.9:
* mouse: Fix moving piano bar note end position for non-portamento notes
* Make writing config file safer (less chance of corrupting the file)
* mouse: Don't flicker mouse pointer
* mouse: Don't make it possible to change track width when pointer is positioned in the track header
* Don't update plugin parameters unnecessary while updating radium sliders.
  This is a general speedup + fixes some occurences of slighly wrong plugin values.
* Fix memory leak when updating instrument widget. This also fixes crash on some VST plugins.
* Fix transpose
* Fix aftertouch sent out of vst plugins
* Fix deadlock in MidiMessages plugin
* vst: Clear midi buffer at the correct time


Changes 3.5.6 -> 3.5.7:
* Fix VST plugins producing MIDI
* Fixed some race issues with multi core and the Pd and 
  MIDI Messages plugin.
* Fix keyboard focus when clicking in the editor
* Mouse: Reset mouse cycle if catching exception. (Avoid the mouse
  pointer getting stuck in the upper left corner)
* Mouse: Not possible to move pianoroll notes outside the pianoroll area
* When replacing an instrument, autocreate new name if the name of the old
  instrument was not edited manually
* Don't add System Tremolo effect to the plugin menu
* Hold player lock when changing the multband compressor
  limiter on/off parameter.
* Update graphics when changing the line zoom (LZ) value, so that
  it doesn't look like the cursor changed to a different line number.
* Don't play muted tracks when scrolling up and down
* Improved multicore scheduling



Changes 3.5.5 -> 3.5.6:
* Don't run memory validation thread in binary releases.
  (might have a notable impact on CPU usage)
* Compile JUCE code with optimization options in windows



Changes 3.5.4 -> 3.5.5:
* Fix import MOD files.
* Don't crash when showing a VST GUI which starts by showing a pop up,
  for instance informing about running a demo version.



Changes 3.5.3 -> 3.5.4:
* Undo changing track width
* Windows: Use native file requester by default. The one in Qt can be extremely slow



Changes 3.5.1 -> 3.5.3:
* Draw current track background in lighter color
* Fix pianonote editing
* Fix some crashes when opening VST gui and other windows



Changes 3.4.5 -> 3.5.1:
* Updated to latest version of JUCE
  (might fix some VST plugins)
* Some MOD import fixes
* Fix comment window keyboard focus
* Don't crash if trying to move a pianonote with velocity nodes below last line
* Workaround for more possible crashes caused by Qt focus.
* Updated s7 to latest version. (Fixes a few random crashes)
* Build: Dont create empty files if faust executable doesn"t exist
  (no need to do "git checkout audio" anymore if forgetting to touch files after checking out)
* Compile with "-Og" in non-release mode, plus running lots of memory validation code.
* Fix keyboard focus in vst path file dialog + possible crash on linux with older gfx drivers
* Compile with -Wextra
* Upgraded to faust 0.9.67
* Must always update editor as well after drawing other things
* Simplify end pitch. I.e. set it explicitly, dont automatically glide to the next note.
  Old songs are converted automatically when loading, but songs that glide to a note in a different
  block must be converted manually. This is not warned about though.
* Try to set default mixer zoom level based on system font size, plus always use font size 12
* Fix mouse state after right clicking a piano note
* Fix selecting and moving more than one sound object at once
* Multicore: Ensure sane number of CPUs.
* Replaced various must_redraw=true with must_redraw_editor=true. I.e. only update editor, not
  everything, if only the editor needs to be redrawn.
* Fix slider painting (the x1 value of the indicator block was painted two pixels too far to the left)
* Only redraw editor when changing sample player effects
* Option to use native file requesters (may be necessary because of slow qt file requester on windows)
* Do not disable garbage collection during playback. Might run out of memory if playing for a while,
  especially if automating things that update waveforms.
* mouse: Don"t limit mouse pointer into the upper left corner if something goes wrong
* Remove some unrelated tooltips
* Render: Option to set the track background colors to the track color (this is now the default)
* api: evalPython (for running python code in scheme)
* OpenGL: safe mode option



Changes 3.4.4 -> 3.4.5:
* Tremolo effect for the sampler instrument
* Update s7 scheme interpreter to latest version


Changes 3.4.3 -> 3.4.4:
* Fixed crash reporter on windows, which was broken in 3.4.3
* Updated s7 scheme interpreter to latest version


Changes 3.4.2 -> 3.4.3:
* Various internal fixes
* Exit radium if included file is not found (don't report it as an
  internal bug when radium is not installed properly)
* Som xm import improvements


Changes 3.4.1 -> 3.4.2:
* Importing fasttracker modules (xm). Quite buggy for now.
* Fix common crash introduced in 3.4.1


Changes 3.4.0 -> 3.4.1:
* Fix internal ratio bug (less warnings, and probably bugs)
* Speed up clearing the mixer. Loading a new song only takes a couple of seconds now.


Changes 3.3.9 -> 3.4.0:
* Fix import large MIDI files in windows
* crashreporter: Ask linux users not to report bugs caused by non-properly compiled versions of Radium
* Don't crash if reporting assert failure before mixer has been initialized
* Sampler instrument: Add vibrato effect
* Updated info texts about various gfx drivers on Linux shown during startup
* Remove common warning about non-existing tracks when switching blocks.
* Import mod files. Pitch changes, vibrato and portamento effects missing.
* Only write "<ch>:" in the track header when the trackheader only spans one track


Changes 3.3.8 -> 3.3.9:
* Workaround for fx rendering crash
* Linux: Don't report that crash was just an assert.
* Pause GL thread when opening a QLineEdit widget. Should fix
  more crashes caused by buggy gfx drivers


Changes 3.3.7 -> 3.3.8:
* Fix glitches in sound when opening a VST GUI while doing automation
* Don't move end position of previous note automatically if pressing ctrl
* Make it possible to move last position of a note below the start of the next note if pressing ctrl key
* Don't limit where to set a pianobar note note start/end position based on prev/next note positions when the moving note has portamento
* Don't crash when trying to move the start of a note before the start position of a previous note on a different subtrack
* qjackctl: Import newest version from upstream
* qjackctl: Fix autocomplete bug for the "Server prefix" text field
* qjackctl: Show a "please wait, probing" window if probing audio hardware takes more than 1/2 second.
  Also made it possible to cancel probing if it takes really long time.
* qjackctl: Only probe hardware once
* qjackctl: Made hardware selector combobox wider


Changes 3.3.6 -> 3.3.7:
* Don't show assert window if trying to load broken wave file
* Undo/Redo: Move cursor back to where the undo event was made
* Fixed keyboard handling for OSX


Most important changes 3.3.5 -> 3.3.6
* Windows: Don't show the qt context menu when configuring block
* Don't start to navigate menues when using left alt as a modifier key
  (bug introduced in 3.3.5)
* Fix QWERTY_F key (bug introduced in 3.3.5)
* Fixed "-S" argument check for jack on windows
* Always swallow EVENT_ALT_R to avoid Qt starting to navigate the menues
* Ignore autorepeat keyboard events, except for arrow keys and page up / page down
* Update editor graphics immediately when pressing the "Edit" button,
  and write "Edit On/Off" in the status bar, not "MIDI Input On/Off"
* Fix open MIDI preferences dialog
* Dont run the bubble example when pressing the 7 key
* Dont crash if trying to load a soundfont preset name containing non-ascii characters
* Clean up keyboard handling a bit, and remove unused setxkbmap build.
* Don't reset undo if loading fails
* Add "Mouse" and "Menues" to help menu
* Fix crash when displaying peaks for soundfonts (and sometimes normal
  samples too) in the sampler instrument


Most important changes 3.3.4 -> 3.3.5
* Mainly use scancode to find key on Windows. Should solve various problems,
  for instance note order on non-qwerty keyboards
* More organized color order
* When right-clicking a pianonote, give option to either delete note, delete
  portamento, or add portamento
* Also reset current color in the color dialog color when resetting color
* Set normal mouse pointer when leaving editor
* Made button color completely configurable
* Diffentiate between error and warning, and make it clear
  that radium has NOT crashed when showing the assertion reporter.
* Set assert reporter window title to "Report suspicious state"
  (not "crashreporter.exe").
* Don't show assert window when trying to create a velocity after note end


Most important changes 3.3.3 -> 3.3.4
* Adjusted minimum OpenGL version to 3.0
* Initialize monotonic timer manually. Fix startup crash seen on 32 bit Windows.
* Play range loop correctly when block tempo is not 1.0
* Optional play cursor. Instead of scrolling the editor while playing,
  a red horizontal line moves down instead, denoting the current play position.
  Enabled when the "PC" button is pressed in the bottom bar.
* Fixed some issues with the piano roll and locally zoomed lines
* Lots of color configuration improvements


Most important changes 3.3.2 -> 3.3.3
* Changed default editor font from Bold to Regular
* Loop when playing range
* New color configuration dialog.
  * Not limited to 16 colors
  * Separated cursor and pianonote colors
  * Separated peaks and button colors
  * Possible to configure slider colors
* Make it possible to see all popup menu entries if the number of them fills up the screen (the screen must be able to show at least 200 entries at once)
* Dont use Qt3Support anymore
* Preview samples in both left and right channel in the sampler instrument file browser, not just the left channel.
* Improved font rendering, especially for white text
* Enable multi core by default, using QThread::idealThreadCount() to find the number of CPUs.
* Also update sliders when changing vst preset
* Don't use saved keyboard octave when loading songs.
* Optimized VST preset widgets updating


Most important changes 3.3.1 -> 3.3.2
* Possible to select VST presets in the instrument widget
* Possible to change name of the current VST preset in the instrument widget
* Don't crash when deleting vst plugin (bug introduced in 3.3.1)
* Don't add undo if we couldn't create fx node or pitch
* Don't assert crash reporter if trying to create an fx node in the
  first legal position, or the last legal position. Only show assert
  reporter if trying to create before first legal position, or
  after last legal position.


Most important changes 3.3.0 -> 3.3.1
* Fix crash during startup on windows 32 bit.
  Bug (re)introduced in 3.3.0 (the NDEBUG option again).
* Fix a copy-and-paste error which caused ppqPositionOfLastBarStart
  to always have the value 0.0. Might make a difference
  on some VST plugins.
* Automatically uncheck the "GUI" button in the instrument
  widget if the native plugin gui was closed by closing
  the window directly.



Most important changes 3.2.9 -> 3.3.0
* Windows: Turn off jack "-S" checking in production again. Still doesn't work.
* Don't inform more than one time about a newer version of radium
* Removed comment in the preferences dialog about MultiCore being
  an experimental feature. It seems stable.
* windows: Use a home made jack process thread to make the unhandled
  exceptions filter work also when crashing in the main audio thread.
* Pause the gl thread for a second when opening a new window or dialog.
  This might prevent some crashes caused by buggy gfx driver
* Turn off modal windows by default for AMD/catalyst and Intel drivers
  on Linux since the pausing seems to fix the crashes




Most important changes 3.2.8 -> 3.2.9
* Windows: Don't start crash reporter all the time when loading and using VST plugins.
  Bug was introduced in V3.2.5
* VST: load/save FXB and FXP files
* Fix note add bug. Dont make it polyphonic unless polyphonic is true. Bug was introduced in V3.2.4.
* Update instrument widget after undo/redo (fix for non-moving peaks after undoing/redoing)
* Try to fix cpu label width in Windows
* Do automatic backup every minute if there are unsaved edits and radium is not playing.
  The backup interval can be changed in the preferences. It can also be turned off.
* Replaced a bunch of calls to RError with calls to GFX_Message
  (RError was used the wrong way, causing uses messages to be reported as program errors)
* Always show message if there is a disk error
* Write to temporary file first if saving to an existing file to avoid destroying an
  existing file if saving fails
* Tried to improve stability after jack has shut down. Still not working well though.
  User should not do anything else than save and exit if jack shuts down.
* Fix plugin names in crashreporter when running multi core



Most important changes 3.2.7 -> 3.2.8
* Remove sound object from mixer before freeing buffers (might fix mysterious crashes)
* Fix audio glitches when changing number of CPUs
* Show the crash/assert window for most warning/error messages
* Fix a LADSPA bug where sometimes the effects were set to default after undoing a deletion.
* api: printMixerTree (mostly for debugging)
* Finding peaks is approx. 2-4 times faster by using code from the JUCE SDK.
  (juce::FloatVectorOperations::findMinAndMax)
* Made the CPU widget fixed size. The bottom bar doesn't move left and right anymore.
* Removed old sound object scheduling system. Everything now goes through
  through the multicore scheduler, even when running single-threadedly.
* Fixed realtime update of waveforms when changing track volume and track panning
* Rewrote bus system. Buses are now just hidden sound object connections. Can in some
  situations improve multicore performance.
* Draw current sound object in darker color when selecting with
  left button, not only right button


Most important changes 3.2.6 -> 3.2.7
* Mixer: Must press left mouse button on a sound object to select it. Dont just set the the one currently under the mouse.
* Added volume value to connections. This is both necessary to later optimize/simplify
  the bus system (especially in conjuction with multi core), and to be able to control the volume of a connection.
* Dont start making an audio connection in the mixer if the start pos doesnt have inputs or outputs
* Fixed a bug which could cause the program to freeze when deleting sound objects,
  loading songs, undoing, redoing, etc. Bug was introduced in V3.2.2.
  *** Radium between V3.2.2 and V3.2.6 are particulary unstable. ***
* Make sure song comment window is shown on top of all other windows after loading a song.



Most important changes 3.2.5 -> 3.2.6
* Fix: 1. General realtime performance, and: 2. Crashes when multicore is enabled.
  (Don't use QString in realtime code, and especially don't access the same QString from several threads simultaneously.)
  Bug introduced in 3.2.5.
* Always block crash/assert-reporter in non-RELEASE mode, and never block in RELEASE mode
* Avoid showing assert reporter when exiting after jack has shut down.


Most important changes 3.2.4 -> 3.2.5
* Start crashreporter also when just hitting an assert.
* Improved crash reporter. Should hopefully work better in Windows.
  The reports also includes a simple event log now.



Most important changes 3.2.3 -> 3.2.4
* Make all dialogs modal by default if using intel or binary amd driver on linux (to avoid crashes)
* Ensure all notes starts before they end, when recording from MIDI input.
* Various note positions and value validations
* Unset OPENSSL_CONF environment variable during startup. Fixes rare crashes during startup.



Most important changes 3.2.2 -> 3.2.3
* Fix qt version mismatch problem on linux binaries (and possibly windows and osx as well)
* windows: Fix search for missing "-S" argument for jackd.
* Replaced the use of QSemaphore with a native one based
  on this code: https://github.com/preshing/cpp11-on-multicore/blob/master/common/sema.h
  The previous code could in rare situations cause priority inversion.
* Improved multi core a lot. Seems to work fine on Windows now.



Most important changes 3.2.1 -> 3.2.2
* Show message during startup if there is a newer version of the program available.
* Reorganized the edit menu a little bit
* Moved show/hide line numbers configuration from the menues and into the preferences dialog
* Windows: Don't inform that Radium was unable to find jack process command line arguments in RELEASE builds
* "CPU": Show min/avg/max instead of just max. Useful while figuring out multi core implementation.
  (it's not working that well on Windows yet)
* Remove some unnecessary locking/waiting in the multicore scheduler
  (probably has very little impact on performance though)



Most important changes 3.2.0 -> 3.2.1
* Another default color scheme. A little bit darker and white text.
* Increase default font size from 10 to 11 to get less flickering when using a white-on-black color scheme
* Make color schemes with white text on black background look better.
* Shut down jack at the right moment. Avoids crash at exit.
* Fix some mixer UI/GUI issues.
* Changed various button handlers from "pressed" callbacks into "clicked" callbacks.
  Fixes buttons stuck in pressed state.
* Removed the "scrollplay" and "window update" options from the menues.
* Moved the MIDI preferences stuff from the MIDI menu and into the preferences dialog
* Band-aid to avoid crash if song is saved with a patch that has no corresponding chip.
* Tooltip for the quantization value in the MIDI post-recording dialog.
* Also delete elinks when deleting all connections, not just the links.
  Fixes crash if redoing an undoing of a deletion of a sound object.
* Improve multi core by running most cpu intensive sound objects first
* CPU: Show the maximum CPU usage which was measured during the last second,
  not just the current CPU usage.
* Include the custom qjackctl in the 32 bit windows binaries, not just
  the 64 bit binaries.



Most important changes 3.1.4 -> 3.2.0
* Include a custom version of qjackctl in the Windows version. (i.e the "Jack Command" program)
  Hopefully there will be less struggle to start jack now since this version has better default
  options and some bugs fixed.
* Ensure all source files are compiled with sse support (-mfpmath=sse -msse2) in the binaries.
* Move scrollplay and the "multiply etc." option into the preferences dialog under a new "Edit" tab.
* Save scrollplay in config file
* Rename the default "Chorus" and "Reverb" buses to "Corus Bus" and "Reverb Bus"
* Moved OpenGL, CPU and VST preferences into a new Preferences dialog.
* Dont stop processing plugins if using too much CPU. Some plugins might overcompensate when
  they start again. Instead just stop playing, and if that didn't help,
  stop processing plugins as well.
* Fix soundfile saving (don't stop because using too much CPU)
* Show warning message if unable to acquire real time priority
* Multithreaded audio processing (i.e. "Multi-core")



Most important changes 3.1.3 -> 3.1.4
* If plugin is not found during loading, give option to select a different plugin
* Show the sound object menu when right-clicking on an existing sound object in the mixer
  (doing the same as "replace" in the instrument widget)
* Add "replace" button to instrument widget
* Send inital values first time a "MIDI Messages" object is playing.
* Fix plugin info dialog
* VST: Update Radium sliders when changing controllers in native GUI.
  This indirectly causes automation to update the sliders as well, but that's actually
  what happens underneath for VST plugins too, so that's a good thing.
* Rendering: Reset gfx timing when jumping to the start of a block.
  (removes the "dragged by a spring" effect)
* Linux: Show info during startup about the Gallium AMD OpenGL driver (if using that driver)



Most important changes 3.1.2 -> 3.1.3
* Don't crash if reducing the number of lines in a block.
  (This also fixes some crashes when importing MIDI file)
* Sort notes by pitch for same-positioned notes.
* Handle gracefully if jack shuts down. (dont freeze program)
* Fixed moving the start of a pianonote when the pianonote
  has pitch changes.



Most important changes 3.1.0 -> 3.1.2
* Fix automation after loading song
* Fix a memory corruption for plugins with more than 2 channels
* Send automation messages when track is ON, not OFF



Most important changes 3.0.7 -> 3.1.0
* Weak-link to the Jack library to avoid having to use the included version of Jack.
* Don't crash if EL=0 and mousewheeling, plus behave like EL=1 if just scrolling and EL=0 ("edit lines").
* Don't crash if pressing redo after loading a song.
* Write notename above notes in the pianobar, and other graphical improvements.
* Fix mouse issues when first pitch or first velocity in a note.
* A new sound object called "Midi Messages" which can be used to send MIDI messages
  to other sound objects. Can for instance be used to send pitch bend changes to VST plugins.
* Option to show linenumbers instead of bars/beats
* Updated ladspa rdf info for the kokkinizita plugins.
* Customly compiled LADSPA plugins for OSX, Win32, and Win64. The included
  plugin sets are now: calf, caps, cmt, swh, tap, and all kokkinizita plugins.
* 64 binaries for windows
* Include instructions on how to get audio from other simultaneously running ASIO programs
  in and out of the Radium mixer.



Most important changes 3.0.6 -> 3.0.7
* Fix track-width mouse handling when pianoroll is visible



Most important changes 3.0.5 -> 3.0.6
* Simple pianoroll (Left Alt + P or Let Ctrl + P to enable/disable)
* Fix crash that sometimes could happen if scrolling to rightmost track
* Updated s7 scheme to latest version
* Some minor changes to VST initialization which might prevent some plugins from crashing
  during startup.



Most important changes 3.0.4 -> 3.0.5
* Always scroll-play when pressing up or down arrow, even "edit lines" is bigger than 1
* Fix more than two vst plugins in the full version
* load/save: Fix bug where empty string was saved as "" instead of "_________empty__________",
  plus hack so that some old songs where this happened can be loaded again.



Most important changes 3.0.3 -> 3.0.4
* MIDI: Option to always record velocity



Most important changes 3.0.2 -> 3.0.3
* Add options to multiply the number of lines to scroll by the "Edit lines" value
* VST: Fix crystal and other plugins using "main" instead of "VSTPluginMain".
  (forgot this when switching to juce for hosting vst plugins)



Most important changes 3.0.1 -> 3.0.2
* Ctrl+J jumps to bar/beat instead of line. (line numbers are not visible anymore)
* Don't update effect values for plugin while loading a plugin. Might
  stop buggy plugins from crashing.
* Option to record MIDI line by line and monophonic in the MIDI menu. (as before)
* Fix realtime color update in the editor when using the color config dialog
* Append "-qt4" to the last resort value in find_moc_and_uic_paths.c. (Arch linux fix)




Most important changes 3.0.0 -> 3.0.1
* Added a note that the qjackctl "Delay time" value might need to be increased
  on windows for the system to start up.
* Windows: Enable left win key again when radium is not active
* Remove the "createVelocity: placement before note start for note #%d" error entirely



Most important changes 3.0.rc22 -> 3.0.0
* Bumped version number to 3.0.0


Most important changes 3.0.rc21 -> 3.0.rc22
* Readded calf chorus effect to new_song and demo song.


Most important changes 3.0.rc20 -> 3.0.rc21
* Don't show error window if trying to create velocity before start of the first note
* build: Check for the steinberg vst headers in check_dependencies.sh




Most important changes 3.0.rc18 -> 3.0.rc20
* Compile the windows version with -fno-tree-vectorize since audio/SoundProducer.cpp crashed in windows 8
  when using mingw gcc 4.7.2. (that behavior started in 3.0.rc15)



Most important changes 3.0.rc17 -> 3.0.rc18
* Fix crash in certain situations if changing instrument for a track with automation data, while playing



Most important changes 3.0.rc16 -> 3.0.rc17
* Set octave 4 as keyboard octave in new_song.rad (not 10)
* Fix scheduler memory handling. Crash fix.
* Turn up main volume on the demo song



Most important changes 3.0.rc15 -> 3.0.rc16
* Remember the path of the last loaded / saved preset.
* Use the Qt file dialog instead of the native one, since filters don't work in the native file dialog in windows 7
* Fix saving in Windows
* Loading and saving presets now saves the whole instrument, not just the slider/button values.
* Added "Load Preset" to the plugin menu.
* Fix realtime peak updates when changing the slider values for the sampler instrument (again)
* Don't create undo if just changing current instrument
* Changed lpb from 8 to 4 and bpm from 78 to 156 in the Blowfish song
* Clean up bars/beats rendering, and draw a single-pixeled line between all tracker lines again
* Upgrade bdw-gc to 7.2f, and add "-g -O2" flags for the build




Most important changes 3.0.rc14 -> 3.0.rc15
* vst/linux: Wait for child window to be created (fix for no content in vst window)
* Fix memory corruption for plugins with more than 2 output channels when running in 32 bit mode,
  and more than 4 output channels when running in 64 bit mode.
* Fix crash when the cursor is placed on the last line and changing the LZ value.
* windows: Provoke crashreporter to kick in when selecting "quit" in the error/warning window
* Minor improvement to the vst preferences dialog
* VST: Make sure all timing info are defined
* Remove support for CFLAGS and LDFLAGS. Seemed like the rtmidi (or possible) juce cflags somehow smitted over to radium somehow.
* Fix non-realtime behavior in VST plugins. For instance, audio shouldn't stall for a short while anymore when opening the GUI.
* Provide ppq value of the last bar start to VST plugins.
* Hack juce into not compiling -march=native. Might fix issues with VST plugins on computers
  with AMD CPU or older intel CPU.
* Don't show a show/hide track popup when right-clicking on the reltempo slider
* Hide LPB track in new_song.rad
* Draw cents on top of the peaks, not below.




Most important changes 3.0.rc13 -> 3.0.rc14
* Windows: Don't abort program if glGetError() returns an error.
  (i.e. compile the visualization library with the -DNDEBUG option)
* Show opengl info, qt version and credits in the "about window".
* crashreporter: Include QGLFormat::OpenGLVersionFlags in report
* crashreporter: Add running time to report. Useful to see if the crash happened during startup.
* crashreporter: Only insert opengl info and plugin name in the first call to CRASHREPORTER_report_crash
* tooltip for the MSAA opengl option
* Some post MIDI recording tool ui tweaks
* Use color #8 for bar num
* Tooltips for LPB and BPM widgets




Most important changes 3.0.rc12 -> 3.0.rc13
* Metronome
* Sample player: Enable looping for all sounds, not just wav
* Protect reset effect value with player lock
* Protect all remaing calls to Q<class>::exec() with GL_lock()
 (Linux Intel/AMD gfx card crash fix)
* Fix graphical coordinates not updated when changing font size
  and possible other situations (bug introduced in 3.0.rc12)
* Adjust tempo color graph and line number width a little bit




Most important changes 3.0.rc11 -> 3.0.rc12
* Show bars and beats instead of line numbers
* Rearranged timing tracks order.
* Don't show signature and lpb track in the demo song
* Update lz tooltip
* Protect all calls QFileDialog with GL_lock() (Linux Intel/AMD gfx card crash fix)
* Show popup for selecting instrument when right-clicking in the fx area of a track
* Update editor graphics when pressing or releasing mouse in the mixer
* Don't crash if pasting track containing deleted instrument
* crashreporter: Send OpenGL information
* crashreporter: Try to make the text clearer about only sending one report per crash
* Fix focus issues in the MIDI tools post recording dialog
* Adjusted grid track width
* More quantization options
* Readd chorus effect to newsong.rad
* Fixed bug in path resolver
* Darker color for measure start beat
* Import time signatures from MIDI files
* More accurate tempo graph rendering
* VST plugins: Never set isLooping to true since we never jump back in time
* Improve the examples when adding/editing note/pitch
* Add popup menues to show/hide the time tracks
* Ctrl+J jumps to line
* Time signature track
* Hide some menu entries in win/mac that only works in linux




Most important changes 3.0.rc10 -> 3.0.rc11
* Make the default track volume 100%. (MIDI recordings
  should not sound differently when played back)
* Windows: Fix left alt key
* Improved waveform graphics rendering. Improved quality
  and put a limit on cpu usage
* Make the fluidsynth instrument support pitch wheel and
  control change when played directly from MIDI.
* Fixed a few MIDI input issues
* midi/alsa: Use SCHED_RR for input threads, not SCHED_OTHER.
* Improved PPQ/BPM calculation
* Crashreporter: Detect currently running plugin
* Linux: Don't report that Nvidia users have AMD card.
* Pause plugins for 5 seconds if using too much cpu
* Show a "stop playing" button in the realtime warning message
  window.
* midi: Send all raw midi data from input into current patch
* VST: Send and receive raw midi, not just "note on"/"note off"/
  "polyphonic aftertouch".
* scheduler: Run events generated by RT_process functions
  functions right away if they belong to the current audio block
* Make sure the sampleposition values genereted by vst plugins
  are in the legal range
* Fix block tempo timing for events generated by a VST plugin
  (still not tested though, need plugin to test with)
* clap: The "time" argument for RT_Process is already a
  "steady_time" variable. (not necessary to manually generate one)
* Ensure event-producing soundproducers are run before the receivers
* Pd: Fix MIDI velocity when receiving notes
* Show warning/error message as popup window in RELEASE mode.
* "About" window




Most important changes 3.0.rc9 -> 3.0.rc10
* Render: Write "rec" in the track being recorded (MIDI that is)
* Windows: Fix crash if get_windows_command_lines fails
* MIDI post-recording tools dialog (make monophonic and quantitize functions)
* Proper implementation of PlaceAdd/Sub/Mul/Div (actually just use s7 rational)
* Protect g_times_storage with mutex (crash fix)
* Use rational number for quantization (no rounding errors anymore)
* Allow strings with just one number when reading rational string (grid/lz/quantization)
* Add a "split track into monophonic tracks" function
* Dont stop playing if adding a stop "note".
* Function to make track monophonic destructively
* Refactor UpdateReallines to avoid holding the player lock all the time
* Dont let error window be a popup window. (Couldn't switch virtual desktop then)
* Record MIDI note on/note off accurately while playing, as a MIDI sequencer
* Use posix priority inheritance in Linux instead of boosting/unboosting manually + various threading/mutex fixes




Most important changes 3.0.rc8 -> 3.0.rc9
* Don't use clang in Linux. SIGSEGV signal is not catched,
  and crashreporter is not working (tested both 3.4 and 3.5)
* Update nouveau warning
* Don't give additional warning about mesa if using intel or nouveau
  driver on Linux.
* Use custom THREADING_get_priority/THREADING_set_priority functions
  for manual priority inheritance (crash fix when using MIDI input).
* Update graphics when adding notes using MIDI input



Most important changes 3.0.rc7 -> 3.0.rc8
* Both read and write config files as unicode. Earler it only used unicode for writing, and not reading, and that led to growing and growing files on windows
* windows: Fix AltGr key
* mouse: Fix left win key on windows



Most important changes 3.0.rc6 -> 3.0.rc7
* opengl: Update instructions for intel driver
* opengl: Show instructions for AMD users during startup
* Just show() the comment window, dont run exec() on it
* Fix degree symbol in the pan slider (ascii->utf8 fix)
* Don't freeze program if moving the cursor beyond the leftmost track
  when either the lpb, bpm, or the reltempo track is not visible.
* OpenGL preferences dialog
* Upgrade to latest visualization library from github (fixes for AMD, etc.)
* Fix crash when undoing block while playing
* opengl: Use TRIANGLES+shader to draw that gradient line above the note name instead of GL_LINE+textile
* OpenGL: Dont use GL_LINES. Create lines from triangles instead. Seems like only nvidia draws GL_LINES decently.
* opengl: Reduce number of contexts by OR-ing 15 into the color values. Doesnt seem noticable, and cpu usage is reduced significantly
* Tweaked how the tracker cursor looks



Most important changes 3.0.rc5 -> 3.0.rc6
* build: Remove NDEBUG flag from RELEASE_BUILD_OPTS since it makes radium crash on windows. Strange stuff.
* Replaced "<click me>" with "(click me)"
* Give option to init LADSPA first if initing VST first and TLS is empty
* Fix write access check
* Don't resolve VST plugins during startup if initializing LADSPA plugins first.
  Just assume it is a VST plugin if the suffix is right.
* Dont show GUI button for gui-less vst plugins. (and don't crash if double clicking it in the mixer)
* Upgrade to latest visualization library at github
* Fix keyboard handling in windows
* Give warning and option to exit if OpenGL is older than 1.4.
* Mouse: Fix one-track blocks
* Clap plugin skeleton


Most important changes 3.0.rc4 -> 3.0.rc5
* Workaround for empty TLS when loading VST plugins
  (Fix for u-he plugins)
* Support VST shell plugins
* Fix VST GUI close and re-open (not just show/hide window)
* VST sub menues
* Only keep LADSPA plugin libraries in memory when they are used
* Cleaned up native keyboard handling a little bit
* Force message window in front
* Various OSX fixes
* Improved gfx driver warnings
* Give specific information about Intel GFX, instead of warning about using MESA
* fix "./" in the sample file requester
* More unicode fixes


Most important changes 3.0.rc3 -> 3.0.rc4
* Make sure packages are not built with -march=native for the binaries
* Fix nasty memory corruption bug (introduced in 3.0.rc3)
* Calculate current BPM from beat position values (used by VST plugins)
* Always show cents if cents!=0
* Always show notes graphically when noteshowtype==GFXTYPE1
* Right mouse button reset slider values in the editor
* Show warning if there is no write access to the binary directory



Most important changes 3.0.rc2 -> 3.0.rc3
* Fix pd plugin on fedora 21 (and other distributions having wish8.6)
* Fix various crashes related to changing the number of visible lines while playing
* Use Unicode everywhere. Don't crash if running Radium in a non-ascii path.
* Fix "use last estimated vblank value" button
* Fix clang 3.5 compilation
* Give specific warning if using the Nouveau driver
* Fix memory leaks when loading samples



Most important changes 3.0.rc1 -> 3.0.rc2
* Ignore environment CFLAGS so that binary is not built with march=native.


Most important changes 3.0.beta2 -> 3.0.rc1
* Mouse handling rewritten
* Various graphics enhancements
* Lots of bugs removed
* Lots of features added


Most important changes 3.0.beta1 -> 3.0.beta2
* Set CMAKE_BUILD_TYPE for Visualisation library to RelWithDebInfo


Most important changes 1.9.x -> 3.0.beta1
* Rewritten editor graphics. Using OpenGL instead of Qt.
* Smooth scrolling.


Most important changes 1.9.42 -> 1.9.43:
* Remember and edit jack port names
* Removed use of libiberty.h. Also add check for -liberty in check_dependies.sh
* Pd: Simplified API a bit and added r_time.pd
* Simplify install instructions
* Also exit crashreporter if main program crashes extremely hard
* Also reset patch timing when stopping to play
* Pd: Upgraded to latest libpds. It contains a bunch of new radium entries in the Put menu
* Pd: Finishing the new API. Various fixes, improvements, documentations
* Make sure FX are scheduled with highest priority (i.e. ensure effects are sent out before note on), plus clean up the scheduler priority system
* Pd: pipe help patches, and Note_Off_Position.pd example patch
* Pd: Message for setting block reltempo
* PD: Finishing the note api
* Fix bug in scheduler
* Pd: Add native functions for sending and receiving notes. (r_note_on, r_note_off, and radium_receive_note_on and radium_receive_note_off messages)
* Pd: Fix duration bugs in r_line and r_subline
* Fix voice is not turned off
* Use float for notenum everywhere, and use id as note identifier.
* Pd: Frame-accurate time information + line and subline duration
* Temporary fixes for crashing if deleting System Out.
* 1024x800 tweaks
* Various smaller bug fixes and internal improvements


Most important changes 1.9.41 -> 1.9.42:
* Support 1024x800 screens
* Add show/hide buttons for sample browser and plugin controls.


Most important changes 1.9.40 -> 1.9.41:
* Fix VST plugin scan


Most important changes 1.9.39 -> 1.9.40:
* Temporary fixes for crashing if deleting System Out.
* Ask each 30th seconds if continuing searching for vst plugins.
  (prevent program from spending a long time if, for instance, searching root)


Most important changes 1.9.38 -> 1.9.39:
* Never disable the voices widget (instrument widget)


Most important changes 1.9.37 -> 1.9.38:
* Fix crash-bug when inserting lines
* Add "dontshowagain" button to RT_Message
* Give proper warning when jack port init fails, and dont crash


Most important changes 1.9.35 -> 1.9.37:
* Add "All files" option to the file requesters
* Proper postfix filter in filerequester when importing midi file
* text draw: Fix for crash when painting ranged notes with subpitch
* vst: Return correct samplePos in audioMasterGetTime
* Fix GFX_Menu not being able to return selection higher than 9
* Pd: radium_time message (containing time and line information)
* Non-OSX: Search for VST plugins recursively
* Get "keys" file path the same way as color and config, plus support comment after key
* Bottom bar and mixer widget tooltips (Atte Jensen)
* Atte Jensen's patch to read key names from ~/.radium/keys
* Make left alt open menues
* Fix ESC and Arrow keys while navigating menues.
* Fix keys for non-US language setting
* Reset Font size resetted to the default font size, not user font size. Fixed
* New event keys: CALCULATOR, MAIL, HOMEPAGE
* Add missing key events, such as 0R1, LR1, etc.
* Turn off drunk velocity by default
* Changed default ADSR(+H) values to neutral
* Put the <new> instruments first when selecting track instrument (F12)
* Always write cents if track is wide
* Fix keyboard modifier keys
* Configurable line separator opacity
* LPB line coloring (opacity can be set in edit -> global config)
* Renamed "MIDI input on/off" to "Edit On/off" (because that's what it really is)
* Update midi input checkbutton when pressing esc
* Fix SPS spinbox focus
* Only show song files in load/save requesters
* Added $HOME/.ladspa to the list of ladspa paths, when LADSPA_PATH is not defined
* Instructions on where radium gets menues.conf and keybindings.conf
* Use $HOME/.radium/menues.conf and $HOME/.radium/keybindings.conf if they exist
* Mapped XK_ISO_Level3_Shift to EVENT_ALT_R
* Fix open editor when editor is "emacs -nw"
* Make escape key exit string req, same as return
* Add "import radium as ra" in top of keybindings.conf, plus example code how to make space play/stop depending on whether you are playing
* New API function: isPlaying
* Updated ubuntu/debian package list in README


Most important changes 1.9.34 -> 1.9.35:
* sampler instrument/crossfade: Remove debug printing in realtime code
* fast_log_exp.dsp: Fix pun_float_to_int proto in the faust "ffunction"
* build: Print out message if a command isn't found (make "which" more verbose)
* Pitch area widens when right-clicking inside it, not when moving mouse on top of it.
* Add effect to correct track when right clicking.


Most important changes 1.9.33 -> 1.9.34:
* Disable pd for all builds except linux (since libpds only exists on linux for now)
* windows: Add media keys (mute, volume down/up, stop and play).
* dont crash when a pitch is deleted while its being moved with the mouse
* Avoid memory corruption if settings_version is not in settings
* Patch color, step 1: some experimentation (some diffuse colors used in track headers
  and the mixer sound objects.
* When switching to a new block where current line is the last line,
  set current line to first line instead.
* Possible to switch block while playing.
* Adjustable crossfade length (when looping) for the Sampler instrument
* windows: Add EVENT_MENU button


Most important changes 1.9.32 -> 1.9.33:
* Pitch glide between notes. Implemented for the Pd instrument, the sampler instrument
  and all the Physical modelling instruments.
* Edit pitches with mouse
* Automatically make current track wider
* Show Resize cursor when its possible to resize track
* mouse: ctrl: slows down, lshift: limit horizontal, lextra: limit vertial
* sampler instrument: Fix saving loop on off button state
* Made MENU button open block configuration (left meta is often unavailable)
* Made VOLUME/PLAY/STOP/MUTE keys configurable in keybindings.conf
* Fixed memory corruption in blocklist when name of block was longer than 20 (!)
* Use standard paths for LADSPA plugins if LADSPA_PATH is not set
* Give message if a plugin generates abnormal signals, plus zero the signal.
* menues: Be more intelligent about which program to open keybindings.conf/menues.conf/externals_list.txt with.
* pd: Upgrade libpds to latest version (Use system clipboard to store cut/copy/paste data (to cut/copy/paste between different pd instances))
* Fix MMD loader
* Note play indicator visual improvement (blinking circle)
* Enable volume up/volume down/mute/play keyboard buttons


Most important changes 1.9.31 -> 1.9.32:
* Button for setting random effect values.


Most important changes 1.9.30 -> 1.9.31:
* New demo song: BlowFish! Made by www.magnetophon.nl
* Save hashmap elements in sorted order so that songs can more easily be compared textually
* Menu entry to show name of all included pd externals
* Help menu options to edit keybindings and menues
* Song comment dialog
* Fix "Switch Window Configuration" menu option
* Removed "Error. y2>=window->height: ..." error. Just print to stderr instead.
* Removed the "Something strange just happened in the function Blt_markVisible" warning (print to stderr instead)
* Option to set number of scrolls per second. Scrolling too often can be tiresome for the eyes.
* Make it easier to connect objects and see connections in the mixer, plus adjust object sizes
* Patchbay sound object
* Fix crash loading Soundfonts in the Fluidsynth and Sampler instrument
* Show stars around filename if theres unsaved data
* When quitting or loading, only ask sure/yes/no if edited since last save.
* Change "Set Patch For Track" to "Set Instrument For Track" in the instruments menu.
  The word "patch" should not be exposed to the user anymore.
* Be able to load files with DOS char set
* Changed internal radium block size to 64 (similar to Pd)
* Sending note events between sound objects (green lines)
* Enable undo for on/off effect controllers
* Pd extended is included as a sound object. 921 externals are included. GUI is working.
  Several instances is working. Can be used to write both audio effects and note effects.
* Fix qt paths on Archlinux (Javafant/archlinux)
* Many minor bug fixes


Most important changes 1.9.29 -> 1.9.30:
* Fix for saving floats in wrong format for certain country settings
* Always show slot indicator in mixer gui


Most important changes 1.9.28 -> 1.9.29:
* Make it compile

Most important changes 1.9.27 -> 1.9.28:
* Revert back to fausts denormal handling. Hopefully fixes crash on CPUs without sse2.
* Fix vst plugin memory corruption


Most important changes 1.9.26 -> 1.9.27:
* Undo/redo for the compressor.


Most important changes 1.9.25 -> 1.9.26:
* Fix union compilation error.


Most important changes 1.9.24 -> 1.9.25:
* System compressor
* Compressor and equalizer GUI can be shown/hidden.
* Use fast log/exp functions for the multiband compressor.
  (Huge improvement in CPU usage for the demo song)
* Fixed key used for shared memory in crashreporter.
* Various


Most important changes 1.9.22 -> 1.9.24:
* Crashreporter works in Windows.
* Write settings to disk when selecting Set Default Editor Font
* Dont crash when using MIDI menu unless the current instrument is a midi instrument
* Workaround for bug in newer versions of libbfd, causing compilation to fail. Patch from James Morris
* Wait to handle events until program has started. Hopefully fixes a crash reported
  by the crashreporter once.
* Remove check for jack in rt midi in check_install script.


Most important changes 1.9.21 -> 1.9.22:
* Crashreporter.
* Linux version works properly without first cd into the path of the radium binary.


Most important changes 1.9.20 -> 1.9.21:
* Change system font to Lato Black (http://www.latofonts.com)
* Fix crashes on Windows related to garbage collection.
  (Could for instance happen when loading the demo song)


Most important changes 1.9.19 -> 1.9.20:
* alsa: Fix name of input port, not always use "in".
* Menu option to GFX_message


Most important changes 1.9.18 -> 1.9.19:
* All stops are hard stops (Fix for stopping not always stopping sounds)
* Loop on/off button for samples
* Custom GFX for checkboxes and pushbuttons
* Fix color for qcomoboxes.
* Run check_dependencies.sh before making packages
* Remove separator between Reset and Help


Most important changes 1.9.17 -> 1.9.18:
* Remove loop from guitar sample in demo song


Most important changes 1.9.16 -> 1.9.17:
* Fix alsa midi input. (two ports named "in" made chaos)
  * Radium can be used as midi sampler now. Only one instrument is supported though,
    but as a work-around, several Radium instances can run simultaneously.
* Get wav loop points from smpl chunk, not by using Loop Start/Loop End cues
* Support looping for wav files with more than one LIST chunk
* Less verbose when pressing keys
* Remove textborder and minnodesize options


Most important changes 1.9.15 -> 1.9.16:
* Circumvent confusing GC_is_disabled API (fix for playing sometimes taking many seconds to start)
* Dont update gfx from jack thread (horror)


Most important changes 1.9.14 -> 1.9.15:
* Update linenumber width (fix for blocks with more than 1000 lines)
* Fix building packages when theres no python2 executable
* Fix import midi files with many notes in tracks in non-polyphony mode
* Remove limitation on delete track


Most important changes 1.9.13 -> 1.9.14:
* Remove some divide by zero bugs


Most important changes 1.9.12 -> 1.9.13:
* Many gui improvements. Adjusted colors, etc.
* Switch shift and right-alt keybindings for left/right arrow. Now:
  * Right Shift + left/right moves cursor to previous / next track
  * Right Alt + left/right changes velocity for note playing under cursor.
* Need to press altgr or right shift less than 0.25 seconds to play.
* Radium doesn't freeze when trying to play after it has been running
  for a few hours.
* Dont create block undo too often. (Most notable when changing velocity
  using keyboard)
* Don't reset temponode size when zooming.
* Fix pesky memory bug, sometimes causing the program to quit because
  it ran out of memory. Graphics should also be snappier in some situations
  after this fix. It was caused by the gfx queue growing and growing
  when QWidget::paintEvent wasnt called directly after drawing something.
* Doesn't add the first caracter in the shortcut starting a line reader.
  Was only a problem in windows.
* Dont crash when pasting block in certain situations.
* Remove reading of uninitialized memory in slider painter.


Most important changes 1.9.11 -> 1.9.12:
* Fix various horrible bugs for those with non-C locale settings
  Thanks to "DoosC" for helping to debug.
* Various graphical improvements
* TAB switches between common window configs
* Show message box if parsing soundfont file fails
* Add -Wall option to RELEASE build
* Make track headers of current instrument more distinct
* Larger window during startup


Most important changes 1.9.10 -> 1.9.11:
* Fix missing sound on AMD phenom processor. Thanks to DoosC for helping to debug.
* Disable text border by default (except for line numbers), and ignore saved text border setting
* Ignore minnodesize and use font height*2 instead.
* Only show gfx nodes for the track the mouse is currently placed over.
* Implement reset font size for qt
* Demo song audio adjustments
* Set default colors/fonts menu options
* Qt: set DontUseNativeMenuBar on all systems, not just osx. Menues requires mono font to look right
  (fix for unity)
* Dont stop playing when changeing patch for a track
* Various graphical improvements


Most important changes 1.9.9 -> 1.9.10:
* Use x instead of STP. Idea: Damir Sijakovic

Most important changes 1.9.8 -> 1.9.9:
* Better looking temponodes.

Most important changes 1.9.6 -> 1.9.8:
* "make install" should work without first running the program.
* Fixed denormals on 32 bit Linux. (-mpmath=sse)
* Shift+left/right to change note volume works even if cursor is not
  placed on the same line as the note name.
* Fixed zooming-in-a-lot bug.
* Breakpoint nodes for velocity lines are only shown when mouse cursor is
  placed in the track.
* Breakpoint curves for velocity replaced grayed areas. (looks much better)
* Waveform data is shown in the editor for the sampler instrument.
* Pan-per-note for the sampler instrument. Means that the track panner works
  for that track only.
* Fixed samplefile font in sample file selector.
* Improved graphics for breakpoint curves/nodes for effects.
* Different panning algorithm. (Dont just lower volume in one channel on stereo files)
  (Warning: may change sound of existing songs)
* Remove -mtune=native for linux builds.
* Linux: Use standard paths for lrdf files
* Instructions on how to compile from git


Most important changes 1.9.3 -> 1.9.6:
* Undo sample change
* Text looks better.
* Upgrade bdw-gc to 7.2d
* Play block when pressing "Alt Gr" or Right Shift alone.
* Menu improvements and clean ups.
* Gradient color tempo-show track.
* Midi Input port can be configured.
* Radium window icon
* Filename is shown for the Sampler Instrument and the FluidSynth instrument
* Current "chip" (mixer object) is drawn in more distinct colors.
* Fixed release value in Sampler instrument.
* Notes can be added while playing. (works quite okay)
* Keyboard is functional in the font and color setting windows.
* Menu option to configure system font.
* GUI should look okay also for other system font sizes than 8.
* Chip (mixer object) name is updated properly.
* Demo-song clean-up.
* The looks when zoomin in on a single line is cleaner. (Left shift + up/down)


Most important changes 1.9.2 -> 1.9.3:
* Never expand editor area when changing track width
* Various build fixes from Dominique Michel
* Use system font size for menues, not 8
* Adjust slider text position
* Dont crash if loading plugin fails



Most important changes 1.9.1 -> 1.9.2:
* Give editor keyboard-focus when clicking it
* Option to set number of lines to scroll when adding notes. (suggested by Florian Paul Schmidt)
* Right click to reset slider value
* Properly load samples. (Thanks to Erik de Castro Lopo for explaining the libsndfile API)
* Avoid playing samples two times (almost exactly on top of each other) when clicking the filename of a sample. (Bug found by Florian Paul Schmidt)
* Make bindir and libdir overridable in the Makefile. Requested by Dominique Michel to easier make ebuilds for Radium.
* Support several paths in LADSPA_PATH (Bug reported by Florian Paul Schmidt)
* Fix readline build errors (Bug reported by Florian Paul Schmidt)



Most important changes 0.69.3 -> 1.9.1:
* Audio.
* A quick-to-use modular mixer. Jack ports can be inserted anywhere.
* VST plugins and instruments (native, not via wine)
* LADSPA
* Fluidsynth instrument
* 20 STK instruments. (Physical modelling)
* Sampler instrument (soundfiles, xi instruments, soundfonts)
* Multiband compressor
* Built-in filters and equalizers.
* Simple arpeggiator
* Drunk input velocity
* Various GUI improvements
* Pitch expand made available in the menues.
* Tapiir plugin
* Zita reverb plugin
* Demo song
* Reconfigured keybindings
* Various bug fixes


Most important changes 0.69.2 -> 0.69.3:
* Fix font update problem after changing size
* Add Append Track function. Using F key, same as Append Block.
* Add forgotten Swap Tracks function to menues
* More defined editor color
* Changed default build to use Qt for visual on Linux.
  QImage seems to be as fast as GdkPixmap.


Most important changes 0.69.1 -> 0.69.2:
* Graphics is updated after changing font
* Dont clear graphics to the right of rightmost track
* Check graphic update regularly instead of the player signalling the main thread
* Bug fixes and source cleanups.


Most important changes 0.69.0 -> 0.69.1:
* Faster and fancier graphics for Windows and OSX
* Use less memory


Most important changes 0.68.9 -> 0.69.0:
* Less automatic increase of window size
* More shortcuts for keypadless computers:
	Left Shift + 0...9 : Select track
	Left Ctrl  + 0...9 : Select track on/off


Most important changes 0.68.8 -> 0.68.9:
* Snappier graphics.
* Fix graphics after loading
* Better keybindings for keypadless computers
* Changed solo track function to switch between solo track
  and all tracks on, depending on whether it was on or not.
* Don't crash when exiting while playing


Most important changes 0.68.7 -> 0.68.8:
* Fix colors and font on mac.
  (The default configuration file was not found.)


Most important changes 0.68.6 -> 0.68.7:
* Update status bar also if mouse button is not pressed.
* Print track volume and track pan in status bar also when mouse button is not pressed.
* Remove GFX artifacts after loading.
* Enable RELEASE build for OSX binary.


Most important changes 0.68.2 -> 0.68.6:
* Windows and Mac OS X port.
* Replaced GTK Requester and GTK popup menu with Qt code.
* Focus fixes
* Fix Qt build. (GTK is still the default on Linux, but
  Windows and OSX only uses Qt.)
* Fix Add Instrument menu option. (F12)
* Qt: Ignore TEXT_BOLD font flag. Let the user decide instead.
* Fix CLang 3.0 compilation on Linux.
* Qt: Check periodically if program should quit.
* Make Radium work without write accesss to binary folder.
* Display correct Instrument after loading.


Most important changes 0.68.1 -> 0.68.2:
* Fix left mouse down when selecting font or FX.


Most important changes 0.68.0 -> 0.68.1:
* Clean up jack when exiting
* Proper fix for lost KDE left mouse events in Ubuntu 12.
* Requester focus fixes
* Use bold font by default


Most important changes 0.67.3 -> 0.68.0:
* Use GTK popup menu for selecting FX
* Replaced use of xterm with GTK widget.
* The "X11_Qtstuff" is not needed anymore
* Windows version is fully functional, except keyboard handling.
* Various keyboard focus fixes.
* Qt: Move wheel event handler to the main window. Make the mouse wheel work everywhere.
* Fixed nasty list bug which caused player bugs.
* Removed setproctitle. Radium is now a normal executable.
* End Ctrl+C process when main process dies
* Various tweaks and fixes.


Most important changes 0.67.2 -> 0.67.3:
* Checkbuttons for system style and system color
* Fix embedding
* Don't crash if cancelling import midi
* Don't crash on Ubuntu if setproctitle was already installed
* Fix SpinBox focus
* Various windows fixes


Most important changes 0.67.1 -> 0.67.2:
* Fix make install
* Mingw fixes


Most important changes 0.67.0 -> 0.67.1:
* Fix colors


Most important changes 0.66.1 -> 0.67.0:
* Ported GUI to Qt4
  (Editor graphics is still written in GTK2, running in an embedded wiget.)
* More colorful default colors
* Fix left mouse in KDE
* Various build fixes
* Compiles under mingw.
  (Tested in wine and Windows7, but it doesn't work very well yet.)


Most important changes 0.66.0 -> 0.66.1:
* Various build fixes


Most important changes 0.65.12 -> 0.66.0:
* New GTK2 visual backend. (enabled by default)
  * Looks better and has less focus problems.
  * Makes it possible to port the rest of the program
    to QT4 without losing graphical performance. (QT4 is very slow.)
    (Mixing QT3 and QT4 in the same binary doesn't work.)
* RELEASE buildtype.
* Various build fixes
* Various bug fixes and improvements


Most important changes 0.65.11 -> 0.65.12:
* Include the gc-7.2c.tar.gz file.


Most important changes 0.65.10 -> 0.65.11:
* Fix nodeline selection


Most important changes 0.65.9 -> 0.65.10:
* Antialiased lines
* Adjusted tempo colors


Most important changes 0.65.8 -> 0.65.9:
* Fix race condition for midi input
* Remove memory allocation in the rtmidi jack process
* Fix broken ringbuffer implementation in rtmidi. (Quick fix, it's probably still
  broken on some (or all) platforms. Planning to use the portaudio ringbuffer implementation
  in a later commit.)


Most important changes 0.65.6 -> 0.65.8:
* Midi input editing.
* Removed the custom resize window box. (extremely buggy, and not very useful)
* midi: increased latency from 1.95ms to 5ms. (This should probably be configurable)


Most important changes 0.65.0 -> 0.65.6:
* Setting port for instrument will not crash the program
* Many build improvements
* Blocklist and Playlist are properly updated when loading standard midi file.
* Sample accurate jack midi
* Accurate mouse coordinates
* Closing the xterm window will not lock the program
* Options to turn off overriding of Qt colors and Qt style
* Fast jack port probing
* Only create one jack client
* Works even if python links to python3 instead of python2
* Fixed All Sounds Off menu option
* Graphics fully updated after using menu