M.A.M.E. Catalog / Launcher II Documentation - TODO

### TODO - v0.53, 24-JUN-2015

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 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 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 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 works fine (seems to be a MinGW-specific Qt bug). However, it's just a 'cosmetic' issue.

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 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)
- Add a nicer quick-search function (replacing the default keyboard-search implementation inherited from QAbstractItemView) to all 4 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 machine list view (as an advanced alternative to the search feature)
- Add software-state info to the software-list export feature
- Add support for multiple images per image category
- Add support for optional coloring of some machine list item cells, especially for the driver status column
- 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
- Add support for MAME output notifications on Windows
- Create an improved setup wizard with QWizard