$Id$

2008-10-18 Manuel Bilderbeek <manuel@msxnet.org>
	* Go to play state before loading savestate, which is what you expect.
	  TODO: when loading state fails, you can get a nasty blink
	  effect (openMSX window becomes visible for a short time). Fix this.
	* Use custom widget to scale preview of save state.

2008-09-24 Manuel Bilderbeek <manuel@msxnet.org>
	* Added graphical preview (fixed image size of 320x240) of save state
	  in save state manager. Just as cool as the OSD variant :)

2008-09-21 Manuel Bilderbeek <manuel@msxnet.org>
	* Added Quick Load and Quick Save of state in File dialog
	* Added basic save state manager (load, save, delete), text only

2008-06-24 David Heremans <david.heremans@gnu-linux.net>
	* softwaredb can now correctly launch the software:
	  - Set correct media
	  - Included support for extensions
	  - CTRL-pressed-during-boot if needed

2008-06-18 Manuel Bilderbeek <manuel@msxnet.org>
	* Remove machine from ignore list as soon as it gets deleted, don't
	  remove it explicitly anymore
	* NOTE: Refreshing machine list does not cause a crash anymore, thanks
	  to an earlier fix by Maarten

2008-06-10 David Heremans <david.heremans@gnu-linux.net>
	* Implement new way for the softwaredb to switch machines.
	  The softwaredb can now launch the needed machine, thus avoiding
	  the racecondition from the previous code (see comment in the code)

2008-06-06 David Heremans <david.heremans@gnu-linux.net>
	* Use pythons own sqlite3 (internal package for python 2.5) if
	  available before trying the external pysqlite2
	* Correctly hide the 'split' preview in extension and machineselector
	  if not the openMSX-CD version

2008-06-02 Manuel Bilderbeek <manuel@msxnet.org>
	* Show all data in columns also as tooltip in hardware selector.
	* Show reason for not working config in tooltip.

2008-06-01 Manuel Bilderbeek <manuel@msxnet.org>
	* Finally committed testing of machines. Makes machine query a lot
	  longer (from 2 to about 13 seconds on my machine). TODO: find a way
	  to speed this up. Note: refresh will cause a crash, probably due to
	  an older bug. Another TODO: add testing of extensions.

2008-05-27 David Heremans <david.heremans@gnu-linux.net>
	* Fixed a spelling mistake. Also in the db files, so don't
	  forget to run the autorunfilldb.py in the tools dir.

2008-05-24 Manuel Bildebeek <manuel@msxnet.org>
	* More restructuring of media.py: use baseclasses to factor out common
	  code between different media handlers.
	* Attempt to create persistent mappertype history.

2008-05-16 David Heremans <david.heremans@gnu-linux.net>
	* Some tweaks and added the final page in the softwaredb dialog.
	  No functionality yet.

2008-05-14 David Heremans <david.heremans@gnu-linux.net>
	* Added slideshow widget to extension selection 
	* Added splitters to machine and extension selectors so 
	  that users have more control about the size of the images

2008-05-09 David Heremans <david.heremans@gnu-linux.net>
	* Made openmsxcd a CLI switch '--cd'
	  Use 'make runcd' to correctly start this
	* Added slideshow widget to machine selector and ext selection.
	  For now only partial functional for machine selector. Currently
	  reads images from /opt/openMSX/share/images/<machine-id>.jpg

2008-05-08 Manuel Bilderbeek <manuel@msxnet.org>
	* Enable multiple select for IPS patches for easier manipulation
	* Fixed bug when browsing media

2008-05-02 Manuel Bilderbeek <manuel@msxnet.org>
	* Temporarily fix bug in volume settings... TODO: make SettingsManager
	  framework machine aware... (and AudioMixer as well)
	* Use special baseclass for patchable media, to prevent keeping
	  patchlists for media that cannot even have patches.

2008-05-01 Manuel Bilderbeek <manuel@msxnet.org>
	* More refactoring: (re)introduce MediaSlot class and put slot
	  specific code in it (and its subclasses). TODO: move
	  cassettedeckstatemodel to this as well.
	* Use this to properly update the tape length view when switching
	* And use this to integrate CassetteDeckStateModel into the actual
	  CassetteDeck (new name of CassetteMediaSlot)

2008-04-20 Manuel Bilderbeek <manuel@msxnet.org>
	* Refactor MediaSlot to Medium. Goal is to be able to make subclasses
	  of Medium to put medium specific functionality in (e.g. get
	  tape length)
	* Disable some buttons in media page when they are not applicable.
	* Start using subclassing for Medium, put cart specific stuff
	  (mapperType) inside specialized CartridgeMedium

2008-04-19 Manuel Bilderbeek <manuel@msxnet.org>
	* Added IPS patch selection per media
	* Improved mapper type selection (was global, now per slot)
	* Made mediamodel machine aware, to prevent problems when
	  switching machines
	* Refactored MediaSwitcher to put all media specific code in
	  the MediaHandler classes to reduce code duplication
	* Added setVisible and setInvisible triggers to handlers, so that
	  they can do something if the visibility changes of the media page
	* Use the previous to prevent useless polling of tape position when
	  the counter is invisible.
	* This helps to prevent huge problems when the cassetteplayer is
	  removed (switch to turboR)

2008-03-17 Manuel Bilderbeek <manuel@msxnet.org>
	* Display tape position and size, using the new cassetteplayer
	  subcommands.

2008-03-16 Manuel Bilderbeek <manuel@msxnet.org>
	* First version of cassette deck controls.
	  TODO: handle machine switches and related things.

2008-02-10 Maarten ter Huurne <maarten@treewalker.org>
	* Create application folder on Mac OS X.

2008-01-27 Maarten ter Huurne <maarten@treewalker.org>
	* Restructured archive: put Python code in "src", UI design and icons
	  in "res" and generated files in "derived".

2008-01-18 David Heremans <david.heremans@gnu-linux.net>
	* Only apply idle command when autorun
	* Checked for instanciated __ui when handling power events

2008-01-11 David Heremans <david.heremans@gnu-linux.net>
	* Basic functionality from autorun now complete:
	  1. start openMSX with software from dropdown
	  2. stop openMSX after idle timeout
	  3. restart timer, select next software from dropdown
	     and back to step 1.
	* Don't "autorun" when openMSX is manually started

2008-01-09 David Heremans <david.heremans@gnu-linux.net>
	* Some code clean up
	* More work on the autorun dialog, it can now actually launch the
	  select software title once the timer reaches zero.

2008-01-08 David Heremans <david.heremans@gnu-linux.net>
	* First upload of the custom slideshow widget
	  and first steps to an autorun dialog.

2007-12-27 Manuel Bilderbeek <manuel@msxnet.org>
	* Added context menu for settings widgets which reverts the setting to
	  its default value (by sending unset <setting> to openMSX).

2007-12-24 Manuel Bilderbeek <manuel@msxnet.org>
	* Added Load and Save As for settings.
	* Used Tcl to save the current value for renderer.
	  TODO: just discovered that the Player crashes after loading
	  settings. Fix!

2007-12-22 Manuel Bilderbeek <manuel@msxnet.org>
	* Added global mute setting control in the Audio tab.

2007-12-21 Manuel Bilderbeek <manuel@msxnet.org>
	* Added Advanced Audio Controls (click button to show) in the Audio tab.

2007-12-16 Manuel Bilderbeek <manuel@msxnet.org>
	* Added graphical printer resolution setting, the first setting in the
	  connector tab.
	* Added auto run cassettes option in cassette page of media tab.
	* Added button to make the current machine default (not very useful
	  yet).
	* Added menu items to save settings and to control auto save settings
	  on exit. Now you can persist the default machine.
	* Pop up configuration dialog if openMSX executable isn't specified
	  yet. TODO: handle errors when wrong executable is specified.

2007-12-15 Manuel Bilderbeek <manuel@msxnet.org>
	* Double-click to center in balance controls to the Audio tab
	* Big clean ups and addition of Enable All and Enable None buttons in
	  Trainer Selector.
	* Added monitor-type control, which is a bit messy, because it's an
	  openMSX setting implemented in Tcl and not natively... No back sync
	  possible, e.g.
	* Added a new Misc tab with controls for emulation speed, frame skip
	  and CPU frequency.
	* TODO: Z80/R800 settings are reset by openMSX when machines are changed
	  (Note: this got fixed in openMSX later.)

2007-12-14 Manuel Bilderbeek <manuel@msxnet.org>
	* Improved AudioMixer:
	  - use stretch to keep channels at the top if there are few
	  - use scrollarea to get scrollbar (not bigger window) when there are
	    many

2007-12-13 Manuel Bilderbeek <manuel@msxnet.org>
	* Added first version of balance controls to the Audio tab

2007-12-02 Manuel Bilderbeek <manuel@msxnet.org>
	* Display frame rate in status bar.
	* Update audio mixer in a much better way. Makes the code in audio.py
	  a lot more elegant and also fixes a crash when switching machines.
	  For this it was needed to add machine id's to all update callbacks
	  and use those for the setting names in the settings manager. This is
	  because first all devices for a new machine get added and then all
	  devices of the old machine get removed, when switching machines.
	  Makes you wonder where we should actually use machineId as well!

2007-12-01 Manuel Bilderbeek <manuel@msxnet.org>
	* Added a few missing video settings
	* Refactored special stuff that is necessary for float and enum
	  settings. Most of this moved from catapult.py to settings.py.
	  TODO: also improve the mechanism that sets limits to sliders
	  and fills comboboxes, etc.
	* Now also refactored setting up the UI elements that get connected to
	  a setting. Connecting a UI element to a setting now automatically
	  queries the necessary data from openMSX and configures the element
	  to the proper values (min/max, enum values in ComboBox).
	  Unfortunately, this does break the videosource setting at the
	  moment.
	  TODO: handle settings that have dynamical value options, like the
	  videosource setting and also the scale_factor (depends on renderer)

2007-11-25 Manuel Bilderbeek <manuel@msxnet.org>
	* Added first version of connector panel. You can use it to plug
	  pluggables in the connectors of the active MSX.
	  TODO: - fix some (still appearingly harmless) race conditions
	        - add the settings related to each pluggable somehwere
	* Made Input Text a separate dialog, accessible from the Tools menu.

2007-11-20 David Heremans <david.heremans@gnu-linux.net>
	* Pressing cursor down to quickly go through the trainer list
	  caused some "left over" checkboxes to appear after a
	  while. The 'why' of this error is unknown at the moment.
	  This is now solved by simply removing the container
	  widget an the layout instead of each individual
	  checkbox, this seems to work...

2007-11-14 David Heremans <david.heremans@gnu-linux.net>
	* Trainer Selector now keeps the same order as the original
	  console trainer code does.

2007-11-13 David Heremans <david.heremans@gnu-linux.net>
	* Trainer Selector now uses a scrollarea.

2007-11-11 David Heremans <david.heremans@gnu-linux.net>
	* Some clean up of the Trainer Selector.

2007-11-09 David Heremans <david.heremans@gnu-linux.net>
	* Trainer Selector is now functional.

2007-10-13 David Heremans <david.heremans@gnu-linux.net>
	* The videotab sliders/spinboxes now use the value from openMSX
	  itself, instead of resetting them to the default as returned
	  by the openmsx_info command

2007-10-12 David Heremans <david.heremans@gnu-linux.net>
	* Diskmanipulator only uses virtual drive  for new images if
	  there are no partitions on it.

2007-10-11 David Heremans <david.heremans@gnu-linux.net>
	* Toggling fullscreen checkbox will actually do something :-)
	* First attempt to enable the sliders with the float values on
	  the video tab to be in sync with openMSX.

2007-10-10 David Heremans <david.heremans@gnu-linux.net>
	* All comboboxes in the video tab are now synced with openMSX

2007-10-08 David Heremans <david.heremans@gnu-linux.net>
	* Trying to fix a problem that arose when you had a drive
	  selected in the medialist and switched to a C-Bios machine
	  that had no diskdrives...

2007-10-03 David Heremans <david.heremans@gnu-linux.net>
	* After altering openMSX itself, Diskmanipulator can now
	  extract selected files/dirs from the MSX media.

2007-09-29 Patrick van Arkel <vampiermsx@gmail.com>
	* Implemented the base for the Trainer Selector.
	  And made some improvements on the Cheatfinder.

2007-09-27 David Heremans <david.heremans@gnu-linux.net>
	* Diskmanipulator is now correctly syncing to all media changes
	  both from within openMSX or done by catapult itself.

2007-09-26 David Heremans <david.heremans@gnu-linux.net>
	* The diskmanipulator now only shows the available drives,
	  knows when there is no disk in the drive and reacts to
	  machine/disk changes. Order of signals and commands is
	  currently caussing an issue though...

2007-09-24 David Heremans <david.heremans@gnu-linux.net>
	* More WIP code for the comboboxes in the video tab

2007-09-22 Patrick van Arkel <vampiermsx@gmail.com>
	* Added WIP Palette Editor Main Code, (very redundant code)

2007-09-22 Manuel Bilderbeek <manuel@msxnet.org>
	* Added mapper type selector to cartridge page
	  Note: sometimes openMSX really doesn't like that you choose a
	  certain wrong mapper.

2007-09-20 David Heremans <david.heremans@gnu-linux.net>
	* Added a (not working yet) renderer-combobox on the videotab
	  values are asked to openMSX but selecting them doesn't change
	  the active one

2007-09-17 David Heremans <david.heremans@gnu-linux.net>
	* First attempt to have a size-wizard when a new dsk image is created.

2007-09-14 David Heremans <david.heremans@gnu-linux.net>
	* creating subdirs now works, both for MSX and local OS.

2007-09-11 David Heremans <david.heremans@gnu-linux.net>
	* Another WIP, no pylint yet but more  it-works-thus-I-commit code:
	  - you can navigate MSX images and localdirectories
	  - importing files works
	  - exporting the current MSX dir works
	  - Make sure to use a version of openMSx more recent then 2007-08-11,
	    otherwise opening images to be used with the virtual_drive works
	    only if the emulated MSX has a diskdrive

2007-09-10 Patrick van Arkel <vampiermsx@gmail.com>
	* Implemented initial cheat finder with the help of Manuel and Maarten.

2007-09-09 Manuel Bilderbeek <manuel@msxnet.org>
	* Moved Vampier's cheatfinder tab into a separate dialog and made some
	  skeleton code so that it can be implemented.

2007-09-07 David Heremans <david.heremans@gnu-linux.net>
	* Big WIP commit
	* fixed blocking tablewidget issue in the diskmanipulator
	* can already show local files and dirs in right tablewidget
	* added a start for the softwaredb for the openMSX-CD edition
	  nothing usable so far :)

2007-08-05 Manuel Bilderbeek <manuel@msxnet.org>
	* Added Tools menu with Disk Manipulator and debugger. (Note:
	  diskmanipulator is not tested (nor usable) and debugger is not
	  functional yet.)

2007-08-02 Manuel Bilderbeek <manuel@msxnet.org>
	* Add master volume control (can not be queried from openMSX)

2007-08-02 Manuel Bilderbeek <manuel@msxnet.org>
	* Audio channels list is now updated when the machine or extensions
	  change (in a rough way, but it works).

2007-07-31 Manuel Bilderbeek <manuel@msxnet.org>
	* Make extensions work. Code could still be improved a lot, but at least it's
	  functional now.

2007-07-18 Manuel Bildebeek <manuel@msxnet.org>
	* Make settings register themselves at the settingsManager.
	* Added an initial (experimental) audio mixer. Reviewing/improvements
	  most welcome :) TODO: it doesn't handle changes yet (due to machine
	  changes).

2007-03-25 David Heremans <david.heremans@gnu-linux.net>
	* Changed the ui_main to have a place holder for the extensions.
	* Added a (not working yet) 'start debugger' button and altered the
	  settings dialog for it.

2006-11-04 Manuel Bilderbeek <manuel@msxnet.org>
	* Added error handling for media changes.

2006-11-01 Manuel Bilderbeek <manuel@msxnet.org>
	* Added hard disk and CD-ROM media handling.
	  TODO: handle the fact that hard disk image changing can only be
	  done at power off.

2006-10-23 Manuel Bilderbeek <manuel@msxnet.org>
	* Added a refresh button to the machine selector.

2006-10-14 Maarten ter Huurne <maarten@treewalker.org>
	* Manuel implemented querying the full machines list from openMSX and
	  populating the machines dialog with that info.
	  I finalized the layout and connected the events.
	  Error handling is still missing though; probably additional support
	  from openMSX is needed to do it well.

2006-09-30 Maarten ter Huurne <maarten@treewalker.org>
	* First version of machine selection.
	  Not finished yet, but enough to commit.

2006-09-04 Manuel Bilderbeek <manuel@msxnet.org>
	* Implemented an edit config dialog, so that you can set the
	  executable.

2006-09-03 Manuel Bilderbeek <manuel@msxnet.org>
	* Implemented persistent preferences.
	  TODO: make them changeable :) Defaults are still in custom.py

2006-09-03 Joost Damad <joost@lumatec.be>
	* add support for building a debian package
	* improve clean target: remove .pyc and .pyo files

2006-09-02 Maarten ter Huurne <maarten@treewalker.org>
	* Added "qt_utils" module which gives convenient access to signals and
	  slots (a more Pythonic API).
	* New Make targets:
	  - build: creates generated files ("run" now depends on "build")
	  - clean: removes generated files

2006-09-02 Manuel Bilderbeek <manuel@msxnet.org>
	* Implemented basic cassette support.

2006-09-01 Maarten ter Huurne <maarten@treewalker.org>
	* Added support for PyLint:
	  - make sure you have the latest version (www.logilab.org)
	  - the configuration file "pylintrc" is customized for this project
	  - run it on all sources with "make lint", or on one source file with
	    "pylint -rn module.py"

2006-08-31 Manuel Bilderbeek <manuel@msxnet.org>
	* Implemented the update of the cartridge page.
	* Set initial page in mediastack back to the info one.

2006-08-31 Maarten ter Huurne <maarten@treewalker.org>
	* Put all hardcoded paths in "custom.py". They should disappear
	  eventually, but this is at least better than before.

2006-08-29 Manuel Bilderbeek <manuel@msxnet.org>
	* Initial ChangeLog
	* Previous stuff: prototyped by Maarten in 2006
