00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 #ifndef _FLUIDSYNTH_SETTINGS_H
00022 #define _FLUIDSYNTH_SETTINGS_H
00023 
00024 #ifdef __cplusplus
00025 extern "C" {
00026 #endif
00027 
00059 
00060 
00061 
00062 
00063 
00064 
00065 #define FLUID_HINT_BOUNDED_BELOW   0x1
00066 
00067 
00068 
00069 
00070 
00071 
00072 
00073 #define FLUID_HINT_BOUNDED_ABOVE   0x2
00074 
00075 
00076 
00077 
00078 
00079 
00080 
00081 #define FLUID_HINT_TOGGLED         0x4
00082 
00083 
00084 
00085 
00086 
00087 
00088 
00089 #define FLUID_HINT_SAMPLE_RATE     0x8
00090 
00091 
00092 
00093 
00094 #define FLUID_HINT_LOGARITHMIC     0x10
00095 
00096 
00097 
00098 
00099 
00100 
00101 
00102 #define FLUID_HINT_INTEGER         0x20
00103 
00104 
00105 #define FLUID_HINT_FILENAME        0x01
00106 #define FLUID_HINT_OPTIONLIST      0x02
00107 
00108 
00109 
00110 enum fluid_types_enum {
00111   FLUID_NO_TYPE = -1,
00112   FLUID_NUM_TYPE,
00113   FLUID_INT_TYPE,
00114   FLUID_STR_TYPE,
00115   FLUID_SET_TYPE
00116 };
00117 
00118 
00119 FLUIDSYNTH_API fluid_settings_t* new_fluid_settings(void);
00120 FLUIDSYNTH_API void delete_fluid_settings(fluid_settings_t* settings);
00121 
00122 
00123 
00124 FLUIDSYNTH_API 
00125 int fluid_settings_get_type(fluid_settings_t* settings, char* name);
00126 
00127 FLUIDSYNTH_API 
00128 int fluid_settings_get_hints(fluid_settings_t* settings, char* name);
00129 
00131 FLUIDSYNTH_API int fluid_settings_is_realtime(fluid_settings_t* settings, char* name);
00132 
00133 
00135 FLUIDSYNTH_API 
00136 int fluid_settings_setstr(fluid_settings_t* settings, char* name, char* str);
00137 
00147 FLUIDSYNTH_API 
00148 int fluid_settings_getstr(fluid_settings_t* settings, char* name, char** str);
00149 
00151 FLUIDSYNTH_API 
00152 char* fluid_settings_getstr_default(fluid_settings_t* settings, char* name);
00153 
00159 FLUIDSYNTH_API 
00160 int fluid_settings_str_equal(fluid_settings_t* settings, char* name, char* value);
00161 
00162 
00164 FLUIDSYNTH_API 
00165 int fluid_settings_setnum(fluid_settings_t* settings, char* name, double val);
00166 
00168 FLUIDSYNTH_API 
00169 int fluid_settings_getnum(fluid_settings_t* settings, char* name, double* val);
00170 
00172 FLUIDSYNTH_API 
00173 double fluid_settings_getnum_default(fluid_settings_t* settings, char* name);
00174   
00176 FLUIDSYNTH_API 
00177 void fluid_settings_getnum_range(fluid_settings_t* settings, char* name, 
00178                                 double* min, double* max);
00179 
00180 
00182 FLUIDSYNTH_API 
00183 int fluid_settings_setint(fluid_settings_t* settings, char* name, int val);
00184 
00186 FLUIDSYNTH_API 
00187 int fluid_settings_getint(fluid_settings_t* settings, char* name, int* val);
00188 
00190 FLUIDSYNTH_API 
00191 int fluid_settings_getint_default(fluid_settings_t* settings, char* name);
00192   
00194 FLUIDSYNTH_API 
00195 void fluid_settings_getint_range(fluid_settings_t* settings, char* name, 
00196                                 int* min, int* max);
00197 
00198 
00199 
00200 typedef void (*fluid_settings_foreach_option_t)(void* data, char* name, char* option);
00201 
00202 
00203 
00204 FLUIDSYNTH_API 
00205 void fluid_settings_foreach_option(fluid_settings_t* settings, 
00206                                   char* name, void* data, 
00207                                   fluid_settings_foreach_option_t func);
00208 
00209 
00210 typedef void (*fluid_settings_foreach_t)(void* data, char* s, int type);
00211 
00212 FLUIDSYNTH_API
00213 void fluid_settings_foreach(fluid_settings_t* settings, void* data, 
00214                            fluid_settings_foreach_t func);
00215 
00216 
00217 
00218 
00219 #ifdef __cplusplus
00220 }
00221 #endif
00222 
00223 #endif