QVisu
Qt-based visualization for smart homes
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
vlc_media_library.h
1 /*****************************************************************************
2  * vlc_media_library.h: SQL-based media library
3  *****************************************************************************
4  * Copyright (C) 2008-2010 the VideoLAN Team and AUTHORS
5  * $Id: a35d9729ca3705ec792b7be9e1819919f6e601f6 $
6  *
7  * Authors: Antoine Lejeune <phytos@videolan.org>
8  * Jean-Philippe André <jpeg@videolan.org>
9  * Rémi Duraffort <ivoire@videolan.org>
10  * Adrien Maglo <magsoft@videolan.org>
11  * Srikanth Raju <srikiraju at gmail dot com>
12  *
13  * This program is free software; you can redistribute it and/or modify it
14  * under the terms of the GNU Lesser General Public License as published by
15  * the Free Software Foundation; either version 2.1 of the License, or
16  * (at your option) any later version.
17  *
18  * This program is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21  * GNU Lesser General Public License for more details.
22  *
23  * You should have received a copy of the GNU Lesser General Public License
24  * along with this program; if not, write to the Free Software Foundation,
25  * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
26  *****************************************************************************/
27 
28 #ifndef VLC_MEDIA_LIBRARY_H
29 # define VLC_MEDIA_LIBRARY_H
30 
31 # ifdef __cplusplus
32 extern "C" {
33 # endif
34 
35 /*****************************************************************************
36  * ML Enums
37  *****************************************************************************/
38 
39 #define ML_PERSON_ARTIST "Artist"
40 #define ML_PERSON_ALBUM_ARTIST "Album Artist"
41 #define ML_PERSON_ENCODER "Encoder"
42 #define ML_PERSON_PUBLISHER "Publisher"
43 
44 
51 typedef enum
52 {
53  ML_ALBUM = 1,
54  ML_ALBUM_ID,
55  ML_ALBUM_COVER,
56  /* FIXME: Remove ML_ARTIST */
57  ML_ARTIST,
59  ML_ARTIST_ID,
61  ML_COMMENT,
62  ML_COUNT_MEDIA,
63  ML_COUNT_ALBUM,
64  ML_COUNT_PEOPLE,
65  ML_COVER,
66  ML_DURATION,
67  ML_DISC_NUMBER,
68  ML_EXTRA,
69  ML_FIRST_PLAYED,
70  ML_FILESIZE,
71  ML_GENRE,
72  ML_ID,
73  ML_IMPORT_TIME,
74  ML_LANGUAGE,
75  ML_LAST_PLAYED,
76  ML_LAST_SKIPPED,
77  ML_ORIGINAL_TITLE,
78  ML_PEOPLE,
79  ML_PEOPLE_ID,
80  ML_PEOPLE_ROLE,
81  ML_PLAYED_COUNT,
82  ML_PREVIEW,
83  ML_SKIPPED_COUNT,
84  ML_SCORE,
85  ML_TITLE,
86  ML_TRACK_NUMBER,
87  ML_TYPE,
88  ML_URI,
89  ML_VOTE,
90  ML_YEAR,
91  ML_DIRECTORY,
92  ML_MEDIA,
93  ML_MEDIA_SPARSE,
94  ML_MEDIA_EXTRA,
96  /* Some special elements */
97  ML_LIMIT = -1,
98  ML_SORT_DESC = -2,
99  ML_SORT_ASC = -3,
100  ML_DISTINCT = -4,
101  ML_END = -42
102 } ml_select_e;
103 
105 typedef enum
106 {
107  ML_UNKNOWN = 0,
108  ML_AUDIO = 1 << 0,
109  ML_VIDEO = 1 << 1,
110  ML_STREAM = 1 << 2,
111  ML_NODE = 1 << 3,
112  ML_REMOVABLE = 1 << 4,
113 } ml_type_e;
114 
116 typedef enum {
117  ML_TYPE_INT,
118  ML_TYPE_PSZ,
119  ML_TYPE_TIME,
120  ML_TYPE_MEDIA,
121 } ml_result_type_e;
122 
123 #ifdef __cplusplus
124 }
125 #endif /* C++ */
126 
127 #endif /* VLC_MEDIA_LIBRARY_H */