## rb-metadata

rb-metadata

## Synopsis

    #define             RB_METADATA_NUM_FIELDS
    enum                RBMetaDataField;
    enum                RBMetaDataError;
    #define             RB_METADATA_ERROR
    GQuark              rb_metadata_error_quark             (void);
    typedef             RBMetaDataPrivate;
    RBMetaData*         rb_metadata_new                     (void);
    GType               rb_metadata_get_field_type          (RBMetaDataField field);
    gboolean            rb_metadata_can_save                (RBMetaData *md,
                                                             const char *mimetype);
    void                rb_metadata_load                    (RBMetaData *md,
                                                             const char *uri,
                                                             GError **error);
    void                rb_metadata_save                    (RBMetaData *md,
                                                             GError **error);
    const char*         rb_metadata_get_mime                (RBMetaData *md);
    gboolean            rb_metadata_get                     (RBMetaData *md,
                                                             RBMetaDataField field,
                                                             GValue *val);
    gboolean            rb_metadata_set                     (RBMetaData *md,
                                                             RBMetaDataField field,
                                                             const GValue *val);

## Description

## Details

### RB_METADATA_NUM_FIELDS

    #define RB_METADATA_NUM_FIELDS 23

### enum RBMetaDataField

    typedef enum
    {
    	RB_METADATA_FIELD_TITLE,                   /* string */
    	RB_METADATA_FIELD_ARTIST,                  /* string */
    	RB_METADATA_FIELD_ALBUM,                   /* string */
    	RB_METADATA_FIELD_DATE,                    /* ulong */
    	RB_METADATA_FIELD_GENRE,                   /* string */
    	RB_METADATA_FIELD_COMMENT,                 /* string */
    	RB_METADATA_FIELD_TRACK_NUMBER,            /* ulong */
    	RB_METADATA_FIELD_MAX_TRACK_NUMBER,        /* ulong */
    	RB_METADATA_FIELD_DISC_NUMBER,             /* ulong */
    	RB_METADATA_FIELD_MAX_DISC_NUMBER,         /* ulong */
    	RB_METADATA_FIELD_DESCRIPTION,             /* string */
    	RB_METADATA_FIELD_VERSION,                 /* string */
    	RB_METADATA_FIELD_ISRC,                    /* string */
    	RB_METADATA_FIELD_ORGANIZATION,            /* string */
    	RB_METADATA_FIELD_COPYRIGHT,               /* string */
    	RB_METADATA_FIELD_CONTACT,                 /* string */
    	RB_METADATA_FIELD_LICENSE,                 /* string */
    	RB_METADATA_FIELD_PERFORMER,               /* string */
    	RB_METADATA_FIELD_DURATION,                /* ulong */
    	RB_METADATA_FIELD_CODEC,		   /* string */
    	RB_METADATA_FIELD_BITRATE,                 /* ulong */
    	RB_METADATA_FIELD_TRACK_GAIN,		   /* double */
    	RB_METADATA_FIELD_TRACK_PEAK,		   /* double */
    	RB_METADATA_FIELD_ALBUM_GAIN,		   /* double */
    	RB_METADATA_FIELD_ALBUM_PEAK,		   /* double */
    	RB_METADATA_FIELD_LANGUAGE_CODE,	   /* string */
    	RB_METADATA_FIELD_MUSICBRAINZ_TRACKID,     /* string */
    	RB_METADATA_FIELD_MUSICBRAINZ_ARTISTID,    /* string */
    	RB_METADATA_FIELD_MUSICBRAINZ_ALBUMID,     /* string */
    	RB_METADATA_FIELD_MUSICBRAINZ_ALBUMARTISTID,   /* string */
    	RB_METADATA_FIELD_MUSICBRAINZ_ARTISTSORTNAME,  /* string */

    	RB_METADATA_FIELD_LAST			   /* nothing */
    } RBMetaDataField;

### enum RBMetaDataError

    typedef enum
    {
    	RB_METADATA_ERROR_GNOMEVFS,
    	RB_METADATA_ERROR_MISSING_PLUGIN,
    	RB_METADATA_ERROR_UNRECOGNIZED,
    	RB_METADATA_ERROR_UNSUPPORTED,
    	RB_METADATA_ERROR_GENERAL,
    	RB_METADATA_ERROR_INTERNAL,
    	RB_METADATA_ERROR_NOT_AUDIO,
    	RB_METADATA_ERROR_NOT_AUDIO_IGNORE,
    	RB_METADATA_ERROR_EMPTY_FILE
    } RBMetaDataError;

### RB_METADATA_ERROR

    #define RB_METADATA_ERROR rb_metadata_error_quark ()

### rb_metadata_error_quark ()

    GQuark              rb_metadata_error_quark             (void);

Returns : |

### RBMetaDataPrivate

    typedef struct RBMetaDataPrivate RBMetaDataPrivate;

### rb_metadata_new ()

    RBMetaData*         rb_metadata_new                     (void);

Returns : |

### rb_metadata_get_field_type ()

    GType               rb_metadata_get_field_type          (RBMetaDataField field);

`field` : |
Returns : |

### rb_metadata_can_save ()

    gboolean            rb_metadata_can_save                (RBMetaData *md,
                                                             const char *mimetype);

`md` : |
`mimetype` : |
Returns : |

### rb_metadata_load ()

    void                rb_metadata_load                    (RBMetaData *md,
                                                             const char *uri,
                                                             GError **error);

`md` : |
`uri` : |
`error` : |

### rb_metadata_save ()

    void                rb_metadata_save                    (RBMetaData *md,
                                                             GError **error);

`md` : |
`error` : |

### rb_metadata_get_mime ()

    const char*         rb_metadata_get_mime                (RBMetaData *md);

`md` : |
Returns : |

### rb_metadata_get ()

    gboolean            rb_metadata_get                     (RBMetaData *md,
                                                             RBMetaDataField field,
                                                             GValue *val);

`md` : |
`field` : |
`val` : |
Returns : |

### rb_metadata_set ()

    gboolean            rb_metadata_set                     (RBMetaData *md,
                                                             RBMetaDataField field,
                                                             const GValue *val);

`md` : |
`field` : |
`val` : |
Returns : |