yoshimi 1.3.3

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-2-27 Will
- Added and updated Docs & Images
- Prepared for full release

2015-2-27 Andrew
- Updated splash screen

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. 
