31
31
#include <glib-object.h>
33
33
#define GRL_METADATA_KEY_GET_ID(key) (key)
34
#define GRL_METADATA_KEY_GET_NAME(key) (g_param_spec_get_name (key))
35
#define GRL_METADATA_KEY_GET_DESC(key) (g_param_spec_get_blurb(key))
36
#define GRL_METADATA_KEY_GET_TYPE(key) (G_PARAM_SPEC_VALUE_TYPE(key))
38
#define GRL_KEYID_FORMAT "p"
40
#define grl_metadata_key_list_new(first_key, ...) \
41
grl_list_from_va(first_key, ##__VA_ARGS__)
44
typedef GParamSpec* GrlKeyID;
46
extern GrlKeyID GRL_METADATA_KEY_ALBUM;
47
extern GrlKeyID GRL_METADATA_KEY_ARTIST;
48
extern GrlKeyID GRL_METADATA_KEY_AUTHOR;
49
extern GrlKeyID GRL_METADATA_KEY_BITRATE;
50
extern GrlKeyID GRL_METADATA_KEY_CERTIFICATE;
51
extern GrlKeyID GRL_METADATA_KEY_CHILDCOUNT;
52
extern GrlKeyID GRL_METADATA_KEY_DATE;
53
extern GrlKeyID GRL_METADATA_KEY_DESCRIPTION;
54
extern GrlKeyID GRL_METADATA_KEY_DURATION;
55
extern GrlKeyID GRL_METADATA_KEY_EXTERNAL_PLAYER;
56
extern GrlKeyID GRL_METADATA_KEY_EXTERNAL_URL;
57
extern GrlKeyID GRL_METADATA_KEY_FRAMERATE;
58
extern GrlKeyID GRL_METADATA_KEY_GENRE;
59
extern GrlKeyID GRL_METADATA_KEY_HEIGHT;
60
extern GrlKeyID GRL_METADATA_KEY_ID;
61
extern GrlKeyID GRL_METADATA_KEY_LAST_PLAYED;
62
extern GrlKeyID GRL_METADATA_KEY_LAST_POSITION;
63
extern GrlKeyID GRL_METADATA_KEY_LICENSE;
64
extern GrlKeyID GRL_METADATA_KEY_LYRICS;
65
extern GrlKeyID GRL_METADATA_KEY_MIME;
66
extern GrlKeyID GRL_METADATA_KEY_PLAY_COUNT;
67
extern GrlKeyID GRL_METADATA_KEY_RATING;
68
extern GrlKeyID GRL_METADATA_KEY_SITE;
69
extern GrlKeyID GRL_METADATA_KEY_SOURCE;
70
extern GrlKeyID GRL_METADATA_KEY_STUDIO;
71
extern GrlKeyID GRL_METADATA_KEY_THUMBNAIL;
72
extern GrlKeyID GRL_METADATA_KEY_THUMBNAIL_BINARY;
73
extern GrlKeyID GRL_METADATA_KEY_TITLE;
74
extern GrlKeyID GRL_METADATA_KEY_URL;
75
extern GrlKeyID GRL_METADATA_KEY_WIDTH;
76
extern GrlKeyID GRL_METADATA_KEY_SEASON;
77
extern GrlKeyID GRL_METADATA_KEY_EPISODE;
78
extern GrlKeyID GRL_METADATA_KEY_SHOW;
79
extern GrlKeyID GRL_METADATA_KEY_CREATION_DATE;
80
extern GrlKeyID GRL_METADATA_KEY_CAMERA_MODEL;
81
extern GrlKeyID GRL_METADATA_KEY_ORIENTATION;
82
extern GrlKeyID GRL_METADATA_KEY_FLASH_USED;
83
extern GrlKeyID GRL_METADATA_KEY_EXPOSURE_TIME;
84
extern GrlKeyID GRL_METADATA_KEY_ISO_SPEED;
85
extern GrlKeyID GRL_METADATA_KEY_TRACK_NUMBER;
86
extern GrlKeyID GRL_METADATA_KEY_START_TIME;
34
#define GRL_METADATA_KEY_GET_NAME(key) (grl_metadata_key_get_name (key))
35
#define GRL_METADATA_KEY_GET_DESC(key) (grl_metadata_key_get_desc (key))
36
#define GRL_METADATA_KEY_GET_TYPE(key) (grl_metadata_key_get_type (key))
38
#define GRL_KEYID_FORMAT "u"
39
#define GRL_METADATA_KEY_INVALID 0
41
#define GRLPOINTER_TO_KEYID(p) (GPOINTER_TO_UINT(p))
42
#define GRLKEYID_TO_POINTER(k) (GUINT_TO_POINTER(k))
44
typedef guint32 GrlKeyID;
46
#define g_value_get_grl_key_id(value) ((GrlKeyID) g_value_get_uint(value))
47
#define g_value_set_grl_key_id(value,key) g_value_set_uint(value,(guint)key)
50
#define GRL_METADATA_KEY_ALBUM 1
51
#define GRL_METADATA_KEY_ARTIST 2
52
#define GRL_METADATA_KEY_AUTHOR 3
53
#define GRL_METADATA_KEY_BITRATE 4
54
#define GRL_METADATA_KEY_CERTIFICATE 5
55
#define GRL_METADATA_KEY_CHILDCOUNT 6
56
#define GRL_METADATA_KEY_PUBLICATION_DATE 7
57
#define GRL_METADATA_KEY_DESCRIPTION 8
58
#define GRL_METADATA_KEY_DURATION 9
59
#define GRL_METADATA_KEY_EXTERNAL_PLAYER 10
60
#define GRL_METADATA_KEY_EXTERNAL_URL 11
61
#define GRL_METADATA_KEY_FRAMERATE 12
62
#define GRL_METADATA_KEY_GENRE 13
63
#define GRL_METADATA_KEY_HEIGHT 14
64
#define GRL_METADATA_KEY_ID 15
65
#define GRL_METADATA_KEY_LAST_PLAYED 16
66
#define GRL_METADATA_KEY_LAST_POSITION 17
67
#define GRL_METADATA_KEY_LICENSE 18
68
#define GRL_METADATA_KEY_LYRICS 19
69
#define GRL_METADATA_KEY_MIME 20
70
#define GRL_METADATA_KEY_PLAY_COUNT 21
71
#define GRL_METADATA_KEY_RATING 22
72
#define GRL_METADATA_KEY_SITE 23
73
#define GRL_METADATA_KEY_SOURCE 24
74
#define GRL_METADATA_KEY_STUDIO 25
75
#define GRL_METADATA_KEY_THUMBNAIL 26
76
#define GRL_METADATA_KEY_THUMBNAIL_BINARY 27
77
#define GRL_METADATA_KEY_TITLE 28
78
#define GRL_METADATA_KEY_URL 29
79
#define GRL_METADATA_KEY_WIDTH 30
80
#define GRL_METADATA_KEY_SEASON 31
81
#define GRL_METADATA_KEY_EPISODE 32
82
#define GRL_METADATA_KEY_SHOW 33
83
#define GRL_METADATA_KEY_CREATION_DATE 34
84
#define GRL_METADATA_KEY_CAMERA_MODEL 35
85
#define GRL_METADATA_KEY_ORIENTATION 36
86
#define GRL_METADATA_KEY_FLASH_USED 37
87
#define GRL_METADATA_KEY_EXPOSURE_TIME 38
88
#define GRL_METADATA_KEY_ISO_SPEED 39
89
#define GRL_METADATA_KEY_TRACK_NUMBER 40
90
#define GRL_METADATA_KEY_MODIFICATION_DATE 41
91
#define GRL_METADATA_KEY_START_TIME 42
88
95
const gchar *grl_metadata_key_get_name (GrlKeyID key);
90
97
const gchar *grl_metadata_key_get_desc (GrlKeyID key);
99
GType grl_metadata_key_get_type (GrlKeyID key);
101
GList *grl_metadata_key_list_new(GrlKeyID first_key, ...);
92
105
#endif /* _GRL_METADATA_KEY_H_ */