My apologies for the delay. It took me a while to get my compile environment up and running again after my HDD crash, and downloading a lot of the material I had lost. Since yesterday i can finally compile under Linux again as well, and it seems the new code compiles there as well.
In any case, here is a new executable to play with, though for people using the default theme: it needs a fix in order to prevent getting echoed sound due to the new features.
Let's start with the source code: Due to the drop for Mercurial support in bitbucket I have moved the source code to github:
https://github.com/phulshof/RetroFEThe current v0.10.2 release has the following new features:
- I've added support for multiple videos. The reloadableVideo tag now supports a type parameter as well as a volume parameter. The type parameter defines the directory the video is searched in, and defaults to "video". Note that with the default theme this will actually cause two instances of the video to be played rather than the dual display of a single video it used to, which will cause an echo in the sound. The default theme needs to be changed so one of those videos has the volume set to 0.
- I've used this support for multiple videos to allow the menu tag to support a videoType parameter. Just like the imageType parameter was (and is) used to select the image type to be displayed (e.g. logo), the videoType parameter allows for a video type to be displayed. This will allow you to create a scrolling menu consisting of videos in stead of images. You may want to play with the volume settings for the non-selected items though, or it quickly becomes messy.
- I've added support for multiple monitors. A numScreens parameter has been added to settings.conf to define how many monitors you have. screenNum0, screenNum1, etc. parameters can then be used to link them to a specific monitor. The fullscreen, horizontal, and vertical parameters have been given postfix support for monitor numbers to define the monitor you're configuring, and the layout.xml tags have been given support for a monitor parameter to define on which monitor an element is supposed to be displayed. This can be used to e.g. display marquees on a second monitor.
An example for settings.conf:
numScreens = 2
fullscreen0 = no # Full screen SDL applications often clash with the focus of other SDL applications
horizontal0 = stretch # or enter in the screen pixel width (i.e 1920)
vertical0 = stretch # or enter in the screen pixel width (i.e 1080)
screenNum0 = 0 # Screen numbers start at 0!
fullscreen1 = no # Full screen SDL applications often clash with the focus of other SDL applications
horizontal1 = stretch # or enter in the screen pixel width (i.e 1920)
vertical1 = stretch # or enter in the screen pixel width (i.e 1080)
screenNum1 = 1 # Screen numbers start at 0!
- I've added an attractModeCyclePlaylist parameter to settings.conf to allow attract mode to use the cycle playlist in stead of the full set of playlists.
I hope to update the documentation soon, and then have a look at fixing the code for container based cropping of the reflections like someone requested. Again: my apologies for taking so long, but it's taking me quite some time to get completely up and running again, and work has kept me extremely busy lately.