Jump to content
LaunchBox Community Forums

Fry

Members
  • Posts

    290
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by Fry

  1. Fry

    Eclipse

    I need to improve my WPF skills so I can load data and images asynchronously. The wheel implementation here is awful and doesn’t work well with large collections. I’m getting my WPF chops up while working on a few smaller plug-ins and then will come back to this one to try to bring what I learn to improve performance. it shouldn’t rebuild the image cache from going to the options but it does reload the plugin and that triggers all the lists to be regenerated. With my 2k games it’s about 30 seconds. So with 55k games, maybe it would be like 15 minutes. Yikes that’s bad.
  2. Makes sense. My playlist names are unique and match the unique names: I've also tried with "Include this Playlist with Platforms" checked and also unchecked.
  3. @C-Beats I'm still seeing a (slightly different) issue when trying to show playlists using IBigBoxMainViewModel.ShowGames. I'm not sure if there's something on my end that's going wrong when trying to show a playlist? I've updated to latest beta 12.2-beta-6. When I supply a filter value of a playlist name, previously the screen was going black and BigBox seemed to hang. That's not happening now with the latest beta. But I'm getting an empty list now with "no games were found". I tried with all of my playlist names. Maybe I need to give a playlist guid or something? My playlists that I'm testing with: Sample code - I put in a little hacky cycle so I can test each of my playlist names: Result: Anything I may be missing or screwing up on my end? Thanks again for your attention on this and all your hard work! Really appreciated! FYI - The related issue that I reported with ShowGames where I provide a platform name and it shows all games regardless of platform is resolved. If I supply the filter value of "Sega Genesis", that's working great now.
  4. Is Launchbox installed on G or on H? The import ROMS wizard prompt in your original post is asking if you want LaunchBox to copy your ROM file to the ..\LaunchBox\Games folder. So if LB is on H then it’s going to ask if you want to move it to H. when you say you’d like to make your LaunchBox installation portable but you have the files spread across two drives, what do you mean exactly by portable?
  5. I’m on it. Super busy the next few days but I should be able to make some time by the end of the weekend at latest. Thank you for looking into this!
  6. Totally agree. More options, better for the user but clutters the user experience. Less options, less functionality for the user but gives a cleaner user experience. I like the replace all option because for my eclipse theme, you want clean consistent images so I am always looking for the one clear logo, one box front, and one fan art background that I want to use and delete the rest. I know there are other cases where people want to have as many images as possible and let big box cycle through them.
  7. Yeah one way is you could get rid of the setting and make that selection an additional context sub-menu that the user has to choose each time. so once you click paste box front another sub menu opens with options for add image and replace all images. Not sure if that would feel like too much clicking?
  8. Just had a thought and I am unable to test at the moment to confirm but one approach that might work would be to simply delete the image from the cache and call the refreshData method. I wonder if that would regenerate the image for you so you don’t need to worry about the file naming convention or scaling the image properly. May be worth a try. EDIT - tested and this works. Just delete the cached image and call RefreshData and it will regen itself properly
  9. Enhancement request- would love to include paste image options for Clear logo and fan art background as well.
  10. This is really cool feature and thank you for sharing the code! I am still relatively new to WPF and C# so I’m going to make good use of some of these techniques. The code is nice and clean.
  11. Cool. Be careful with the scaling logic if you’re planning to do a lot of images because if it’s not the right dimensions then I think launchbox (wpf) will have to resize the images on the fly and it will probably hurt performance.
  12. Fry

    Eclipse

    This is my plan for page up and page down if we get some additional button event bindings available via the plugin API. Like you said, this is kind of a limitation of the Netflix style UI and the buttons available to the plugin API. Other themes can handle this because with a vertical wheel you only need up and down to navigate it. That leaves left and right for additional functions like popping open an alphabet for jumping to a given letter. For this Netflix style UI, up, down, left, and right are all needed for navigating so I need another button to pop open the alphabet to jump to a letter. Page up is in use for random game and page down is in use for voice search. If I get additional button events on the plugin API then I will make page up jump to the title with the next letter and page down jump back to the title with previous letter and move the random game and voice search under new button bindings.
  13. Fry

    Eclipse

    Thanks for the heads up. I was looking into implementing videos as VLC but abandoned it when I ran into some issues and got distracted with other priorities. I’ll look into getting VLC to do video play back and I think that will solve this issue.
  14. Fry

    Eclipse

    Ahh thanks for the heads up. It might be an issue with webm format. I’ll look into that. I think all my videos are mp4
  15. Fry

    Eclipse

    Good suggestion on adding achievements in game details. I've added it to my todo list. Could you give me any more detail on videos that work and ones that don't? What is happening when a video doesn't work? The way it's coded is if a game has a video path the video is played but if the game doesn't have a video path then it just displays the fan art background image (or gameplay screenshot if no fanart image exists). Are those games that you have videos for and the videos aren't playing? What actually happens? I'd like to look into that and get it fixed.
  16. This is a little different than what you're asking for so I'm not sure if it would work for you and I'm unable to test it out at this time to confirm it would work. But what about ISystemEventPlugin.OnEventRaised and for EventType of SelectionChanged? This is supposed to fire when a game selection is changed. Then you could use PluginHelper.StateManager.GetSelectedPlatform to get the platform. This could work if you're able to check your monitor's rotation state and fire off the command to rotate it if the platform requires it. That'd be bad if you went into a playlist that mixed arcade and pinball games but I'd think it would work if you're going through platforms the way that you described in your original post.
  17. Oh shoot, you're right. I poked around and found that this has to do with the image cache. I'm assuming you're modifying or adding images into the Launchbox\Images folder. PluginHelper.LaunchBoxMainViewModel.RefreshData works BUT you first need to update the image cache and as far as I can tell there's no way to do that via the API. So this is a pretty ugly work around which is to write your image into the image cache yourself and then call PluginHelper.LaunchBoxMainViewModel.RefreshData. This isn't ideal because going around the plug-in API to write into the image cache could easily break your plug-in with a future launchbox update if they choose to change the way images in the image cache are stored. But, it does work as a hacky workaround. You would want to scale your image to whatever dimensions that LaunchBox would scale and would you need to name it with the naming convention that LaunchBox would name it. The naming convention looks to be something like: .{ImageType}-{Game.Id}-{MaxHeight}-{MaxWidth}.{jpg|png} I'm not 100% sure how the image scaling works. I think it's dependent on that slider that lets you choose how many games fit in a row because when I slide that around, I see the image cache updating like crazy and new files getting generated with new file names in that dimension part of the file name. So this is the dicey part of going around the plug-in API. I tested this out with a simple plug-in to test where all I do is call PluginHelper.LaunchBoxMainViewModel.RefreshData. While LaunchBox is open, I manually replaced an image in the LaunchBox\Images\Cache-LB folder with a new image. Then clicked my plug-in menu item to call RefreshData and the image updated on the screen.
  18. Is this in BigBox, refresh the image cache or something else you’re looking to do? Edit - oh you said Main UI so I assume LaunchBox. Not sure but have you tried RefrshData? This worked to make a new game show up when I added a new game so I’d think it will show updated images https://pluginapi.launchbox-app.com/html/da689f24-d5ec-7977-c285-e94ce60f7c94.htm
  19. Fry

    Eclipse

    Regarding putting platform playlists, you can go to the options gear and view games by playlist and it will show whatever playlists you have setup. I agree, this theme does not suit itself to large collections with full rom sets. It's much better with smaller curated collections. Between 50 and 200 games in a platform or playlist seem to work well for me. When I get into the 600+ it takes a long while to scroll through. I'm asking for an enhancement to the plug-in API to allow for more button bindings so that I can support page up and page down so that it can jump through the game list faster for longer lists. Right now, all the available button bindings are in use. Here's the request if anyone wants to vote for it: https://bitbucket.org/jasondavidcarr/launchbox/issues/5624/expose-additional-button-events-bindings Regarding flipping the box art, thanks for the suggestion. I've added it to my to-do list. I need to see how I can do this, this is another case where I might need an additional button binding in the plug-in API because all the available options are already in use. I will add the "flip box art" event to my request for additional plug-in events.
  20. Fry

    Eclipse

    You're absolutely right. There's always a chance for the plug-in to break when there's an update because it depends on the LB plug-in API and in places where the API does not offer a solution, it reads from LB/BB data files. Changes to the plug-in API or the underlying data format of the LB data files could break things. I try to use the plug-in API and avoid going directly to the data files whenever possible for that reason. If an update breaks the plug-in, generally it will throw an exception on startup and Big Box will revert to it's default theme so it shouldn't be a concern of it ruining your LB/BB install or anything. Long term, I've requested some changes to the LB plug-in API to support voice search and the standard theme engine to support multiple wheels on the screen at one time. If we get those changes, I'll be happy to throw 90% of this code away and rebuild it as a standard theme with a small voice search plug-in.
  21. Fry

    Eclipse

    Agreed on all three! Did scrolling through games feel choppy for you? Do you know about how many games you have? Do you know about how long it took for it to load up for you?
  22. Launchbox\Data\InputBindings.xml make a backup of that file so you can put it back in case it gets messed up worse. You can edit it in a text editor. Look for BigBoxSelect and put a button in there
  23. For this one, I was looking at working around it using a 3rd party library called PDFium. I’m wondering if there would be a better way to do it with whatever library that BigBox is using to display PDFs. Is big box using cefsharp to embed a browser window that shows the PDF manuals? Any suggestion for a big box plugin that wants to embed a pdf reader into big box?
  24. In case it helps, You can import a game 2x and check the “force import duplicates” check box at the end of the wizard. Then give each game a unique name like “House of the dead (sinden)” and “House of the dead (gunir)”. Set them to use different emulators, additional apps or whatever you need to load them differently. That’s what I do with games like TMNT ant X-men to keep both 2 and 4 player variants available as separate selections. you may already know this and were looking for a more elegant way of doing it via playlist but wanted to throw this out in case you hadn’t thought about it
  25. Fry

    Eclipse

    Thanks! You can use the plugin API to add custom user interface controls to a theme and handle events like up, down, left, right, enter, esc, page up, and page down. https://pluginapi.launchbox-app.com/html/921cbe56-8200-e3cf-b8f4-2af213ae728a.htm Its all done by the plugin that gets all the games in LaunchBox and creates lists of games by their metadata values. Then those lists are grouped into “list sets” by the type of metadata. Once you have that, it’s a matter of laying the images out on the screen and handling the up, down, left, and right events to move the lists around. The code isn’t pretty but you can look at it in the GitHub link in the description if interested.
×
×
  • Create New...