## 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      (RBMetaData *md,
                                                 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 */
    } 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,
    } 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      (RBMetaData *md,
                                                 RBMetaDataField field);

`md` : |
`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 : |