Audacious $Id:Doxyfile42802007-03-2104:39:00Znenolod$
|
00001 /* 00002 * misc.h 00003 * Copyright 2010-2011 John Lindgren 00004 * 00005 * This file is part of Audacious. 00006 * 00007 * Audacious is free software: you can redistribute it and/or modify it under 00008 * the terms of the GNU General Public License as published by the Free Software 00009 * Foundation, version 2 or version 3 of the License. 00010 * 00011 * Audacious is distributed in the hope that it will be useful, but WITHOUT ANY 00012 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 00013 * A PARTICULAR PURPOSE. See the GNU General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU General Public License along with 00016 * Audacious. If not, see <http://www.gnu.org/licenses/>. 00017 * 00018 * The Audacious team does not consider modular code linking to Audacious or 00019 * using our public API to be a derived work. 00020 */ 00021 00022 #ifndef AUDACIOUS_MISC_H 00023 #define AUDACIOUS_MISC_H 00024 00025 #include <audacious/api.h> 00026 #include <audacious/types.h> 00027 #include <libaudcore/index.h> 00028 #include <libaudcore/tuple.h> 00029 #include <libaudcore/vfs.h> 00030 00031 enum { 00032 AUD_PATH_BIN_DIR, 00033 AUD_PATH_DATA_DIR, 00034 AUD_PATH_PLUGIN_DIR, 00035 AUD_PATH_LOCALE_DIR, 00036 AUD_PATH_DESKTOP_FILE, 00037 AUD_PATH_ICON_FILE, 00038 AUD_PATH_USER_DIR, 00039 AUD_PATH_USER_PLUGIN_DIR, 00040 AUD_PATH_PLAYLISTS_DIR, 00041 AUD_PATH_GTKRC_FILE, 00042 AUD_PATH_COUNT 00043 }; 00044 00045 typedef struct { 00046 char * name; 00047 float preamp, bands[10]; 00048 } EqualizerPreset; 00049 00050 enum { 00051 AUD_MENU_MAIN, 00052 AUD_MENU_PLAYLIST, 00053 AUD_MENU_PLAYLIST_RCLICK, 00054 AUD_MENU_PLAYLIST_ADD, 00055 AUD_MENU_PLAYLIST_REMOVE, 00056 AUD_MENU_PLAYLIST_SELECT, 00057 AUD_MENU_PLAYLIST_MISC, 00058 AUD_MENU_COUNT}; 00059 00060 typedef void (* MenuFunc) (void); 00061 00062 enum { 00063 AUD_VIS_TYPE_CLEAR, /* like VisPlugin::clear() */ 00064 AUD_VIS_TYPE_MONO_PCM, /* like VisPlugin::render_mono_pcm() */ 00065 AUD_VIS_TYPE_MULTI_PCM, /* like VisPlugin::render_multi_pcm() */ 00066 AUD_VIS_TYPE_FREQ, /* like VisPlugin::render_freq() */ 00067 AUD_VIS_TYPES}; 00068 00069 /* generic type; does not correspond to actual function types */ 00070 typedef void (* VisFunc) (void); 00071 00072 #define AUD_API_NAME MiscAPI 00073 #define AUD_API_SYMBOL misc_api 00074 00075 #ifdef _AUDACIOUS_CORE 00076 00077 #include "api-local-begin.h" 00078 #include "misc-api.h" 00079 #include "api-local-end.h" 00080 00081 #define create_widgets(b, w, a) create_widgets_with_domain (b, w, a, PACKAGE) 00082 00083 #else 00084 00085 #include <audacious/api-define-begin.h> 00086 #include <audacious/misc-api.h> 00087 #include <audacious/api-define-end.h> 00088 00089 #include <audacious/api-alias-begin.h> 00090 #include <audacious/misc-api.h> 00091 #include <audacious/api-alias-end.h> 00092 00093 #define aud_create_widgets(b, w, a) aud_create_widgets_with_domain (b, w, a, \ 00094 PACKAGE) 00095 00096 #endif 00097 00098 #undef AUD_API_NAME 00099 #undef AUD_API_SYMBOL 00100 00101 #endif 00102 00103 #ifdef AUD_API_DECLARE 00104 00105 #define AUD_API_NAME MiscAPI 00106 #define AUD_API_SYMBOL misc_api 00107 00108 #include "api-define-begin.h" 00109 #include "misc-api.h" 00110 #include "api-define-end.h" 00111 00112 #include "api-declare-begin.h" 00113 #include "misc-api.h" 00114 #include "api-declare-end.h" 00115 00116 #undef AUD_API_NAME 00117 #undef AUD_API_SYMBOL 00118 00119 #endif