Playnite Forums
  • Playnite Web
  • Rules
  • Members
  • Team
  • Search
  • Register
  • Login
  • Home
  • Members
  • Help
  • Search
Playnite Forums Extension Database Library Plugins EmuLibrary

EmuLibrary
psychonic
Offline

#1
04-04-2021, 10:57 PM
EmuLibrary is an extension to treat one or more folders of ROMs/Disc images as a library from which you can "install" games. It can be useful if you have a large collection of emulated games and limited storage where you play them versus where you store them (HTPC vs. NAS, for example). It also is useful for keeping the list of emulated games up to date, and for being able to filter via installed/uninstalled.

Latest Release

Source

Settings page example is below. If "Games Use Folder" is checked, it expects each game is contained within a subfolder of the Source Path (such as for an m3u/cue/bin combination), versus individual files in the source (nes/smd/zip/etc.). You may need to expand the window when editing the settings until it's replaced with something better than a DataGrid.

[Image: KEpOfXf.png]

Some of it is a bit hacky, but I've been slowly improving it. Some or all of its functionality may be obsolete when Playnite 9 is released. We'll see what happens. I created it for myself, but wanted to share in case its useful for anyone else.
Madmick
Offline

#2
07-25-2021, 10:55 AM (This post was last modified: 07-25-2021, 11:16 AM by Madmick.)
Very cool extension. It's almost what I need, but not quite. So I have a simple feature request that would resolve this.

Since ROMS don't require you to "install" them in the classic sense, with registry modification, would it be possible to add the ability to play them directly from where they are stored? This could be another column with a box to check in the Data Column, "Play game directly from Source Path". That would handle each folder as a batch. That's all I desire. Although it would be even nicer if there was an additional menu option added to each game where you could choose this behavior individually.

For me, I'm not maintaining the games on a separate machine on the same network. They're just on an internal HDD because despite my ample SSD storage I don't really want to waste SSD space on retro games. Load times aren't an issue.

The reason I like your extension is because it creates a separate library, "EmuLibrary", and Crow wrote elsewhere that it's impossible to create Custom libraries without a plugin. I simply want to keep Playnite's default library for games I add manually separate from my emulation library (which I also must add manually). Your extension specifically serves this function for emulated ROM folders, and it already exists, so it's less work than creating my own plugin just to have an additional custom library.

I know I can use filters-- sorting by platform-- to browse emulated games, but I want a separate library for games running via emulation vs. games running in compatibility mode, or games installed via the dying format of a physical disc, or simply from some other source.

I don't want to have to install these all over. They're technically "installed" sitting right where they are in their storage folders similar to a portable program. So this additional feature for your extension would be greatly appreciated.

Thank you.
psychonic
Offline

#3
07-25-2021, 12:01 PM
(07-25-2021, 10:55 AM)Madmick Wrote: Since ROMS don't require you to "install" them in the classic sense, with registry modification, would it be possible to add the ability to play them directly from where they are stored? This could be another column with a box to check in the Data Column, "Play game directly from Source Path". That would handle each folder as a batch. That's all I desire. Although it would be even nicer if there was an additional menu option added to each game where you could choose this behavior individually.
The easiest way to handle that without any changes is to use a dummy, empty folder as the source, and the folder where they are actually at as the destination.
Madmick
Offline

#4
07-25-2021, 09:50 PM
(07-25-2021, 12:01 PM)psychonic Wrote: The easiest way to handle that without any changes is to use a dummy, empty folder as the source, and the folder where they are actually at as the destination.
Oh, dope! Thank you. That has me set.
FunkyMunky
Offline

#5
07-29-2021, 10:54 AM
Hey, I just registered because I wanted to tell you that your plugin is amazing. I have been using it for the last couple of weeks and it has been working more or less flawlessly for me. I have been looking for a good solution for making my entire game library available to my multiple devices without blocking a ton of storage and being able to simply install them when needed is kind of the perfect compromise for me.

I wonder why you got so little feedback to your plugin in this thread. I would have thought it solves a really obvious and common problem and i wish it was a standard feature in playnite. For me, it is actually the main reason I use playnite over other similar solutions like launchbox, where this kind of convenient file management is not possible.

I just hope that future versions of playnite won't break functionality or, if they do, that you can find the motivation to maintain compatibility. I at least would be very happy.
Madmick
Offline

#6
07-29-2021, 09:42 PM
@psychonic

One issue with using your plugin in the way I'm using it, and I realize this isn't the function it's intended to serve. I just discovered that when I use the feature, "Remove entries with missing source ROM", it replies, "Nothing to do", even though I know for certain I removed a ROM, and it's still there in Playnite.

I assume this is because the Source folder is using that Dummy folder with no ROMs inside of it. If there is a simple fix for this, I'd very much appreciate it in the next version.

Thank you. +1 to the guy above me. Awesome work.
OneAngryGamer Away

#7
11-02-2021, 12:17 AM
@psychonic - EmuLibrary is incredible. It takes a little getting used to but once you do, you can't use Playnite without it. (This plugin is one of the reasons why I'm holding off on Playnite 9)

I have two questions:

1. Are you working on a release for Playnite 9?

2. I have been creating a PowerShell extension that lets you change roms from the Playnite Library into EmuLibrary. (This solves the problem of roms that had been imported into Playnite before you first used EmuLibrary). It appears to be working but I'm not fully certain that I have solved how your plugin derives the game id for each rom.
psychonic
Offline

#8
11-02-2021, 12:59 AM
I haven't done anything for Playnite 9 yet. PN9 isn't useful to me until I also port over three other similar extensions as well. (They're similar to this one, but for Rpcs3, Cemu, and Yuzu - including auto-detection of and handling installation/uninstallation of game updates/dlc in addition to game content). PN9 built some of that functionality in as well, but as far as I could tell, only handles game discs or otherwise standalone files.
OneAngryGamer Away

#9
11-04-2021, 11:28 PM
(11-02-2021, 12:59 AM)psychonic Wrote: (They're similar to this one, but for Rpcs3, Cemu, and Yuzu - including auto-detection of and handling installation/uninstallation of game updates/dlc in addition to game content).

That is certainly an ambitious project you have set for yourself. I wish I could help you out. (I have some experience with Playnite and these 3 emulators but I have never tried to write extensions that work with their updates or dlc)

Out of interest - how are you planning to detect the directory for each emulator? Read the registry? User select the exe file? Read from Playnite?

(11-02-2021, 12:59 AM)psychonic Wrote: I haven't done anything for Playnite 9 yet. PN9 isn't useful to me until I also port over three other similar extensions as well.
 
I understand. I cant upgrade to P9 yet either (Doing so would break all of my games in EmuLibrary and I would lose essential plugins - e.g. Launchbox is only metadata provider worth using for old console games)

I suppose it would be impossible to update EmuLibrary for P9 soon and release the other add-on extensions at a later date?
psychonic
Offline

#10
11-05-2021, 03:54 AM
(11-04-2021, 11:28 PM)OneAngryGamer Wrote:
(11-02-2021, 12:59 AM)psychonic Wrote: (They're similar to this one, but for Rpcs3, Cemu, and Yuzu - including auto-detection of and handling installation/uninstallation of game updates/dlc in addition to game content).

That is certainly an ambitious project you have set for yourself. I wish I could help you out. (I have some experience with Playnite and these 3 emulators but I have never tried to write extensions that work with their updates or dlc)

Out of interest - how are you planning to detect the directory for each emulator? Read the registry? User select the exe file? Read from Playnite?
They're already all functional, although they could just stand to have some cleanup, mostly in the settings UI. Also, the RPCS3 one currently requires a pretty rigid folder structure at the source, and I want to update it so I can just point it at a folder of ISOs and game/update package and have it sort out the rest, similar to what I do with the others. I think it also makes sense to combine all into a single extension since they all work relatively similarly.

It's all just a bunch of work for little gain when I just use it personally, same with porting to PN9.

(11-04-2021, 11:28 PM)OneAngryGamer Wrote:
(11-02-2021, 12:59 AM)psychonic Wrote: I haven't done anything for Playnite 9 yet. PN9 isn't useful to me until I also port over three other similar extensions as well.
 
I understand. I cant upgrade to P9 yet either (Doing so would break all of my games in EmuLibrary and I would lose essential plugins - e.g. Launchbox is only metadata provider worth using for old console games)

I suppose it would be impossible to update EmuLibrary for P9 soon and release the other add-on extensions at a later date?

I don't know if I'll ever get around to cleaning up the others for a release. I don't really care to support all of them. I can make the code public though.
OneAngryGamer Away

#11
12-08-2021, 04:03 AM
I have been working on an extension to add extra features for EmuLibrary. A public beta is available here
OneAngryGamer Away

#12
01-19-2022, 11:07 PM
Updated the Search Playnite extension to add the ability to searching for rom names in Game Id fields.

This can be useful for games that are 'uninstalled' from EmuLibrary since their file path fields are empty.
OneAngryGamer Away

#13
02-07-2022, 01:23 PM (This post was last modified: 02-07-2022, 01:24 PM by OneAngryGamer.)
While waiting for a P9 release, I have updated my 'Fix Game Library - EmuLibrary' extension to add new features. Get it here
OneAngryGamer Away

#14
02-21-2022, 08:47 AM
The Open Installation Location extension now supports EmuLibrary. You can use it to open the folder location of uninstalled EmuLibrary games.
OneAngryGamer Away

#15
03-08-2022, 10:39 AM
(07-25-2021, 09:50 PM)Madmick Wrote:
(07-25-2021, 12:01 PM)psychonic Wrote: The easiest way to handle that without any changes is to use a dummy, empty folder as the source, and the folder where they are actually at as the destination.
Oh, dope! Thank you. That has me set.

Be aware that there is a hidden trap when using dummy empty folders as the source.

If you have roms on different platforms that share the same filename, EmuLibrary will only add the first rom and will ignore the other roms.

For example -  suppose you have Donkey Kong Country on GameBoy Color, GameBoy Advance and Super NES. EmuLibrary will add the GameBoy Advance rom but will never add the GBC and SNES roms.
OneAngryGamer Away

#16
12-27-2022, 11:00 PM
I have updated my 'Fix Game Library - EmuLibrary' extension with improvements and added the ability to sort the maps into alphabetical order. Get it here
psychonic
Offline

#17
12-27-2022, 11:15 PM
For what it’s worth, I finally added Playnite 10 support to the code for this a few months back. I don’t have the team to continue to support it for others, but the code will stay open and up to date.
OneAngryGamer Away

#18
12-27-2022, 11:59 PM
(12-27-2022, 11:15 PM)psychonic Wrote: For what it’s worth, I finally added Playnite 10 support to the code for this a few months back. I don’t have the team to continue to support it for others, but the code will stay open and up to date.

Thank you for that. Where do I find the release for the Playnite 10 plugin?
OneAngryGamer Away

#19
02-24-2023, 02:36 AM
I have updated my complementary extension 'Fix Game Library - EmuLibrary' to 0.7.2 to include another method for fixing duplicate roms in EmuLibrary.

I added a tutorial on how to dedupe roms and avoid running the 'Delete entries with Missing Source ROMs'.

Any broken entries remaining can be found by running the report included in the extension.
« Next Oldest | Next Newest »



  • View a Printable Version
  • Subscribe to this thread

© Designed by D&D - Powered by MyBB

Linear Mode
Threaded Mode