I am using currently the discogs plug for determination of album information. Right now I do have the discogs release id stored in my tags (well basically I am storing this into a file called id.txt in each album) and I would also like to see this information in the library to avoid the need to type this in again on a re-scan.
Did I miss anything?
So what I propose is the possibility for each plugin to store additional fields in the library (like discogs_id).
I have browsed through the source code and would suggest one solution, which could also be implemented for already existing plugins/fields:
This could be used by already existing plugins (e.g. chroma) to store their values. Most of this could be abstracted away by using a "plugin_library" to have a common handling of this. Of course, if already existing fields are done with the new structure, a migration have to be written as well.
Queries could be offered on this one as well. Problem could be, that on very large collection, the above mentioned table could grow quite fast.
It would be even more perfect if the above would be "automatically" done with the MediaFile fields, but I guess, that this would not be as easy and not really needed anyway.
Great idea—this is probably the right design, and is in fact almost exactly what we're already starting to implement in the flexattr branch. See the discussion in #101. If you're interested, we could use some bright ideas about the implementation strategy there—it's nearly working but still has a few warts. I plan pushing on this feature more aggressively after the next release is finalized.