### TODO - v0.44, 23-JUL-2014

Known bugs and restrictions

- The built-in joystick GUI control includes support for trackballs -- this is completely untested due to the lack of controllers with trackballs (it should basically work, but be prepared for bugs and unexpected behavior).
- On X11 platforms, the QMC2 variant launcher will try to raise a probably already running other variant -- this feature is very dependent on the window manager which may decide to ignore XMapRaised().
- MAME/MESS output notifiers are not supported on Windows yet.
- The built-in MiniWebBrowser has a fairly restrictive set of features which is tailored to the uses of QMC2. It's not even meant to be a full-featured browser, even though it meanwhile supports most of the typical browser-functions.
- Depending on the complexity of a style / style sheet combination, it may slow down GUI operations (that's no bug, but you should note it).
- The set repair function (a feature of the ROMAlyzer's checksum wizard) only operates on ZIPs! There's no support for ROM sets stored as 7z archives or regular files in individual sub-directores yet.
- The ROMAlyzer's set rewriter feature doesn't support reproduction of 7z archives (yet), only ZIPs or regular files in individual sub-directores can be created.
- Due to a Qt restriction, a QTabWidget's corner-widget (if any) is only shown when the tab-position is either north or south.
- X11: Embedded emulators that change their display sizes at runtime (usually during startup) may not always be centered correctly. Unfortunately, newer window-managers may cause additional problems with resizing. We hope that we can avoid all of this with our planned embedder port to Qt 5.
- Windows: There's a known issue for embedded emulators running in Direct 3D mode ('-video d3d'): full-screen switching will lead to a crash of the emulator. To work around this, you have to release the emulator first; you can re-embed it later from the emulator control panel.
- Windows: MinGW builds: The GIF animation used when loading / filtering the game/machine list (or when mass tagging sets) isn't displayed in case of MinGW builds. We have no idea why, nor do we think it's our fault since in the official binaries built with VC++ this work fine (seems to be a MinGW-specific Qt bug). However, it's just a 'cosmetic' issue.

Work in progress

- Adding support for freely definable additional artwork classes (system- or software-images) -- see also bug tracker ID #49
- Adding a Swedish translation -- thanks to Daniel Nylander
- Adding a Greek translation -- thanks to Kostas Albanidis
- Adding an Italian translation -- thanks to Stefano Cereda
- Adding a Romanian translation (mostly done) -- thanks to Mihai Boisteanu
- Adding a set rename tool to the ROMAlyzer which uses the -listxml outputs from both the old and the current emulator to gather the changes automagically
- Adding support for an optional ROM/CHD database which can be used to store unique copies of all (good) ROMs and CHDs and to retrieve complete sets from it to a local path -- among other things, this can be used to keep different versions of individual ROM/CHD files (due to changing sets) or to just keep your local ROM path clean

Planned changes, new features and improvements

- Fulfill the accepted/open feature requests from our bug-tracker (see also our current roadmap)
- Create a Qt 5 specific embedder (platform-independent with regard to embed handling, so will hopefully also work on Mac OS X)
- Add support for MAME's/MESS's new HTTP web-console & JSON interface (note: Qt 4.8.x needs a newer QtWebKit to support RFC 6455, it only comes with support for the hixie-76 draft version of the WebSocket protocol, so this might be no option - QtWebKit in Qt 5.1.x has support for this, though)
- Morph game/machine favorites, play-history and search results into tree-widgets (like the game/machine list views) and let the user categorize his/her favorites freely (probably add support for folder-ini's as well)
- Store and retrieve the date a game/machine was added to the favorites and play-history and make it an additional source for item-categorization
- Add a nicer quick-search function (replacing the default keyboard-search implementation inherited from QAbstractItemView) to all 4 game/machine list views and the software-list view including a pop-up editor to display and customize the search string
- Add an optional reg-exp filtered game/machine list view (as an advanced alternative to the search feature)
- Add software-state info to the software-list export feature
- QMC2 Arcade: add support for dynamically changing background images based on the current game's category (category images being freely customizable)
- Add support for multiple images per image category
- Add YouTube protocol 3.0 support (currently 'experimental')
- Add support for 3D arcade cabinet models from the 3D Arcade project -- this will likely not be done before Qt 5.4 is ready, provided it finally contains Qt3D (?)
- Add support for optional coloring of some game/machine list item cells, especially for the driver status column
- Add a 'record a video' dialog to make the creation of emulator session videos an easier task
- Allow changing the order and visibility of any 'special' widgets (emulator & front-end logs, emulator control, audio player and downloads + tabs on the software-detail widget)
- Add support to hide/show specific categories in both major game lists when the use of catver.ini (MAME/UME) and/or category.ini (MESS/UME) has been enabled
- Add an option to allow for automatic switching to the last viewed detail of each game/machine (do we really need that?)
- Add support for launching emulators in record & playback modes (input recording/playback)
- Add a backup / restore tool for QMC2's configuration and caches (though it's a trivial task, see this FAQ and/or this section in the wiki)
- Add export / import functionality for YouTube video attachments (to allow for merging of videos found by different people, or to backup / restore discovered videos)
- Add a high-score database
- Add a joystick & keyboard configurator for MAME and MESS
- Add support for MAME/MESS output notifications on Windows
- Create an improved setup wizard with QWizard