After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 330259 - Support arbitrary metadata
Support arbitrary metadata
Status: RESOLVED OBSOLETE
Product: rhythmbox
Classification: Other
Component: general
HEAD
Other Linux
: Normal enhancement
: ---
Assigned To: RhythmBox Maintainers
RhythmBox Maintainers
Depends on:
Blocks: 324540
 
 
Reported: 2006-02-07 12:02 UTC by James "Doc" Livingston
Modified: 2018-05-24 11:21 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description James "Doc" Livingston 2006-02-07 12:02:55 UTC
Rhythmbox should have a mechanism for attaching arbitrary metadata to RhythmDBEntries. Such as a map of (entry, metadata-tag)->value.

This could be implemented by rhythmdb-tree having a GHashTable per metadata-tag which maps RhythmDBEntry->GValue, and a main GHashTable which maps RBRefString->GHashTable.


This would be useful for 1) storing type-specific metadata (e.g. podcast data under "podcast:status", "podcast:copyright" etc), 2) arbitrary "tags" or "categories" under "category:foo", and 3) some of the current data that is often unused "rb:playback-error".
Comment 1 James "Doc" Livingston 2006-02-07 12:10:04 UTC
For serialisation/deserialisation we would also need a (metadata-tag)->(type) mapping. We could have the main hash table be (RBRefString) -> (GType, GHashTable). If the GType is NULL when saving then it would not be serialised.

If the GType is NULL when deserialising, we would probably need to load it anyway in case there are plugins which haven't registered the it yet. Perhaps we could do  the transformation into the real type when it is registered later.
Comment 2 GNOME Infrastructure Team 2018-05-24 11:21:38 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/rhythmbox/issues/141.