GhostTracks.zipHere it is if anyone wants to play around. Modified source file included. I've only modified it enough to get it working. There's still a few unused variables and things that need cleaning up.
You need to copy all the DLL's into the plugins folder. For whatever reason getting Sqlite DLL's to compile into a single package is a PITA so I didn't bother.
To use it you have to go into Edit Preferences-> Hotkeys and assign a key to Delete (keep Ghost File). I used shift+delete.
Then just highlight tracks in the main window and use the hotkey, there will be no indication to tell you it copied over. You just have to click on the ghost tracks link in the navigator window and see if the added tracks are there.
Changes
- Updated to use Microsoft.Data.Sqlite (if you want to play with the source code you will need to add this package).
- Instead of using a pre-made database, it will now create a new database dynamically based on the existing FilePropertyTypes and MetaDataTypes in Musicbee. Note this only occurs when no database is present, if new file properties or metadata types are added to Musicbee, they will not be added to the database. It will need to be deleted and let the plugin create a new database to add those columns.
- The database file is located at AppData\Plugins\Ghost Tracks\Ghost Tracks.db
Issues
- For whatever reason the ghost drives folder will not appear in the Folder Browser element until you hit F5 to refresh it. I tried using MB_RefreshPanels() but no luck, I didn't try that hard to solve the issue. It appears just fine in the Navigator element.
- While you can browse through the songs and filter them with the search command etc... just like the rest of the library, because they are not linked to an actual file some things will produce an error eg) The artwork tab and Tag Inspector. Even though you can't look at things like virtual tags they are stored in the ghost tracks database.
- There isn't a current method to remove a track from the ghost tracks database. Once it's in there it staying there unless you delete the database.
- The plugin keeps 20 backups of the database, I meant to reduce this before I compiled but forgot.
That's all I'm going to do with this unless someone gives me a reason like I mentioned earlier.