Qsynth - A fluidsynth Qt GUI Interface
--------------------------------------

ChangeLog

0.2.6   2007-04-14  Nitpicking season closed :)

- Main panel window now keeps its previous iconic state on system tray,
  on application restart (thanks to Chris Cannam for hinting this one).

- Minor optimization in peak level meters update rate. Alternate but
  faster inline lroundf() function implementation is now used.

- Most top-level widgets were missing the normal-widget flag, which
  were causing some sticky size behavior on some window managers.

- Messages and channels window captions can now be set smaller as
  tool-widgets, in effect when child windows are kept always on top.

- While on the engine setup dialog, the ALSA sequencer client identifier
  is now also disabled depending on the MIDI input option setting.

- Experimental soundfont loader which prevents RAM image duplication
  if more than one engine loads the same soundfont file. Server-mode is
  now supported on multi-engine configurations by auto-increnmenting the
  shell socket listening port (both patches handed by Dave Searls, thanks).

- Engine name gets through the respective tab title when created. Fixed
  engine delete button enabling on the main window.

- Changed deprecated copyright attribute to license, on qsynth.spec (RPM).

- Added configure support for x86_64 libraries (Pedro Lopez-Cabanillas).

- GPL address update.


0.2.5   2006-03-05  Fancy dial knobs and effective bank-offsets.

- New dial-knob behavior now follows mouse pointer angular position,
  almost similar to old QDial, but this time avoiding that nasty and
  rather abrupt change on first mouse click.

- By simple use of widget subclassing, the value/position of any dial
  knob can now be reset to its default or original position at any time,
  by simply pressing the mouse mid-button. These default value positions
  are just committed to current dial values when switching engines and/or
  closing the application.

- Optional specification of alternate fluidsynth installation path
  has been added to configure command arguments (--with-fluidsynth).

- After some source code tweaks, a win32 build is now possible.
  (instructions will be provided on demand :)

- Bank offset finally gets its due effect, while on the channels and
  channel preset selection dialogs. Regretfully, the soundfont bank
  offset feature has been lurking ever since its inception, but now
  its live and hopefully effective.

- A new fancy widget has arrived, qsynthKnob, with some modifications to
  replace the actual *ugly* QDial widgets in the main window. This widget
  is based on a design by Thorsten Wilms, formerly implemented by Chris
  Cannam in Rosegarden, and finally adapted and brought to Qsynth by
  Pedro Lopez-Cabanillas. Thankyou all.


0.2.4   2005-10-02  Bug and some other usability fixes.

- All widget captions changed to include proper application title prefix.

- Attempt to bring those aging autoconf templates to date; sample SPEC file
  for RPM build is now being included and generated at configure time.

- Missing icons on channel and soundfont setup context menus are now up;
  bank/program splitter widget added to channel preset dialog.

- An abrupt segfault on engine restart have been finally fixed; this issue
  has been quite an annoyance which has been around for ages and was a
  highly probable showstopper just when restarting an engine due to changes
  on the setup settings. Not anymore, hopefully.

- New tool buttons were added to the main widget, for adding a new engine
  and removing the current one, while trying to increase the visibility of
  multiple fluidsynth engine capability (for new users, at least :)

- Set to use QApplication::setMainWidget() instead of registering the
  traditional lastWindowClosed() signal to quit() /slot, just to let
  the -geometry command line argument have some optional effect on X11.

- Minor configure and Makefile install fixes, as Debian and Mac OS X
  specialties. Also, install does the right thing with target file modes
  (thanks to Matt Flax and Ebrahim Mayat, for pointing these out).

- Fixed output disability when messages limit option is turned off (thanks
  to Wolfgang Woehl for spotting this one, while on qjackctl).


0.2.3   2005-05-24  System tray icon and menu option.

- New option for system tray icon and menu, which is known to be effective
  on KDE enabled desktops; support for freedesktop.org's system tray protocol
  specification has been included so this maybe also effective on Gnome2.

- Setup options for alternate MIDI and Audio devices were introduced.

- Output level meters get smoother and slightly layout optimized.

- Set to ignore the SIGPIPE ("Broken pipe") signal, where available, as the
  default handler is usually fatal when a JACK client is zombified abruptly.

- Messages window limit is now enforced only when the line count exceeds
  in one third the user configured line count maximum; if Qt 3.2.0+ is in use,
  the QTextView widget is otherwise set to the optimized Qt::LogText format.

- Updated Mac OS X build instructions (README-OSX, by Ebrahim Mayat).


0.2.2   2004-10-08  Output level peak meters and other fixes.

- Minor configure fixes.

- Meanwhile, XPM icon(s) were brainlessly converted to PNG format.

- Engine panel settings are now properly saved on stop/restart.

- Icons were added to the engine tab selector context menu.

- Master gain front panel control gets rescaled and now ranges
  from 0..200, with midpoint at 100 (unit gain).

- Added Mac OS X build instructions (README-OSX, by Ebrahim Mayat).

- Soundfont bank offset option gets its trial time (EXPERIMENTAL);
  please note that fluidsynth 1.0.5 is needed to build on this feature, 
  which is being properly detected and only enabled at configure time.

- Output level peak meters are now featured as an option (EXPERIMENTAL),
  which must be explicitly enabled on setup for those to show up;
  in addition, overall GUI refresh cycle period has been reduced from
  200 to 100 msec.

- Top level sub-windows are now always raised and set with active focus
  when shown to visibility.


0.2.1   2004-04-30  Important internal fixes.

- Channels window reset when switching engines isn't destructive
  anymore; also reverb and chorus activation were not being correctly
  updated; these were quite annoying bugs, now fixed.

- Corrected MIDI/Audio driver settings that were being obliterated from
  the setup dialog option lists; this was causing the impossibility to
  choose an appropriate driver on certain systems where "alsa_seq" or
  "jack" may not be available by default (e.g. MacOSX, thanks to Ebrahim
  Mayat).
  
- The dash (-) is now a legal character for preset names.

- Translation support for the default preset name "(default)".

- Delete preset confirmation warning message.

- Messages window pops up whenever a critical error message is issued.


0.2.0   2004-03-21  Multi-instance comes to town.

- Multiple fluidsynth engines can now be maintained, with different
  settings, MIDI and Audio drivers, and more interestingly distinct
  soundfont stacks. The main user interface has been minimally
  improved to accomodate this new paradigm, but whole application
  internals have been massively rewritten.
  

0.1.3   2004-02-29  More work in progress.

- Message window line limit is now a configurable option on setup.

- ALSA sequencer client name may now be internally set; not of great use
  for now, but it opens the ground for future workings.

- JACK multiple output port mode may now be configured on setup.

- Makefile.cvs makes its late entrance on the build toolset.


0.1.2   2004-02-16  Work in progress.

- Messages and Channels pop-up windows are not hinted as dialogs anymore
  and thus are not centered relative to parent main window which has become
  a strict Qt dialog widget behaviour (as of Qt 3.3+).

- Soundfont setup dialog changed to open and load multiple files at once.

- New setup option on wether all child windows are kept on top of the main
  window, or otherwise floating with probable taskbar entries of their own.

- Setup changes that are only effective next time the program is run gets
  an informational message box shown to the user.


0.1.1   2004-01-22  Yet more minor bugfixes.

- Messages color retouching.

- Popup menus memory leak fixed.


0.1.0   2003-12-29  Channel preset breakout.

- Added channels breakout and program preset view and edit windows,
  including a simple preset/profile management feature where the complete
  channel program assignments may be referenced and saved by name.

- Drag and dropped soundfont files are now accepted for immediate load.

- Messages window fallback fix.

- Standard output/error stream capture setup option; handler retouched
  to be line buffer oriented.


0.0.3   2003-12-12  Few tiny changes so far.

- Single shot timer and restart code path had a graceful rewrite.

- Messages window blankness rendering fix.

- Configure time detection of 'round' library function availability.

- Player drag and drop feature has been prepared, but somehow the
  internal MIDI player function is still broken.


0.0.2   2003-11-26  Minor bugfixes.

- Gain, Reverb and Chorus front-panel settings are now loosely scaled
  and properly clipped; this is a first attempt to avoid unstable sound
  feedback behaviour namely on Reverb.

- MIDI input status led stickyness have been fixed.

- Soundfont open dialog now uses uppercase filter too (*.SF2).

- New configure time argument debugging support (--enable-debug).


0.0.1   2003-11-15  Primordial release.

