yoshimi 1.5.0

2016-12-17
* Added warning for undefined kits in Midi learn.
* Finalised all code and docs for release.
* Set version 1.5.0

2016-12-16
* Changed Midi learn spinboxes to number entries.
* Adjusted Midi learn window dimensions.
* Corrected tooltips, spellings and acromyms.
* Set version to 1.5.0 rc5

2016-12-15 Will
* Changed virtual keyboard key map labels and tooltips.
* More doc updates.
* Set version to 1.5.0 rc4

2016-12-13 Will
* Midi learn can now be cancelled.
* Set Yoshimi (instance) in midi-learn message windows.
* Corrected tooltip for oscillator harmonic randomness.
* More doc updates.
* Set version to 1.5.0 rc3

2016-12-12 Jörn
* More tooltips updates.
  Distortion
  Phaser
  Chorus
  Reverb
  Echo
  System sends
* Set version to 1.5.0 rc2

2016-12-12 Will
* Doc updates.

2016-12-11 Will
* Implemented message window for midi learning.
* Corrected GUI access to midi-learn general opps.
* Set version to 1.5.0 rc1

2016-12-10 Will
* Bugfix: CLI was trapping the wrong midi-learn control.
* CLI now change midi-learn mute, limit, block switches.
* Added load/save messages to midi-learn.

2016-12-9 Will
* Bugfix: CLI load midi-learn from list had missing return.
* Implemented CLI midi-learn line & list removal.
* CLI can now list individual midi learn lines in detail.
* Sent midi-learn general ops through ring buffer.
* CLI can now change midi-learn CC, chan, min, max.

2016-12-8 Will
* Implemented 'activity' LED for midi-learn.
* CLI history lists now numbered.
* Implemented CLI midi-learn load & save.
* Updated docs.

2016-12-7 Will
* Added new file to dev_notes: System_Values.txt
* Added list file leafname to midi-learn window title.
* Updated docs.

2016-12-6 Will
* Started implementing CLI access to midi-learn.
  Also replaced 'changeLine(' with 'generalOpps(' as it
  is more appropriate now.

2016-12-5 Will
* Small optimsation in crossfade.
* Tidied up code in Interchange and MIdilearn.
* All sliders/knobs mid-learnable except 'Controllers'.

2016-12-5 Jörn
* More tooltips updates.

2016-12-5 Will
* Bugfix: midi-learn scroll bar wasn't working.
* Most sliders/rotary controls now available to midi-learn.

2016-12-4 Will
* Implemented full midi-learn save, load/recent.
* Set windows of vectors and midi-learn to Yoshimi defaults.
* Simplified history type selection in parameters window.
* Bugfix: segfault clicking empty parameters window :(
* Updated docs.

2016-12-3 Patch from : Alexander
* Bugfix: state load wasn't setting keyshifts.

2016-12-2 Will
* Started defining a standardised limits routine.
  This will return min, max, default for any control.
* Bugfix: LV2 was trapping unknown CCs instead of allowing
  them to be passed on to midi-learn!
* More work on limits.

2016-12-2 Merge from : Jörn
* Extensive tooltip upgrade dynamically giving real values.
* Some code style consistency adjustments.

2016-11-30 Will
* First draft of midi-learn saving.
* Bugfix: Had to remove fltk midi-learn warning.
  It goes into a loop on spinboxes :(
* midi-learn load and save both working with default name
  "testmidi" in /home/{user}.

2016-11-29 Will
* Corrected anomaly when changing midi-learn channel numbers.
* Changed 'doublefreqtrack' to 'freqtrackoffset'.

2016-11-28 Merge from : Jörn
* Added button to filter tracking, offsetting range for 0 200%.

2016-11-27 Will
* midi-learn menu changed to buttons.
* midi-learn clear all implemented.
* Running learned controls can now go 'in_place' for LV2.

2016-11-26 Will
* Small midi-learn / Interchange optimisations.
* Direct access global fine detune now goes through ring buffer
  to stop Xruns - particularly with midi-learn.
* Enabled midi-learn of part effect sends.
* BugFix: reinstated direct control of effects.
  GUI not updated :(
* Enabled midi-learn of effects.
* Effects GUI now updated for all except some dynfilter knobs.

2016-11-25 Will
* Implemented the 'delete' function in midi-learn.
* More doc updates!

2016-11-24 Will
* Enabled all midi-learn editors except CC and channel.
* All midi-learn editors now working :)
* Bugfix: Odd control combinations segfaulted - cured.
* Bugfix: Curing old bug in direct access that segaulted on
  invalid kit access stopped all access to kits. Now done.
* Doc updates.

2016-11-23 Will
* Adding new learned lines now fully updates to the Gui.
* Removed test button.
* Number of lines temporarily limited to 128.

2016-11-22 Will
* Enabled midi-learn from CLI direct access.
* Normal CLI can also list current learned lines.
* Implemented (forgotten) AddSynth direct -> gui envelopes
  but still not freemode.
* Updated docs.

2016-11-21 Will
* Partially set up routing for midi learn messages.
* BugFix: Wrong ID for kits allowed part messages to drop
  through causing a segfault.
* Some optimisations in Interchange.cpp
* Filters and envelopes can now be midi-learned but envelopes
  don't update the GUI.

2016-11-20 Will
* Midi learn window now accessible but non-functional.
* Midi learn Gui now has some internal test structure.
* Updated docs.
* Resolved issue with learned controls not all updating :)

2016-11-19 Will
* Made a few corrections and extensions to midi learn.
* Started documenting this.
* Bugfix: reverted change that had killed midi learn :(
* More midi learn refinements.
  Tested limits & status (but no interface yet).
* Created potential GUI based on part kits.

2016-11-18 Will
* Started midi learn. Basic entries in place - not active.
  LV2 behaviour not tested yet.
* Bugfix: Vector window wasn't updated on part change.
* Many controls now midi learnable - can't be deleted.

2016-11-16 Will
* Added 'CoolSound' demo vector definition file to examples.
* Small change to ID GUI controls as MIDI-learnable.
* Updated docs.

2016-11-13
* Direct -> gui filter done (not dynfilter).
* Direct -> gui envelope basics done (not freemode).
* Updated and corrected docs.

2016-11-12 Will
* Bugfix: direct filter gain was changed by wrong control.
* Started direct -> gui filter control.
* Updated docs.

2016-11-11 Will
* Finalised CMake ncurses correction from Giovanni.
* Add more explanatory detail to earliar changes made to
  Bank/Program change in MusicIO.cpp
* Re-instated 'in place' for jack freewheeling. Wasn't in use
  when program load issue arose :(
* Small optimisation to drum mode note base frequency.

2016-11-7 Will
* Improved crossfade dynamics.
* More docs.
* Added 'CrossFade.xiz' instrument to 'examples' files.
  Included 'CrossFade.txt' description.
* Added compiler switch for Note-On time reporting.
  Needs 'Log Load times' checked in settings.

2016-11-6 Will
* Enhanced part onoff control for internal routines.
    0 = off
    1 = on
    2 = inhibit and store last
    3 = restore last
* Direct -> gui LFOs done.

2016-11-5 Will
* Direct -> gui part kits done.
* Direct -> gui part system sends done.
* Direct -> gui resonance graph done.
* Corrected errors in docs.

2016-11-4 Will
* Direct -> gui oscllator done.
* Bugfixes: some oscillator direct access errors :(
* Updated docs.
* Direct -> gui resonance mostly done (not points).
* Minor direct access optimisations.

2016-11-1 Will
* Cmake fix: nucurses now compulsory, but ncursesw optional.

2016-10-30 Will
* Implemented kit item crossfades (in pairs).
* A couple of small bugfixes on the new crossfade.
* Docs updated.

2016-10-29 Will
* Microtonal GUI now only needs 'Apply' button on text fields.
* Setting an invalid root now leaves root and bank unchanged.
* First time bank root IDs now start at 5 spaced 5 apart.
* Added '*' to current root/bank in CLI lists.

2016-10-28 Will
* Separated key shift from main tuning.
* Oops - got that wrong :(
* Microtonal optimisation using a key map table - better!

2016-10-27 Will
* Direct access Bugfixes:
  Oscillator waveshape parameter read returned wrong result.
  Addsynth voice would crash if addsynth GUI not seen.
  Subsynth hamonics GUI slider move reversed.
* Revised GUI data sending to allow reads as well as writes.

2016-10-26 Will
* Started separating out CLI replies from main direct entries.
* Completed separation up to voice level.
* All done!

2016-10-24 Will
* Implemented mising direct modulator 440Hz switch.
* Completed direct -> gui addsynthvoice.
* Updated docs.

2016-10-23 Will
* Bugfix: direct -> gui 440Hz wasn't correct for sub/pad.
* direct -> gui addsynthvoice done apart from modulators.

2016-10-22 Will
* Added Loop mode to Solo feature.
* direct -> gui padsynth completed.
* Updated docs.

2016-10-21 Will
* direct -> gui part kit mode & drum mode done.
* direct -> gui addsynth main completed.
* direct -> gui subsynth completed.
* Updated docs.

2016-10-16 Will
* Completed direct gui system/insert effects.
* More done on direct gui part.
* Gui tooltip correction.

2016-10-15 Will
* Changed GUI channel switcher name to 'Solo'.
* Corrected GUI anomalies with channel switcher.
* New Solo.txt in doc.

2016-10-14 Will
* Moved vectors entry to its own button.
* Rearanged icons.
* Added channel switcher to 'Patch Sets' files.
* Moved Channel switcher GUI control from config to Mixer Panel.
* Added channel switcher controls to direct access.
* Updated docs.

2016-10-13 Will
* Direct gui part base controls mostly done.
* Doc updates.

2016-10-12 Will
* Completed direct gui main controls.
* Starting to populate direct gui part level controls.
* Updated docs.
* Direct gui Add, Sub, Pad vol/vsense/pan controls done.

2016-10-11 Will
* Proved direct gui updates correct for main & part controls :)

2016-10-10 Will
* Ringbuffer size corrections.
* Docs punctuation corrections.
* Started to implement direct access -> gui updates.

2016-10-9 Will
* Gave direct access CLI & GUI independent 'from' ring buffers.
* Improved direct access data transfers.
* Small correction to Vector GUI.
* Improved simple message system.

2016-10-8 Will
* Direct vector access almost complete.
* Updated docs.


2016-10-7 Will
* Small corrections to GUI.
* More work on direct Vector access.
* Updated docs.

2016-10-4 Will
* Started implementing direct access to Vectors.

2016-9-28 Will
* Added more info to /dev_notes and /doc.
* Added three new instruments to "Companion"
* No code changes.

2016-9-26 Will
* Bugfix: AddSynth Mod Amp Env enable now works.
* Applied Jespers batch to make scripts bash/dash compatible.
* Corrected and updated docs.

2016-9-25 Will
* Temporarily reverted actual splash screen to original.

2016-9-24 Will
* Merged splash updates from Jesper.

2016-9-23 Will
* Removed duplicate enable Freq Filter command.
* Bugfix: All AddSynth osc commands were going to the modulator.
* Upgraded and tested build instructions.
* Updated docs.

2016-9-22 Will
* Bugfix: direct access SubSynth Freq Env En was quite wrong :(
* Updated docs.

2016-9-21 Will
* Implemented direct access for AddSynth (not fully tested).
* Setting direct access type bit 0 now only echos byte stream.
* Updated docs.

2016-9-19 Will
* TEMPORARY fix: pad apply parameters wasn't working headless.
  Should probably use a list, not single integer.

2016-9-18 Will
* Implemented Oscillator direct access.
* Updated and corrected docs.
* Small correction to Resonance.
* Minor code optimisations.

2016-9-17 Will
* CLI now strips trailing spaces.
* Implemented PadSynth direct access base controls.
* Updated docs.
* Implemented Resonance direct access.

2016-9-15 Will
* Bugfix: direct access wasn't updating SubSynth overtones.
* Replaced HTML version of control numbers with text version.
* Bugfix: GUI wasn't sending kit number on envelope freemode.
* Optimised some direct access code.

2016-9-11 Will
* Further updates to docs
* New HTML copy of "Yoshimi Control Numbers".
* No code changes.

2016-9-10 Will
* Completed direct access envelope free mode. Oh what fun :(
  Switching from fixed to free and back still to be finalised.
* Revised docs.

2016-9-9 Will
* Revised direct access, now needs 8 unsigned chars.
* Implemented envelope direct controls (not free mode yet).
* Updated docs.
* Implemented LFO direct controls.
* Direct access now recognises floating point 'value'.
* Updated docs.

2016-9-8 Will
* Applied spelling patch from Jaromír Mikeš
* Added warning to dev_notes/Direct_Access.txt
* Now identifies SubSynth bandwidth envelope.

2016-9-5 Will
* Setup for next master version.

yoshimi 1.4.1

2016-9-5 Will
* Changed three instrument patches to the Gzip compressed form.
* If readline can't read its history file an empty one is created.
* Finalised all code and docs for release.
* Set version 1.4.1

2016-9-4 Will
* Added two new sounds to Will_Godfrey_Companion,
  Thin Trem Pipe & Pulse Reed.
* Updated docs for next release.
* No code changes.

2016-9-3 Will
* Regression: Part volume knob sent mixer slider in opposite direction.
* Removed redundant code from Config.
* Removed Tests directory.
  There are much more sophisticated test files now!
* Set version to 1.4.1 rc7
* Bugfix: Listing banks from CLI was enabling all possible ones :(

2016-9-2 Will
* Rationalised max & min key limits to remove overlap - and silence!
* Removed redundant threadmessage tests.
* Minor optimizations to threadmessage process.
* Reporting GUI commands now a build option.
* Set version to 1.4.1 rc6

2016-9-1 Will
* Bugfix: Threadmessage was issued at startup (SynthEngine defaults)
  before threadmessage routine fully initialsed.
* Set version to 1.4.1 rc5

2016-8-29 Will
* Changed priority settings so that adjustment is specific to LV2.
* Pushed program loads out of RT prio completely.
* Added CLI to channel switcher control.
* Updated docs.
* Set version to 1.4.1 rc4

2016-8-28 Will
* Bugfix: Parts failed to load from Bank window if part MIDI
  number was not the same as the part number (MOD 16).
* Vectors now fully obey channel switcher in 'Row' mode.

2016-8-27 Will
* Bugfix: If Startup had to change MIDI or audio engines it didn't
  set configChanged, so change was made permanent without warning.
* Commented out unused code in Config.
* Bugfix: 'Reset' wasn't clearing channel switcher GUI.
* Made channel switcher and vectors play nice - mostly!
* Set version to 1.4.1 rc3

2016-8-26 Will
* Bugfix: GUI was being disabled on close with multiple instances.
* Corrected settings messages for higher instances.
* Revised shortform NRPNs for channel select.
* Implemented channel select setup via GUI.
* Set version to 1.4.1 rc2

2016-8-25 Will
* First time startup now correctly sets current bank.
* Updated short guide.
* Set version to 1.4.1 rc1

2016-8-24 Will
* Moved current root and current bank to instance config files.
* GUI button numbers no longer shown in direct access.

2016-8-23 Will
* Separated out instance settings from main config file.
* Added GUI and CLI enable/disable to 'Switches'.
* Pushed gzip, splash, GUI enable & CLI enable into base params.
* Base params now hidden in secondary instances.

2016-8-22 Will
* Sample rate, buffer size, oscillator size now settable by first
  instance only (but visible to others).

2016-8-21 Will
* Commented out Config::showQuestionOrCmdWarning(
  never seems to be called.
* More doc updates and clarifications.

2016-8-20 Will
* Bugfix: Part change was calling for gui update before loading had
  completed :(

2016-8-18 Will
* Bugfix: If part kit items were enabled but the whole kit was 'off'
  the items were correctly saved, but not reloaded.
* Added 'Pad Kit' to 'Will_Godfrey_Companion'.
* Added missing copyright notice to some instrument patches.

2016-8-16 Will
* Loading untitled instruments now uses the filename.
* Loading "Simple Sound" changes the name to "No Title".
* User prevented from changing name *to* "Simple Sound".
* Bugfix: xml minimal had been set for patch set saves.

2016-8-15 Will
* Removed redundant (duplicated) part number settings.
* Improved vector control consistency.
* Vector data now stored in patch sets and saved state.

2016-8-14 Will
* Moved buffer size, oscillator size, sample rate into
  config BASE_PARAMETERS.

2016-8-13 Will
* Moved LV2 root/bank/program change into ringbuffer and adjusted RT
  priorites for best results when loading *huge* instrument patches.

2016-8-12 Will
* Inproved direct access to filters - Only dynfilter to do now!.
* Updated docs.
* Completed direct filter implementation.
* Updated docs (again).

2016-8-11 Will
* Bugfix: CLI wasn't loading upper set instruments (128+).
* Tidied up NRPN vector control.
* Added more error messages to 'non fatal' category.
* Implemented most of the direct access for filters.
* Updated docs.

2016-8-10 Will
* Implemented simple internal text messaging system.
* Added autoload state to CLI and NRPNs.
* Added instrument load time to CLI and NRPNs.
* Updated docs.

2016-8-9 Will
* Slow program load no longer freezes GUI
* Bugfix: Very obscure! Made some program load ops fail if number was
  less than 4 digits and there was a space in the name where the first
  character would otherwise be.
* Updated LV2 for new MiscGui files.

2016-8-8 Will
* Defined direct commands for 'set default' and 'MIDI learn'.
* Activated CLI ID.
* Updated docs.

2016-8-7 Will
* Created src/UI/MiscGui.h to become only link between synth & GUI.
* Bugfix: Effects 'home' on right click had failed.
* Bugfix: AddSynth resonance wasn't showing on GUI button 2.

2016-8-6 Will
* Started actual direct control of filters.
* Added root and bank load times but in uS!
* minor doc updates.

2016-8-4 Will
* Bugfix: At startup all enabled parts were registering direct O/P
  when not actualy directed to part/both.
* Load time reporting now has its own switch.
* Added 'Switches' tab to Config window and moved them from 'Main'.

2016-8-4 Will
* Added load time (mS) to instrument load message.
* New feature: Auto-load default state.

2016-8-2 Will
* Applied gentoo build patches.
  (doesn't seem to make any difference to other distros)

2016-7-31 Will
* Updated docs - no code changes.

2016-7-30 Will
* Optimised parameter handling in direct access.
* Updated docs.

2016-7-28 Will
* Implimented direct access to effect inserts, but not the actual filter
  (sub) insert in dynfilter.
* Added 'Effect_Inserts' file to dev_notes.
* Updated other direct access docs.

2016-7-27 Will
* Bugfix: System effect sends wasn't reporting scroll wheel use.
* Added system and insertion base effect controls to direct access.
* Updated docs.

2016-7-24 Will
* Bugfix: Direct access reading harmonic values returned the wrong result.
* Added missing direct access part controls. Dunno how I missed them :(
* Updated docs.

2016-7-23 Will
* Completed Subsynth controls (not the inserts).
* Corrected doc errors :(

2016-7-22 Will
* Started implementing direct access to SubSynth controls.

2016-7-20 Will
* Minor doc corrections - no code changes.

2016-7-15 Will
* Bugfix: hadn't included new Interface files in LV2 :(

2016-7-14 Will
* Changed virtual keyboard roller to slider.

2016-7-5 Will
* Small doc updates - no code changes.

2016-7-1 Will
* Small format change in GUI access reports.
* doc updates, including new file /dev_notes/Direct_Access.txt

2016-6-29 Will
* Implimented direct access to part controllers and up to Kits.
* Updated docs.
* Completed kit level direct access.
* Revised some control values.

2016-6-28 Will
* Adjusted some GUI engine numbers so they all match.
* Implimented direct access to main and basic part controls.
* Bugfix: Ring buffer count was wrong.

2016-6-27 Will
* Created new Interface directory.
* Created new InterChange file in Interface directory.
* Moved GUI ID files from SynthEngine to InterChange.
* Moved CmdInterface to Interface directory.
* Implemented direct CLI access to some part controls.
* Implemented ring buffer between interchange and final sound.

2016-6-26 Will
* Added GUI warnings when audio or midi not availalble.
* Corrected and improved new user guide.

2016-6-25 Will
* Created new quick guide as ODF in doc directory.
* Updated notes.
* No code changes.

2016-6-18 Will
* Implemented missing 'home' function in formant filter controls.
* Minor adjustments to formant filter GUI layout.

2016-6-17 Will
* Added format test to CMakeLists.txt - commented out on pushes.
* Reinstated identification of controls.

yoshimi 1.4.0.1

2016-6-16 Will
* Bugfix: missing format string in VectorUI :(

yoshimi 1.4.0

2016-6-13 Will
- Set version to 1.4.0 for release.
- Implemented shortform NRPN channel change.
- Bugfix: Vector X CC didn't enable lowest part.
- Added extra sanity checks to vector control.

yoshimi 1.4.0 rc6

2016-6-10 Will
- Bugfix: 'home' on some controls updated the GUI but didn't send.
- Bugfix: Missing 'includes' in LV2 CMakeLists.txt :(

yoshimi 1.4.0 rc5

2016-6-10 Will
- Bugfix: Subsynth & Oscillator harmonics fundamental homed wrongly.
- Bugfix: Virtual keyboard controler showed wrong home setting.
- Made all forms of vector incoming CC initialising consistent.
  Available parts incremented if necessary & parts enabled.
- Setting GUI incoming CC only set to 14 if a lower value entered.
- More adjustments to knobs and sliders.
- Modified '64ft Organ'. Sounds the same but Extreme LF balanced.
- Modified 'Tomita Whistle'. Attack time was too short.

yoshimi 1.4.0 rc4

2016-6-7 Will
- Brought in extended slider controls from Rob's ideas.
- Modifed knobs for similar mouse wheel behaviour.
- Bumped rc version.
- Added existence check when saving vectors.

yoshimi 1.4.0 rc3

2016-6-7 Chris
- Replaced buggy file extension test.

2016-6-4 Will
- Effects knobs home correctly.
- Removed now unnecessary reset buttons.
- CLI histories reporting now includes vectors.
- Added fix from Frank for c++11 issues with older compilers.
- Bugfix: default l/r cross for Echo and Distortion effects.

2016-6-3 Will
- All knobs 'home' on right mouse click except effects.

yoshimi 1.4.0 rc2

2016-6-2 Will
- Bugfix: vector 'Clear' was removing all vector names.
- Added 'Clear All' to vector options.
- Forgot to ID the mixer panel controls :(

yoshimi 1.4.0 rc1

2016-6-1 Will
- Completed implementation of pitch bend adjust and offset.
- Corrected wrong opening tab in PadSynth window.
- Vector window now fully in sync with rest of GUI.
- Voice list controls identified.
- Docs updated.
- Master version set for rc1.

2016-5-31 Will
- Reviewed instrument name boxes to make them clearer.
- Partial implementation of pitch bend adjust and offset.
- Vector name box always now has text.
- Updated tooltips.

2016-5-30 Will
- Bugfix: Default resonance was showing 30dB but was actually 20dB.
- All horizontal sliders now home on a right click.
- Made GUI sliders clearer and more consistent.
- More doc updates.
- Added brackets to some code to remove possible ambiguity.
- Vector instruments now have the engine colours.

2016-5-29 Will
- Implemented Zyn. compatible AddSynth modulator fixed frequency.
- Updated some docs.
- Implemented Zyn. compatible PWM modulator.
- Bugfix: MORPH modulator is now correct.

2016-5-28 Will
- Vector control 'Clear' implemented.
- Improved Vector GUI structure.
- Identified vector controls.
- Updated docs.

2016-5-27 Will
- Mixer sliders now right click to home position.
- All vector options implemented except 'Clear'.

2016-5-26 Will
- Initial implementation of GUI vector control.

2016-5-25 Will
- Refinements to system and insertion effect selectors
- Updated docs
- Added auto build update.

2016-5-24 Will
- System sends now identified :)

2016-5-23 Will
- Added aftertouch recognition to LV2 (not actually used yet)
- Identified part to system effect sends.
- Identified insert and system effect controls (not system sends)
- More adjustment to control ID numbers.
- Yoshimi now has a build number :)

2016-5-22 Will
- Bugfix: Kit level IDs were wrong.
- Updated docs.

2016-5-21 Will
- Effects controls now mostly identified.
- Yoshimi now only sets a single client if jack is both midi & audio

2016-5-20 Will
- Rearanged some control values.
- Corrected amp/freq lfo anomaly.
- Changed engine numbers.
- Updated docs.
- Started Identifying effects controls.
- Reviewed files to remove GCC6 warnings.

2016-5-19 Will
- Completed moving controls ID text from GUI to main code.
- Corrected dev-notes/Yoshimi Controller Numbers.ods
- Completed Envelope control IDs.

2016-5-18 Will
- Started moving controls ID text from GUI to main code.
- New sound Pad Organ :)

2016-5-17 Will
- Identified controls in Part Controllers.
- Updated dev-notes/Yoshimi Controller Numbers.ods

2016-5-16 Will
- Updated some tooltips
- Documentation now covers all implemeted controls.
- Identified top level controls.
- Adjusted some control numbers for conformity.

2016-5-15 Will
- Changed Resonance interpolation control to clarify two types
  and reorganised layout of neighboring controls for uniformity.
- Bugfix: Filter control had wrong ID
- Bugfix: LFO had wrong insert parameters.
- Bugfix: Got interpolation button names the wrong way round :(
- Documented most of the defined controls in dev-notes
- Bugfix: SubSynth wrong control ID.
- Bugfix: PadSynth missing control ID

2016-5-14 Will
- All Identifed data now passed to synthengine in uniform manner.
- Bugfix: Right click on mod oscilator didn't close AddVoice window.
- Mostly Identified Envelopes (not fee mode).
- Identified most of basic part controls.

2016-5-13 Will
- Identifed Resonance controls.
- Moved max resonance points definition to CMakeLists.txt
  and changed to more obvious name. In future we want to check
  this size outside immediate resonance code.

2016-5-12 Will
- Identified AddSynth & PadSynth oscillator controls.
- Included Adsynth Voice & Modulator controls.

2016-5-11 Will
- Improved SubSynth ID code.
- Corrected swapped controls in filters.
- Identifed AddSynth global controls.
- Identifed PadSynth controls.

2016-5-10 Will
- All of SubSynth identified (except embedded envelopes).

2016-5-9 Will
- Bugfix: Different versions of CMake require different ways of
  specifying C++11

2016-5-8 Will
- Filter params complete.
- Small improvement to the way we return control values.

2016-5-7 Will
- Yoshimi now requires C++11
- All parts of LFO now respond to test.
- Filter params mostly responding to test.

2016-5-6 Will
- Tests slightly improved and will now display in the GUI or CLI
  whichever is selected.

2016-5-5 Will
- Added GUI recognition tests (displayed in the CLI)
  Volume button on any Addsynth Voice
  Freq button on any LFO

2016-5-4 Will
- Bugfix: offset could be uninitialsed in history saving routine.

2016-5-3 Will
- Implemented setting jack autoconnect status in both GUI and CLI.

2016-5-1 Will
- Completed right click to and from resonance
- First-time startup now opens the virtual keyboard.
- Fixed master and part key shift range limits to +-36 semitones.
- Implemented master, part & channel NRPN key shift.

2016-4-30 Will
- Implemented right click on child window button closes parent
  and right click on child close button opens parent.
  To and from resonance yet to do.

2016-4-29 Will
- Bugfix: file not added to end of history list if copy had
  just gone over the maximium, so was still technically there
  but wouldn't have been saved.
- Reinstated missing XML instrument parameters, although never used.

2016-4-28 Will
- Implemented CLI read/get for vectors.
- Improved CLI vector listing.
- Improved sync between CLI and GUI for effects.
- Removed temporary 'test' command from CLI.

2016-4-27 Will
- Code cleanups.
- History optimisations.
- Made history variable names consistent.
- More work on CLI read/get.

2016-4-26 Will
- Refactored 'history' so only one common file is created.

2016-4-23 Will
- Added 'get' alias to the 'read' command.

2016-4-22 Will
- Started to implement CLI read values.
- Rationalised some error messages.
- Detached some direct part access from gui.

2016-4-8 Will
- Bugfix: CLI vector Y fetures now correctly set.

2016-4-5 Will
- Extra CLI error check when loading vectors.

2016-3-30 Will
- Improved CLI error checks when setting vectors.

2016-3-29 Will
- Rationalsed allowable sizes for sample rate and Oscilsize so all
  input routes have the same limits.

2016-3-28 Will
- Bugfix: Min Oscilsize is 256 but would allow less at CLI resulting
  in a segfault. GUI seemed to accept 128 but silently changed it :(

2016-3-27 Will
- Bugfix: Setting default preset path was being indicated in the GUI
  but wasn't being actioned :(

2016-3-26 Will
- Added "Ignore reset all controllers" to MIDI config.

2016-3-25 Will
- Added error check for invalid vector files.
- Bugfix: if jack not running and ALSA not available yoshimi
  sometimes segfalted.
- Splash screen can now be disabled.
- Added 'Tomita Whistle' instrument patch.

2016-3-23 Will
- Implemented CLI Vector save and load.
- Minimum CLI abbreviations capitalised.
- Reorganised CLI vector features setting.
- Giving no channel number for vector load now loads to the same
  channel as it was saved from.
- Now ensures the channel numbers are correct for all four parts.

2016-3-21 Will
- Bugfix: All file loads incorporating scales now correctly tuned.
- CLI can now load and save scales.
- Small adjustment to scales window.

2016-3-20 Will
- CLI can now load and save states.
- Whenever scales are loaded via GUI tunings are also now applied.

2016-3-19 Will
- Reorganised startup so that bank and history loading
  doesn't slow down intial stand-alone display, as this
  had made some users think it had failed, so tried again.
  LV2 startup as before.
- CLI can now list recent histories.

2016-3-18 Will
- Patched CMakeLists.txt to make it more distro agnostic.

2016-3-16 Will
- Fixed regression: LV2 gui now displays correctly again.

2016-3-13 Will
- Minor doc corrections and updates.

2016-3-10 Will
- Reorganised CMakeLists.txt files for better integration with
  different distros, and to recognise LV2_PATH.

2016-3-8 Will
- Bugfix: CMakeLists.txt now recognises both ncurses and ncursesw.
- Bugfix: Default presets were only being set if there were none in
  the .config file, but not if there was no config file!
- Max preset directories set to 128 (same as roots and banks).

2016-3-5 Will
- Console now adds entries at the start.
- matchWord now case insensitve to reference word as well as input.
- More messages can be suppressed.

2016-2-28 Will
- Updated docs.

yoshimi 1.3.9

2016-2-28 Will
- Effect preset number is now included in prompt.
- Removed duplicate instrument "0085-old_pad.xiz from Mysterious bank.
- Set version to 1.3.9 for release.

2016-2-26 Andrew
- Bugfix: in 'main' another GCC6 issue.
- Set version for rc3

2016-2-25 Will
- Bugfix: another GCC6 incompatibility resolved.
- Set version for rc2

2016-2-21 Andrew
- setCurrentRootID properly fixed.

2016-2-21 Will
- Reorganised CLI root and bank commands.
- Implemented creating & deleteing new banks in CLI.
- Bugfix: deleting bank failed if there was no .bankdir file.
- Set version to 1.3.9 rc1.

2016-2-19 Will
- Corrected desktop file.
- Updated docs & screen images.

2016-2-18 Will
- Bugfix: CLI can again list current bank/root.
- Bugfix: on debian testing GUI was locking up if you reduced the ID of the
  last root path in the list.


2016-2-17 Will
- Instrument file changes are now individually checked after the attempt
  instead of tested for writability in advance.
- Path window no longer offers save/not on close - always saves.
- Bugfix: above changes didn't update gui correctly :(

2016-2-15 Will
- Fixed regression. Moved bank and history loading back into config.
  Previous change didn't improve startup behaviour and messed with LV2.
- Created 'stateChanged' variable for future use.

2016-2-14 Will
- Removed jack/alsa tests from CMakeLists.txt It's now redundant.
- Re-enabled up to 128 roots and banks and removed redundant maximum
  test - MIDI can't send > 127 and command line does it's own check.
- Updated docs.
- Added 'Muted Synth' instrument patch.

2016-2-14 Andrew
- Removed ControlInterface (obsoleted) + fixes for gcc-6

2016-2-8 Will
- GCC 6 fix?

2016-2-7 Will
- Corrected man page.

2016-2-1 Will
- Fixed regression. Config was being resaved when nothing had changed.
- Refined message hiding. Applies to Reports console and CLI. Hiding
  is also independent from those forced to CLI only.

2016-1-31 Will
- Small gui correction to remove unnecessary scroll bar.
- Recent Scale/State now greyed out if empty.
- Bugfix: Wrong name in CMakeLists.txt failed in some environments.

2016-1-30 Will
- Corrected some GUI text and tooltips.
- Added check for ncurses in cmake.
- MAX_HISTORY now set to 25 in CMakeLists.txt
- Banks file now follows compression schedule.
- Current available parts now stored in 'MASTER' part of patch sets.
- .config & .state now marked as yoshimi only.

2016-1-29 Will
- Added scale list to history file and recent scales to GUI.
- State list and recent states also added.

2016-1-28 Will
- Bugfix: Loading saved state now correctly sets buffer size.
- Duplicated calls to state XML data removed.
- Initial implementation of non-fatal error report hiding.

2016-1-27 Will
- Reorganised grouping of main .config file
- New config files that are unique to Yoshimi now carry the yoshimi
  doctype instead of the ZynAddSubFX one.
- minor doc spelling corrections.
- Fixed regression. Alsa can have sample rate selected again.
- Trial of 192000 sample rate.

2016-1-26 Will
- Patch Sets History no longer in main .config file but in new
  .history file, subsection "PATCH_SETS"

2016-1-25 Will
- Added correct licence details to CmdInterface files.
- Synchronised Exherbo cmake.

2016-1-24 Rob
- Furhter improvements to cmake workround.

2016-1-24 Will
- Minor reorganisations.
- Only relevant XML files now carry base parameters.
- CLI no longer sets configChanged when altering the new banks file.

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.
