Jump to content
LaunchBox Community Forums
Jason Carr

7.8-beta-8 Released

Recommended Posts

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!

  • Like 6

Share this post


Link to post
Share on other sites

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 :D

  • Like 3

Share this post


Link to post
Share on other sites
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. 

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

@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

 

error 2.png

Share this post


Link to post
Share on other sites
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 :D

You can change the playlist options by right clicking the playlist in the side bar and selecting edit.

  • Like 1

Share this post


Link to post
Share on other sites
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 :D

You can access the list of playlists in the sidebar and add or edit them by right-clicking. :)

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

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? 

Share this post


Link to post
Share on other sites
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 :)

  • Like 1

Share this post


Link to post
Share on other sites
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.

  • Like 2

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

 

Share this post


Link to post
Share on other sites

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()

  • Like 1

Share this post


Link to post
Share on other sites

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 by Norfair
  • Like 1

Share this post


Link to post
Share on other sites

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).

  • Like 1

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

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.
 

  • Like 1

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×
×
  • Create New...