00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __SIGNAL_XMMS_H__
00018 #define __SIGNAL_XMMS_H__
00019
00020
00021 #define XMMS_IPC_PROTOCOL_VERSION 18
00022
00023 typedef enum {
00024 XMMS_IPC_OBJECT_SIGNAL,
00025 XMMS_IPC_OBJECT_MAIN,
00026 XMMS_IPC_OBJECT_PLAYLIST,
00027 XMMS_IPC_OBJECT_CONFIG,
00028 XMMS_IPC_OBJECT_PLAYBACK,
00029 XMMS_IPC_OBJECT_MEDIALIB,
00030 XMMS_IPC_OBJECT_COLLECTION,
00031 XMMS_IPC_OBJECT_VISUALIZATION,
00032 XMMS_IPC_OBJECT_MEDIAINFO_READER,
00033 XMMS_IPC_OBJECT_XFORM,
00034 XMMS_IPC_OBJECT_BINDATA,
00035 XMMS_IPC_OBJECT_END
00036 } xmms_ipc_objects_t;
00037
00038 typedef enum {
00039 XMMS_IPC_SIGNAL_PLAYLIST_CHANGED,
00040 XMMS_IPC_SIGNAL_CONFIGVALUE_CHANGED,
00041 XMMS_IPC_SIGNAL_PLAYBACK_STATUS,
00042 XMMS_IPC_SIGNAL_PLAYBACK_VOLUME_CHANGED,
00043 XMMS_IPC_SIGNAL_PLAYBACK_PLAYTIME,
00044 XMMS_IPC_SIGNAL_PLAYBACK_CURRENTID,
00045 XMMS_IPC_SIGNAL_PLAYLIST_CURRENT_POS,
00046 XMMS_IPC_SIGNAL_PLAYLIST_LOADED,
00047 XMMS_IPC_SIGNAL_MEDIALIB_ENTRY_ADDED,
00048 XMMS_IPC_SIGNAL_MEDIALIB_ENTRY_UPDATE,
00049 XMMS_IPC_SIGNAL_COLLECTION_CHANGED,
00050 XMMS_IPC_SIGNAL_QUIT,
00051 XMMS_IPC_SIGNAL_MEDIAINFO_READER_STATUS,
00052 XMMS_IPC_SIGNAL_MEDIAINFO_READER_UNINDEXED,
00053 XMMS_IPC_SIGNAL_END
00054 } xmms_ipc_signals_t;
00055
00056
00057
00058
00059 #define XMMS_IPC_CMD_FIRST 32
00060
00061
00062 typedef enum {
00063 XMMS_IPC_CMD_REPLY,
00064 XMMS_IPC_CMD_ERROR
00065 } xmms_ipc_pseudo_commands;
00066
00067
00068 typedef enum {
00069 XMMS_IPC_CMD_SIGNAL = XMMS_IPC_CMD_FIRST,
00070 XMMS_IPC_CMD_BROADCAST
00071 } xmms_ipc_signal_cmds_t;
00072
00073
00074 typedef enum {
00075 XMMS_IPC_CMD_HELLO = XMMS_IPC_CMD_FIRST,
00076 XMMS_IPC_CMD_QUIT,
00077 XMMS_IPC_CMD_PLUGIN_LIST,
00078 XMMS_IPC_CMD_STATS
00079 } xmms_ipc_main_cmds_t;
00080
00081
00082 typedef enum {
00083 XMMS_IPC_CMD_SHUFFLE = XMMS_IPC_CMD_FIRST,
00084 XMMS_IPC_CMD_SET_POS,
00085 XMMS_IPC_CMD_SET_POS_REL,
00086 XMMS_IPC_CMD_ADD_URL,
00087 XMMS_IPC_CMD_ADD_ID,
00088 XMMS_IPC_CMD_ADD_IDLIST,
00089 XMMS_IPC_CMD_ADD_COLL,
00090 XMMS_IPC_CMD_REMOVE_ENTRY,
00091 XMMS_IPC_CMD_MOVE_ENTRY,
00092 XMMS_IPC_CMD_CLEAR,
00093 XMMS_IPC_CMD_SORT,
00094 XMMS_IPC_CMD_LIST,
00095 XMMS_IPC_CMD_CURRENT_POS,
00096 XMMS_IPC_CMD_CURRENT_ACTIVE,
00097 XMMS_IPC_CMD_INSERT_URL,
00098 XMMS_IPC_CMD_INSERT_ID,
00099 XMMS_IPC_CMD_INSERT_COLL,
00100 XMMS_IPC_CMD_LOAD,
00101 XMMS_IPC_CMD_RADD,
00102 XMMS_IPC_CMD_RINSERT
00103 } xmms_ipc_playlist_cmds_t;
00104
00105
00106 typedef enum {
00107 XMMS_IPC_CMD_GETVALUE = XMMS_IPC_CMD_FIRST,
00108 XMMS_IPC_CMD_SETVALUE,
00109 XMMS_IPC_CMD_REGVALUE,
00110 XMMS_IPC_CMD_LISTVALUES
00111 } xmms_ipc_config_cmds_t;
00112
00113
00114 typedef enum {
00115 XMMS_IPC_CMD_START = XMMS_IPC_CMD_FIRST,
00116 XMMS_IPC_CMD_STOP,
00117 XMMS_IPC_CMD_PAUSE,
00118 XMMS_IPC_CMD_DECODER_KILL,
00119 XMMS_IPC_CMD_CPLAYTIME,
00120 XMMS_IPC_CMD_SEEKMS,
00121 XMMS_IPC_CMD_SEEKSAMPLES,
00122 XMMS_IPC_CMD_PLAYBACK_STATUS,
00123 XMMS_IPC_CMD_CURRENTID,
00124 XMMS_IPC_CMD_VOLUME_SET,
00125 XMMS_IPC_CMD_VOLUME_GET
00126 } xmms_ipc_playback_cmds_t;
00127
00128
00129 typedef enum {
00130 XMMS_IPC_CMD_INFO = XMMS_IPC_CMD_FIRST,
00131 XMMS_IPC_CMD_PATH_IMPORT,
00132 XMMS_IPC_CMD_REHASH,
00133 XMMS_IPC_CMD_GET_ID,
00134 XMMS_IPC_CMD_REMOVE_ID,
00135 XMMS_IPC_CMD_PROPERTY_SET_STR,
00136 XMMS_IPC_CMD_PROPERTY_SET_INT,
00137 XMMS_IPC_CMD_PROPERTY_REMOVE,
00138 XMMS_IPC_CMD_MOVE_URL,
00139 XMMS_IPC_CMD_MLIB_ADD_URL
00140 } xmms_ipc_medialib_cmds_t;
00141
00142
00143 typedef enum {
00144 XMMS_IPC_CMD_COLLECTION_GET = XMMS_IPC_CMD_FIRST,
00145 XMMS_IPC_CMD_COLLECTION_LIST,
00146 XMMS_IPC_CMD_COLLECTION_SAVE,
00147 XMMS_IPC_CMD_COLLECTION_REMOVE,
00148 XMMS_IPC_CMD_COLLECTION_FIND,
00149 XMMS_IPC_CMD_COLLECTION_RENAME,
00150 XMMS_IPC_CMD_QUERY_IDS,
00151 XMMS_IPC_CMD_QUERY_INFOS,
00152 XMMS_IPC_CMD_IDLIST_FROM_PLS,
00153 XMMS_IPC_CMD_COLLECTION_SYNC
00154 } xmms_ipc_collection_cmds_t;
00155
00156
00157 typedef enum {
00158 XMMS_IPC_CMD_GET_DATA = XMMS_IPC_CMD_FIRST,
00159 XMMS_IPC_CMD_ADD_DATA,
00160 XMMS_IPC_CMD_REMOVE_DATA,
00161 XMMS_IPC_CMD_LIST_DATA
00162 } xmms_ipc_bindata_cmds_t;
00163
00164
00165 typedef enum {
00166 XMMS_IPC_CMD_VISUALIZATION_QUERY_VERSION = XMMS_IPC_CMD_FIRST,
00167 XMMS_IPC_CMD_VISUALIZATION_REGISTER,
00168 XMMS_IPC_CMD_VISUALIZATION_INIT_SHM,
00169 XMMS_IPC_CMD_VISUALIZATION_INIT_UDP,
00170 XMMS_IPC_CMD_VISUALIZATION_PROPERTY,
00171 XMMS_IPC_CMD_VISUALIZATION_PROPERTIES,
00172 XMMS_IPC_CMD_VISUALIZATION_SHUTDOWN
00173 } xmms_ipc_visualization_cmds_t;
00174
00175
00176 typedef enum {
00177 XMMS_IPC_CMD_BROWSE = XMMS_IPC_CMD_FIRST
00178 } xmms_ipc_xform_cmds_t;
00179
00180 typedef enum {
00181 XMMS_PLAYLIST_CHANGED_ADD,
00182 XMMS_PLAYLIST_CHANGED_INSERT,
00183 XMMS_PLAYLIST_CHANGED_SHUFFLE,
00184 XMMS_PLAYLIST_CHANGED_REMOVE,
00185 XMMS_PLAYLIST_CHANGED_CLEAR,
00186 XMMS_PLAYLIST_CHANGED_MOVE,
00187 XMMS_PLAYLIST_CHANGED_SORT,
00188 XMMS_PLAYLIST_CHANGED_UPDATE
00189 } xmms_playlist_changed_actions_t;
00190
00191 typedef enum {
00192 XMMS_COLLECTION_CHANGED_ADD,
00193 XMMS_COLLECTION_CHANGED_UPDATE,
00194 XMMS_COLLECTION_CHANGED_RENAME,
00195 XMMS_COLLECTION_CHANGED_REMOVE
00196 } xmms_collection_changed_actions_t;
00197
00198 typedef enum {
00199 XMMS_PLAYBACK_STATUS_STOP,
00200 XMMS_PLAYBACK_STATUS_PLAY,
00201 XMMS_PLAYBACK_STATUS_PAUSE
00202 } xmms_playback_status_t;
00203
00204 typedef enum {
00205 XMMS_PLAYBACK_SEEK_CUR = 1,
00206 XMMS_PLAYBACK_SEEK_SET
00207 } xmms_playback_seek_mode_t;
00208
00209 typedef enum {
00210 XMMS_MEDIAINFO_READER_STATUS_IDLE,
00211 XMMS_MEDIAINFO_READER_STATUS_RUNNING
00212 } xmms_mediainfo_reader_status_t;
00213
00214 typedef enum {
00215 XMMS_PLUGIN_TYPE_ALL,
00216 XMMS_PLUGIN_TYPE_OUTPUT,
00217 XMMS_PLUGIN_TYPE_XFORM
00218 } xmms_plugin_type_t;
00219
00220 typedef enum {
00221 XMMS_COLLECTION_TYPE_REFERENCE,
00222 XMMS_COLLECTION_TYPE_UNION,
00223 XMMS_COLLECTION_TYPE_INTERSECTION,
00224 XMMS_COLLECTION_TYPE_COMPLEMENT,
00225 XMMS_COLLECTION_TYPE_HAS,
00226 XMMS_COLLECTION_TYPE_EQUALS,
00227 XMMS_COLLECTION_TYPE_MATCH,
00228 XMMS_COLLECTION_TYPE_SMALLER,
00229 XMMS_COLLECTION_TYPE_GREATER,
00230 XMMS_COLLECTION_TYPE_IDLIST,
00231 XMMS_COLLECTION_TYPE_QUEUE,
00232 XMMS_COLLECTION_TYPE_PARTYSHUFFLE,
00233 XMMS_COLLECTION_TYPE_LAST = XMMS_COLLECTION_TYPE_PARTYSHUFFLE
00234 } xmmsv_coll_type_t;
00235
00236 typedef enum {
00237 XMMS_MEDIALIB_ENTRY_STATUS_NEW,
00238 XMMS_MEDIALIB_ENTRY_STATUS_OK,
00239 XMMS_MEDIALIB_ENTRY_STATUS_RESOLVING,
00240 XMMS_MEDIALIB_ENTRY_STATUS_NOT_AVAILABLE,
00241 XMMS_MEDIALIB_ENTRY_STATUS_REHASH
00242 } xmmsc_medialib_entry_status_t;
00243
00244 typedef const char* xmmsv_coll_namespace_t;
00245 #define XMMS_COLLECTION_NS_ALL "*"
00246 #define XMMS_COLLECTION_NS_COLLECTIONS "Collections"
00247 #define XMMS_COLLECTION_NS_PLAYLISTS "Playlists"
00248
00249 #define XMMS_ACTIVE_PLAYLIST "_active"
00250
00251
00252 extern const char *default_source_pref[];
00253
00254
00255 typedef xmmsv_coll_type_t xmmsc_coll_type_t;
00256 typedef xmmsv_coll_namespace_t xmmsc_coll_namespace_t;
00257
00258
00259 #endif