Jump to content
LaunchBox Community Forums

Eclipse 0.0.018

   (6 reviews)

6 Screenshots

About This File

 Eclipse

Eclipse for BigBox is a different kind of theme.  Rather than using the normal theme engine, it uses a plug-in to build the user interface from the ground up.  The goal for this plug-in is to provide: 

  • Netflix style user interface with multiple lists of games on the screen at one time
  • Voice search
  • Random game function

 

Platform list view

Eclipse - Platform List.png

 

Game detail view

Eclipse - Game Details.png

 

Options for categorizing games

Eclipse - Options.png

 

Startup theme

Eclipse - Startup Theme.png

 

Shutdown theme

Eclipse - Exit Theme.png

 

Attract mode (screen saver)

image.png

 

Demo

 

Installation Instructions
1. Download: https://forums.launchbox-app.com/files/file/3220-eclipse/
2. Extract the contents to a folder
3. Inside the Eclipse folder is a folder called LaunchBox
4. Copy the Plugins, StartupThemes, and Themes folders
5. Go to your Launch Box installation folder and paste the copied folders
6. Open Big Box
7. Esc to get to options
8. Select Options > Views
9. Set Theme to Eclipse
10. Set Platforms List View to Platform Wheel 1
11. If you want to use the startup theme, Options > Game Startup
    - Uncheck Show "Loading Game..." Message
    - Check Enable Startup Screen
    - Startup Theme: Eclipse
    - Minimum Startup Screen Display Time: 5 seconds
    - Maximum Startup screen Display Time: 5 seconds
    - Check Hide Mouse Cursor on Startup Screens
12. Go back - the first time the theme starts will take a long load time to generate the image cache
13. NOTE - If you get any errors, you can check the log file called Eclipse.txt in your LaunchBox folder and message me on the forums to let me know

General usage
- Up, Down, Left, Right - moves around
- Enter - selects something
- Escape - cancel or go back - pressing it will get you back to the BigBox settings where you can exit the application
- Page Up - pick a random game
- Page Down - voice search

Bezels
- Bezel images can be displayed around the preview videos
- The system will first look for a game specific bezel. If not found, it will look for a platform specific bezel. If not found, it will look for a default bezel. 
- A few default bezels are provided with the installation. You can delete them from the folders specified below if you prefer the videos without bezels.

Game specific bezels
- The system tries to find a game specific bezel image in the following order:

1. In plug-in media directory:
..\LaunchBox\Plugins\Eclipse\Media\Bezels\{PLATFORM}\{CleanGameTitle}.png

- Here {CleanGameTitle} replaces any invalid characters with an underscore. Characters like ' and : cannot appear in file names so they are replaced with an underscore
- For example: A bezel file for the game "19XX: The War Against Destiny" should have the following path and file name ..\LaunchBox\Plugins\Eclipse\Media\Images\Arcade\Bezel\19XX_ The War Against Destiny.png

MAME bezels
- If a game specific bezel isn't found in the plug-ins media folder as described above, then the program will look into the MAME installation folder. In order for MAME bezels to work, installing the bezel project for MAME would create files with this structure:

..\LaunchBox\Emulators\MAME\artwork{game.ApplicationFilePath}"Bezel.png"

Retroarch bezels
- Bezels installed by the bezel project for retroarch will go into a folder location like this:

..\LaunchBox\Emulators\Retroarch\overlays\GameBezels{RetroarchPlatform}{game.ApplicationFilePath}.png

Platform specific bezels
- These are used if there are no game specific bezels found
- You can specify a different image for horizontally and vertically oriented games so that they fit appropriately
- The platform specific bezel image files must have the following file names and locations:
..\LaunchBox\Plugins\Eclipse\Media\Bezels\{PLATFORM}\Horizontal.png
..\LaunchBox\Plugins\Eclipse\Media\Bezels\{PLATFORM}\Vertical.png

System default bezels
- These are used if there are no game specific or platform specific bezels found
- You can specify a different image for horizontally and vertically oriented games so that they fit appropriately
- The default bezel image files must have the following file name and location:
..\LaunchBox\Plugins\Eclipse\Media\Bezels\Platforms\Default\Horizontal.png
..\LaunchBox\Plugins\Eclipse\Media\Bezels\Platforms\Default\Vertical.png

Looking for feedback

I'm looking for any suggestions that would make this theme better.  What's currently on my list for improvements:

  1. New option to add a game to a playlist from the game detail screen
  2. New option to display game manuals from the game detail screen
  3. Improve image cache logic to better detect differences between LB images and plugin image cache
  4. Use VLC for video playback 
  5. Option to flip box art 
    1. This could be expanded a bit more to 
  6. Show achievements in game details
  7. Improvements to the options side-panel that opens up under the gear (add some icons and make it look a little less "blah")
  8. Several ideas for configuration options
    1. Default category and list to pick when opening 
    2. Minimum number of games required to be included in a category
      1. This would allow you to eliminate lists don't have more than 1 game showing in the series category for example
  9. Improvements to the loading screen to make it prettier
  10. Performance improvements for loading times by doing more work in the background
  11. Overhaul of entire codebase
    1. Support for any resolution or aspect ratio - currently this only works (well) on 16:9 screens
    2. Make game lists more dynamic - the implementation of the lists uses a bunch of static image controls 
    3. Localization

If anyone thinks of anything that could make this theme better, I'd be interested to hear it!

Source Code
If you're interested in the source code, it's (not pretty and it's) available here: 
https://github.com/AtomFry/Eclipse


Edited by Fry
Adding suggestion


What's New in Version 0.0.018   See changelog

Released

Added setting under Other, "Display eclipse options on escape".  Default behavior is when you press escape from the game list, it opens the side pane to let you select which metadata field you want to group lists.  Uncheck this box and pressing escape will bypass this pane and go straight to the BigBox settings.

  • Like 14
  • Thanks 1
  • Game On 2
  • Unusual Gem 7

User Feedback

Recommended Comments



4 hours ago, T-tot said:

I would like to speed up the delay between the videos and the images when scrolling, 

image.thumb.png.ce12c535a89c808ae7ab1724fe713fee.pngYou can see if the video delay setting gets you what you are going for?  In LaunchBox go to tools > manage eclipse > other and use the video delay slider to decrease the time that the theme stays on the fan art background image before it fades into the preview video. I’m not sure if this is exactly what you are looking for or are you looking for something else?

  • Thanks 1
Link to comment
Share on other sites

Thanks Fry!

Figured it out I downloaded/installed your theme initially via the bigbox system menu>manage themes. This method works (runs your theme) but does not allow the manage eclipse options.

Running LB 13.5 this is what was available via the tools tab/dropdown. There was no manage eclipse option via the tools tab on my end from bigbox install.

image.thumb.png.5bc28465de25d2b583481f6999512744.png

Downloading and placing the full folders in their intended paths per forum instructions corrected the issue.

Flawless victory

Thanks for your work

  • Like 1
  • Game On 1
Link to comment
Share on other sites

Awesome!  Glad you got it working. That’s weird though, I didn’t think this theme was available to install from the manage themes menu.  I have not submitted it for review/approval for the official themes because of the nature of this theme being 99% based on a plugin I don’t think it could pass the approval process for an official theme.  I wonder if you had installed it manually and then enabled it through the theme manager?  Anything installed will be visible there to be enabled so that could be it. Anyways, glad you got it working now. 

Edited by Fry
Link to comment
Share on other sites

FYI - I've uploaded version 13 with a fix for the background videos playing while you start up a game.  I've done a lot of testing today and haven't had that issue occur since so I think it's solved.  Please let me know if anyone updates to version 13 and still runs into that problem! 

Also FYI - I'm working on a few other minor features since time has been short before I dig into a bigger feature of a metadata search that lets you do an on screen keyboard search that presents matching metadata options that should help you to quickly filter your game collection.  Not sure how long that one will take me.  

  • Thanks 2
Link to comment
Share on other sites

Thanks Fry! I'm going to update to the new version now and let you know, when I find any issues/bugs! 

Your idea with the on screen keyboard sounds great - I'm looking forward! 👍👏

  • Like 1
Link to comment
Share on other sites

I've just found out about LaunchBox about last week and I'm in the process of accumulating roms and troubleshooting emulator settings, and I've been having a blast with it. I absolutely love this theme so far, and the little QOL features is very nice to have, especially the back button sort/random/voice menu. I'm trying to put something together to get a console-like experience so avoiding having to set up controller hotkeys is preferable. I had a couple questions and wanted to take a chance to ask here because my coding knowlege is very limited and I'm at my wits' end.

 

The first is the repeating box art that is displayed on playlists that have very few items in it. In most cases, maybe someone'll have a dozen or more games on each platform so it wont be noticed. Right now my Swich library is at one game, but I expect eventually it will resolve itself. However in the other use case of using voice to search games, the opportunities for this situation to arise increase many times. I've found that this started happening with most themes after the LaunchBox 11.10 update when a new FlowControl system was implemented. I've found that it has to do with the setting Endless being set to True by default.

 

I thought I may be able to alter the BigBoxTheme.sln and find the value and switch it off but at this point I don't know where to look. There's not a lot of tutorials specifically for in depth editing of launchbox xaml files and I'm not about to start adding lines to places and hoping it works.

 

 

My second question is a lot more straightforward. I much prefer the view of the games details screen than the platform screen. I even prefer it to the built in screensaver mode because the play button is available right there. If I enable Attract Mode, the screen automatically goes from the platform screen to the game detail screen after 10 seconds, however, since another game can't be selected with outgoing back, the detail screen continues as normal for 30 seconds, and then automatically starts the game. Is there a way to prevent the game from automatically starting? That alone would be nice. Going from platform to game detail automatically feels very natural and netflixy. As an alternate form of screensaver, is there a way implement attract mode so that in the details screen, the game shown could be changed so that there's always a background video showing?

 

Thanks a ton for your time, and a ton for developing this theme!

BigBoxUI.jpg

  • Like 1
Link to comment
Share on other sites

Hi there, I’m glad you’re enjoying the theme so far.

So you would prefer the lists to not replicate items to fill the screen and instead just end with however many items are in the list. You mentioned some changes in previous versions of LaunchBox and that this is an issue in other themes as well. So I’ll point out a few things about this theme. It is not built using the native LaunchBox theme engine like pretty much any other theme. This theme functions pretty differently than others because the functionality is built completely in C# using the plugin API. So if you take a look at the theme itself, you’ll find there is just one view and that view just references the plugin user control that I built to operate this theme and there are no other elements on there. You can take a look at the code for the theme in the repo here: 

https://github.com/AtomFry/Eclipse/blob/master/Eclipse/Eclipse/LaunchBox/Themes/Eclipse/Views/PlatformWheel1FiltersView.xaml

I wanted to point that out since you mentioned you are new to LaunchBox and mentioned possibly editing theme files to affect this change on this and on other themes. So for other themes I’m not too sure how you’d go about making this change. If it is possible then in the view XAML, you would need to modify some properties on the wheel to specify not to repeat items but I have bo idea if such a property exists. For this theme, since the functionality is defined in a plugin, we need to change some C# code that describes the behavior of the eclipse game lists to affect this change and recompile the plugin and update the plugin in the LaunchBox\Plugins folder. Of course you are more than welcome to pull down the project and make any code changes. But you mentioned you may be a little limited on coding knowledge. If you are interested and want to get into it, I found LaunchBox plugin development to be a pretty fun hobby!  Anyways, because of my terrible implementation of game lists in this theme (I was very new to WPF at the time) the change you’re asking for is not that straightforward. It’s definitely possible but my design has made this more difficult on us than it needs to be. It may take some time since I am busy with some stuff at the moment but it’s possible I can add a toggle to the settings that lets you choose if the lists repeat endlessly or not. 
 

ok so your second question, I’m a little confused about. Just to clarify, when using this theme you probably want the standard attract mode to be turned off. In BigBox, You can go into options - options - attract mode - and switch off enable attract mode. And then if you go out of big box and into Launch Box and select tools - manage eclipse - other (tab) - there is a check box to toggle the screen saver on or off. Also on the inputs tab there is a setting that lets you bypass game details. I wasn’t clear from your description of a play button being there in screen saver mode and games automatically starting what was going on. Those aren’t really features in this theme. It made me wonder if you have any other plugins installed?  
 

So the way the screen saver in this theme should operate is after the screensaver delay elapsed and there has been no user input then background images are randomly selected to fade in and slowly slide across the screen. Are you asking for an attract mode option that plays game preview videos instead?  Or maybe you were looking for a different functionality and I didn’t quite understand. 

Link to comment
Share on other sites

This is a great theme. I could never get it to work due to how my playlists work. After a discussion with the creator, a fix was quickly implemented. Great stuff!

  • Like 1
Link to comment
Share on other sites

Yeah something we found is that there was a bug prior to the latest version (.014) where if you have multiple playlists with non-unique sort titles it would error when building the game lists. I’ve put in a temporary fix that just combines all playlists with identical names into a single list. I’ll be looking into an ability to support multiple playlists with the same sort title as their own distinct list. 

  • Like 1
Link to comment
Share on other sites

Uploading a new version (v.015) with a small new feature to choose whether games repeat to fill the screen or not.  So for example if you have a list with just one or two games, should the list just end and leave black space or should they repeat endlessly to fill the screen?  

You can specify your preference in LaunchBox > Tools > Manage eclipse > Lists (tab) > Repeat games to fill screen.

Repeat games to fill screen checked: 
 

image.thumb.png.3c8c8b3bf14b107c89cf212189aee737.png

My Atari Jaguar platform only has two games and they repeat endlessly to fill the screen: 

image.thumb.png.706321f70212218e42f483a784770e19.png

Repeat games to fill screen: Unchecked

image.thumb.png.bc3af19b300fa8f38d8936f56151e4d6.png

My Atari Jaguar platform only has two games and they don't repeat any more: 

image.thumb.png.966d245463e157d23da124906c2a7c3d.png

 

I'm not sure why I prefer the first option with the games repeating but I think I'm the only one.  Most people think that looks weird and they're probably right.  So I decided to add this little setting so you can choose how the theme behaves.

Edited by Fry
  • Thanks 1
Link to comment
Share on other sites

9 hours ago, tparker said:

Could you make a version for 4:3 and 3d boxes?

 

Unfortunately I was pretty new to WPF at the time that I created this and I made a lot of decisions that tightly coupled the design to a 16:9 layout. The source code is there and anyone is welcome to try modifying it to work with 4:3 layout but I think it would be a significant effort and I won’t use it so I can’t justify the effort myself. I have some thoughts on what would need to be done to make it happen and would be willing to work with anyone who is interested in trying but the code base is pretty gross so I can’t imagine any developer wanting to get in there. If anyone does, don’t hesitate to reach out and I’ll be happy to provide some guidance.

Regarding 3d boxes, you can use the regular old 3d boxes if you add them to the game front image priority and move them to the top. I don’t think it looks very good like that though. 

image.thumb.png.66a1e4a13ff7385175c1e4d683fdb130.png

image.thumb.png.f501947ee5e69ae463b2146990813fb1.png

Edited by Fry
  • Like 1
Link to comment
Share on other sites

Hey Fry would it be a a lot of work for you make an option in the Eclipse plugin settings, where I can hide/show the green "*% Match" text?

The reason is that I have a small game collection, so I don't have the need to use the search. I such small collection I exactly know where a game is ... 😅

  • Like 1
Link to comment
Share on other sites

It’s very doable. I actually have that kind of done but got distracted and didn’t get a chance to release that code. Let me see if I can put it together and get it released this weekend. 

  • Thanks 1
Link to comment
Share on other sites

@grki I was able to get that code added and built for ya

New settings in LaunchBox > Tools > Manage eclipse > Other (tab)
image.thumb.png.147d9598f067bf03d26c82ab09eb407c.png

You won't see those controls if they are unchecked

image.thumb.png.4d214d521ced546ee434cb9cb8350079.png

 

You can uncheck the match percent to get rid of it

image.thumb.png.04380845b5010e4d7f7b3e577baebdc0.png

image.thumb.png.b9ab63e2322ec70fb854071663e1f2e8.png

  • Thanks 1
Link to comment
Share on other sites

This theme is amazing, think this might become the theme I finally "settle" on (after trying so many others). Just wondering if Custom Fields can be added to the game details page? And also have the Custom Fields as a selection option like Developer, Publisher, Genre etc.

  • Like 1
Link to comment
Share on other sites

@Fry Man you are my hero! Thank you so much for this update! 👏👏👏

In my setup I created custom game trailers with box and disc/cartridge at the end of the clip.
I attached screenshots and a video clip of my BigBox setup with the Eclipse theme:

Must say LaunchBox Premium is really worth and your Eclipse theme hives them on a new level of game/emulator Launcher!
With custom cover image priority and custom game video trailers my BigBox with Eclipse Theme look better then I can dream about! 

BigBix - Eclipse Theme.jpg

BigBox Eclispe - Sonic Generations-1.jpg

BigBox Eclispe - Sonic Generations-2.jpg

 

BigBox Eclispe - Sonic Hedgehog-1.jpg

BigBox Eclispe - Sonic Hedgehog-2.jpg

Edited by grki
  • Like 1
Link to comment
Share on other sites

@grki nice, I'm glad the theme is working well for you and you're liking it!  Let me know if you have any other improvement ideas!

Link to comment
Share on other sites

5 hours ago, mlsaunders1985 said:

This theme is amazing, think this might become the theme I finally "settle" on (after trying so many others). Just wondering if Custom Fields can be added to the game details page? And also have the Custom Fields as a selection option like Developer, Publisher, Genre etc.

I think this is a great idea about the custom fields.  I think there are two features or functionalities there.  One is displaying the values of custom fields in the game details and another is to create lists from custom fields. 

Would you be able to (zip up and) send me your LaunchBox data files so I can take a look at how you've got your custom fields structured and some example values you're using?  

As far as displaying them in the game details, I think I can add some quick hacky code to make that work.  What's really needed is to make the interface themeable so that anyone can select whatever fields they want and lay them out however they want.  That would be a good bit more work so for now I'd probably go at it with the dirty hacky approach just to get it working and then look at doing the themeable interface later.  

Not sure when I'll have time to get that implemented but will keep it toward the top of my enhancement list.

Link to comment
Share on other sites

Hey Fry, this looks really great. It is a very intuitive interface to use since it is similar to other ones we are used to these days.

I was wondering if there would be a way to add a search bar to type in game names instead of using voice?

I ask because I am setting this up for my young nephew and he doesn't speak English, so it is difficult for him to use the voice search option. Having a search bar would really help as he could simply type in a few letters and get to the game he wants to play faster (the game list is a couple thousand so scrolling takes a while).

 

Thank you.

  • Like 2
Link to comment
Share on other sites

@A-Ivan this is on my radar. I’ve got a proof of concept for it but haven’t had time to get it fully implemented. I will keep working at it as I get time and see if I can get it added. 
 

This isn’t too pretty yet, just messing around adding an onscreen keyboard. I’m going to look at algorithms to order the matching metadata phrases for what is input and allow you to select a metadata value to apply as a filter as you type and then present lists of games that have the selected filter values. I’m still working out the details a bit and have been too busy to dedicate time to it that it needs. 

One of these days 😀

FAE26E2A-A2BF-461C-95F5-E1B7C2F0933C.png

  • Like 2
Link to comment
Share on other sites

Hi Fry,

Just to know this is on your radar is great. No rush on this, take your time.

I have a question about the onscreen keyboard you showed, are you thinking of allowing just the use of the onscreen keyboard for typing out a search or also the option of using an actual keyboard? Out of curiosity, for the search, via voice or text input, are you using fuzzy/approximate string or exact matching for search algorithms?

  • Like 1
Link to comment
Share on other sites

For now I’m only planning on controller input. up, down, left, right to navigate and enter to select a character. I definitely understand the desire to support keyboard as well and I can look at adding that in a future iteration. I’ve attempted, unsuccessfully so far, to add additional inputs beyond what the plugin API provides so for now, the only inputs I’m able to get on a BigBox theme element plugin is up, down, left, right, page up, page down, enter, and escape.

For the search, the TLDR is just some hacky stuff I made up  if you’re interested in details…let’s talk about the voice search first because the text is totally unfinished and in progress.
 

For the voice search, I’m using the Microsoft speech recognition libraries. I’ve created a dictionary/grammar out the game titles by breaking each title into individual words and including every combination of them in the grammar. So taking the legend of Zelda as an example, the grammar includes the following strings:

- The

- The Legend

- The Legend of

- The Legend of Zelda

- Legend

- Legend of

- Legend of Zelda

- of

- of Zelda

- Zelda


Each game title is broken into phrases like this and then I create a speech recognition grammar from the list of all those phrases.  You feed this grammar to the speech recognition engine when you create it.  The microsoft libraries listen to your microphone when you trigger a search and return a list of possible matching phrases along with a confidence with each phrase.  I mostly just use the confidence but I have some weird logic that I used to weight them for exact title matches.  I have some weighting that increases the match score based on the percentage of words that match.  It’s terribly hacky but it’s working pretty well for me. 

For the text search so far I’m just doing a linq query on my voice search grammar with the contains method and alphabetical sorting them. It’s nowhere close to done even from a conceptual perspective. 

Link to comment
Share on other sites

@setna85 Unfortunately I don't think this theme is compatible with the 3rd screen plug-in because the 3rd screen plug-in depends on SystemEvents to be fired to tell it when games are changing.  But as far as I can tell, a BigBoxThemeElement plug-in like the one that runs the Eclipse theme is not capable of firing SystemEvents.  I can think of two possibilities to get 3rd screen plug-in functionality working in this theme: 

  1. Request a change to the plug-in API that allows plug-in developers to fire system events, then I can fire the selection changed event any time the game changes and then the 3rd screen plug-in should work.  I'm not sure if this would be feasible or desirable to the LaunchBox developers.  
  2. We could try to incorporate the code from 3rd screen plug-in into this plug-in code base but I'm not sure if the 3rd screen plug-in developer would share the code or how easily it would be to incorporate into the code base that I have for this plug-in.

I'll ask around and see if it's going to be doable.  

Link to comment
Share on other sites


Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...