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 11
00022
00023 typedef enum {
00024 XMMS_OBJECT_CMD_ARG_NONE,
00025 XMMS_OBJECT_CMD_ARG_UINT32,
00026 XMMS_OBJECT_CMD_ARG_INT32,
00027 XMMS_OBJECT_CMD_ARG_STRING,
00028 XMMS_OBJECT_CMD_ARG_STRINGLIST,
00029 XMMS_OBJECT_CMD_ARG_DICT,
00030 XMMS_OBJECT_CMD_ARG_LIST,
00031 XMMS_OBJECT_CMD_ARG_PROPDICT,
00032 XMMS_OBJECT_CMD_ARG_COLL,
00033 XMMS_OBJECT_CMD_ARG_BIN,
00034 XMMS_OBJECT_CMD_ARG_HASH_TABLE
00035 } xmms_object_cmd_arg_type_t;
00036
00037 typedef enum {
00038 XMMS_IPC_OBJECT_MAIN,
00039 XMMS_IPC_OBJECT_PLAYLIST,
00040 XMMS_IPC_OBJECT_CONFIG,
00041 XMMS_IPC_OBJECT_OUTPUT,
00042 XMMS_IPC_OBJECT_MEDIALIB,
00043 XMMS_IPC_OBJECT_COLLECTION,
00044 XMMS_IPC_OBJECT_SIGNAL,
00045 XMMS_IPC_OBJECT_VISUALISATION,
00046 XMMS_IPC_OBJECT_MEDIAINFO_READER,
00047 XMMS_IPC_OBJECT_XFORM,
00048 XMMS_IPC_OBJECT_BINDATA,
00049 XMMS_IPC_OBJECT_END
00050 } xmms_ipc_objects_t;
00051
00052 typedef enum {
00053 XMMS_IPC_SIGNAL_OBJECT_DESTROYED,
00054 XMMS_IPC_SIGNAL_PLAYLIST_CHANGED,
00055 XMMS_IPC_SIGNAL_CONFIGVALUE_CHANGED,
00056 XMMS_IPC_SIGNAL_PLAYBACK_STATUS,
00057 XMMS_IPC_SIGNAL_OUTPUT_VOLUME_CHANGED,
00058 XMMS_IPC_SIGNAL_OUTPUT_PLAYTIME,
00059 XMMS_IPC_SIGNAL_OUTPUT_CURRENTID,
00060 XMMS_IPC_SIGNAL_OUTPUT_OPEN_FAIL,
00061 XMMS_IPC_SIGNAL_PLAYLIST_CURRENT_POS,
00062 XMMS_IPC_SIGNAL_PLAYLIST_LOADED,
00063 XMMS_IPC_SIGNAL_MEDIALIB_ENTRY_ADDED,
00064 XMMS_IPC_SIGNAL_MEDIALIB_ENTRY_UPDATE,
00065 XMMS_IPC_SIGNAL_COLLECTION_CHANGED,
00066 XMMS_IPC_SIGNAL_TRANSPORT_MIMETYPE,
00067 XMMS_IPC_SIGNAL_DECODER_THREAD_EXIT,
00068 XMMS_IPC_SIGNAL_VISUALISATION_DATA,
00069 XMMS_IPC_SIGNAL_QUIT,
00070 XMMS_IPC_SIGNAL_MEDIAINFO_READER_STATUS,
00071 XMMS_IPC_SIGNAL_MEDIAINFO_READER_UNINDEXED,
00072 XMMS_IPC_SIGNAL_END
00073 } xmms_ipc_signals_t;
00074
00075 typedef enum {
00076
00077 XMMS_IPC_CMD_HELLO,
00078 XMMS_IPC_CMD_QUIT,
00079 XMMS_IPC_CMD_REPLY,
00080 XMMS_IPC_CMD_ERROR,
00081 XMMS_IPC_CMD_PLUGIN_LIST,
00082 XMMS_IPC_CMD_STATS,
00083
00084
00085 XMMS_IPC_CMD_SHUFFLE,
00086 XMMS_IPC_CMD_SET_POS,
00087 XMMS_IPC_CMD_SET_POS_REL,
00088 XMMS_IPC_CMD_ADD_URL,
00089 XMMS_IPC_CMD_ADD_ID,
00090 XMMS_IPC_CMD_ADD_IDLIST,
00091 XMMS_IPC_CMD_ADD_COLL,
00092 XMMS_IPC_CMD_REMOVE_ENTRY,
00093 XMMS_IPC_CMD_MOVE_ENTRY,
00094 XMMS_IPC_CMD_CLEAR,
00095 XMMS_IPC_CMD_SORT,
00096 XMMS_IPC_CMD_LIST,
00097 XMMS_IPC_CMD_CURRENT_POS,
00098 XMMS_IPC_CMD_CURRENT_ACTIVE,
00099 XMMS_IPC_CMD_INSERT_URL,
00100 XMMS_IPC_CMD_INSERT_ID,
00101 XMMS_IPC_CMD_INSERT_COLL,
00102 XMMS_IPC_CMD_LOAD,
00103 XMMS_IPC_CMD_RADD,
00104
00105
00106 XMMS_IPC_CMD_GETVALUE,
00107 XMMS_IPC_CMD_SETVALUE,
00108 XMMS_IPC_CMD_REGVALUE,
00109 XMMS_IPC_CMD_LISTVALUES,
00110
00111
00112 XMMS_IPC_CMD_START,
00113 XMMS_IPC_CMD_STOP,
00114 XMMS_IPC_CMD_PAUSE,
00115 XMMS_IPC_CMD_DECODER_KILL,
00116 XMMS_IPC_CMD_CPLAYTIME,
00117 XMMS_IPC_CMD_SEEKMS,
00118 XMMS_IPC_CMD_SEEKMS_REL,
00119 XMMS_IPC_CMD_SEEKSAMPLES,
00120 XMMS_IPC_CMD_SEEKSAMPLES_REL,
00121 XMMS_IPC_CMD_OUTPUT_STATUS,
00122 XMMS_IPC_CMD_CURRENTID,
00123 XMMS_IPC_CMD_VOLUME_SET,
00124 XMMS_IPC_CMD_VOLUME_GET,
00125
00126
00127 XMMS_IPC_CMD_INFO,
00128 XMMS_IPC_CMD_PATH_IMPORT,
00129 XMMS_IPC_CMD_REHASH,
00130 XMMS_IPC_CMD_GET_ID,
00131 XMMS_IPC_CMD_REMOVE_ID,
00132 XMMS_IPC_CMD_PROPERTY_SET_STR,
00133 XMMS_IPC_CMD_PROPERTY_SET_INT,
00134 XMMS_IPC_CMD_PROPERTY_REMOVE,
00135 XMMS_IPC_CMD_MOVE_URL,
00136
00137
00138 XMMS_IPC_CMD_COLLECTION_GET,
00139 XMMS_IPC_CMD_COLLECTION_LIST,
00140 XMMS_IPC_CMD_COLLECTION_SAVE,
00141 XMMS_IPC_CMD_COLLECTION_REMOVE,
00142 XMMS_IPC_CMD_COLLECTION_FIND,
00143 XMMS_IPC_CMD_COLLECTION_RENAME,
00144 XMMS_IPC_CMD_QUERY_IDS,
00145 XMMS_IPC_CMD_QUERY_INFOS,
00146 XMMS_IPC_CMD_IDLIST_FROM_PLS,
00147 XMMS_IPC_CMD_COLLECTION_SYNC,
00148
00149
00150 XMMS_IPC_CMD_SIGNAL,
00151 XMMS_IPC_CMD_BROADCAST,
00152
00153
00154 XMMS_IPC_CMD_BROWSE,
00155
00156
00157 XMMS_IPC_CMD_GET_DATA,
00158 XMMS_IPC_CMD_ADD_DATA,
00159 XMMS_IPC_CMD_REMOVE_DATA,
00160 XMMS_IPC_CMD_LIST_DATA,
00161
00162
00163 XMMS_IPC_CMD_END
00164 } xmms_ipc_cmds_t;
00165
00166 typedef enum {
00167 XMMS_PLAYLIST_CHANGED_ADD,
00168 XMMS_PLAYLIST_CHANGED_INSERT,
00169 XMMS_PLAYLIST_CHANGED_SHUFFLE,
00170 XMMS_PLAYLIST_CHANGED_REMOVE,
00171 XMMS_PLAYLIST_CHANGED_CLEAR,
00172 XMMS_PLAYLIST_CHANGED_MOVE,
00173 XMMS_PLAYLIST_CHANGED_SORT,
00174 XMMS_PLAYLIST_CHANGED_UPDATE
00175 } xmms_playlist_changed_actions_t;
00176
00177 typedef enum {
00178 XMMS_COLLECTION_CHANGED_ADD,
00179 XMMS_COLLECTION_CHANGED_UPDATE,
00180 XMMS_COLLECTION_CHANGED_RENAME,
00181 XMMS_COLLECTION_CHANGED_REMOVE
00182 } xmms_collection_changed_actions_t;
00183
00184 typedef enum {
00185 XMMS_PLAYBACK_STATUS_STOP,
00186 XMMS_PLAYBACK_STATUS_PLAY,
00187 XMMS_PLAYBACK_STATUS_PAUSE
00188 } xmms_playback_status_t;
00189
00190 typedef enum {
00191 XMMS_MEDIAINFO_READER_STATUS_IDLE,
00192 XMMS_MEDIAINFO_READER_STATUS_RUNNING
00193 } xmms_mediainfo_reader_status_t;
00194
00195 typedef enum {
00196 XMMS_PLUGIN_TYPE_ALL,
00197 XMMS_PLUGIN_TYPE_OUTPUT,
00198 XMMS_PLUGIN_TYPE_XFORM
00199 } xmms_plugin_type_t;
00200
00201 typedef enum {
00202 XMMS_COLLECTION_TYPE_REFERENCE,
00203 XMMS_COLLECTION_TYPE_UNION,
00204 XMMS_COLLECTION_TYPE_INTERSECTION,
00205 XMMS_COLLECTION_TYPE_COMPLEMENT,
00206 XMMS_COLLECTION_TYPE_HAS,
00207 XMMS_COLLECTION_TYPE_EQUALS,
00208 XMMS_COLLECTION_TYPE_MATCH,
00209 XMMS_COLLECTION_TYPE_SMALLER,
00210 XMMS_COLLECTION_TYPE_GREATER,
00211 XMMS_COLLECTION_TYPE_IDLIST,
00212 XMMS_COLLECTION_TYPE_QUEUE,
00213 XMMS_COLLECTION_TYPE_PARTYSHUFFLE
00214 } xmmsc_coll_type_t;
00215
00216 typedef enum {
00217 XMMS_MEDIALIB_ENTRY_STATUS_NEW,
00218 XMMS_MEDIALIB_ENTRY_STATUS_OK,
00219 XMMS_MEDIALIB_ENTRY_STATUS_RESOLVING,
00220 XMMS_MEDIALIB_ENTRY_STATUS_NOT_AVAILABLE,
00221 XMMS_MEDIALIB_ENTRY_STATUS_REHASH
00222 } xmmsc_medialib_entry_status_t;
00223
00224 typedef const char* xmmsc_coll_namespace_t;
00225 #define XMMS_COLLECTION_NS_ALL "*"
00226 #define XMMS_COLLECTION_NS_COLLECTIONS "Collections"
00227 #define XMMS_COLLECTION_NS_PLAYLISTS "Playlists"
00228
00229 #define XMMS_ACTIVE_PLAYLIST "_active"
00230
00231
00232 #endif