My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members
Links

Project has moved to http://github.com/bmravec/GMediaDB

Introduction

GMediaDB provides a GObject class that allows transparent access to the media database. This class provides a simple interface to the metadata while still maintaining the ability to work with many different types of media.

Each object that is created is associated with a specific type of media such as Music. It then sets itself up internally to only handle media of that type. This is helpful because the object has two signals associated with added and removing a file from the database. These will only go off when somethign has changed for the specific type that the application is interested in.

The interface works using a dictionary type structure. You pass in an array of tags that you are requesting, and another array is returned that has the values to those tags. There is also a set method that takes an array of keys and values. This creates a lot of flexibility because it does not limit you to a specific set of keys. The application is free to add extra tags as necessary.

Demo

This is largely just a proof of concept and but has the possibility to mature into something worth using. To see it in action, several things need to be done. First off, install this project on your system. It will install the library and the dbus service on the system. Next I have two other projects linked to the right that demonstrate some of the basic functionality. Install both of these.

  • GMediaMP is an incomplete music player like Rhythmbox that uses GMediaDB to load the list of tracks and get changes using the signals. It gets specific tags and displays them in a browser type player. Download.
  • GMediaTag is a track loader that displays a list of tracks and has the ability to import music tracks using taglib_c. This program can add and remove tracks from the database. Download.
Powered by Google Project Hosting