Jason Carr Posted February 28, 2017 Share Posted February 28, 2017 Alright, beta 8 is out. I've fixed a number of minor bugs and performance issues with the playlists, as well as added support for custom fields in auto-playlist filters. Custom fields in auto-playlists is something that could really use testing, so if that is something you're interested in, please test with it as much as you can. Finally, I added a number of new comparison types to help with certain situations: - Has All Values (for multi-item fields like Developer, Publisher, and Genre) - Has None of the Values (same, for multi-item fields) - Has At Least One Of (same, for multi-item fields) - Is Between (for dates and numeric fields) These new types should help handle "AND" query situations since otherwise, an "OR" is used between multiple entries for the same fields. If none of this makes sense to you, then don't worry about it, as these are more advanced querying features for the automatic playlists. How to use them should be fairly obvious due to the default values that show up when selecting the types. That said, all of the previous options are still available (and are also the defaults) in order to keep things as easy to use out of the box as possible. Going forward, for playlists, here are the items that are still on the to-do list for 7.8: - Hotkeys for switching between various views in Big Box (specifically needed for platforms and playlists) - Adding games to playlists from within Big Box - A new tab in the playlist add/edit window to display the games in a grid for custom sorting - Custom ordering for playlist items (needed?), currently uses the same ordering as everything else - Auto-populating of certain playlists on imports (such as Capcom Classics, Namco Classics, etc. for the Arcade platform) - Download platform videos support for playlists Again, these are not promises for 7.8 (we may not get all items in), but that's the plan. Thanks all! 6 Link to comment Share on other sites More sharing options...
Lordmonkus Posted February 28, 2017 Share Posted February 28, 2017 I finally got around to getting a beta version installed to check in on the playlists feature and really like it so far. I do have one question / request for it though. Is there a way to manage playlists and settings for playlists in the Launchbox UI ? When I first made a playlist it asked if I wanted to have it show up in the platforms list and I picked yes, but then decided I didn't want that and found no easy way of changing that without editing the xml file for the playlist file itself. It would be really handy to have a "Manage Playlists" entry in the "Options" menu where the "Manage Emulators" and "Manage Platforms" is. Hopefully this is part of the "to-do" list and if it isn't please add it 3 Link to comment Share on other sites More sharing options...
FistyDollars Posted February 28, 2017 Share Posted February 28, 2017 Just FYI, I'm still having the bug with platforms not being sorted correctly. Link to comment Share on other sites More sharing options...
corvusfan23 Posted February 28, 2017 Share Posted February 28, 2017 5 hours ago, FistyDollars said: Just FYI, I'm still having the bug with platforms not being sorted correctly. That would make at least 2 of us. Link to comment Share on other sites More sharing options...
deliyuerek85 Posted February 28, 2017 Share Posted February 28, 2017 10 hours ago, Jason Carr said: - Custom ordering for playlist items (needed?), currently uses the same ordering as everything else Yes please. I am waiting for a possibility to sort games in BixBox by release date very long time. If you add this feature I could at least create a playlist for that purpose. Link to comment Share on other sites More sharing options...
flores9 Posted February 28, 2017 Share Posted February 28, 2017 @Jason Carr I received this error message every time I try to edit this game from PSX (Amerzone). From the audit screen. Referencia a objeto no establecida como instancia de un objeto. App: LaunchBox Version: 7.8-beta-8 Type: System.NullReferenceException Site: System.Collections.Generic.List`1[System.String] (Unbroken.LaunchBox.Data.DataManager) Source: Unbroken.LaunchBox at (DataManager ) at Unbroken.LaunchBox.Data.DataManager.GetAllCustomFieldNames() at () at Unbroken.LaunchBox.Data.Fields.GetCustomFields() at () at Unbroken.LaunchBox.Data.Fields.InitializeDictionary() at (String ) at Unbroken.LaunchBox.Data.Fields.GetField(String fieldKey) at (PlaylistFilter , Game ) at Unbroken.LaunchBox.Data.PlaylistFilter.GetMatches(Game game) at (Playlist ) at Unbroken.LaunchBox.Data.Playlist.GetGames() at (Playlist , Boolean , Boolean ) at Unbroken.LaunchBox.Data.Playlist.GetGameCount(Boolean includeHidden, Boolean includeBroken) at (DataManager , Boolean , Boolean , Boolean , Boolean ) at Unbroken.LaunchBox.Data.DataManager.GetAllPlatforms(Boolean showHidden, Boolean showBroken, Boolean includeEmpty, Boolean includeNoPlatform) at (DataManager , String ) at Unbroken.LaunchBox.Data.DataManager.SaveInternal(String destinationFolder) at Unbroken.LaunchBox.Data.DataManager.<>c__DisplayClass134_0.<Save>b__0() at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.ThreadHelper.ThreadStart() Recent Log: 11:50:38 GameDetailsGui.RedrawDetails Start 11:50:38 GameDetailsGui.RedrawDetails Before ShowDetailRating 11:50:38 GameDetailsGui.RedrawDetails Before ShowDetailFileName 11:50:38 GameDetailsGui.RedrawDetails Before ShowDetailCustomFields 11:50:38 GameDetailsGui.RedrawDetails Before ShowDetailLastPlayed 11:50:38 GameDetailsGui.RedrawDetails Before ShowDetailNotes 11:50:38 GameDetailsGui.RedrawDetails Before ShowDetailDates 11:50:38 GameDetailsGui.RedrawDetails End 11:50:38 Music.Prepare Start 11:50:38 Music.Kill Start 11:50:38 Music.Kill Finished 11:50:38 Music.NotifyTrackList Start 11:50:38 Music.NotifyTrackList Invoke 11:51:03 Music.Pause Start 11:51:03 Music.Prepare Start 11:51:03 Music.Kill Start 11:51:03 Music.Kill Finished 11:51:03 Music.NotifyTrackList Start 11:51:03 Music.NotifyTrackList Invoke 11:51:16 Music.Pause Start 11:51:16 Music.Prepare Start 11:51:16 Music.Kill Start 11:51:16 Music.Kill Finished 11:51:16 Music.NotifyTrackList Start 11:51:16 Music.NotifyTrackList Invoke 11:53:47 Music.Stop Start 11:53:49 Music.Kill Start 11:53:49 Music.Kill Finished 11:53:56 Music.Stop Start 11:53:57 Exception Link to comment Share on other sites More sharing options...
chglcu Posted February 28, 2017 Share Posted February 28, 2017 16 hours ago, lordmonkus said: I finally got around to getting a beta version installed to check in on the playlists feature and really like it so far. I do have one question / request for it though. Is there a way to manage playlists and settings for playlists in the Launchbox UI ? When I first made a playlist it asked if I wanted to have it show up in the platforms list and I picked yes, but then decided I didn't want that and found no easy way of changing that without editing the xml file for the playlist file itself. It would be really handy to have a "Manage Playlists" entry in the "Options" menu where the "Manage Emulators" and "Manage Platforms" is. Hopefully this is part of the "to-do" list and if it isn't please add it You can change the playlist options by right clicking the playlist in the side bar and selecting edit. 1 Link to comment Share on other sites More sharing options...
Jason Carr Posted February 28, 2017 Author Share Posted February 28, 2017 16 hours ago, lordmonkus said: I finally got around to getting a beta version installed to check in on the playlists feature and really like it so far. I do have one question / request for it though. Is there a way to manage playlists and settings for playlists in the Launchbox UI ? When I first made a playlist it asked if I wanted to have it show up in the platforms list and I picked yes, but then decided I didn't want that and found no easy way of changing that without editing the xml file for the playlist file itself. It would be really handy to have a "Manage Playlists" entry in the "Options" menu where the "Manage Emulators" and "Manage Platforms" is. Hopefully this is part of the "to-do" list and if it isn't please add it You can access the list of playlists in the sidebar and add or edit them by right-clicking. Link to comment Share on other sites More sharing options...
Jason Carr Posted February 28, 2017 Author Share Posted February 28, 2017 16 hours ago, bundangdon said: All great stuff! The playlist feature is definitely top notch! Just wondered though, how do we go about using the custom fields? I tried to find it in the options menu, auto-populate menu but couldn't find anything. Custom fields should automatically show up in the auto-populate grid's field drop down list when editing a playlist. Link to comment Share on other sites More sharing options...
Jason Carr Posted February 28, 2017 Author Share Posted February 28, 2017 Thanks @flores9; just fixed that error for the next beta. Link to comment Share on other sites More sharing options...
JaysArcade Posted February 28, 2017 Share Posted February 28, 2017 I'm still having a hard time grasping what custom fields are for, or what scenario I would want to use them, or how to create them. Any examples? Link to comment Share on other sites More sharing options...
Lordmonkus Posted February 28, 2017 Share Posted February 28, 2017 1 hour ago, Jason Carr said: You can access the list of playlists in the sidebar and add or edit them by right-clicking. Ah ok, I tried it in "Platforms" view and got nothing but now going back to look at it again the right clicking works when in "Playlists" view. A "Manage Playlists" menu item in the "Options" along side "Manage Emulators" and "Manage Platforms" would be nice for consistency though 1 Link to comment Share on other sites More sharing options...
CriticalCid Posted February 28, 2017 Share Posted February 28, 2017 1 hour ago, jaythompson said: I'm still having a hard time grasping what custom fields are for, or what scenario I would want to use them, or how to create them. Any examples? You can basically add your own meta data fields which aren’t supported by default. For example, the Lightspeed importer adds custom fields like “Display Orientation”, “Control Type”, “Number of Buttons” or “Sub-Genre” for all your MAME/MESS games. With that info It’s really easy to create dedicated playlists for “Vertical Shmups” or “Lightgun Shooter” with just a few clicks. That’s just one example how they can be used, of course this feature gets mightier the more fields and tags you add. 2 Link to comment Share on other sites More sharing options...
JaysArcade Posted February 28, 2017 Share Posted February 28, 2017 Oh I see. Thanks for the explanation. I'm so used to manually sorting everything out, its difficult to see myself using this much, but it's nice to know it's there. I'm so oldskool with frontends, I remember eyeing Hyperspin with suspicion when it came out. I was deeply invested in a GameEx setup back then. Gawd, that was ten years ago. The time has flown and the frontends just keep getting better and better. Link to comment Share on other sites More sharing options...
Mrtots Posted February 28, 2017 Share Posted February 28, 2017 Great work Jason. Playlists is definitely massive addition to bigbox's usability, am happy to support such a easy to use and rapidly updated fronted. I'm sure you are already on it but, Currently manually updating artwork for a playlist that have been given a platform (in manage platform), dose nothing. You would think it would update the playlist automatically. Link to comment Share on other sites More sharing options...
Norfair Posted March 1, 2017 Share Posted March 1, 2017 I got this error when saving i platform: Collection was modified; enumeration operation may not execute. App: LaunchBox Version: 7.8-beta-8 Type: System.InvalidOperationException Site: Void ThrowInvalidOperationException(System.ExceptionResource) Source: mscorlib at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource) at System.Collections.Generic.List`1.Enumerator.MoveNextRare() at System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext() at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source) at Unbroken.LaunchBox.Data.Fields.GetCustomFields() at () at Unbroken.LaunchBox.Data.Fields.InitializeDictionary() at (String ) at Unbroken.LaunchBox.Data.Fields.GetField(String fieldKey) at (PlaylistFilter , Game ) at Unbroken.LaunchBox.Data.PlaylistFilter.GetMatches(Game game) at (Playlist ) at Unbroken.LaunchBox.Data.Playlist.GetGames() at (Playlist , Boolean , Boolean ) at Unbroken.LaunchBox.Data.Playlist.GetGameCount(Boolean includeHidden, Boolean includeBroken) at (DataManager , Boolean , Boolean , Boolean , Boolean ) at Unbroken.LaunchBox.Data.DataManager.GetAllPlatforms(Boolean showHidden, Boolean showBroken, Boolean includeEmpty, Boolean includeNoPlatform) at (DataManager , Boolean ) at Unbroken.LaunchBox.Data.DataManager.AddMissingPlatforms(Boolean populateLocalDbFields) at (DataManager , String ) at Unbroken.LaunchBox.Data.DataManager.SaveInternal(String destinationFolder) at Unbroken.LaunchBox.Data.DataManager.<>c__DisplayClass134_0.<Save>b__0() at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.ThreadHelper.ThreadStart() 1 Link to comment Share on other sites More sharing options...
Norfair Posted March 1, 2017 Share Posted March 1, 2017 (edited) Edit: Ignore this, it's just a wrong spelling. For auto-playlists there is both "Application/ROM Path" and "Title", but I would also like to have "File Name". This is because I would like to be able to pick up strings inside parentheses, which is not included in the "Title". But I am a little confused. I can sometimes pick up these strings, but sometimes not. I've created this auto-playlist: "Application/ROM Path" Contains "Metroid" This ROM is included in the playlist: Games\Nintendo - Super Nintendo Entertainment System\Hacks\So Little Garden (V1.0 MetroidMst) (Super Metriod).zip This ROM is not included in the playlist: Games\Nintendo - Super Nintendo Entertainment System\Hacks\Eris (V2012 Digital_Mantra) (Super Metriod).zip Edited March 1, 2017 by Norfair 1 Link to comment Share on other sites More sharing options...
Belgarath Posted March 1, 2017 Share Posted March 1, 2017 The second file has Metroid spelt incorrectly, it says Metriod, so obviously wouldn't be picked up in a search. (the first file has it spelt Metriod as well right at the end, but before that it has it spelt correctly which is why it's getting picked up). 1 Link to comment Share on other sites More sharing options...
Norfair Posted March 1, 2017 Share Posted March 1, 2017 1 hour ago, Belgarath said: The second file has Metroid spelt incorrectly, it says Metriod, so obviously wouldn't be picked up in a search. (the first file has it spelt Metriod as well right at the end, but before that it has it spelt correctly which is why it's getting picked up). Wow, you're right. I didn't see that. Thanks! This means "Application/ROM Path" includes the full file name. Link to comment Share on other sites More sharing options...
Norfair Posted March 1, 2017 Share Posted March 1, 2017 I think the platform ordering issue is really annoying. This is why i've done even more testing. I've tried setting all Windows language/region settings to English (United States). This doesn't help. The Windows region settings doesn't seem to be related. By changing platform names I can get rid of the sorting issue, as I showed in a previous post. I've found an additional bug when changing the platform name. Maybe this is also affecting the platform sorting? Reproducing the bug: 1. I rename the platform "Nintendo" to "Nintendo Entertainment System" 2. I now get two files: Data\Platforms\Nintendo.xml Data\Platforms\Nintendo Entertainment System.xml (no problems yet, but shouldn't the Nintendo.xml be deleted?) 3. I rename the platform "Nintendo Entertainment System" back to "Nintendo" (everything still seems to be fine, but shouldn't the Nintendo Entertainment System.xml be deleted?) 4. I restart LB and there are two platforms in Data\Platforms.xml: <Name>Nintendo</Name> <Name>Nintendo Entertainment System</Name> I now have two broken platforms. The "Nintendo" platform has the correct platform name and the correct paths, but no "associated games". The "Nintendo Entertainment System" platform has all the associated games, with incorrect paths. 1 Link to comment Share on other sites More sharing options...
Recommended Posts