yoshimi 1.3.x

2016-1-22 Will
- Set bugfix version 1.3.8.2

2016-1-22 Rob
- Workaround to avoid cmake 3.4.1 bug by using our own routine to 
  generate .cpp files from .fl ones and not using fltk_wrap_ui

2016-1-21 Will
- Started splitting up yoshimi's config files and separated out banks
  to their own files within .config/yoshimi/.
- Changed confg save to banks save in banks UI.

2016-1-17 Will
- Bugfix. Quick patch from Csaba so Addsynth vice presets are recognised.
- Patch from Csaba to hide extension in presets window.

2016-1-15 Will
- Bugfix. Format string missing from sprintf :)

yoshimi 1.3.8

2016-1-14 Will
- More doc updates.
- Set version as 1.3.8 rc3.
- Resolved minor ambiguities in command line syntax.
- Final tidy up of docs.
- Set version to 1.3.8 for release.

2016-1-13 Will
- Updated docs.
- Set version as 1.3.8 rc2.
- Corrected part number (CLI numbers *must* start from zero).
- CLI Y axis now uses up/down instead of sharing left/right with X.

2016-1-12 Will
- Created Yoshimi man page.

2016-1-10 Will
- Set version as 1.3.8 rc1.
- Moved banks & roots to end of config file. Will eventually be
  separate file.

2016-1-9 Will
- Added gui state to config file
- All major startup arguments now trigger the config changed message
  for both gui and command line.
- Command line environment status now saved and cross linked with
  gui status defaulting to CL if attempt to disable both.

2016-1-9 Andrew
- Reconfigured main so first instance can access saved config before gui.

2016-1-8 Will
- Synchronised config change warning between gui and command line.
- Implemented saving current part to external instrument.
- Updated repositories.

2016-1-7 Will
- bugfix, Yoshimi now exits correctly with '-c' argument and trailing '&'.
- Help now context sensitive, and list reoganised.
- Command line can now load individual external instruments to the current part.
- Tiny optimisation to SubSynth filter.
- Updated appdata and desktop files.
- Updated Command_Line.txt
- Implemented alsa/jack preferences within command line environment.

2016-1-6 Rob
- Completed Program Change improvements and defined common point
  in SynthEngine for all Program Change calls.

2016-1-4 Will
- Subsynth bugfix. Buffer size no longer has to be divisible by 8.

2016-1-3 Will
- Improved cleanness of program load from various sources.

2016-1-2 Will
- Program change no longer mutes the whole synth.

2015-12-31 Will
- Disabled jack/alsa tabs if running as LV2
- Allow mutiple instances whith alsa audio as they can
  now be set to different backends/soundcards.
- Root/Bank/Program thread now lower than both jack and alsa.

2015-12-30 Andrew
- Revised music clients so that Yoshimi can always start.
  If the wanted backend is missing it will try the other
  option and if that fails, set a null backend. 

2015-12-29 Will
- Updated docs (especially command line)
- Moved Drum kit 2 so it is MIDI accessible
- Added Moor Drums
- Added Choir Stabs

2015-12-27 Will
- C/L system and insert effects now report to the gui

2015-12-26 Will
- Ported pop suppression feature from Zyn 2.5.2
- Changed default XML Zyn instrument compatibility version to 2.5
- Bugfix. NRPN insert and system effect changes only worked correctly
  on the lowest value effect number.

2015-12-23 Will
- Small improvements to command line access.

2015-12-22 Will
- Bugfix. Had screwed up vector Y control. Now better
  error checked too.

2015-12-21 Will
- More code cleanup.

2015-12-20 Will
- (MusicIO) hooks in place for key and channel pressure.
- Implemented Y/N query for command line.
- Command line can now change part names.
- Added reset capability.

2015-12-19 Will
- All base level part controls available to command line.

2015-12-18 Will
- All command line effect sends in place (no gui update).
- All command line effect presets available.
- More code cleanups

2015-12-17 Will
- Implemented major effects settings for command line.
  Effect number, type and send.
- Some code cleanups.

2015-12-15 Will
- Vector control now has it's own level on command line.
- Setting audio destination is now by names (not numbers).
- Part volume, pan & keyshift now available.
- Can now change jack config as well as alsa.

2015-12-14 Will
- Audio and midi preferences can now be set in config window.
- More improvements to command line interface.
- Updated docs

2015-12-13 Will
- Bugfix segfault when doing a reset via command line if gui active.
- Command line part change now updates gui
- More reoganisation of cammand interface.
- Started to implement command line level sensing.

2015-12-12 Will
- Applied possible Install fix to CMakeLists.txt.
- Re-organised command interface files ready (hopefully) for a big
  push on implementation.

2015-12-10 Will
- Enabled AddSynth voice formant filter Q to respond to settings. This
  brings it into line with the recent Zyn. upgrade but shouldn't change
  any currently existing patches.
- Completed Root, Bank, Program change thread & ringbuffer incuding full
  error checks, and allowance for future expansion.

2015-12-9 Will
- Corrected jack/alsa MIDI behaviour and added user defined source name
  for jack MIDI in gui.
- Updated docs.

2015-12-7 Will
- Humanise settings now saved in patch sets.
- Reverted CMakeLists as problems now worse for fedora and some debian installs.
- Added lv2 makefile and install to cmake distclean.

2015-12-6 Will
- Bugfix MIDI not responding to CC2 sometimes.
- Removed jack MIDI ringbuffer now served better by guithreadmessage
  and root/bank/prgoram thread and ring buffer.

2015-12-5 Will
- Improved 'Humanise' feature and changed to a slider.
- Small code clean-up arond root,bank, program code.
- Improved gui timeout delay on fault.

2015-12-2 Will
- Minor improvement to Root, Bank, Program selection in ring buffer.

2015-12-2 Rob
- Corrected gui update method for banks and roots.

2015-12-1 Will
- First trial of combined thread and ring buffer for Root, Bank
  & Program Changes.

2015-11-28 Will
- Fixed regression where renaming instruments failed to actually
  write to the file.

2015-11-28 Andrew
- Added '-c' option that disables command line interface

2015-11-27 Will
- Resolved instrument name anomaly. Part name is now always internal
  instrument name, regardless of file name.
- Minor optimisation. No need to reload same bank.

2015-11-25 Will
- Applied cmake ARCH and LV2 patches.
- Added notes on audio direction in'doc'.
- Changed CC logging channel numbers to start at 1.
- Improved some command line responses.

2015-11-21 Will
- Implemented logging of incoming MIDI CCs.
- Fixed crash bug caused by new kit item name being called before
  it was created - only when trying to enable a kit item with no
  engines already defined.

2015-11-21 Will
- Re-enabled 'minimal' in XMLwrapper for all except presets.
- Presets wasn't showing 1st character (array offset by 1).
  Corrected.
- Clarified copyright notice.
- If in kit mode engine window title bars now display the kit number
  and name if any.

2015-11-20 Will
- Fixed regression where sending CCs would close part windows
  and streams of them blocked the gui.
- Discovered previous bug was hiding 'inappropriate' gui calls :(
  Now fixed properly.

2015-11-19 Will
- Ported pink noise feature from Zyn 2.5.2
- No longer clears part output buffers, as they are completely
  overwritten when in use and ignored otherwise.

2015-11-17 Will
- Minor display corrections
- Changed XML minimum Zyn instrument compatibility version to 2.4
- Activated addsynth voice filter velocity sensimg.

yoshimi 1.3.7

2015-11-16 Will
- Added experimental breath control CC2
- Set release version 1.3.7

2015-11-14 Will
- Rationalised window titles.
- Consolidated internal filenames.
- Bugfix kit item label now updates correctly.
- Set version as 1.3.7 rc1

2015-11-13 Will
- More windows under control.
- Improved save and load code.
- More windows show the instance number in their title.

2015-11-12 Will
- Now ensures session files always save with the .state extension.
- Remembers the last positions of major windows and reopens them
  if shut down while they were still open.
- Added different file for each instance.

2015-11-10 Will
- Directly setting channel numbers 16 to 31 will now allow a note off
  while blocking all other MIDI messages to that part.
- Preset directory changes no longer need a restart.
- Part key shift extended to +- 24 semitones.
  4 octaves should be enough for anybody :)
- Default state file location is now fixed - users can change it
  as they wish.
- Removed redundant Pnoteon code.

2015-11-8 Will
- Minor adjustment to command line - single characters can be used for
  unambiguous commands. Spaces between them are still needed.
- Adding or removing root paths via command line now updates the gui.
- gui master refresh sets system and insert to 1 and selects system.

2015-11-7 Will
- Bugfix reset all controllers missed some and didn't update the window.
- Multiple instances disabled if running with ALSA audio output.

2015-11-6 Will
- Bugfix state save and load didn't identify 'empty' instruments.
- Reorganised top menu bar again and added 'clear' to scales.
- Enabled logging XML header versions.

2015-11-3 Will
- Prepared XML wrapper so that meaningful data can be put
  in 'INFORMATION' not just instrument settings.
- changed menu bar 'Show' to 'View'.

2015-10-31 Will
- Added 'Show' to top menu bar.
- Rationalised top menu bar entries.
- Created 'Reset' button in place of 'Clear all parameters'.
- Added reset to command line.
- Added number of available parts to defaults resetting.

2015-10-29 Will
- Loading scales or state now performs a retune.

2015-10-27 Will
- Fixes microtonal tuning regression.
- Moved old README.txt file to histories.

2015-10-25 Will
- Added command line history patch from of F. Silvain.
- Corrected bank listing regression.

2015-10-24 Will
- Moved cli output call to make it more generic.
- Removed duplicate report code in synthEngine.

2015-10-23 Will
- Implemented unix style paging for command lists from ideas of F. Silvain.
- Implemented command line listing of parts with instruments installed.
- Updated some docs.
- Cleaned up error messages and logs.

2015-10-16 Will
- Implemented load and save of patch sets.

2015-10-12 Will
- Added paging to banks list.

2015-10-11 Will
- Implemented paging (not banks yet).

2015-10-9 Will
- Changed mode return behaviour.
- Changed some command names.

2015-10-8 Will
- Fixed segfault when changing command line mode.
- Added command line history.

2015-10-7 Will
- Brought Andrew's thread and readline into older style command line.
- Further enhancements.

2015-10-6 Will (command)
- Improved readline exit behaviour.
- Added exit command.

2015-10-5 Will
- Further improvements to command line control.
- General code tidying.

2015-10-3 Will
- More improvements to command line control.
- Extended command line vector control.
- Auto generate .config/yoshimi/presets directory.

2015-10-2 Will
- Set up bugfix branch to track only the current release.
- Set version of this to 1.3.6.1

2015-10-1 Will
- First time config search was getting confused if zyn or old style
  yoshi configs were there, so they are no longer accepted.
- Added definitive search for bank dirs launch directory parent.
- Added definitive search for preset dirs in launch directory parent.
- Identifed preset bugs. Only gui updates needed now.

yoshimi 1.3.6

2015-9-28 Will
- Some code style corrections.
- Final LV2 fix.
- Documentation updates.
- Snuck in a new instrument patch.
- Set version as 1.3.6 for release.

2015-9-26 Will
- Pulled in additional command line controls.
- Pulled in Andrew's further LV2 fixes.
- Set version as 1.3.6 rc5.

2015-9-20 Andrew
- Fixed LV2 plugin buffersize setting in case of smaller
  internal buffersize.

2015-9-14 Will
- Fixed bug that let an invalid instrument be stored in a bank.
- Changed 'Parameters' to 'Patch sets'
- Set version as 1.3.6 rc4.

2015-9-13 Will
- Merged stable version from command branch.
- Set version as 1.3.6 rc3.

2015-9-10 Will (command)
- Allow buffer size down to 32 frames.

2015-9-7 Will (command)
- More extensions to command line access.
- Improved error checks.

2015-9-6 Will (command)
- Extended and improved command line access.

2015-9-5 Will (command)
- Started new command line access.

2015-9-2 Will
- Set version as 1.3.6 rc2.
- Overall key limit increased to 80.
- Part max key limit increased to 60.
- Part default key limit increased to 20.
- Added demo midi and parameter set to examples directory.
- More doc updates and moved some files to Histories directory.
- License corrections.

2015-8-31 Will
- Set version as 1.3.6 rc1.
- Untangled preset counters from bank counters.
- Improved NRPN listing of roots and banks.
- Small GUI adjustments.
- Updated docs.

2015-8-25 Will
- Corrected command line regression :(
- Added command line entry to define new root path.
- Improved some default settings.
- Now correctly scans for banks on first time startup.

2015-8-23 Will
- Improved command line options.
- Updated docs.

2015-8-20 Will
- Completed new NRPN extensions so most system values can be changed.

2015-8-18 Will
- Extended NRPNs to list dynamic system values (to current report log)
  some of which can also be changed.

2015-8-13 Will
- Added failure messages to splash screen and increased timeout.

2015-7-20 Will
- Merged in ALSA updates from 'buffers'.
- master version now displays an 'M' suffix.

2015-7-20 Will (buffers)
- Hopefully completed Alsa updates.

2015-7-20 Will (buffers)
- Implemented Alsa endian changes.

2015-7-16 Will (buffers)
- Alsa now recognises 32, 24 & 16 bit formats LE only.

2015-7-15 Will
- Added sanity checks to vector feature CC settings.
- Small correction to alsa audio.
- More doc updates.

2015-7-11 Will
- Fixed bug that would crash if a bank or instrument rename
  was cancelled.

2015-7-10 Will
- Added exclusions to CC designations.
- Improved vector control error checks.
- More doc updates.
- Implemented redefinable vector features

2015-7-5 Will
- Minor gui bugfix 'Simple Sound' correctly set to 'No Title' in
  all windows when actually edited.
- Vector control individual features can be reversed.
- Enabled NRPN part destination setting.

2015-7-3 Will
- Merged in corrected buffers - still some work to do on alsa
  audio which has been incorrect for a long time but should be OK
  on motherboard chipsets.
- More documentation!

2015-6-24 Will (buffers)
- Set up and tested separate buffers for JACK only, very untidy.
- currently breaks ALSA and LV2.

2015-6-19 Will
- bugfix set typecast in BankUI to enable build with fltk 1.1
- bugfix changed MasterUI so that main window is refreshed when
  'State' is loaded.

yoshimi 1.3.5
- Finalised for release and tagged.
- Added more details to docs.

yoshimi 1.3.5-rc4

- Fixed failure of Insert Effect part list length to update when
  number of parts changed.

yoshimi 1.3.5-rc3

2015-6-13 Will
- Fixed regression that was messing up pitch change.

yoshimi 1.3.5-rc2

2015-6-11 Will
- Fixed gui bug, disappearing 'Bypass Global F.' when Addsynth Voice
  Filter checkbutton clicked.
- Vector checks and sets related part channel numbers instead of
  assuming default values.

yoshimi 1.3.5-rc

2015-6-7 Will
- Jack port only registered if direct part output is set as well as 
  the part being enabled.
- Mixer panel refresh button hidden (redundant).
  Will eventually be removed if no problems seen.

2015-6-5 Will
- Improved engine colour sync, and also responds to kit part edits.

2015-6-1 Will
- Common Add,Sub,Pad colours now defines in CMakeLists.txt

2015-5-30 Will
- Vector control volume 'swap' now uses an inverse square law to keep the
  overall level fairly constant.
- More improvements to instrument engine colours.

2015-5-30 Will
- Bugfix! Only part 1 was responding to gui instument selection.

2015-5-29 Will
- Fixed regression that stopped mixer panel updating on MIDI program change.
- Moved max part control from parameters menu to alongside part number.
- Refactored part gui calls to improve updates.
- Implemented colour based engine IDs in mixer panel window
- 'Clear All Parameters' now resets NRPNs and vector control.

2015-5-27 Will
- Trial for colour based engine IDs in main window.
- Fixed bug that caused banks to be initialied twice on startup.
- Hid (redundant) refesh button from instrument banks window.
  Will remove it completely if no problems show up.

2015-5-23 Will
- Small improvement to synth ID discovery.
- Prompts at foot of window.
- Removed old style new bank creation.

2015-5-21 Will
- Implemented identification of all three synth engines.
- Made workaround for corrupted instrument headers.

2015-5-15 Will
- Implemented max part & part group control.

2015-5-13 Andrew
- On-demand jack ports registering (only if part is enabled)

2015-5-12 Will
- fixed asString bug that still appeared on some architectures.
  Thanks to Stephen Parry for identifying the cause.

2015-5-7 Will
- Improved bank root and extended program change CC setting method.
- Corrected NRPN gui display issues
- Updated Docs

2015-5-6 Will
- Implemented Zyn-compatible NRPNs with extension for effect type and destination
  part number change.  (some gui improvements needed)
- Updated Docs.

2015-5-2 Will
- Improved NRPN handling of 14bit NRPNs and 'full' NRPNs with reversed
  data byte order.

2015-4-30 Will
- Fixed regression in distortion level.
- Added voice number to AddSynth oscillator editor.
- Implemented NRPN data increment and decrement.

2015-4-27 Will
- Fixed bug that stopped some rotary controls responding to mouse wheel.
- Re-orderd part effects window to more closely match system & insert.
- Made 'panic' stop fade at a fixed rate so it is now click free even for
  very high sample rate and small buffer size.

2015-4-25 Will
- Added part number and name to editing window title bars.
- Made it possible to silently disconnect/reconnect a part from all MIDI input.
- Improved config settings for Bank Root & Extended Program Change.

2015-4-24 Will
- Implemented 14bit NRPNs
- Implemented scroll wheel control of knobs
- Implemented X as well as Y knob control

2015-4-21 Will (vector)
- Some more small optimisations

2015-4-19 Will (vector)
- Fixed regressions caused by mixer gui changes!
- More adjustments giving greater flexibility to NRPNs

2015-4-18 Will (vector)
- Added NRPN and vector error checks and warnings
- Updated docs
- Very specific segfault with Rosegarden V12.4 and 'RootBankChange'
  test file has cleared! Confirmed it is still there on yoshimi 1.3.3
  puzzling :(
- Rationalised mixer panel gui, removing duplicates

2015-4-17 Will (vector)
- Implemented direct part channel change
- Corrected license anomalies
- Updated docs

2015-4-15 Will (vector)
- Implemented direct part CC change
- Corrected and updated Docs

2015-4-3 Will (vector)
- Implemented direct part program change
- Vector controls only enabled if NUM_MIDI_PARTS set to 64

yoshimi 1.3.4

2015-4-1 Will (vector)
- Bugfix corrected merge errors

2015-4-1 Will
- Tidied up for release on such an auspicious date!

2015-3-30 Andrew
- Share async gui process function between main and lv2 mode

2015-3-30 Will
- Ported padsynth wavetable saving from ZynAddSubFX

2015-3-29 Will
- Fixed root dir length bug
- Fixed add root no-show bug
- Fixed remove root still showing bug
- Removed root path tab from Setup window as it
  was getting too complicated syncing 2 copies
- Changed 'Reports' menu item into a separate button
  fltk problem :(

2015-3-28 Will
- Reports can be sent to the console window or stderr under
  runtime selection in the settings window
  This setting is saved, per instance
- Lots of small log message rationalisations
- Removed some old commented out code
- Reinstated search for ZynAddSubFX config search if no
  Yoshimi one can be found

2015-3-26 Will
- Bugfixes in setup CC selections
- Removed auto close checkbox from Banks and instruments
- Reports menu item greyed out if not enabled.

2015-3-25 Will
- MIDI volume control range now saved to parameters
  per part as "volume_range"
- Updated XML headers to include author and
  yoshimi-major and yoshimi-minor version numbers
- All pan centre buttons now red, not just main one

2015-3-22 Will
- Rationalised MIDI volume control
- Implemented MIDI volume control range setting
- Implemented missing resets in 'Reset All Controllers'

2015-3-18 Will
- Pulled remaining program change gui calls into gui thread
- Root path window now correctly tracks 'save' changes

2015-3-15 Will
- Used new gui updating so that MIDI volume and pan changes
  are shown in both the main and panel windows

2015-3-15 Andrew
- Added asynchronous gui update ability from arbitrary threads

2015-3-12 Will
- inserted missing ";" at line 60 of yoshimi.ttl
  found by Holger Marzen

2015-3-10 Will
- Panel window bugfix

2015-3-2 Will
- Added patch from Jakub Cajka to furthur nail asString ambiguities
- Added SVG icon image (renamed alternative)
- Set up for release

2015-3-1 Will (vector)
- Moved all NRPN and Vectore code to MusicOI
- Added 'Brightness' control
- GUI freeze still not resolved :(

2015-2-28 Will (vector)
- Further separated out controls, and also enabled setting instruments
  however this is very experimental and *not RT safe*
- improved this now, but discovered a gui bug if the panel
  is open when a vector program change takes place - gui freezes :(
- got rid of a warning message in jack engine :)

yoshimi 1.3.3

2015-2-27 Will
- Added and updated Docs & Images
- Prepared for full release

2015-2-27 Andrew
- Updated splash screen

2015-2-26 Will
- Some fine tuning
- Updated documentation

2015-2-25 Will (vector)
- Separated X & Y to independent NRPNs
  NRPN msb = 64, lsb = 1 for X
  NRPN msb = 64, lsb = 2 for Y
  DATA lsb = CC, msb = operation(s)
                1 = volume
                2 = pan

2015-2-24 Will (vector)
- Seems stable now - crashes were due to mixture of
  channel and part limits.
- Mixer panel now shows groups of 16 parts.
- Volume sweeps implemented but need balancing better.

2015-2-23 Will (vector)
- First attempt at vector control
  Setting NRPNs and vector CCs seems fine.
  Only implimented volume control.
  Getting a lot of crashes in use though when changing settings via the gui.
  Panel window only shows 1st 16 parts.
  Part control (rather than channel) works much better.
  GUI problems probably due to some use of NUM_MIDI_CHANNELS
  where NUM_MIDI_PARTS should be in the original code.

2015-2-19 Will
- Small gui code optimisations
- Removed some confusing, duplicate, redundant & disabled code

2015-2-18 Will
- Implemented bank rename
- Added gui buttons for this and instrument renames
- Close on selection now righthand mouse button
- bug was slowing down bank swaps -fixed

2015-2-16 Will
- Added middle button close of banks and instruments
  as if auto close has been set

2015-2-15 Will
- Implemented bank complete removal

2015-2-14 Will
- Bank swaps/ID changes now in place
  but not checked for unwritable locations
- Now checked
- Added highlighing of current bank
- Implemented adding banks
- Corrected bugs in bank swaps

2015-2-13 Will
- Basic structure complete and working
  but changing IDs etc. not yet implemented

2015-2-12 Will
- Developed window selection/swapping and forward link from config
- Fixed bug that created empty banks
- Added format string to 3 fltk alert calls to silence gcc warnings

2015-2-6 Will
- Unified root bank instrument log messages
- Updated MIDI test files

2015-2-3 Andrew
- Fix png image creation on fltk < 1.3

yoshimi-1.3.2

2015-2-2 Will
- Final updates to files for full release

yoshimi-1.3.2-rc2

2015-1-31 Andrew
- Start guis only from main gui thread

2015-1-28 Will
- Added check to prevent attempt to change non-writable instrument files
  *before* GUI entries written

2015-1-27 Will
- Allow instrument name of just 3 chars
- Bumped version number to rc2
- Clarified text of error messages

2015-1-27 Andrew
- Added splash window showing current loading status
- Ignore midi bank/prg change if no bank/prg found

2015-1-26 Andrew
- make new bank id search start from 127 downwards
- do not reload bank on id change

2015-1-24 Will
- Un-numbered instruments now handled as before (placed from 160 downwards)
- Bumped version number
- Bug fix in CC tests
- Removed unnecesary instrument prefix tests when indentifying banks
- Added early startup comand line message

2015-1-24 Andrew
- New instance now gets first available unique ID
- Added menu item to start instance with given ID
- Sort banks on first start or if mappings are not defined
- LV2 plugin now uses new bank interface

2015-1-23 Andrew
- Added per-instance config files support
- Now saving bank ids in config file too

2015-1-22 Andrew
- Rewrited Bank/Root handling algorithms to support numbering
- Fixed PADSynth_used detection algorithm

2015-1-15 Andrew
- Don't change floating point rules in case of lv2 plugin. Hosts should do it.

2015-1-14 Andrew
- Fixed lv2 plugin crash on midi event loop transition (frame X to zero)

2015-1-12 Will
- Applied patches from Harry
  MIDI channel selection now in sync between main window and panel and
  right click on panel 'Edit' opens the actual edit menu.

2015-1-8 Andrew
- Fixed segfault on exit if Alsa audio engine is used

2015-1-5 Andrew
- MIDI bank root dir change algorithm now uses low priority threads
- MIDI bank root dir and bank changes are synchronized now
- GUI is updated accordingly to bank root dir changes


2015-1-5 Will
- MIDI bank root change now in place :)
  but not currently updating GUI :(
- Setting of both root and extended program CC now error checked
  but have to use the spinner up/down arrows - can't seem to
  reognise the 'Return' key :?

2015-1-3 Andrew
- Started control interface implementation
  (logging this for history)

2015-1-3 Will
- Added warnings if loading patches named 'Simple'Sound.
- Applied patch from Harry Nakos
  Volume & Pan now synchronised between main window and panel.

2015-1-3 Andrew
- Corrected target lib suffix detection for lv2 plugin

2015-1-2 Will
- Bank root IDs can now be changed in GUI.
- Cleaned up code.

2015-1-1 Will
- Settings->Bank root dirs now displays root IDs and marks
  current root and MIDI banks changes only see current root.

2014-12-21 Will
- Changed concept of default root dir to current root dir.
  current root is where new banks are saved to.
  changing current doesn't alter list order or root ID.
  ID will be used for MIDI root dir setting & bank access.

2014-12-11 Will
- Updated parameter & instrument load & save
    will not save 'empty' files
    inserts "No Title" when loading untitled instruments

2014-12-9 Andrew
- lv2 plugin: fixed ringbuffer write when midi message
  should be splitted into chunks (this is a very rare condition)

yoshimi-1.3.1

2014-12-8 Will
- A few optimisations in Reverb and Phaser
- Released V 1.3.1

2014-12-8 Andrew
- Separated LV2 plugin instances.
  Yoshimi - stereo mix,
  Yoshimi-Multi - stereo mix + 32 individual mono (16 stereo) channels.

2014-12-6 Will
- Corrected long standing bug in unison. Reverb bandwidth OK now!

2014-12-6 Andrew
- Added multi-channel support for lv2 plugin

2014-12-5 Will
- Reverb and Phaser additions
  Reverb bandwidth control sending right numbers
    but not changing the sound produced :(
  Phaser additions work correctly, but GUI controls
    Analog, Hyp., Dist. not sychronised :(
- Phaser done (silly mistake)

2014-12-1 Andrew
- Enabled cross-instance copy and paste.

yoshimi-1.3.0
- Made LV2 plugin ON by default
- Removed command line control. The reason: useless, not thread-safe code
- Just a few GUI improvements
- Made support for variable length runs. This provides sample-accurate midi processing
  for offline rendering and lv2 plugin.
- Removed strict requirements of Subnote on 8x multiple buffer size.
  Adopted SUBnote::filter() method for variable-length runs
- Initial LV2 plugin support (OFF by default)! Tested in MusE, Ardour 3,
  Carla and qtractor  - works both plugin and gui.
- replaced all calls to lrint() with (int)truncf(). When fesetround(FE_TOWARDZERO)
  was called, lrintf() behaves exactly as (int)truncf() with that difference, that
  (int)truncf() returns always the same result not depending on external factors.
- Made command line control for yoshimi instances (OFF by default)
- Added error message if midi bank changs too close
- Ported portamento rate and depth to controllers from Zyn.
- Added state interface support for lv2 interface. now saving/restoring
  yoshimi lv2 plugin settings works.
- Added per instance ability to change panel window between 2x8 or 1x16.
  Haven't decided on best way to store setting.
- Fixed bug in wide panel window.
- panel settings saved to yoshimi.config.
- patch provided by xnakos fixes part enable sync between panel and main window.
  This revealed it wasn't done properly for MIDI so that's been added too. 
- removed spammy default midi messages.
- patch provided by xnakos to fix bug in Simple Sound representation.
- better resolution yoshimi icon.
- instrument updates.
- separated out examples from presets and put in their own directory.
- a few more GUI adjustments.

yoshimi-1.2.5
- Made yoshimi support multiple in-process instances:
  1) Added "New instance" menu item in "Yoshimi" submemu.
  2) Jack/alsa midi/audio port names are named "yoshimi" + postfix
     (empty for the first instance and -1,-2,-3 etc.. for the next).
  3) Windows names (main window, panel, keyboad) are named according
     to instance number with unique postfix.
  4) Only main window of the first instance exits process. Other windows
     deregister instances and closed.

- CMake policy change to stop warning message
- Small correction in part peak representation
- Copied some ancient history into Docs
- Part name always shows at least the words 'Simple Sound' so new users will
  know what it does.
- Bank selector always shows a name.
- MIDI Bank changes now refresh the bank window contents.
- There is now a compile time switch to direct errors to the console window
  instead of stderr.

- Moved all global variables to per-instance ones.
- Implemented multi-instance support:
  Updated all constructors to take SynthEngine * as last argument and store it
  in synth member variable. "Runtime" global var (of type Config*) and "guiMaster"
  (of type MasterUI *) are moved to SynthEngine and accessible via SynthEngine::getRuntime()
  (which returns reference to per-instance Config class) and SynthEngine::getGuiMaster()
  (which creates, if not already created, and returns per-instance MasterUI class).
  PresetsUI class instance is moved from global var to MasterUI class member var
  and accessible via synth->getGuimaster()->getPresetsUi() method from UI classes.
- Jack client instances will be named on per-instance basis.
  Default one is "yoshimi" + "->optional tag" (as before),
  next is "yosmimi-<optionoal tag>-<instance number>" starting at "1".
  This may never be used (but who knows? Anyway, this is the more proper way),
  because the default behavior for the yoshimi app is to create one global
  SynthEngine instance to go on with it till exit. From the user point of view
  nothing changed.
- Gui class destructors made virtual to make recent compilers happy
- Started initial LV2 plugin interface implementation (cmake option is OFF by default)

yoshimi-1.2.4

- ALSA MIDI can now auto-connect.
- Changed x.x.x.notes to Changelog as requested by packagers.
- Jack MIDI auto-connects too!
- VU meters disengaged from synth via ring buffer.
- Failing to load parameters or instruments at startup is no longer fatal.
- Yoshimi accepts un-numbered instruments in banks again - under protest!
- Some more small UI and CL message refinements.
- In settings added Enable/Disable MIDI program change - some seq's don't play nice :(
  default is to enable. Compatible with Zyn's 'ignore program change'.
- Settings layout tidied up.
- Incremental DSP improvement - we now only fill/copy buffers that have a destination!
- Bugfix - when a part's audio out was directed to part only, system effects were still
  being generated and sent to main.
- Correction - audio to part *does* carry insertion effects if they are set.
- VU calculations now completely separated from sound generation and outside the mutex lock.
- Changed envelope cut-off to -60dB (was -40).
- Another addition to Will_Godfrey_Companion bank :)
- Bugfix - missing 'include' in main.cpp stopped compilation - but not in all environments!
- Changed unison size highlighting. With no code change, it stopped working for some reason!
- Improved VU displays.
- Updated INSTALL instructions and removed duplicates of this and COPYING in /src
- detached part outputs from main volume and added clip indication in panel (doesn't
  clear with 'Stop' so fundged)
- some more minor adjustments
- VU updates completed - and we're away!


yoshimi-1.2.3

- Some more minor bug fixes.
- INSTALL file now refers to V1.2.2
- Enabled saving audio destination in parameters file
    only relevant for jack output.
- Ported SubSynth overtones feature from Zyn. 2.4.4
- Ported Unison phase randomisation control from Zyn. 2.4.4
- Added checkbox in 'Settings' to allow a MIDI program change
  to enable a part if it was previously disabled.
- Ported AddSynth & SubSynth processing enhancements from Zyn. 2.4.4
- Changed part's key limit from a list to a spinner so you can set
  any value up to the maximum poliphony - 5
  This is error checked when parameter files are loaded.
- Changed unison size from a list to an enable button and spinner
  giving you finer grained control.
  Values that match ZynAddSubFX are highlighted for compatibilty
- Added experimental 'naturalise' small random detune feature at note-on.
- Performed lots of tiny optimsations.
- Disabled part audio out selection if not running jack.
- Put some more info in Docs - much more to do!
- Updated copyright notices.
- Temporarily disabled ALSA MIDI auto connect till I can find out why 
  it crashes - seems it's never worked.

  
yoshimi-1.2.2

- Started some documentation. Much more needed!
- Improved config saving. I think we're there now :)
- Fixed bug that caused segfault if MIDI voice changed with no GUI.
- Fixed bug that stopped MIDI bank change with no GUI.
- Added panel option to direct a part's audio to only main, only part or both.
- Cleaned up panel display.
- Added memory lock to jack ringbuffer (probably not needed).
- Restored PADsynth highlights and made them more distinct.
- Refined PADsynth and general boolean XML detection a little.
- Enabled reporting to console. It doesn't seem to affect CPU usage.
- Improved error reporting for missing bank or program.
- Added Test directory with MIDI and Rosegarden bank and program change files.
- Reinstated gzip compression on voice and parameter files.
- Added compression level to settings. 0 = plain XML save.
- Bug fix. Controllers window would sometimes freeze - thanks to Rob Couto for the fix.
- Added appdata as requested in the sourceforge features tickets. 
- Revised 'make install' to make sure everything goes to the right place.
- Changed position of Pitch bend roller in Vkeyboard to make things clearer.
- Small update to Will_Godfrey_Companion bank.
- Reinstated part Pan Depth control, but calling it Pan Width as that's more descriptive.


yoshimi-1.2.1

- Added alternative robot icon as an SVG. Thanks to Andrew Ter-Grigoryan
- Added option to enable a part if not already enabled, when doing a MIDI program change.
- Set Vkeyboard default velocity to 100 same as for ZynAddSubFX.
- Stopped settings asking twice about saving. Will do more on this!
- Rationalised linker flags.
- Added drumkits from Dario Straulino.


yoshimi-1.2.0

Added circle and spike AddSynth Waveshapes.

Added MIDI bank and program change. Bank change can be selected as MSB, LSB or disabled. Included CC for patches 128 to 160. Also CC selectable and can be disabled.

Finally resolved trailing zeros in detune bug.
Fixed microtonal saving bug.

Corrected parameter loading regression (that mainly affected the Overdrive sound).

Corrected regression that stopped the -K option autoconnecting

Other small bug fixes.

Added and updated voice patches.

Special thanks to Kristian Amlie and Tito Latini


yoshimi-1.1.0

* Optimization patches provided by Kristian Amlie.
* Added The Mysterious Bank by Florian Dupeyron aka My?terious.
* Virtual keyboard AZERTY patch, thanks to David Adler.
* Yoshimi has shiny new knobs! Thanks to Alessandro Preziosi aka licnep.
* Multiple JACK outputs implementation by Andrew Deryabin.
* Expand state file path before any check by Nikita Zlobin.
* Some minor cosmetic changes (placement of Close buttons, resized the panel window).


yoshimi-1.0.0

* In memory of Alan Calvert who passed away exactly one year ago. Cal, we're pretty sure it's only angel horns you hear and no devil trombones!
* Modified INSTALL file and added instructions on how to build Yoshimi outside the source tree. Thanks to Jimmy for the instructions.
* Previously when microtonal loaded .xsz files, it did not convert the tunings back into their x.y format, which was displayed to the user, this patch corrects this mistake. Thanks to Mark McCurry for the patch.
* Renamed Yoshimi icon.
* Applied patch from SourceForge ticket #3487751 (Simplify desktop file and install it and the icon file). Thanks to Tim harder for this patch.
* Yoshimi likes GCC >= 4.7 again.


yoshimi-0.060.12

* Fix for the keyshift/microtonal issue, patch provided by RPD (Rob). Thanks!

yoshimi-0.060.11

* Fix empty functions, fluid no longer produces (empty) implementations for totally empty functions in .fl files. More info: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=633476 and http://www.fltk.org/str.php?L2259 Thanks to Frank Kober for pointing out this issue and thanks for the patch.
* Dynamically switching to legato mode using a footswitch has been made possible by Kristian Amlie. Thanks for the patch!
* Renamed Yoshimi icon file in the desktop directory and modified desktop file accordingly. Packagers, please use this icon file, it has been designed specifically for Yoshimi. If anything needs to be changed in order to have this icon included please let me know

Jeremy Jongepier <jeremy@autostatic.com>


yoshimi-0.060.10

COPYING file updated


yoshimi-0.060.9

licence anomalies corrected.


yoshimi-0.060.8

Nothing too adventurous, just an incremental advance on 0.058.1 adding Paul's
Unison and Reverb enhancements, jack session support, panning inversion
corrections and assorted other tweaks and bug fixes. 
