Those are some good ideas.
We have an XML file for the front end that stores all of the configuration data such as the keyboard assignments, program locations, resource locations, and the name/number of the different screens inside the front end UI. When the front end installs it comes with a bunch of pre populated defaults which you can change.
Also, there is a scan function that will search you hard drives form games, videos, and music, and only displays the content you have. Selecting to scan again rebuilds the list.
Eventually we will have a friendly windowed utility that lets you configure the settings without editing the XML file by hand. But this utility will as a separate program from the front end
1. A built in control panel viewer (like johnny5) that displays YOUR controls with data from controls.dat project so you know what is what., a way to switch between control panel views (i.e. I have 3 swappable control panels each of which can play some games... I'd like to see how the key config could work on any of the 3.) this would require some user setup on how their CPO works. Johnny 5 is good, but not integrated into a frontend.
2. A good layout editor for the control panels (above)
How would you like it if you had a folder where you could place an image of your control panel layouts, and in the front end you could cycle through them as they appeared on screen? The control mappings would be stored in the configuration file, editable through the friendly windowed configuration utility, and then passed to your emulator's settings when you launch a game.
3. A good layout editor for skins
This is the most difficult feature to implement. We are working on an XML format for the customized skins currently, but designing a format that maps image resources, texture coordinates, colors, sounds, fonts for each front end screen is not too easy, add to that a nice windowed designer application, that's a lot of work.
Sure we want our front end to be the best possible, but we need to prioritize our feature requests. This might make it into our front end, but probably in some release after version 1.0.
4. Support for vertical monitors
Check.
You can already do this in our front end. It allows you to rotate the front end in 90 degree increments, and stores them settings in the XML configuration file. This value is passed to the emulators when launched.
See the vertical layout screen shot 3 posts up.
6. "out of the box" configuration for emulators, with the ability to change configuration later.
Current front ends assume users want files / folders all over the place. I would gladly move all of my files / folders around if somebody made it simple. Preconfigured folders...
Frontend folder>emulators>mame>snap
Frontend folder>emulators>mame>roms
Frontend folder>emulators>daphne>snap
Check, we already have preconfigured folders for emulator programs, roms, screen shots, music, videos. You can change the folder locations in the XML configuration file. When you have resources in the folders and launch the front end, it automatically scans those folders for new content.
oh and just as one note. I LOATHE losing time to eyecandy. any TRANSITION is a waste of time. Nice swirly things going on in the background is fine whatever. Taking my time to make it look all fancy is bad GUI design. Basically the GUI should look nice without being a hindrance to its use.
Point taken. Most of the tranistions we use are very quick, but what you said makes a lot of sense. We will probably remove the game launch transition effect, and just go with a quick 0.5 second fade to black when an emulator is launched.
Also, we run a fullscreen borderless black window in the background from startup, so that when programs switch, you never see the OS.
Thanks again for your ideas, and remember you can visit our web site to post your thoughts or get involved in the community.
http://www.codebot.org