Jump to content
LaunchBox Community Forums

Idea: Support for multiple libraries


garbanzo

Recommended Posts

This might be one of those ideas that is much harder to implement than it might seem to a non-programmer like me, but I want to throw it out there anyway. I've used collection management software before that supports multiple libraries that you can switch between on the fly. I think something like that would be really nice in LB. For example, if I have my NES controller plugged in, all I care about are NES games. I don't want DOS titles showing up in searches. Or maybe I want all my Super Metroid hacks in their own library so they can be kept separate from my licensed games. Right now I do this by running multiple instances of LB, but being able to just switch libraries would be a much cleaner solution :)
Link to comment
Share on other sites

Click the report issues/feedback link and leave new features requests on Jason's Bitbucket he is requesting this since it is difficult for him to track feature request on two different locations and Bitbucket makes it easier to track issues and people can vote on your request increasing its chances of receiving attention quicker.
Link to comment
Share on other sites

Yes, but it's complicated by the fact that the file paths in the XML file are all relative. In other words, if you set up your library a certain way, and then move the XML file somewhere else, but don't move the images along with it, suddenly you've lost all of your images. So that's a challenge; certainly not a deal breaker, but a challenge once we allow users to open different XML files.
Link to comment
Share on other sites

The problem comes more into play when you start treating the XML files like documents, and allow users to move them around, load them from various places. It's obvious that you shouldn't move the current LaunchBox.xml file because it has to be right there in the LaunchBox folder. Once you start allowing users to open up files from anywhere, that's where it gets to be a problem.
Link to comment
Share on other sites

I doubt many users are going to arbitrarily move XML files around. Put them in a folder called Databases and tell LB to only load XML files that are in that directory. And don't make the "change database" dialog into a file picker. Make it a dialog with a list or a drop-down. Don't advertise to users that they're just loading different XML files. As an aside, I didn't even know LB was portable. I'm just in the habit of not moving apps and their files once installed. It think that's probably true of most people...
Link to comment
Share on other sites

The portability is more important when it comes to syncing between computers, which is one of the biggest points of it all. Imagine being able to manage your library on your desktop PC and have it automatically sync to Big Box on your game cabinet. That's the point. I see your point though on just allowing multiple databases, instead of typically open/save. I just assumed they went together. Ultimately, though, let me ask you this. What is the point of having completely separate databases when you can just group your games and filter them accordingly?
Link to comment
Share on other sites

To me, the point is that "video games" is an enormous category, and the filtering/searching/sorting tools currently offered by LB aren't robust enough to meaningfully navigate a large, broad collection. Which isn't a criticism! I use foobar2000 to manage my audio files (an even more enormous category), and even with its extremely advanced and user-customizable sorting and filtering capabilities, I still find myself running multiple instances of the program so I can keep my audio books separate from my film scores separate from my rips of comic book vinyl separate from my regular music. Each group of audio file is distinct enough that it requires different tags, different filters, and different groupings. And if I want to shuffle all my 5-star album tracks, I don't want chapters from audio books or end credits from a film showing up in the mix. Similarly, with video games, I want to handle interactive fiction, DOS games, 16-bit Windows games, and modern Windows games all differently than I handle ROMs. First and foremost, each requires something a little different in terms of controls and gameplay setup. If I'm sitting on my sofa with a controller in my hand, I don't want keyboard-only DOS games to show up when I search for racing titles to play. I could use a custom field to break down my collection into these higher level categories, or I could add a field for controller type, but using up that precious filter on a broad level category like that will limit me as I try to filter further down. For example - my favorite platform is NES, but I have not yet put my NES collection into LB because I want to make use of additional tags such as licensed/unlicensed, prototype, beta, competition cartridge, arcade port, re-release, competition cart, bootleg, homebrew, and several tags describing different types of rom hacks. If I have already used a custom tag to indicate that a title is a console game, or that it is played using a controller, then I have already used my primary filter. I can only go deeper if I build piles and piles of static custom filters (console games - nes - unlicensed), but that eliminates the potential for cross-referencing. One solution I have considered is to run multiple instances of LB and to launch them from another instance of LB. The main LB could have icons for individual platforms, and each platform could have a custom tag describing the primary control scheme for that platform (controller, mouse, keyboard, mouse + keyboard). So I could either sort down to Consoles - NES or to Controller - NES, then launch an NES-specific instance of LB. That covers my need for higher-level filtering, and lets me use the filter in the new instance of LB in a more meaningful, NES-specific manner. But as I flesh this idea out, I realize that the problem with this approach is that it completely eliminates cross-referencing, which I admit is sometimes nice. If I want to see all the Castlevania games I have, it would be impossible if I'm running separate instances of LB for each platform. Even if I have an instance of LB dedicated to ROMs, then I leave out the ability to pull in the MSX 2, C64, Amiga, DOS, and X68000 Castlevania titles. Hmm - now that I think about it, separate databases would also impose these same silos, with no communication possible between them. Maybe it's not the best solution after all! OK, how about this - instead of multiple databases, maybe you can implement nested filters. Replace the drop-down filter menu in the left bar with several layers of nested filters (think iTunes) and allow users to switch the source of each filter on the fly. That would eliminate the current restriction of one level of filtering + visual-only grouping + basic search. With nested filters, you could choose Console Games / Nintendo / Nintendo Entertainment System / Prototypes, or you could go in a completely different direction and choose PC Games / DOS / Sierra / Graphic Adventure to get where you want to be. So it's official, I would rather have nested filters than multiple databases! (see @DOS76, this is why I made a discussion thread instead of putting a request directly into BitBucket Wink)
Link to comment
Share on other sites

garbanzo said OK, how about this - instead of multiple databases, maybe you can implement nested filters. Replace the drop-down filter menu in the left bar with several layers of nested filters (think iTunes) and allow users to switch the source of each filter on the fly. That would eliminate the current restriction of one level of filtering + visual-only grouping + basic search. With nested filters, you could choose Console Games / Nintendo / Nintendo Entertainment System / Prototypes, or you could go in a completely different direction and choose PC Games / DOS / Sierra / Graphic Adventure to get where you want to be. So it's official, I would rather have nested filters than multiple databases!
Nested Filters sound awesome man, right now I am struggling to organize my SNES collection at LaunchBox and nested filters fits my needs. If you ever open a request proposing this I will vote for it.
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.
Reply to this topic...

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