1 #ifndef SND_0_H 2 #define SND_0_H 3 4 #if HAVE_RUBY 5 #undef _ 6 #endif 7 8 #ifndef STRFTIME_FORMAT 9 #define STRFTIME_FORMAT "%a %d-%b-%Y %H:%M %Z" 10 #endif 11 12 #ifndef _MSC_VER 13 #define STRCMP(a, b) strcasecmp(a, b) 14 #define STRNCMP(a, b, c) strncasecmp(a, b, c) 15 #else 16 #define STRCMP(a, b) strcmp(a, b) 17 #define STRNCMP(a, b, c) strncmp(a, b, c) 18 #endif 19 20 #define strcopy(Dest, Src, Len) snprintf(Dest, Len, "%s", Src) 21 22 #define unpack_sound(a) ((int)a >> 16) 23 #define unpack_channel(a) ((int)a & 0xff) 24 #define pack_sound_and_channel(a, b) ((a << 16) | b) 25 26 #define POINT_BUFFER_SIZE 8192 27 28 #define FILE_BUFFER_SIZE 8192 29 #define MAX_BUFFER_SIZE 65536 30 #define PRINT_BUFFER_SIZE 512 31 #define LABEL_BUFFER_SIZE 128 32 #define REPORTING_SIZE (MAX_BUFFER_SIZE * 32) 33 /* progress bar (hourglass icon) is displayed if more than this many samples are being processed */ 34 35 #if (!USE_NO_GUI) 36 #define NUM_HOURGLASSES 15 37 #else 38 #define NUM_HOURGLASSES 1 39 #endif 40 41 #define PEAK_ENV_CUTOFF 50000 42 #define MIN_INIT 1000000.0 43 #define MAX_INIT -1000000.0 44 45 #define DEFAULT_OUTPUT_CHANS 1 46 #define DEFAULT_OUTPUT_SRATE 44100 47 #define DEFAULT_OUTPUT_HEADER_TYPE MUS_NEXT 48 /* mus-next is probably best here since intermediate/temp files can be any length (> 2^32 bytes) 49 * and the next header-specified size, although 32 bits, is explicitly "advisory". 50 */ 51 52 #if MUS_LITTLE_ENDIAN 53 #define DEFAULT_OUTPUT_SAMPLE_TYPE MUS_LFLOAT 54 #else 55 #define DEFAULT_OUTPUT_SAMPLE_TYPE MUS_BFLOAT 56 #endif 57 58 #define NO_COMPLETER -1 59 #define NO_SELECTION -1 60 #define NO_END_SPECIFIED -1 61 #define NO_MIX_TAG -1 62 #define INVALID_MIX_ID -1 63 #define SAVE_ALL_CHANS -1 64 #define ANY_MIX_ID -2 65 #define NO_COLOR -1 66 #define NOT_A_GC_LOC -1 67 #define NOT_A_SOUND -1 68 69 #define MIX_FILE_NO_MIX -1 70 #define MIX_FILE_NO_FILE -2 71 #define MIX_FILE_NO_SP -3 72 #define MIX_FILE_NO_TEMP_FILE -4 73 74 #ifndef POPUP_BUTTON 75 #define POPUP_BUTTON 3 76 #endif 77 78 #define I_HELP "Help" 79 #define I_GO_AWAY "Go away" 80 #define I_NEXT "Next" 81 #define I_PREVIOUS "Previous" 82 #define I_FIND "Find" 83 #define I_find "find:" 84 #define I_STOP "Stop" 85 86 typedef enum {SOUND_SAVE_AS, SELECTION_SAVE_AS, REGION_SAVE_AS} save_dialog_t; 87 typedef enum {NOT_IN_BACKGROUND, IN_BACKGROUND} play_process_t; 88 typedef enum {WITHOUT_VIRTUAL_CHANNELS, WITH_VIRTUAL_CHANNELS} virtual_channels_t; 89 typedef enum {WITH_FW_BUTTONS, WITH_ARROWS} fw_button_t; 90 typedef enum {WITHOUT_HOOK, WITH_HOOK} with_hook_t; 91 typedef enum {WITHOUT_WORD_WRAP, WITH_WORD_WRAP} with_word_wrap_t; 92 typedef enum {DRAG_ENTER, DRAG_LEAVE, DRAG_MOTION} drag_style_t; 93 typedef enum {ENVED_AMPLITUDE, ENVED_SPECTRUM, ENVED_SRATE} enved_target_t; 94 typedef enum {ENVELOPE_LINEAR, ENVELOPE_EXPONENTIAL} env_type_t; 95 typedef enum {GRAPH_LINES, GRAPH_DOTS, GRAPH_FILLED, GRAPH_DOTS_AND_LINES, GRAPH_LOLLIPOPS, NUM_GRAPH_STYLES} graph_style_t; 96 typedef enum {APPLY_TO_SOUND, APPLY_TO_CHANNEL, APPLY_TO_SELECTION} snd_apply_t; 97 typedef enum {GRAPH_ONCE, GRAPH_AS_SONOGRAM, GRAPH_AS_SPECTROGRAM, GRAPH_AS_WAVOGRAM} graph_type_t; 98 typedef enum {ZOOM_FOCUS_LEFT, ZOOM_FOCUS_RIGHT, ZOOM_FOCUS_ACTIVE, ZOOM_FOCUS_MIDDLE, ZOOM_FOCUS_PROC} zoom_focus_t; 99 typedef enum {DONT_DELETE_ME, DELETE_ME, ALREADY_DELETED, MULTICHANNEL_DELETION, MULTICHANNEL_DELETION_IF_FILE} file_delete_t; 100 typedef enum {SND_REOPEN_CLOSED_FILE, SND_OPEN_CHANNEL, SND_COPY_READER, SND_INSERT_FILE, SND_CHANGE_FILE, SND_OVERRIDE_FILE, SND_MIX_FILE} open_reason_t; 101 typedef enum {CURSOR_CROSS, CURSOR_LINE, CURSOR_PROC} cursor_style_t; 102 typedef enum {SHOW_NO_AXES, SHOW_ALL_AXES, SHOW_X_AXIS, SHOW_ALL_AXES_UNLABELLED, SHOW_X_AXIS_UNLABELLED, SHOW_BARE_X_AXIS, NUM_SHOW_AXES} show_axes_t; 103 typedef enum {DONT_NORMALIZE, NORMALIZE_BY_CHANNEL, NORMALIZE_BY_SOUND, NORMALIZE_GLOBALLY, NUM_TRANSFORM_NORMALIZATIONS} fft_normalize_t; 104 typedef enum {NO_DISK_SPACE, NOT_ENOUGH_DISK_SPACE, DISK_SPACE_OK} disk_space_t; 105 typedef enum {CHAN_GC, CHAN_IGC, CHAN_SELGC, CHAN_CGC, CHAN_MGC, CHAN_MXGC, CHAN_TMPGC} chan_gc_t; 106 typedef enum {NOT_A_VIEWER, FILE_VIEWER, REGION_VIEWER} file_viewer_t; /* 1 and 2, according to docs for mouse-enter-label-hook */ 107 typedef enum {COLOR_ORIENTATION_DIALOG, ENVED_DIALOG, TRANSFORM_DIALOG, 108 FILE_OPEN_DIALOG, SOUND_SAVE_AS_DIALOG, VIEW_FILES_DIALOG, RAW_DATA_DIALOG, NEW_FILE_DIALOG, 109 FILE_MIX_DIALOG, EDIT_HEADER_DIALOG, FIND_DIALOG, HELP_DIALOG, MIX_DIALOG, 110 PRINT_DIALOG, REGION_DIALOG, POST_IT_DIALOG, CONTROLS_DIALOG, SELECTION_SAVE_AS_DIALOG, 111 FILE_INSERT_DIALOG, REGION_SAVE_AS_DIALOG, PREFERENCES_DIALOG, NUM_DIALOGS} snd_dialog_t; 112 typedef enum {SOUND_IDLE, SOUND_NORMAL, SOUND_WRAPPER, SOUND_REGION, SOUND_READER} sound_inuse_t; 113 typedef enum {IO_NO_ERROR, IO_SAVE_HOOK_CANCELLATION, IO_BAD_CHANNEL, IO_CANT_REOPEN_FILE, IO_TOO_MANY_OPEN_FILES, 114 IO_UNKNOWN_SNDLIB_ERROR, IO_NO_MEMORY, IO_CANT_OPEN_FILE, IO_NO_FILENAME, IO_BAD_SAMPLE_TYPE, IO_BAD_HEADER_TYPE, 115 IO_SNDLIB_UNINITIALIZED, IO_NOT_A_SOUND_FILE, IO_FILE_CLOSED, IO_WRITE_ERROR, IO_INTERRUPTED, IO_CANT_CLOSE_FILE, 116 IO_BAD_HEADER, IO_DISK_FULL, IO_WRITE_PROTECTED, IO_CANT_READ_SELECTION_FILE, IO_NEED_WRITE_CONFIRMATION, 117 IO_NO_CHANGES, IO_EDIT_HOOK_CANCELLATION, IO_CANT_CREATE_FILE, IO_ERROR_NUM} io_error_t; 118 typedef enum {INSERTION_EDIT, DELETION_EDIT, CHANGE_EDIT, INITIALIZE_EDIT, SCALED_EDIT, ZERO_EDIT, RAMP_EDIT, 119 EXTEND_EDIT, MIX_EDIT, CHANGE_MIX_EDIT, 120 NUM_EDIT_TYPES} edit_t; 121 typedef enum {SAMPLER, REGION_READER, MIX_READER} reader_t; 122 typedef enum {MIX_FOLLOWS_SYNC, MIX_SETS_SYNC_LOCALLY} mix_sync_t; 123 typedef enum {CHANNEL_FREED, CHANNEL_INACTIVE, CHANNEL_INITIALIZED, CHANNEL_HAS_EDIT_LIST, CHANNEL_HAS_AXES} channel_state_t; 124 125 enum {BLACK_AND_WHITE_COLORMAP, GRAY_COLORMAP, HOT_COLORMAP, COOL_COLORMAP, BONE_COLORMAP, COPPER_COLORMAP, PINK_COLORMAP, JET_COLORMAP, PRISM_COLORMAP, 126 AUTUMN_COLORMAP, WINTER_COLORMAP, SPRING_COLORMAP, SUMMER_COLORMAP, RAINBOW_COLORMAP, FLAG_COLORMAP, PHASES_COLORMAP, NUM_BUILTIN_COLORMAPS}; 127 128 129 #define is_serious_io_error(Err) ((Err != IO_NO_ERROR) && \ 130 (Err != IO_EDIT_HOOK_CANCELLATION) && \ 131 (Err != IO_SAVE_HOOK_CANCELLATION) && \ 132 (Err != IO_INTERRUPTED) && \ 133 (Err != IO_NEED_WRITE_CONFIRMATION) && \ 134 (Err != IO_NO_CHANGES)) 135 136 enum {FILE_OPENED, FILE_CLOSED}; 137 typedef enum {WITH_READABLE_HEADERS, WITH_WRITABLE_HEADERS, WITH_BUILTIN_HEADERS} header_choice_t; 138 enum {SORT_A_TO_Z, SORT_Z_TO_A, SORT_NEW_TO_OLD, SORT_OLD_TO_NEW, SORT_SMALL_TO_BIG, SORT_BIG_TO_SMALL, SORT_XEN}; 139 140 typedef enum {FILE_READ_WRITE, FILE_READ_ONLY} read_only_t; 141 #define FORCE_REFFT true 142 #define DONT_FORCE_REFFT false 143 #define FORCE_REDISPLAY true 144 #define DONT_FORCE_REDISPLAY false 145 #define WITH_EVENTS true 146 #define WITHOUT_EVENTS false 147 #define NOT_IN_AS_ONE_EDIT false 148 #define IN_AS_ONE_EDIT true 149 #define FILE_SELECTED true 150 #define FILE_NOT_SELECTED false 151 #define EXIT_FORCED true 152 #define EXIT_NOT_FORCED false 153 154 #if HAVE_RUBY 155 #define to_proc_name(Str) xen_scheme_procedure_to_ruby(Str) 156 #define TO_VAR_NAME(Str) xen_scheme_constant_to_ruby(Str) 157 #define PROC_OPEN "(" 158 #define PROC_SEP ", " 159 #define LIST_OPEN "[" 160 #define LIST_CLOSE "]" 161 #define BPAREN "" 162 #define EPAREN "" 163 #define PROC_FALSE "false" 164 #define PROC_TRUE "true" 165 #define PROC_QUOTE "" 166 #endif 167 #if HAVE_FORTH 168 #define to_proc_name(Str) Str 169 #define TO_VAR_NAME(Str) Str 170 #define PROC_OPEN " " 171 #define PROC_SEP " " 172 #define LIST_OPEN " '( " 173 #define LIST_CLOSE " ) " 174 #define BPAREN "" 175 #define EPAREN " drop" 176 #define PROC_FALSE "#f" 177 #define PROC_TRUE "#t" 178 #define PROC_QUOTE "" 179 #endif 180 #if HAVE_SCHEME || (!HAVE_EXTENSION_LANGUAGE) 181 #define to_proc_name(Str) Str 182 #define TO_VAR_NAME(Str) Str 183 #define PROC_OPEN " " 184 #define PROC_SEP " " 185 #define LIST_OPEN "(list " 186 #define LIST_CLOSE ")" 187 #define BPAREN "(" 188 #define EPAREN ")" 189 #define PROC_FALSE "#f" 190 #define PROC_TRUE "#t" 191 #define PROC_QUOTE "'" 192 #endif 193 194 #define MAX_MAIN_MENUS 64 195 #define NO_REGIONS -2 196 #define INVALID_REGION -1 197 #define NO_LIST -1 198 199 typedef enum {READ_FORWARD, READ_BACKWARD} read_direction_t; 200 typedef enum {DONT_TRACK, TRACK_AND_RETURN, TRACK_AND_STAY} tracking_cursor_t; 201 typedef enum {DONT_UPDATE_DISPLAY, UPDATE_DISPLAY} cut_selection_regraph_t; 202 typedef enum {IGNORE_CACHE, REMOVE_FROM_CACHE} cache_remove_t; 203 typedef enum {FFT_UNCHANGED, FFT_CHANGED, FFT_CHANGE_LOCKED} fft_change_t; 204 typedef enum {WITHOUT_GRAPH, WITH_GRAPH, WITHOUT_INITIAL_GRAPH_HOOK} channel_graph_t; 205 typedef enum {NOT_PRINTING, PRINTING} printing_t; 206 typedef enum {NO_X_AXIS, WITH_X_AXIS} with_x_axis_t; 207 typedef enum {NO_GRID, WITH_GRID} with_grid_t; 208 typedef enum {WITH_LINEAR_AXES, WITH_LOG_X_AXIS, WITH_LOG_Y_AXIS} log_axis_t; 209 210 #define GET_NEW_SYNC -1 211 #define GET_ORIGINAL_SYNC -2 212 213 #define OVER_SELECTION true 214 #define OVER_SOUND false 215 216 #define AT_CURRENT_EDIT_POSITION -1 217 218 typedef enum {X_AXIS_IN_SECONDS, X_AXIS_IN_SAMPLES, X_AXIS_AS_PERCENTAGE, X_AXIS_IN_BEATS, 219 X_AXIS_IN_MEASURES, X_AXIS_AS_CLOCK, NUM_X_AXIS_STYLES} x_axis_style_t; 220 typedef enum {SPEED_CONTROL_AS_FLOAT, SPEED_CONTROL_AS_RATIO, SPEED_CONTROL_AS_SEMITONE, NUM_SPEED_CONTROL_STYLES} speed_style_t; 221 typedef enum {CURSOR_IN_VIEW, CURSOR_ON_LEFT, CURSOR_ON_RIGHT, CURSOR_IN_MIDDLE, KEYBOARD_NO_ACTION} kbd_cursor_t; 222 typedef enum {CHANNELS_SEPARATE, CHANNELS_COMBINED, CHANNELS_SUPERIMPOSED, NOT_A_CHANNEL_STYLE} channel_style_t; 223 #define NUM_CHANNEL_STYLES 3 224 typedef enum {SYNC_NONE, SYNC_ALL, SYNC_BY_SOUND} sync_style_t; 225 #define NUM_SYNC_STYLES 3 226 typedef enum {FD_CLOSED, FD_OPEN} fd_open_t; 227 typedef enum {PRINT_SND, PRINT_ENV} print_choice_t; 228 typedef enum {SND_DATA_NO_DATA, SND_DATA_FILE, SND_DATA_BUFFER} snd_data_file_t; 229 typedef enum {SOUNDS_VERTICAL, SOUNDS_HORIZONTAL, SOUNDS_IN_NOTEBOOK, SOUNDS_IN_SEPARATE_WINDOWS} sound_style_t; 230 enum {FOURIER, WAVELET, WALSH, AUTOCORRELATION, CEPSTRUM, HAAR, NUM_BUILTIN_TRANSFORM_TYPES}; /* not typedef'd -- grows as new ones are added */ 231 #define NUM_WAVELETS 48 232 233 typedef enum {FCP_X_ANGLE, FCP_X_SCALE, FCP_Y_ANGLE, FCP_Y_SCALE, FCP_Z_ANGLE, FCP_Z_SCALE, 234 FCP_SPECTRUM_END, FCP_SPECTRUM_START, FCP_ALPHA, FCP_BETA, FCP_BEATS} fcp_t; 235 typedef enum {TIME_AXIS_INFO, TRANSFORM_AXIS_INFO, LISP_AXIS_INFO} axis_info_t; 236 typedef enum {COLOR_POSITION, COLOR_ZOOM} slider_choice_t; 237 238 typedef enum {PLAY_COMPLETE, PLAY_CLOSE, PLAY_BUTTON_UNSET, PLAY_STOP_CALLED, PLAY_C_G, PLAY_NO_CHANNEL, 239 PLAY_ERROR, PLAY_APPLY, PLAY_EDIT, PLAY_C_T} play_stop_t; 240 241 typedef enum {NO_REQUESTOR, FROM_UPDATE, FROM_VIEW_FILES, FROM_DRAG_AND_DROP, FROM_OPEN_DIALOG, 242 FROM_KEYBOARD, FROM_STARTUP, FROM_REGION_EDIT, FROM_NEW_FILE_DIALOG, FROM_OPEN_SOUND, 243 FROM_OPEN_RAW_SOUND, FROM_VIEW_SOUND, FROM_NEW_SOUND, FROM_RAW_DATA_DIALOG, FROM_MIX_DIALOG, 244 FROM_INSERT_DIALOG, FROM_VIEW_FILES_MIX_DIALOG, FROM_VIEW_FILES_INSERT_DIALOG, 245 FROM_OPEN_RECENT_MENU, FROM_OPEN_DIALOG_POPUP, FROM_POPUP_CUT_TO_NEW} open_requestor_t; 246 247 #define DEFAULT_AMP_CONTROL 1.0 248 #define DEFAULT_CONTRAST_CONTROL 0.0 249 #define DEFAULT_EXPAND_CONTROL 1.0 250 #define DEFAULT_REVERB_CONTROL_LENGTH 1.0 251 #define DEFAULT_REVERB_CONTROL_SCALE 0.0 252 #define DEFAULT_SPEED_CONTROL 1.0 253 #define DEFAULT_CONTRAST_CONTROL_ON false 254 #define DEFAULT_EXPAND_CONTROL_ON false 255 #define DEFAULT_FILTER_CONTROL_ON false 256 #define DEFAULT_REVERB_CONTROL_ON false 257 258 259 #define filter_control_in_dB(ss) ss->Filter_Control_In_Db 260 #if HAVE_SCHEME 261 #define in_set_filter_control_in_dB(ss, val) {ss->Filter_Control_In_Db = val; s7_symbol_set_value(s7, ss->filter_control_in_db_symbol, s7_make_boolean(s7, val));} 262 #else 263 #define in_set_filter_control_in_dB(ss, val) ss->Filter_Control_In_Db = val 264 #endif 265 #define DEFAULT_FILTER_CONTROL_IN_DB false 266 267 #define filter_control_in_hz(ss) ss->Filter_Control_In_Hz 268 #if HAVE_SCHEME 269 #define in_set_filter_control_in_hz(ss, val) {ss->Filter_Control_In_Hz = val; s7_symbol_set_value(s7, ss->filter_control_in_hz_symbol, s7_make_boolean(s7, val));} 270 #else 271 #define in_set_filter_control_in_hz(ss, val) ss->Filter_Control_In_Hz = val 272 #endif 273 #define DEFAULT_FILTER_CONTROL_IN_HZ false 274 275 #define speed_control_tones(ss) ss->Speed_Control_Tones 276 #if HAVE_SCHEME 277 #define in_set_speed_control_tones(ss, val) {ss->Speed_Control_Tones = val; s7_symbol_set_value(s7, ss->speed_control_tones_symbol, s7_make_integer(s7, val));} 278 #else 279 #define in_set_speed_control_tones(ss, val) ss->Speed_Control_Tones = val 280 #endif 281 #define DEFAULT_SPEED_CONTROL_TONES 12 282 283 #define speed_control_style(ss) ss->Speed_Control_Style 284 #if HAVE_SCHEME 285 #define in_set_speed_control_style(ss, val) {ss->Speed_Control_Style = val; s7_symbol_set_value(s7, ss->speed_control_style_symbol, s7_make_integer(s7, val));} 286 #else 287 #define in_set_speed_control_style(ss, val) ss->Speed_Control_Style = val 288 #endif 289 #define DEFAULT_SPEED_CONTROL_STYLE SPEED_CONTROL_AS_FLOAT 290 291 #define expand_control_length(ss) ss->Expand_Control_Length 292 #if HAVE_SCHEME 293 #define in_set_expand_control_length(ss, val) {ss->Expand_Control_Length = val; s7_symbol_set_value(s7, ss->expand_control_length_symbol, s7_make_real(s7, val));} 294 #else 295 #define in_set_expand_control_length(ss, val) ss->Expand_Control_Length = val 296 #endif 297 #define DEFAULT_EXPAND_CONTROL_LENGTH 0.15 298 299 #define expand_control_ramp(ss) ss->Expand_Control_Ramp 300 #if HAVE_SCHEME 301 #define in_set_expand_control_ramp(ss, val) {ss->Expand_Control_Ramp = val; s7_symbol_set_value(s7, ss->expand_control_ramp_symbol, s7_make_real(s7, val));} 302 #else 303 #define in_set_expand_control_ramp(ss, val) ss->Expand_Control_Ramp = val 304 #endif 305 #define DEFAULT_EXPAND_CONTROL_RAMP 0.4 306 307 #define expand_control_hop(ss) ss->Expand_Control_Hop 308 #if HAVE_SCHEME 309 #define in_set_expand_control_hop(ss, val) {ss->Expand_Control_Hop = val; s7_symbol_set_value(s7, ss->expand_control_hop_symbol, s7_make_real(s7, val));} 310 #else 311 #define in_set_expand_control_hop(ss, val) ss->Expand_Control_Hop = val 312 #endif 313 #define DEFAULT_EXPAND_CONTROL_HOP 0.05 314 315 #define expand_control_jitter(ss) ss->Expand_Control_Jitter 316 #if HAVE_SCHEME 317 #define in_set_expand_control_jitter(ss, val) {ss->Expand_Control_Jitter = val; s7_symbol_set_value(s7, ss->expand_control_jitter_symbol, s7_make_real(s7, val));} 318 #else 319 #define in_set_expand_control_jitter(ss, val) ss->Expand_Control_Jitter = val 320 #endif 321 #define DEFAULT_EXPAND_CONTROL_JITTER 0.1 322 323 #define contrast_control_amp(ss) ss->Contrast_Control_Amp 324 #if HAVE_SCHEME 325 #define in_set_contrast_control_amp(ss, val) {ss->Contrast_Control_Amp = val; s7_symbol_set_value(s7, ss->contrast_control_amp_symbol, s7_make_real(s7, val));} 326 #else 327 #define in_set_contrast_control_amp(ss, val) ss->Contrast_Control_Amp = val 328 #endif 329 #define DEFAULT_CONTRAST_CONTROL_AMP 1.0 330 331 #define reverb_control_feedback(ss) ss->Reverb_Control_Feedback 332 #if HAVE_SCHEME 333 #define in_set_reverb_control_feedback(ss, val) {ss->Reverb_Control_Feedback = val; s7_symbol_set_value(s7, ss->reverb_control_feedback_symbol, s7_make_real(s7, val));} 334 #else 335 #define in_set_reverb_control_feedback(ss, val) ss->Reverb_Control_Feedback = val 336 #endif 337 #define DEFAULT_REVERB_CONTROL_FEEDBACK 1.09 338 339 #define reverb_control_lowpass(ss) ss->Reverb_Control_Lowpass 340 #if HAVE_SCHEME 341 #define in_set_reverb_control_lowpass(ss, val) {ss->Reverb_Control_Lowpass = val; s7_symbol_set_value(s7, ss->reverb_control_lowpass_symbol, s7_make_real(s7, val));} 342 #else 343 #define in_set_reverb_control_lowpass(ss, val) ss->Reverb_Control_Lowpass = val 344 #endif 345 #define DEFAULT_REVERB_CONTROL_LOWPASS 0.7 346 347 #define reverb_control_decay(ss) ss->Reverb_Control_Decay 348 #if HAVE_SCHEME 349 #define in_set_reverb_control_decay(ss, val) {ss->Reverb_Control_Decay = val; s7_symbol_set_value(s7, ss->reverb_control_decay_symbol, s7_make_real(s7, val));} 350 #else 351 #define in_set_reverb_control_decay(ss, val) ss->Reverb_Control_Decay = val 352 #endif 353 #define DEFAULT_REVERB_CONTROL_DECAY 1.0 354 355 #define contrast_control_min(ss) ss->Contrast_Control_Min 356 #define in_set_contrast_control_min(ss, val) ss->Contrast_Control_Min = val 357 #define DEFAULT_CONTRAST_CONTROL_MIN 0.0 358 359 #define contrast_control_max(ss) ss->Contrast_Control_Max 360 #define in_set_contrast_control_max(ss, val) ss->Contrast_Control_Max = val 361 #define DEFAULT_CONTRAST_CONTROL_MAX 10.0 362 363 #define expand_control_min(ss) ss->Expand_Control_Min 364 #define in_set_expand_control_min(ss, val) ss->Expand_Control_Min = val 365 #define DEFAULT_EXPAND_CONTROL_MIN 0.05 366 367 #define expand_control_max(ss) ss->Expand_Control_Max 368 #define in_set_expand_control_max(ss, val) ss->Expand_Control_Max = val 369 #define DEFAULT_EXPAND_CONTROL_MAX 20.0 370 371 #define speed_control_min(ss) ss->Speed_Control_Min 372 #define in_set_speed_control_min(ss, val) ss->Speed_Control_Min = val 373 #define DEFAULT_SPEED_CONTROL_MIN 0.05 374 375 #define speed_control_max(ss) ss->Speed_Control_Max 376 #define in_set_speed_control_max(ss, val) ss->Speed_Control_Max = val 377 #define DEFAULT_SPEED_CONTROL_MAX 20.0 378 379 #define amp_control_min(ss) ss->Amp_Control_Min 380 #define in_set_amp_control_min(ss, val) ss->Amp_Control_Min = val 381 #define DEFAULT_AMP_CONTROL_MIN 0.0 382 383 #define amp_control_max(ss) ss->Amp_Control_Max 384 #define in_set_amp_control_max(ss, val) ss->Amp_Control_Max = val 385 #define DEFAULT_AMP_CONTROL_MAX 8.0 386 387 #define reverb_control_scale_min(ss) ss->Reverb_Control_Scale_Min 388 #define in_set_reverb_control_scale_min(ss, val) ss->Reverb_Control_Scale_Min = val 389 #define DEFAULT_REVERB_CONTROL_SCALE_MIN 0.0 390 391 #define reverb_control_scale_max(ss) ss->Reverb_Control_Scale_Max 392 #define in_set_reverb_control_scale_max(ss, val) ss->Reverb_Control_Scale_Max = val 393 #define DEFAULT_REVERB_CONTROL_SCALE_MAX 4.0 394 395 #define reverb_control_length_min(ss) ss->Reverb_Control_Length_Min 396 #define in_set_reverb_control_length_min(ss, val) ss->Reverb_Control_Length_Min = val 397 #define DEFAULT_REVERB_CONTROL_LENGTH_MIN 0.0 398 399 #define reverb_control_length_max(ss) ss->Reverb_Control_Length_Max 400 #define in_set_reverb_control_length_max(ss, val) ss->Reverb_Control_Length_Max = val 401 #define DEFAULT_REVERB_CONTROL_LENGTH_MAX 5.0 402 403 #define filter_control_order(ss) ss->Filter_Control_Order 404 #if HAVE_SCHEME 405 #define in_set_filter_control_order(ss, val) {ss->Filter_Control_Order = val; s7_symbol_set_value(s7, ss->filter_control_order_symbol, s7_make_integer(s7, val));} 406 #else 407 #define in_set_filter_control_order(ss, val) ss->Filter_Control_Order = val 408 #endif 409 #define DEFAULT_FILTER_CONTROL_ORDER 20 410 411 #define in_show_controls(ss) ss->Show_Controls 412 #if HAVE_SCHEME 413 #define in_set_show_controls(ss, val) \ 414 do {\ 415 ss->Show_Controls = val; \ 416 s7_symbol_set_value(s7, ss->show_controls_symbol, s7_make_boolean(s7, ss->Show_Controls));\ 417 } while (0) 418 #else 419 #define in_set_show_controls(ss, val) ss->Show_Controls = val 420 #endif 421 #define DEFAULT_SHOW_CONTROLS false 422 423 #define with_tracking_cursor(ss) ss->With_Tracking_Cursor 424 #if HAVE_SCHEME 425 #define set_with_tracking_cursor(ss, val) \ 426 do {\ 427 ss->With_Tracking_Cursor = val; \ 428 s7_symbol_set_value(s7, ss->with_tracking_cursor_symbol, s7_make_integer(s7, (int)(ss->With_Tracking_Cursor))); \ 429 } while (0) 430 #else 431 #define set_with_tracking_cursor(ss, val) ss->With_Tracking_Cursor = val 432 #endif 433 #define DEFAULT_WITH_TRACKING_CURSOR DONT_TRACK 434 435 #define just_sounds(ss) ss->Just_Sounds 436 #if HAVE_SCHEME 437 #define set_just_sounds(val) \ 438 do {\ 439 ss->Just_Sounds = val; \ 440 s7_symbol_set_value(s7, ss->just_sounds_symbol, s7_make_boolean(s7, ss->Just_Sounds));\ 441 } while (0) 442 #else 443 #define set_just_sounds(val) ss->Just_Sounds = val 444 #endif 445 #define DEFAULT_JUST_SOUNDS true 446 447 #define DEFAULT_SYNC 0 448 #define DEFAULT_INIT_WINDOW_X -1 449 #define DEFAULT_INIT_WINDOW_Y -1 450 #define DEFAULT_INIT_WINDOW_WIDTH 0 451 #define DEFAULT_INIT_WINDOW_HEIGHT 0 452 453 #define default_output_header_type(ss) ss->Default_Output_Header_Type 454 #if HAVE_SCHEME 455 #define set_default_output_header_type(a) \ 456 do {\ 457 ss->Default_Output_Header_Type = (mus_header_t)a; \ 458 s7_symbol_set_value(s7, ss->default_output_header_type_symbol, s7_make_integer(s7, (s7_int)(ss->Default_Output_Header_Type))); \ 459 } while (0) 460 #else 461 #define set_default_output_header_type(a) ss->Default_Output_Header_Type = (mus_header_t)a 462 #endif 463 464 #define default_output_chans(ss) ss->Default_Output_Chans 465 #if HAVE_SCHEME 466 #define set_default_output_chans(a) \ 467 do {\ 468 ss->Default_Output_Chans = a; \ 469 s7_symbol_set_value(s7, ss->default_output_chans_symbol, s7_make_integer(s7, ss->Default_Output_Chans));\ 470 } while (0) 471 #else 472 #define set_default_output_chans(a) ss->Default_Output_Chans = a 473 #endif 474 475 #define default_output_srate(ss) ss->Default_Output_Srate 476 #if HAVE_SCHEME 477 #define set_default_output_srate(a) \ 478 do {\ 479 ss->Default_Output_Srate = a; \ 480 s7_symbol_set_value(s7, ss->default_output_srate_symbol, s7_make_integer(s7, ss->Default_Output_Srate));\ 481 } while (0) 482 #else 483 #define set_default_output_srate(a) ss->Default_Output_Srate = a 484 #endif 485 486 #define default_output_sample_type(ss) ss->Default_Output_Sample_Type 487 #if HAVE_SCHEME 488 #define set_default_output_sample_type(a) \ 489 do {\ 490 ss->Default_Output_Sample_Type = (mus_sample_t)a; \ 491 s7_symbol_set_value(s7, ss->default_output_sample_type_symbol, s7_make_integer(s7, (s7_int)ss->Default_Output_Sample_Type)); \ 492 } while (0) 493 #else 494 #define set_default_output_sample_type(a) ss->Default_Output_Sample_Type = (mus_sample_t)a 495 #endif 496 497 #define dac_size(ss) ss->Dac_Size 498 #if HAVE_SCHEME 499 #define set_dac_size(a) \ 500 do {\ 501 ss->Dac_Size = a; \ 502 s7_symbol_set_value(s7, ss->dac_size_symbol, s7_make_integer(s7, ss->Dac_Size));\ 503 } while (0) 504 #else 505 #define set_dac_size(a) ss->Dac_Size = a 506 #endif 507 #if (HAVE_OSS || HAVE_ALSA) 508 #define DEFAULT_DAC_SIZE 256 509 #else 510 #if __APPLE__ 511 #define DEFAULT_DAC_SIZE 64 512 #else 513 #define DEFAULT_DAC_SIZE 1024 514 #endif 515 #endif 516 517 #define dac_combines_channels(ss) ss->Dac_Combines_Channels 518 #if HAVE_SCHEME 519 #define set_dac_combines_channels(a) \ 520 do {\ 521 ss->Dac_Combines_Channels = a; \ 522 s7_symbol_set_value(s7, ss->dac_combines_channels_symbol, s7_make_boolean(s7, ss->Dac_Combines_Channels));\ 523 } while (0) 524 #else 525 #define set_dac_combines_channels(a) ss->Dac_Combines_Channels = a 526 #endif 527 #define DEFAULT_DAC_COMBINES_CHANNELS true 528 529 #define max_regions(ss) ss->Max_Regions 530 #if HAVE_SCHEME 531 #define in_set_max_regions(a) \ 532 do {\ 533 ss->Max_Regions = a; \ 534 s7_symbol_set_value(s7, ss->max_regions_symbol, s7_make_integer(s7, ss->Max_Regions));\ 535 } while (0) 536 #else 537 #define in_set_max_regions(a) ss->Max_Regions = a 538 #endif 539 #define DEFAULT_MAX_REGIONS 16 540 541 #define max_transform_peaks(ss) ss->Max_Transform_Peaks 542 #if HAVE_SCHEME 543 #define in_set_max_transform_peaks(a) \ 544 do {\ 545 ss->Max_Transform_Peaks = a; \ 546 s7_symbol_set_value(s7, ss->max_transform_peaks_symbol, s7_make_integer(s7, ss->Max_Transform_Peaks));\ 547 } while (0) 548 #else 549 #define in_set_max_transform_peaks(a) ss->Max_Transform_Peaks = a 550 #endif 551 #define DEFAULT_MAX_TRANSFORM_PEAKS 100 552 553 #define auto_resize(ss) ss->Auto_Resize 554 #if HAVE_SCHEME 555 #define set_auto_resize(a) \ 556 do {\ 557 ss->Auto_Resize = a; \ 558 s7_symbol_set_value(s7, ss->auto_resize_symbol, s7_make_boolean(s7, ss->Auto_Resize));\ 559 } while (0) 560 #else 561 #define set_auto_resize(a) ss->Auto_Resize = a 562 #endif 563 #define DEFAULT_AUTO_RESIZE true 564 565 #define auto_update(ss) ss->Auto_Update 566 #if HAVE_SCHEME 567 #define set_auto_update(a) \ 568 do {\ 569 ss->Auto_Update = a; \ 570 s7_symbol_set_value(s7, ss->auto_update_symbol, s7_make_boolean(s7, ss->Auto_Update));\ 571 } while (0) 572 #else 573 #define set_auto_update(a) ss->Auto_Update = a 574 #endif 575 #define DEFAULT_AUTO_UPDATE false 576 577 #define auto_update_interval(ss) ss->Auto_Update_Interval 578 #if HAVE_SCHEME 579 #define set_auto_update_interval(a) \ 580 do {\ 581 ss->Auto_Update_Interval = a; \ 582 s7_symbol_set_value(s7, ss->auto_update_interval_symbol, s7_make_real(s7, ss->Auto_Update_Interval));\ 583 } while (0) 584 #else 585 #define set_auto_update_interval(a) ss->Auto_Update_Interval = a 586 #endif 587 #define DEFAULT_AUTO_UPDATE_INTERVAL 60.0 588 589 #define cursor_update_interval(ss) ss->Cursor_Update_Interval 590 #if HAVE_SCHEME 591 #define set_cursor_update_interval(a) \ 592 do {\ 593 ss->Cursor_Update_Interval = a; \ 594 s7_symbol_set_value(s7, ss->cursor_update_interval_symbol, s7_make_real(s7, ss->Cursor_Update_Interval));\ 595 } while (0) 596 #else 597 #define set_cursor_update_interval(a) ss->Cursor_Update_Interval = a 598 #endif 599 #define DEFAULT_CURSOR_UPDATE_INTERVAL 0.05 600 601 #define cursor_location_offset(ss) ss->Cursor_Location_Offset 602 #if HAVE_SCHEME 603 #define set_cursor_location_offset(a) \ 604 do {\ 605 ss->Cursor_Location_Offset = a; \ 606 s7_symbol_set_value(s7, ss->cursor_location_offset_symbol, s7_make_integer(s7, ss->Cursor_Location_Offset));\ 607 } while (0) 608 #else 609 #define set_cursor_location_offset(a) ss->Cursor_Location_Offset = a 610 #endif 611 #define DEFAULT_CURSOR_LOCATION_OFFSET 0 612 613 #define color_cutoff(ss) ss->Color_Cutoff 614 #if HAVE_SCHEME 615 #define in_set_color_cutoff(a) \ 616 do {\ 617 ss->Color_Cutoff = a; \ 618 s7_symbol_set_value(s7, ss->color_cutoff_symbol, s7_make_real(s7, ss->Color_Cutoff));\ 619 } while (0) 620 #else 621 #define in_set_color_cutoff(a) ss->Color_Cutoff = a 622 #endif 623 #define DEFAULT_COLOR_CUTOFF 0.003 624 625 #define color_inverted(ss) ss->Color_Inverted 626 #if HAVE_SCHEME 627 #define in_set_color_inverted(a) \ 628 do {\ 629 ss->Color_Inverted = a; \ 630 s7_symbol_set_value(s7, ss->color_inverted_symbol, s7_make_boolean(s7, ss->Color_Inverted));\ 631 } while (0) 632 #else 633 #define in_set_color_inverted(a) ss->Color_Inverted = a 634 #endif 635 #define DEFAULT_COLOR_INVERTED true 636 637 #define color_scale(ss) ss->Color_Scale 638 #if HAVE_SCHEME 639 #define in_set_color_scale(a) \ 640 do {\ 641 ss->Color_Scale = a; \ 642 s7_symbol_set_value(s7, ss->color_scale_symbol, s7_make_real(s7, ss->Color_Scale));\ 643 } while (0) 644 #else 645 #define in_set_color_scale(a) ss->Color_Scale = a 646 #endif 647 #define DEFAULT_COLOR_SCALE 1.0 648 649 #define fft_window_alpha(ss) ss->Fft_Window_Alpha 650 #if HAVE_SCHEME 651 #define in_set_fft_window_alpha(a) \ 652 do {\ 653 ss->Fft_Window_Alpha = a; \ 654 s7_symbol_set_value(s7, ss->fft_window_alpha_symbol, s7_make_real(s7, ss->Fft_Window_Alpha));\ 655 } while (0) 656 #else 657 #define in_set_fft_window_alpha(a) ss->Fft_Window_Alpha = a 658 #endif 659 #define DEFAULT_FFT_WINDOW_ALPHA 0.0 660 661 #define fft_window_beta(ss) ss->Fft_Window_Beta 662 #if HAVE_SCHEME 663 #define in_set_fft_window_beta(a) \ 664 do {\ 665 ss->Fft_Window_Beta = a; \ 666 s7_symbol_set_value(s7, ss->fft_window_beta_symbol, s7_make_real(s7, ss->Fft_Window_Beta));\ 667 } while (0) 668 #else 669 #define in_set_fft_window_beta(a) ss->Fft_Window_Beta = a 670 #endif 671 #define DEFAULT_FFT_WINDOW_BETA 0.0 672 673 #define transform_size(ss) ss->Transform_Size 674 #if HAVE_SCHEME 675 #define in_set_transform_size(a) \ 676 do {\ 677 ss->Transform_Size = a; \ 678 s7_symbol_set_value(s7, ss->transform_size_symbol, s7_make_integer(s7, ss->Transform_Size));\ 679 } while (0) 680 #else 681 #define in_set_transform_size(a) ss->Transform_Size = a 682 #endif 683 #define DEFAULT_TRANSFORM_SIZE 512 684 685 #define transform_graph_type(ss) ss->Transform_Graph_Type 686 #if HAVE_SCHEME 687 #define in_set_transform_graph_type_1(a) \ 688 do {\ 689 ss->Transform_Graph_Type = a; \ 690 s7_symbol_set_value(s7, ss->transform_graph_type_symbol, s7_make_integer(s7, ss->Transform_Graph_Type));\ 691 } while (0) 692 #else 693 #define in_set_transform_graph_type_1(a) ss->Transform_Graph_Type = a 694 #endif 695 #define DEFAULT_TRANSFORM_GRAPH_TYPE GRAPH_ONCE 696 697 #define time_graph_type(ss) ss->Time_Graph_Type 698 #if HAVE_SCHEME 699 #define in_set_time_graph_type(a) \ 700 do {\ 701 ss->Time_Graph_Type = a; \ 702 s7_symbol_set_value(s7, ss->time_graph_type_symbol, s7_make_integer(s7, ss->Time_Graph_Type));\ 703 } while (0) 704 #else 705 #define in_set_time_graph_type(a) ss->Time_Graph_Type = a 706 #endif 707 #define DEFAULT_TIME_GRAPH_TYPE GRAPH_ONCE 708 709 #define fft_window(ss) ss->Fft_Window 710 #if HAVE_SCHEME 711 #define in_set_fft_window_1(a) \ 712 do {\ 713 ss->Fft_Window = a; \ 714 s7_symbol_set_value(s7, ss->fft_window_symbol, s7_make_integer(s7, ss->Fft_Window));\ 715 } while (0) 716 #else 717 #define in_set_fft_window_1(a) ss->Fft_Window = a 718 #endif 719 #define DEFAULT_FFT_WINDOW MUS_BLACKMAN2_WINDOW 720 721 #define log_freq_start(ss) ss->Log_Freq_Start 722 #if HAVE_SCHEME 723 #define in_set_log_freq_start(a) \ 724 do {\ 725 ss->Log_Freq_Start = a; \ 726 s7_symbol_set_value(s7, ss->log_freq_start_symbol, s7_make_real(s7, ss->Log_Freq_Start));\ 727 } while (0) 728 #else 729 #define in_set_log_freq_start(a) ss->Log_Freq_Start = a 730 #endif 731 #define DEFAULT_LOG_FREQ_START 32.0 732 733 #define dot_size(ss) ss->Dot_Size 734 #if HAVE_SCHEME 735 #define in_set_dot_size(a) \ 736 do {\ 737 ss->Dot_Size = a; \ 738 s7_symbol_set_value(s7, ss->dot_size_symbol, s7_make_integer(s7, ss->Dot_Size));\ 739 } while (0) 740 #else 741 #define in_set_dot_size(a) ss->Dot_Size = a 742 #endif 743 #define DEFAULT_DOT_SIZE 1 744 #define MIN_DOT_SIZE 0 745 #define MAX_DOT_SIZE 100 746 747 #define grid_density(ss) ss->Grid_Density 748 #if HAVE_SCHEME 749 #define in_set_grid_density(a) \ 750 do {\ 751 ss->Grid_Density = a; \ 752 s7_symbol_set_value(s7, ss->grid_density_symbol, s7_make_real(s7, ss->Grid_Density));\ 753 } while (0) 754 #else 755 #define in_set_grid_density(a) ss->Grid_Density = a 756 #endif 757 #define DEFAULT_GRID_DENSITY 1.0 758 759 #define transform_normalization(ss) ss->Transform_Normalization 760 #if HAVE_SCHEME 761 #define in_set_transform_normalization(a) \ 762 do {\ 763 ss->Transform_Normalization = a; \ 764 s7_symbol_set_value(s7, ss->transform_normalization_symbol, s7_make_integer(s7, ss->Transform_Normalization));\ 765 } while (0) 766 #else 767 #define in_set_transform_normalization(a) ss->Transform_Normalization = a 768 #endif 769 #define DEFAULT_TRANSFORM_NORMALIZATION NORMALIZE_BY_CHANNEL 770 771 #define ask_before_overwrite(ss) ss->Ask_Before_Overwrite 772 #if HAVE_SCHEME 773 #define set_ask_before_overwrite(a) \ 774 do {\ 775 ss->Ask_Before_Overwrite = a; \ 776 s7_symbol_set_value(s7, ss->ask_before_overwrite_symbol, s7_make_boolean(s7, ss->Ask_Before_Overwrite));\ 777 } while (0) 778 #else 779 #define set_ask_before_overwrite(a) ss->Ask_Before_Overwrite = a 780 #endif 781 #define DEFAULT_ASK_BEFORE_OVERWRITE false 782 783 #define with_toolbar(ss) ss->With_Toolbar 784 #if HAVE_SCHEME 785 #define set_with_toolbar(a) \ 786 do {\ 787 ss->With_Toolbar = a; \ 788 s7_symbol_set_value(s7, ss->with_toolbar_symbol, s7_make_boolean(s7, ss->With_Toolbar));\ 789 } while (0) 790 #else 791 #define set_with_toolbar(a) ss->With_Toolbar = a 792 #endif 793 #define DEFAULT_WITH_TOOLBAR false 794 795 #define with_tooltips(ss) ss->With_Tooltips 796 #if HAVE_SCHEME 797 #define in_set_with_tooltips(a) \ 798 do {\ 799 ss->With_Tooltips = a; \ 800 s7_symbol_set_value(s7, ss->with_tooltips_symbol, s7_make_boolean(s7, ss->With_Tooltips));\ 801 } while (0) 802 #else 803 #define in_set_with_tooltips(a) ss->With_Tooltips = a 804 #endif 805 #define DEFAULT_WITH_TOOLTIPS true 806 807 #define with_menu_icons(ss) ss->With_Menu_Icons 808 #if HAVE_SCHEME 809 #define in_set_with_menu_icons(a) \ 810 do {\ 811 ss->With_Menu_Icons = a; \ 812 s7_symbol_set_value(s7, ss->with_menu_icons_symbol, s7_make_boolean(s7, ss->With_Menu_Icons));\ 813 } while (0) 814 #else 815 #define in_set_with_menu_icons(a) ss->With_Menu_Icons = a 816 #endif 817 #define DEFAULT_WITH_MENU_ICONS true 818 819 #define save_as_dialog_src(ss) ss->Save_As_Dialog_Src 820 #if HAVE_SCHEME 821 #define in_set_save_as_dialog_src(a) \ 822 do {\ 823 ss->Save_As_Dialog_Src = a; \ 824 s7_symbol_set_value(s7, ss->save_as_dialog_src_symbol, s7_make_boolean(s7, ss->Save_As_Dialog_Src));\ 825 } while (0) 826 #else 827 #define in_set_save_as_dialog_src(a) ss->Save_As_Dialog_Src = a 828 #endif 829 #define DEFAULT_SAVE_AS_DIALOG_SRC false 830 831 #define save_as_dialog_auto_comment(ss) ss->Save_As_Dialog_Auto_Comment 832 #if HAVE_SCHEME 833 #define in_set_save_as_dialog_auto_comment(a) \ 834 do {\ 835 ss->Save_As_Dialog_Auto_Comment = a; \ 836 s7_symbol_set_value(s7, ss->save_as_dialog_auto_comment_symbol, s7_make_boolean(s7, ss->Save_As_Dialog_Auto_Comment));\ 837 } while (0) 838 #else 839 #define in_set_save_as_dialog_auto_comment(a) ss->Save_As_Dialog_Auto_Comment = a 840 #endif 841 #define DEFAULT_SAVE_AS_DIALOG_AUTO_COMMENT false 842 843 #define remember_sound_state(ss) ss->Remember_Sound_State 844 #if HAVE_SCHEME 845 #define set_remember_sound_state(a) \ 846 do {\ 847 ss->Remember_Sound_State = a; \ 848 s7_symbol_set_value(s7, ss->remember_sound_state_symbol, s7_make_boolean(s7, ss->Remember_Sound_State));\ 849 } while (0) 850 #else 851 #define set_remember_sound_state(a) ss->Remember_Sound_State = a 852 #endif 853 #define DEFAULT_REMEMBER_SOUND_STATE false 854 855 #define ask_about_unsaved_edits(ss) ss->Ask_About_Unsaved_Edits 856 #if HAVE_SCHEME 857 #define set_ask_about_unsaved_edits(a) \ 858 do {\ 859 ss->Ask_About_Unsaved_Edits = a; \ 860 s7_symbol_set_value(s7, ss->ask_about_unsaved_edits_symbol, s7_make_boolean(s7, ss->Ask_About_Unsaved_Edits));\ 861 } while (0) 862 #else 863 #define set_ask_about_unsaved_edits(a) ss->Ask_About_Unsaved_Edits = a 864 #endif 865 #define DEFAULT_ASK_ABOUT_UNSAVED_EDITS false 866 867 #define show_full_duration(ss) ss->Show_Full_Duration 868 #if HAVE_SCHEME 869 #define set_show_full_duration(a) \ 870 do {\ 871 ss->Show_Full_Duration = a; \ 872 s7_symbol_set_value(s7, ss->show_full_duration_symbol, s7_make_boolean(s7, ss->Show_Full_Duration));\ 873 } while (0) 874 #else 875 #define set_show_full_duration(a) ss->Show_Full_Duration = a 876 #endif 877 #define DEFAULT_SHOW_FULL_DURATION false 878 879 #define initial_beg(ss) ss->Initial_Beg 880 #if HAVE_SCHEME 881 #define set_initial_beg(a) \ 882 do {\ 883 ss->Initial_Beg = a; \ 884 s7_symbol_set_value(s7, ss->initial_beg_symbol, s7_make_real(s7, ss->Initial_Beg));\ 885 } while (0) 886 #else 887 #define set_initial_beg(a) ss->Initial_Beg = a 888 #endif 889 #define DEFAULT_INITIAL_BEG 0.0 890 891 #define initial_dur(ss) ss->Initial_Dur 892 #if HAVE_SCHEME 893 #define set_initial_dur(a) \ 894 do {\ 895 ss->Initial_Dur = a; \ 896 s7_symbol_set_value(s7, ss->initial_dur_symbol, s7_make_real(s7, ss->Initial_Dur));\ 897 } while (0) 898 #else 899 #define set_initial_dur(a) ss->Initial_Dur = a 900 #endif 901 #define DEFAULT_INITIAL_DUR 0.1 902 903 #define show_full_range(ss) ss->Show_Full_Range 904 #if HAVE_SCHEME 905 #define set_show_full_range(a) \ 906 do {\ 907 ss->Show_Full_Range = a; \ 908 s7_symbol_set_value(s7, ss->show_full_range_symbol, s7_make_boolean(s7, ss->Show_Full_Range));\ 909 } while (0) 910 #else 911 #define set_show_full_range(a) ss->Show_Full_Range = a 912 #endif 913 #define DEFAULT_SHOW_FULL_RANGE false 914 915 #define spectrum_end(ss) ss->Spectrum_End 916 #if HAVE_SCHEME 917 #define in_set_spectrum_end(a) \ 918 do {\ 919 ss->Spectrum_End = a; \ 920 s7_symbol_set_value(s7, ss->spectrum_end_symbol, s7_make_real(s7, ss->Spectrum_End));\ 921 } while (0) 922 #else 923 #define in_set_spectrum_end(a) ss->Spectrum_End = a 924 #endif 925 #define DEFAULT_SPECTRUM_END 1.0 926 927 #define spectrum_start(ss) ss->Spectrum_Start 928 #if HAVE_SCHEME 929 #define in_set_spectrum_start(a) \ 930 do {\ 931 ss->Spectrum_Start = a; \ 932 s7_symbol_set_value(s7, ss->spectrum_start_symbol, s7_make_real(s7, ss->Spectrum_Start));\ 933 } while (0) 934 #else 935 #define in_set_spectrum_start(a) ss->Spectrum_Start = a 936 #endif 937 #define DEFAULT_SPECTRUM_START 0.0 938 939 #define spectro_x_angle(ss) ss->Spectro_X_Angle 940 #if HAVE_SCHEME 941 #define in_set_spectro_x_angle(a) \ 942 do {\ 943 ss->Spectro_X_Angle = a; \ 944 s7_symbol_set_value(s7, ss->spectro_x_angle_symbol, s7_make_real(s7, ss->Spectro_X_Angle));\ 945 } while (0) 946 #else 947 #define in_set_spectro_x_angle(a) ss->Spectro_X_Angle = a 948 #endif 949 #if HAVE_GL 950 #define DEFAULT_SPECTRO_X_ANGLE 300.0 951 #else 952 #define DEFAULT_SPECTRO_X_ANGLE 90.0 953 #endif 954 955 #define spectro_y_angle(ss) ss->Spectro_Y_Angle 956 #if HAVE_SCHEME 957 #define in_set_spectro_y_angle(a) \ 958 do {\ 959 ss->Spectro_Y_Angle = a; \ 960 s7_symbol_set_value(s7, ss->spectro_y_angle_symbol, s7_make_real(s7, ss->Spectro_Y_Angle));\ 961 } while (0) 962 #else 963 #define in_set_spectro_y_angle(a) ss->Spectro_Y_Angle = a 964 #endif 965 #if HAVE_GL 966 #define DEFAULT_SPECTRO_Y_ANGLE 320.0 967 #else 968 #define DEFAULT_SPECTRO_Y_ANGLE 0.0 969 #endif 970 971 #define spectro_z_angle(ss) ss->Spectro_Z_Angle 972 #if HAVE_SCHEME 973 #define in_set_spectro_z_angle(a) \ 974 do {\ 975 ss->Spectro_Z_Angle = a; \ 976 s7_symbol_set_value(s7, ss->spectro_z_angle_symbol, s7_make_real(s7, ss->Spectro_Z_Angle));\ 977 } while (0) 978 #else 979 #define in_set_spectro_z_angle(a) ss->Spectro_Z_Angle = a 980 #endif 981 #if HAVE_GL 982 #define DEFAULT_SPECTRO_Z_ANGLE 0.0 983 #else 984 #define DEFAULT_SPECTRO_Z_ANGLE 358.0 985 #endif 986 987 #define spectro_x_scale(ss) ss->Spectro_X_Scale 988 #if HAVE_SCHEME 989 #define in_set_spectro_x_scale(a) \ 990 do {\ 991 ss->Spectro_X_Scale = a; \ 992 s7_symbol_set_value(s7, ss->spectro_x_scale_symbol, s7_make_real(s7, ss->Spectro_X_Scale));\ 993 } while (0) 994 #else 995 #define in_set_spectro_x_scale(a) ss->Spectro_X_Scale = a 996 #endif 997 #if HAVE_GL 998 #define DEFAULT_SPECTRO_X_SCALE 1.5 999 #define SPECTRO_X_SCALE_MAX 4.0 1000 #else 1001 #define DEFAULT_SPECTRO_X_SCALE 1.0 1002 #define SPECTRO_X_SCALE_MAX 2.0 1003 #endif 1004 1005 #define spectro_y_scale(ss) ss->Spectro_Y_Scale 1006 #if HAVE_SCHEME 1007 #define in_set_spectro_y_scale(a) \ 1008 do {\ 1009 ss->Spectro_Y_Scale = a; \ 1010 s7_symbol_set_value(s7, ss->spectro_y_scale_symbol, s7_make_real(s7, ss->Spectro_Y_Scale));\ 1011 } while (0) 1012 #else 1013 #define in_set_spectro_y_scale(a) ss->Spectro_Y_Scale = a 1014 #endif 1015 #if HAVE_GL 1016 #define DEFAULT_SPECTRO_Y_SCALE 1.0 1017 #define SPECTRO_Y_SCALE_MAX 4.0 1018 #else 1019 #define DEFAULT_SPECTRO_Y_SCALE 1.0 1020 #define SPECTRO_Y_SCALE_MAX 2.0 1021 #endif 1022 1023 #define spectro_z_scale(ss) ss->Spectro_Z_Scale 1024 #if HAVE_SCHEME 1025 #define in_set_spectro_z_scale(a) \ 1026 do {\ 1027 ss->Spectro_Z_Scale = a; \ 1028 s7_symbol_set_value(s7, ss->spectro_z_scale_symbol, s7_make_real(s7, ss->Spectro_Z_Scale));\ 1029 } while (0) 1030 #else 1031 #define in_set_spectro_z_scale(a) ss->Spectro_Z_Scale = a 1032 #endif 1033 #if HAVE_GL 1034 #define DEFAULT_SPECTRO_Z_SCALE 1.0 1035 #define SPECTRO_Z_SCALE_MAX 4.0 1036 #else 1037 #define DEFAULT_SPECTRO_Z_SCALE 0.1 1038 #define SPECTRO_Z_SCALE_MAX 1.0 1039 #endif 1040 1041 #define spectro_hop(ss) ss->Spectro_Hop 1042 #if HAVE_SCHEME 1043 #define in_set_spectro_hop(a) \ 1044 do {\ 1045 ss->Spectro_Hop = a; \ 1046 s7_symbol_set_value(s7, ss->spectro_hop_symbol, s7_make_integer(s7, ss->Spectro_Hop));\ 1047 } while (0) 1048 #else 1049 #define in_set_spectro_hop(a) ss->Spectro_Hop = a 1050 #endif 1051 #define DEFAULT_SPECTRO_HOP 4 1052 1053 #define color_map(ss) ss->Color_Map 1054 #if HAVE_SCHEME 1055 #define in_set_color_map(a) \ 1056 do {\ 1057 ss->Color_Map = a; \ 1058 s7_symbol_set_value(s7, ss->color_map_symbol, s7_make_integer(s7, ss->Color_Map));\ 1059 } while (0) 1060 #else 1061 #define in_set_color_map(a) ss->Color_Map = a 1062 #endif 1063 #define DEFAULT_COLOR_MAP 2 1064 1065 #define color_map_size(ss) ss->Color_Map_Size 1066 #if HAVE_SCHEME 1067 #define set_color_map_size(a) \ 1068 do {\ 1069 ss->Color_Map_Size = a; \ 1070 s7_symbol_set_value(s7, ss->color_map_size_symbol, s7_make_integer(s7, ss->Color_Map_Size));\ 1071 } while (0) 1072 #else 1073 #define set_color_map_size(a) ss->Color_Map_Size = a 1074 #endif 1075 #define DEFAULT_COLOR_MAP_SIZE 512 1076 1077 #define graph_style(ss) ss->Graph_Style 1078 #if HAVE_SCHEME 1079 #define in_set_graph_style(a) \ 1080 do {\ 1081 ss->Graph_Style = a; \ 1082 s7_symbol_set_value(s7, ss->graph_style_symbol, s7_make_integer(s7, ss->Graph_Style));\ 1083 } while (0) 1084 #else 1085 #define in_set_graph_style(a) ss->Graph_Style = a 1086 #endif 1087 #define DEFAULT_GRAPH_STYLE GRAPH_LINES 1088 1089 #define region_graph_style(ss) ss->Region_Graph_Style 1090 #if HAVE_SCHEME 1091 #define set_region_graph_style(a) \ 1092 do {\ 1093 ss->Region_Graph_Style = a; \ 1094 s7_symbol_set_value(s7, ss->region_graph_style_symbol, s7_make_integer(s7, ss->Region_Graph_Style));\ 1095 } while (0) 1096 #else 1097 #define set_region_graph_style(a) ss->Region_Graph_Style = a 1098 #endif 1099 1100 #define sinc_width(ss) ss->Sinc_Width 1101 #if HAVE_SCHEME 1102 #define set_sinc_width(a) \ 1103 do {\ 1104 ss->Sinc_Width = a; \ 1105 s7_symbol_set_value(s7, ss->sinc_width_symbol, s7_make_integer(s7, ss->Sinc_Width));\ 1106 } while (0) 1107 #else 1108 #define set_sinc_width(a) ss->Sinc_Width = a 1109 #endif 1110 #define DEFAULT_SINC_WIDTH 10 1111 1112 #define with_verbose_cursor(ss) ss->With_Verbose_Cursor 1113 #if HAVE_SCHEME 1114 #define in_set_with_verbose_cursor(a) \ 1115 do {\ 1116 ss->With_Verbose_Cursor = a; \ 1117 s7_symbol_set_value(s7, ss->with_verbose_cursor_symbol, s7_make_boolean(s7, ss->With_Verbose_Cursor));\ 1118 } while (0) 1119 #else 1120 #define in_set_with_verbose_cursor(a) ss->With_Verbose_Cursor = a 1121 #endif 1122 #define DEFAULT_WITH_VERBOSE_CURSOR false 1123 1124 #define with_inset_graph(ss) ss->With_Inset_Graph 1125 #if HAVE_SCHEME 1126 #define set_with_inset_graph(a) \ 1127 do {\ 1128 ss->With_Inset_Graph = a; \ 1129 s7_symbol_set_value(s7, ss->with_inset_graph_symbol, s7_make_boolean(s7, ss->With_Inset_Graph));\ 1130 } while (0) 1131 #else 1132 #define set_with_inset_graph(a) ss->With_Inset_Graph = a 1133 #endif 1134 #define DEFAULT_WITH_INSET_GRAPH false 1135 1136 #define with_interrupts(ss) ss->With_Interrupts 1137 #if HAVE_SCHEME 1138 #define set_with_interrupts(a) \ 1139 do {\ 1140 ss->With_Interrupts = a; \ 1141 s7_symbol_set_value(s7, ss->with_interrupts_symbol, s7_make_boolean(s7, ss->With_Interrupts));\ 1142 } while (0) 1143 #else 1144 #define set_with_interrupts(a) ss->With_Interrupts = a 1145 #endif 1146 #define DEFAULT_WITH_INTERRUPTS true 1147 1148 #define with_smpte_label(ss) ss->With_Smpte_Label 1149 #if HAVE_SCHEME 1150 #define set_with_smpte_label(a) \ 1151 do {\ 1152 ss->With_Smpte_Label = a; \ 1153 s7_symbol_set_value(s7, ss->with_smpte_label_symbol, s7_make_boolean(s7, ss->With_Smpte_Label));\ 1154 } while (0) 1155 #else 1156 #define set_with_smpte_label(a) ss->With_Smpte_Label = a 1157 #endif 1158 #define DEFAULT_WITH_SMPTE_LABEL false 1159 1160 #define with_pointer_focus(ss) ss->With_Pointer_Focus 1161 #if HAVE_SCHEME 1162 #define set_with_pointer_focus(a) \ 1163 do {\ 1164 ss->With_Pointer_Focus = a; \ 1165 s7_symbol_set_value(s7, ss->with_pointer_focus_symbol, s7_make_boolean(s7, ss->With_Pointer_Focus));\ 1166 } while (0) 1167 #else 1168 #define set_with_pointer_focus(a) ss->With_Pointer_Focus = a 1169 #endif 1170 #define DEFAULT_WITH_POINTER_FOCUS false 1171 1172 #define selection_creates_region(ss) ss->Selection_Creates_Region 1173 #if HAVE_SCHEME 1174 #define set_selection_creates_region(a) \ 1175 do {\ 1176 ss->Selection_Creates_Region = a; \ 1177 s7_symbol_set_value(s7, ss->selection_creates_region_symbol, s7_make_boolean(s7, ss->Selection_Creates_Region));\ 1178 } while (0) 1179 #else 1180 #define set_selection_creates_region(a) ss->Selection_Creates_Region = a 1181 #endif 1182 #define DEFAULT_SELECTION_CREATES_REGION true 1183 1184 #define zoom_focus_style(ss) ss->Zoom_Focus_Style 1185 #if HAVE_SCHEME 1186 #define set_zoom_focus_style(a) \ 1187 do {\ 1188 ss->Zoom_Focus_Style = a; \ 1189 s7_symbol_set_value(s7, ss->zoom_focus_style_symbol, s7_make_integer(s7, ss->Zoom_Focus_Style));\ 1190 } while (0) 1191 #else 1192 #define set_zoom_focus_style(a) ss->Zoom_Focus_Style = a 1193 #endif 1194 #define DEFAULT_ZOOM_FOCUS_STYLE ZOOM_FOCUS_ACTIVE 1195 1196 #define eps_file(ss) ss->Eps_File 1197 #if HAVE_SCHEME 1198 #define set_eps_file(a) \ 1199 do {\ 1200 ss->Eps_File = a; \ 1201 s7_symbol_set_value(s7, ss->eps_file_symbol, s7_make_string(s7, ss->Eps_File));\ 1202 } while (0) 1203 #else 1204 #define set_eps_file(a) ss->Eps_File = a 1205 #endif 1206 #define DEFAULT_EPS_FILE "snd.eps" 1207 1208 #define eps_left_margin(ss) ss->Eps_Left_Margin 1209 #if HAVE_SCHEME 1210 #define set_eps_left_margin(a) \ 1211 do {\ 1212 ss->Eps_Left_Margin = a; \ 1213 s7_symbol_set_value(s7, ss->eps_left_margin_symbol, s7_make_real(s7, ss->Eps_Left_Margin));\ 1214 } while (0) 1215 #else 1216 #define set_eps_left_margin(a) ss->Eps_Left_Margin = a 1217 #endif 1218 #define DEFAULT_EPS_LEFT_MARGIN 0.0 1219 1220 #define eps_bottom_margin(ss) ss->Eps_Bottom_Margin 1221 #if HAVE_SCHEME 1222 #define set_eps_bottom_margin(a) \ 1223 do {\ 1224 ss->Eps_Bottom_Margin = a; \ 1225 s7_symbol_set_value(s7, ss->eps_bottom_margin_symbol, s7_make_real(s7, ss->Eps_Bottom_Margin));\ 1226 } while (0) 1227 #else 1228 #define set_eps_bottom_margin(a) ss->Eps_Bottom_Margin = a 1229 #endif 1230 #define DEFAULT_EPS_BOTTOM_MARGIN 0.0 1231 1232 #define eps_size(ss) ss->Eps_Size 1233 #if HAVE_SCHEME 1234 #define set_eps_size(a) \ 1235 do {\ 1236 ss->Eps_Size = a; \ 1237 s7_symbol_set_value(s7, ss->eps_size_symbol, s7_make_real(s7, ss->Eps_Size));\ 1238 } while (0) 1239 #else 1240 #define set_eps_size(a) ss->Eps_Size = a 1241 #endif 1242 #define DEFAULT_EPS_SIZE 1.0 1243 1244 #define tiny_font(ss) ss->Tiny_Font 1245 #if HAVE_SCHEME 1246 #define in_set_tiny_font(a) \ 1247 do {\ 1248 ss->Tiny_Font = a; \ 1249 s7_symbol_set_value(s7, ss->tiny_font_symbol, s7_make_string(s7, ss->Tiny_Font));\ 1250 } while (0) 1251 #else 1252 #define in_set_tiny_font(a) ss->Tiny_Font = a 1253 #endif 1254 1255 #define peaks_font(ss) ss->Peaks_Font 1256 #if HAVE_SCHEME 1257 #define in_set_peaks_font(a) \ 1258 do {\ 1259 ss->Peaks_Font = a; \ 1260 s7_symbol_set_value(s7, ss->peaks_font_symbol, s7_make_string(s7, ss->Peaks_Font));\ 1261 } while (0) 1262 #else 1263 #define in_set_peaks_font(a) ss->Peaks_Font = a 1264 #endif 1265 1266 #define bold_peaks_font(ss) ss->Bold_Peaks_Font 1267 #if HAVE_SCHEME 1268 #define in_set_bold_peaks_font(a) \ 1269 do {\ 1270 ss->Bold_Peaks_Font = a; \ 1271 s7_symbol_set_value(s7, ss->bold_peaks_font_symbol, s7_make_string(s7, ss->Bold_Peaks_Font));\ 1272 } while (0) 1273 #else 1274 #define in_set_bold_peaks_font(a) ss->Bold_Peaks_Font = a 1275 #endif 1276 1277 #define axis_label_font(ss) ss->Axis_Label_Font 1278 #if HAVE_SCHEME 1279 #define in_set_axis_label_font(a) \ 1280 do {\ 1281 ss->Axis_Label_Font = a; \ 1282 s7_symbol_set_value(s7, ss->axis_label_font_symbol, s7_make_string(s7, ss->Axis_Label_Font));\ 1283 } while (0) 1284 #else 1285 #define in_set_axis_label_font(a) ss->Axis_Label_Font = a 1286 #endif 1287 1288 #define axis_numbers_font(ss) ss->Axis_Numbers_Font 1289 #if HAVE_SCHEME 1290 #define in_set_axis_numbers_font(a) \ 1291 do {\ 1292 ss->Axis_Numbers_Font = a; \ 1293 s7_symbol_set_value(s7, ss->axis_numbers_font_symbol, s7_make_string(s7, ss->Axis_Numbers_Font));\ 1294 } while (0) 1295 #else 1296 #define in_set_axis_numbers_font(a) ss->Axis_Numbers_Font = a 1297 #endif 1298 1299 #define listener_font(ss) ss->Listener_Font 1300 #if HAVE_SCHEME 1301 #define in_set_listener_font(a) \ 1302 do {\ 1303 ss->Listener_Font = a; \ 1304 s7_symbol_set_value(s7, ss->listener_font_symbol, s7_make_string(s7, ss->Listener_Font));\ 1305 } while (0) 1306 #else 1307 #define in_set_listener_font(a) ss->Listener_Font = a 1308 #endif 1309 1310 #define save_state_file(ss) ss->Save_State_File 1311 #if HAVE_SCHEME 1312 #define in_set_save_state_file(a) \ 1313 do {\ 1314 ss->Save_State_File = a; \ 1315 s7_symbol_set_value(s7, ss->save_state_file_symbol, s7_make_string(s7, ss->Save_State_File));\ 1316 } while (0) 1317 #else 1318 #define in_set_save_state_file(a) ss->Save_State_File = a 1319 #endif 1320 #define DEFAULT_SAVE_STATE_FILE "saved-snd." Xen_file_extension 1321 1322 #define temp_dir(ss) ss->Temp_Dir 1323 #if HAVE_SCHEME 1324 #define set_temp_dir(a) \ 1325 do {\ 1326 ss->Temp_Dir = a; \ 1327 s7_symbol_set_value(s7, ss->temp_dir_symbol, s7_make_string(s7, ss->Temp_Dir));\ 1328 } while (0) 1329 #else 1330 #define set_temp_dir(a) ss->Temp_Dir = a 1331 #endif 1332 #ifndef MUS_DEFAULT_TEMP_DIR 1333 #define MUS_DEFAULT_TEMP_DIR NULL 1334 #endif 1335 1336 #define save_dir(ss) ss->Save_Dir 1337 #if HAVE_SCHEME 1338 #define set_save_dir(a) \ 1339 do {\ 1340 ss->Save_Dir = a; \ 1341 s7_symbol_set_value(s7, ss->save_dir_symbol, s7_make_string(s7, ss->Save_Dir));\ 1342 } while (0) 1343 #else 1344 #define set_save_dir(a) ss->Save_Dir = a 1345 #endif 1346 #ifndef MUS_DEFAULT_SAVE_DIR 1347 #define MUS_DEFAULT_SAVE_DIR NULL 1348 #endif 1349 1350 #define ladspa_dir(ss) ss->Ladspa_Dir 1351 #if HAVE_SCHEME 1352 #define set_ladspa_dir(a) \ 1353 do {\ 1354 ss->Ladspa_Dir = a; \ 1355 s7_symbol_set_value(s7, ss->ladspa_dir_symbol, s7_make_string(s7, ss->Ladspa_Dir));\ 1356 } while (0) 1357 #else 1358 #define set_ladspa_dir(a) ss->Ladspa_Dir = a 1359 #endif 1360 #ifndef DEFAULT_LADSPA_DIR 1361 #define DEFAULT_LADSPA_DIR NULL 1362 #endif 1363 1364 #define peak_env_dir(ss) ss->Peak_Env_Dir 1365 #if HAVE_SCHEME 1366 #define set_peak_env_dir(a) \ 1367 do {\ 1368 ss->Peak_Env_Dir = a; \ 1369 s7_symbol_set_value(s7, ss->peak_env_dir_symbol, s7_make_string(s7, ss->Peak_Env_Dir));\ 1370 } while (0) 1371 #else 1372 #define set_peak_env_dir(a) ss->Peak_Env_Dir = a 1373 #endif 1374 #ifndef DEFAULT_PEAK_ENV_DIR 1375 #define DEFAULT_PEAK_ENV_DIR NULL 1376 #endif 1377 1378 #define open_file_dialog_directory(ss) ss->Open_File_Dialog_Directory 1379 #if HAVE_SCHEME 1380 #define set_open_file_dialog_directory(a) \ 1381 do {\ 1382 ss->Open_File_Dialog_Directory = a; \ 1383 s7_symbol_set_value(s7, ss->open_file_dialog_directory_symbol, s7_make_string(s7, ss->Open_File_Dialog_Directory));\ 1384 } while (0) 1385 #else 1386 #define set_open_file_dialog_directory(a) ss->Open_File_Dialog_Directory = a 1387 #endif 1388 1389 #define wavelet_type(ss) ss->Wavelet_Type 1390 #if HAVE_SCHEME 1391 #define in_set_wavelet_type(a) \ 1392 do {\ 1393 ss->Wavelet_Type = a; \ 1394 s7_symbol_set_value(s7, ss->wavelet_type_symbol, s7_make_integer(s7, ss->Wavelet_Type));\ 1395 } while (0) 1396 #else 1397 #define in_set_wavelet_type(a) ss->Wavelet_Type = a 1398 #endif 1399 #define DEFAULT_WAVELET_TYPE 0 1400 1401 #define transform_type(ss) ss->Transform_Type 1402 #if HAVE_SCHEME 1403 #define in_set_transform_type(a) \ 1404 do {\ 1405 ss->Transform_Type = a; \ 1406 s7_symbol_set_value(s7, ss->transform_type_symbol, C_int_to_Xen_transform(ss->Transform_Type)); \ 1407 } while (0) 1408 #else 1409 #define in_set_transform_type(a) ss->Transform_Type = a 1410 #endif 1411 #define DEFAULT_TRANSFORM_TYPE FOURIER 1412 1413 #define show_selection_transform(ss) ss->Show_Selection_Transform 1414 #if HAVE_SCHEME 1415 #define in_set_show_selection_transform(a) \ 1416 do {\ 1417 ss->Show_Selection_Transform = a; \ 1418 s7_symbol_set_value(s7, ss->show_selection_transform_symbol, s7_make_boolean(s7, ss->Show_Selection_Transform));\ 1419 } while (0) 1420 #else 1421 #define in_set_show_selection_transform(a) ss->Show_Selection_Transform = a 1422 #endif 1423 #define DEFAULT_SHOW_SELECTION_TRANSFORM false 1424 1425 #define with_mix_tags(ss) ss->With_Mix_Tags 1426 #if HAVE_SCHEME 1427 #define set_with_mix_tags(a) \ 1428 do {\ 1429 ss->With_Mix_Tags = a; \ 1430 s7_symbol_set_value(s7, ss->with_mix_tags_symbol, s7_make_boolean(s7, ss->With_Mix_Tags));\ 1431 } while (0) 1432 #else 1433 #define set_with_mix_tags(a) ss->With_Mix_Tags = a 1434 #endif 1435 #if USE_NO_GUI 1436 #define DEFAULT_WITH_MIX_TAGS false 1437 #else 1438 #define DEFAULT_WITH_MIX_TAGS true 1439 #endif 1440 1441 #define with_relative_panes(ss) ss->With_Relative_Panes 1442 #if HAVE_SCHEME 1443 #define set_with_relative_panes(a) \ 1444 do {\ 1445 ss->With_Relative_Panes = a; \ 1446 s7_symbol_set_value(s7, ss->with_relative_panes_symbol, s7_make_boolean(s7, ss->With_Relative_Panes));\ 1447 } while (0) 1448 #else 1449 #define set_with_relative_panes(a) ss->With_Relative_Panes = a 1450 #endif 1451 #define DEFAULT_WITH_RELATIVE_PANES true 1452 1453 #define with_gl(ss) ss->With_GL 1454 #if HAVE_SCHEME 1455 #define in_set_with_gl(a) \ 1456 do {\ 1457 ss->With_GL = a; \ 1458 s7_symbol_set_value(s7, ss->with_gl_symbol, s7_make_boolean(s7, ss->With_GL));\ 1459 } while (0) 1460 #else 1461 #define in_set_with_gl(a) ss->With_GL = a 1462 #endif 1463 #if HAVE_GL 1464 #define DEFAULT_WITH_GL true 1465 #else 1466 #define DEFAULT_WITH_GL false 1467 #endif 1468 1469 #define with_background_processes(ss) ss->With_Background_Processes 1470 #if HAVE_SCHEME 1471 #define set_with_background_processes(a) \ 1472 do {\ 1473 ss->With_Background_Processes = a; \ 1474 s7_symbol_set_value(s7, ss->with_background_processes_symbol, s7_make_boolean(s7, ss->With_Background_Processes));\ 1475 } while (0) 1476 #else 1477 #define set_with_background_processes(a) ss->With_Background_Processes = a 1478 #endif 1479 #define DEFAULT_WITH_BACKGROUND_PROCESSES true 1480 1481 #define with_file_monitor(ss) ss->With_File_Monitor 1482 #if HAVE_SCHEME 1483 #define set_with_file_monitor(a) \ 1484 do {\ 1485 ss->With_File_Monitor = a; \ 1486 s7_symbol_set_value(s7, ss->with_file_monitor_symbol, s7_make_boolean(s7, ss->With_File_Monitor));\ 1487 } while (0) 1488 #else 1489 #define set_with_file_monitor(a) ss->With_File_Monitor = a 1490 #endif 1491 #define DEFAULT_WITH_FILE_MONITOR true 1492 1493 #define wavo_hop(ss) ss->Wavo_Hop 1494 #if HAVE_SCHEME 1495 #define in_set_wavo_hop(a) \ 1496 do {\ 1497 ss->Wavo_Hop = a; \ 1498 s7_symbol_set_value(s7, ss->wavo_hop_symbol, s7_make_integer(s7, ss->Wavo_Hop));\ 1499 } while (0) 1500 #else 1501 #define in_set_wavo_hop(a) ss->Wavo_Hop = a 1502 #endif 1503 #define DEFAULT_WAVO_HOP 3 1504 1505 #define wavo_trace(ss) ss->Wavo_Trace 1506 #if HAVE_SCHEME 1507 #define in_set_wavo_trace(a) \ 1508 do {\ 1509 ss->Wavo_Trace = a; \ 1510 s7_symbol_set_value(s7, ss->wavo_trace_symbol, s7_make_integer(s7, ss->Wavo_Trace));\ 1511 } while (0) 1512 #else 1513 #define in_set_wavo_trace(a) ss->Wavo_Trace = a 1514 #endif 1515 #define DEFAULT_WAVO_TRACE 64 1516 1517 #define x_axis_style(ss) ss->X_Axis_Style 1518 #if HAVE_SCHEME 1519 #define in_set_x_axis_style(a) \ 1520 do {\ 1521 ss->X_Axis_Style = a; \ 1522 s7_symbol_set_value(s7, ss->x_axis_style_symbol, s7_make_integer(s7, ss->X_Axis_Style));\ 1523 } while (0) 1524 #else 1525 #define in_set_x_axis_style(a) ss->X_Axis_Style = a 1526 #endif 1527 #define DEFAULT_X_AXIS_STYLE X_AXIS_IN_SECONDS 1528 1529 #define beats_per_minute(ss) ss->Beats_Per_Minute 1530 #if HAVE_SCHEME 1531 #define in_set_beats_per_minute(a) \ 1532 do {\ 1533 ss->Beats_Per_Minute = a; \ 1534 s7_symbol_set_value(s7, ss->beats_per_minute_symbol, s7_make_real(s7, ss->Beats_Per_Minute));\ 1535 } while (0) 1536 #else 1537 #define in_set_beats_per_minute(a) ss->Beats_Per_Minute = a 1538 #endif 1539 #define DEFAULT_BEATS_PER_MINUTE 60.0 1540 1541 #define beats_per_measure(ss) ss->Beats_Per_Measure 1542 #if HAVE_SCHEME 1543 #define in_set_beats_per_measure(a) \ 1544 do {\ 1545 ss->Beats_Per_Measure = a; \ 1546 s7_symbol_set_value(s7, ss->beats_per_measure_symbol, s7_make_integer(s7, ss->Beats_Per_Measure));\ 1547 } while (0) 1548 #else 1549 #define in_set_beats_per_measure(a) ss->Beats_Per_Measure = a 1550 #endif 1551 #define DEFAULT_BEATS_PER_MEASURE 4 1552 1553 #define zero_pad(ss) ss->Zero_Pad 1554 #if HAVE_SCHEME 1555 #define in_set_zero_pad(a) \ 1556 do {\ 1557 ss->Zero_Pad = a; \ 1558 s7_symbol_set_value(s7, ss->zero_pad_symbol, s7_make_integer(s7, ss->Zero_Pad));\ 1559 } while (0) 1560 #else 1561 #define in_set_zero_pad(a) ss->Zero_Pad = a 1562 #endif 1563 #define DEFAULT_ZERO_PAD 0 1564 #define MAX_ZERO_PAD 1000 1565 1566 #define show_transform_peaks(ss) ss->Show_Transform_Peaks 1567 #if HAVE_SCHEME 1568 #define in_set_show_transform_peaks(a) \ 1569 do {\ 1570 ss->Show_Transform_Peaks = a; \ 1571 s7_symbol_set_value(s7, ss->show_transform_peaks_symbol, s7_make_boolean(s7, ss->Show_Transform_Peaks));\ 1572 } while (0) 1573 #else 1574 #define in_set_show_transform_peaks(a) ss->Show_Transform_Peaks = a 1575 #endif 1576 #define DEFAULT_SHOW_TRANSFORM_PEAKS false 1577 1578 #define show_indices(ss) ss->Show_Indices 1579 #if HAVE_SCHEME 1580 #define set_show_indices(a) \ 1581 do {\ 1582 ss->Show_Indices = a; \ 1583 s7_symbol_set_value(s7, ss->show_indices_symbol, s7_make_boolean(s7, ss->Show_Indices));\ 1584 } while (0) 1585 #else 1586 #define set_show_indices(a) ss->Show_Indices = a 1587 #endif 1588 #define DEFAULT_SHOW_INDICES false 1589 1590 #define show_y_zero(ss) ss->Show_Y_Zero 1591 #if HAVE_SCHEME 1592 #define in_set_show_y_zero(a) \ 1593 do {\ 1594 ss->Show_Y_Zero = a; \ 1595 s7_symbol_set_value(s7, ss->show_y_zero_symbol, s7_make_boolean(s7, ss->Show_Y_Zero));\ 1596 } while (0) 1597 #else 1598 #define in_set_show_y_zero(a) ss->Show_Y_Zero = a 1599 #endif 1600 #define DEFAULT_SHOW_Y_ZERO false 1601 1602 #define show_grid(ss) ss->Show_Grid 1603 #if HAVE_SCHEME 1604 #define in_set_show_grid(a) \ 1605 do {\ 1606 ss->Show_Grid = a; \ 1607 s7_symbol_set_value(s7, ss->show_grid_symbol, s7_make_boolean(s7, ss->Show_Grid));\ 1608 } while (0) 1609 #else 1610 #define in_set_show_grid(a) ss->Show_Grid = a 1611 #endif 1612 #define DEFAULT_SHOW_GRID NO_GRID 1613 1614 #define show_sonogram_cursor(ss) ss->Show_Sonogram_Cursor 1615 #if HAVE_SCHEME 1616 #define in_set_show_sonogram_cursor(a) \ 1617 do {\ 1618 ss->Show_Sonogram_Cursor = a; \ 1619 s7_symbol_set_value(s7, ss->show_sonogram_cursor_symbol, s7_make_boolean(s7, ss->Show_Sonogram_Cursor));\ 1620 } while (0) 1621 #else 1622 #define in_set_show_sonogram_cursor(a) ss->Show_Sonogram_Cursor = a 1623 #endif 1624 #define DEFAULT_SHOW_SONOGRAM_CURSOR false 1625 1626 #define show_axes(ss) ss->Show_Axes 1627 #if HAVE_SCHEME 1628 #define in_set_show_axes(a) \ 1629 do {\ 1630 ss->Show_Axes = a; \ 1631 s7_symbol_set_value(s7, ss->show_axes_symbol, s7_make_integer(s7, ss->Show_Axes));\ 1632 } while (0) 1633 #else 1634 #define in_set_show_axes(a) ss->Show_Axes = a 1635 #endif 1636 #define DEFAULT_SHOW_AXES SHOW_ALL_AXES 1637 1638 #define show_mix_waveforms(ss) ss->Show_Mix_Waveforms 1639 #if HAVE_SCHEME 1640 #define in_set_show_mix_waveforms(a) \ 1641 do {\ 1642 ss->Show_Mix_Waveforms = a; \ 1643 s7_symbol_set_value(s7, ss->show_mix_waveforms_symbol, s7_make_boolean(s7, ss->Show_Mix_Waveforms));\ 1644 } while (0) 1645 #else 1646 #define in_set_show_mix_waveforms(a) ss->Show_Mix_Waveforms = a 1647 #endif 1648 #define DEFAULT_SHOW_MIX_WAVEFORMS true 1649 1650 #define mix_waveform_height(ss) ss->Mix_Waveform_Height 1651 #if HAVE_SCHEME 1652 #define in_set_mix_waveform_height(a) \ 1653 do {\ 1654 ss->Mix_Waveform_Height = a; \ 1655 s7_symbol_set_value(s7, ss->mix_waveform_height_symbol, s7_make_integer(s7, ss->Mix_Waveform_Height));\ 1656 } while (0) 1657 #else 1658 #define in_set_mix_waveform_height(a) ss->Mix_Waveform_Height = a 1659 #endif 1660 #define DEFAULT_MIX_WAVEFORM_HEIGHT 20 1661 1662 #define show_marks(ss) ss->Show_Marks 1663 #if HAVE_SCHEME 1664 #define in_set_show_marks(a) \ 1665 do {\ 1666 ss->Show_Marks = a; \ 1667 s7_symbol_set_value(s7, ss->show_marks_symbol, s7_make_boolean(s7, ss->Show_Marks));\ 1668 } while (0) 1669 #else 1670 #define in_set_show_marks(a) ss->Show_Marks = a 1671 #endif 1672 #define DEFAULT_SHOW_MARKS true 1673 1674 #define fft_log_magnitude(ss) ss->Fft_Log_Magnitude 1675 #if HAVE_SCHEME 1676 #define in_set_fft_log_magnitude(a) \ 1677 do {\ 1678 ss->Fft_Log_Magnitude = a; \ 1679 s7_symbol_set_value(s7, ss->fft_log_magnitude_symbol, s7_make_boolean(s7, ss->Fft_Log_Magnitude));\ 1680 } while (0) 1681 #else 1682 #define in_set_fft_log_magnitude(a) ss->Fft_Log_Magnitude = a 1683 #endif 1684 #define DEFAULT_FFT_LOG_MAGNITUDE false 1685 1686 #define fft_log_frequency(ss) ss->Fft_Log_Frequency 1687 #if HAVE_SCHEME 1688 #define in_set_fft_log_frequency(a) \ 1689 do {\ 1690 ss->Fft_Log_Frequency = a; \ 1691 s7_symbol_set_value(s7, ss->fft_log_frequency_symbol, s7_make_boolean(s7, ss->Fft_Log_Frequency));\ 1692 } while (0) 1693 #else 1694 #define in_set_fft_log_frequency(a) ss->Fft_Log_Frequency = a 1695 #endif 1696 #define DEFAULT_FFT_LOG_FREQUENCY false 1697 1698 #define fft_with_phases(ss) ss->Fft_With_Phases 1699 #if HAVE_SCHEME 1700 #define in_set_fft_with_phases(a) \ 1701 do {\ 1702 ss->Fft_With_Phases = a; \ 1703 s7_symbol_set_value(s7, ss->fft_with_phases_symbol, s7_make_boolean(s7, ss->Fft_With_Phases));\ 1704 } while (0) 1705 #else 1706 #define in_set_fft_with_phases(a) ss->Fft_With_Phases = a 1707 #endif 1708 #define DEFAULT_FFT_WITH_PHASES false 1709 1710 #define cursor_style(ss) ss->Cursor_Style 1711 #if HAVE_SCHEME 1712 #define in_set_cursor_style(a) \ 1713 do {\ 1714 ss->Cursor_Style = a; \ 1715 s7_symbol_set_value(s7, ss->cursor_style_symbol, s7_make_integer(s7, ss->Cursor_Style));\ 1716 } while (0) 1717 #else 1718 #define in_set_cursor_style(a) ss->Cursor_Style = a 1719 #endif 1720 #define DEFAULT_CURSOR_STYLE CURSOR_CROSS 1721 1722 #define tracking_cursor_style(ss) ss->Tracking_Cursor_Style 1723 #if HAVE_SCHEME 1724 #define in_set_tracking_cursor_style(a) \ 1725 do {\ 1726 ss->Tracking_Cursor_Style = a; \ 1727 s7_symbol_set_value(s7, ss->tracking_cursor_style_symbol, s7_make_integer(s7, ss->Tracking_Cursor_Style));\ 1728 } while (0) 1729 #else 1730 #define in_set_tracking_cursor_style(a) ss->Tracking_Cursor_Style = a 1731 #endif 1732 #define DEFAULT_TRACKING_CURSOR_STYLE CURSOR_LINE 1733 1734 #define cursor_size(ss) ss->Cursor_Size 1735 #if HAVE_SCHEME 1736 #define in_set_cursor_size(a) \ 1737 do {\ 1738 ss->Cursor_Size = a; \ 1739 s7_symbol_set_value(s7, ss->cursor_size_symbol, s7_make_integer(s7, ss->Cursor_Size));\ 1740 } while (0) 1741 #else 1742 #define in_set_cursor_size(a) ss->Cursor_Size = a 1743 #endif 1744 #define DEFAULT_CURSOR_SIZE 15 1745 1746 #define channel_style(ss) ss->Channel_Style 1747 #if HAVE_SCHEME 1748 #define in_set_channel_style(a) \ 1749 do {\ 1750 ss->Channel_Style = a; \ 1751 s7_symbol_set_value(s7, ss->channel_style_symbol, s7_make_integer(s7, ss->Channel_Style));\ 1752 } while (0) 1753 #else 1754 #define in_set_channel_style(a) ss->Channel_Style = a 1755 #endif 1756 #define DEFAULT_CHANNEL_STYLE CHANNELS_COMBINED 1757 1758 #define sync_style(ss) ss->Sync_Style 1759 #if HAVE_SCHEME 1760 #define set_sync_style(a) \ 1761 do {\ 1762 ss->Sync_Style = a; \ 1763 s7_symbol_set_value(s7, ss->sync_style_symbol, s7_make_integer(s7, ss->Sync_Style));\ 1764 } while (0) 1765 #else 1766 #define set_sync_style(a) ss->Sync_Style = a 1767 #endif 1768 #define DEFAULT_SYNC_STYLE SYNC_BY_SOUND 1769 1770 #define sound_style(ss) ss->Sound_Style 1771 #define set_sound_style(a) ss->Sound_Style = a 1772 #define DEFAULT_SOUND_STYLE SOUNDS_VERTICAL 1773 1774 #define listener_prompt(ss) ss->Listener_Prompt 1775 #if HAVE_SCHEME 1776 #define in_set_listener_prompt(a) \ 1777 do {\ 1778 ss->Listener_Prompt = a; \ 1779 s7_symbol_set_value(s7, ss->listener_prompt_symbol, s7_make_string(s7, ss->Listener_Prompt));\ 1780 } while (0) 1781 #else 1782 #define in_set_listener_prompt(a) ss->Listener_Prompt = a 1783 #endif 1784 #define DEFAULT_LISTENER_PROMPT ">" 1785 1786 #define stdin_prompt(ss) ss->Stdin_Prompt 1787 #if HAVE_SCHEME 1788 #define set_stdin_prompt(a) \ 1789 do {\ 1790 ss->Stdin_Prompt = a; \ 1791 s7_symbol_set_value(s7, ss->stdin_prompt_symbol, s7_make_string(s7, ss->Stdin_Prompt));\ 1792 } while (0) 1793 #else 1794 #define set_stdin_prompt(a) ss->Stdin_Prompt = a 1795 #endif 1796 #define DEFAULT_STDIN_PROMPT "" 1797 1798 #define print_length(ss) ss->Print_Length 1799 #if HAVE_SCHEME 1800 #define set_print_length(a) \ 1801 do {\ 1802 ss->Print_Length = a; \ 1803 s7_symbol_set_value(s7, ss->print_length_symbol, s7_make_integer(s7, ss->Print_Length));\ 1804 } while (0) 1805 #else 1806 #define set_print_length(a) ss->Print_Length = a 1807 #endif 1808 #define DEFAULT_PRINT_LENGTH 12 1809 1810 #define view_files_sort(ss) ss->View_Files_Sort 1811 #if HAVE_SCHEME 1812 #define set_view_files_sort(a) \ 1813 do {\ 1814 ss->View_Files_Sort = a; \ 1815 s7_symbol_set_value(s7, ss->view_files_sort_symbol, s7_make_integer(s7, ss->View_Files_Sort));\ 1816 } while (0) 1817 #else 1818 #define set_view_files_sort(a) ss->View_Files_Sort = a 1819 #endif 1820 #define DEFAULT_VIEW_FILES_SORT SORT_A_TO_Z 1821 1822 #define enved_clipping(ss) ss->enved->clipping 1823 #define in_set_enved_clipping(a) ss->enved->clipping = a 1824 #define DEFAULT_ENVED_CLIPPING true 1825 1826 #define enved_with_wave(ss) ss->Enved_With_Wave 1827 #if HAVE_SCHEME 1828 #define in_set_enved_with_wave(a) \ 1829 do {\ 1830 ss->Enved_With_Wave = a; \ 1831 s7_symbol_set_value(s7, ss->enved_with_wave_symbol, s7_make_boolean(s7, ss->Enved_With_Wave));\ 1832 } while (0) 1833 #else 1834 #define in_set_enved_with_wave(a) ss->Enved_With_Wave = a 1835 #endif 1836 #define DEFAULT_ENVED_WITH_WAVE false 1837 1838 #define enved_filter_order(ss) ss->Enved_Filter_Order 1839 #if HAVE_SCHEME 1840 #define in_set_enved_filter_order(a) \ 1841 do {\ 1842 ss->Enved_Filter_Order = a; \ 1843 s7_symbol_set_value(s7, ss->enved_filter_order_symbol, s7_make_integer(s7, ss->Enved_Filter_Order));\ 1844 } while (0) 1845 #else 1846 #define in_set_enved_filter_order(a) ss->Enved_Filter_Order = a 1847 #endif 1848 #define DEFAULT_ENVED_FILTER_ORDER 40 1849 1850 #define enved_in_dB(ss) ss->enved->in_dB 1851 #define in_set_enved_in_dB(a) ss->enved->in_dB = a 1852 #define DEFAULT_ENVED_IN_DB false 1853 1854 #define enved_target(ss) ss->Enved_Target 1855 #if HAVE_SCHEME 1856 #define in_set_enved_target(a) \ 1857 do {\ 1858 ss->Enved_Target = a; \ 1859 s7_symbol_set_value(s7, ss->enved_target_symbol, s7_make_integer(s7, ss->Enved_Target));\ 1860 } while (0) 1861 #else 1862 #define in_set_enved_target(a) ss->Enved_Target = a 1863 #endif 1864 #define DEFAULT_ENVED_TARGET ENVED_AMPLITUDE 1865 1866 #define enved_base(ss) ss->Enved_Base 1867 #if HAVE_SCHEME 1868 #define in_set_enved_base(a) \ 1869 do {\ 1870 ss->Enved_Base = a; \ 1871 s7_symbol_set_value(s7, ss->enved_base_symbol, s7_make_real(s7, ss->Enved_Base));\ 1872 } while (0) 1873 #else 1874 #define in_set_enved_base(a) ss->Enved_Base = a 1875 #endif 1876 #define DEFAULT_ENVED_BASE 1.0 1877 1878 #define enved_power(ss) ss->Enved_Power 1879 #if HAVE_SCHEME 1880 #define set_enved_power(a) \ 1881 do {\ 1882 ss->Enved_Power = a; \ 1883 s7_symbol_set_value(s7, ss->enved_power_symbol, s7_make_real(s7, ss->Enved_Power));\ 1884 } while (0) 1885 #else 1886 #define set_enved_power(a) ss->Enved_Power = a 1887 #endif 1888 #define DEFAULT_ENVED_POWER 3.0 1889 1890 #define enved_style(ss) ss->Enved_Style 1891 #if HAVE_SCHEME 1892 #define set_enved_style(a) \ 1893 do {\ 1894 ss->Enved_Style = a; \ 1895 s7_symbol_set_value(s7, ss->enved_style_symbol, s7_make_integer(s7, ss->Enved_Style));\ 1896 } while (0) 1897 #else 1898 #define set_enved_style(a) ss->Enved_Style = a 1899 #endif 1900 #define DEFAULT_ENVED_STYLE ENVELOPE_LINEAR 1901 1902 #define in_graph_cursor(ss) ss->Graph_Cursor 1903 1904 #define clipping(ss) ss->Clipping 1905 #if HAVE_SCHEME 1906 #define set_clipping(a) \ 1907 do {\ 1908 ss->Clipping = a; \ 1909 s7_symbol_set_value(s7, ss->clipping_symbol, s7_make_boolean(s7, ss->Clipping));\ 1910 } while (0) 1911 #else 1912 #define set_clipping(a) ss->Clipping = a 1913 #endif 1914 #define DEFAULT_CLIPPING false 1915 1916 #define html_dir(ss) ss->HTML_Dir 1917 #if HAVE_SCHEME 1918 #define set_html_dir_1(a) \ 1919 do {\ 1920 ss->HTML_Dir = a; \ 1921 s7_symbol_set_value(s7, ss->html_dir_symbol, s7_make_string(s7, ss->HTML_Dir));\ 1922 } while (0) 1923 #else 1924 #define set_html_dir_1(a) ss->HTML_Dir = a 1925 #endif 1926 #define DEFAULT_HTML_DIR "." 1927 1928 #define html_program(ss) ss->HTML_Program 1929 #if HAVE_SCHEME 1930 #define set_html_program(a) \ 1931 do {\ 1932 ss->HTML_Program = a; \ 1933 s7_symbol_set_value(s7, ss->html_program_symbol, s7_make_string(s7, ss->HTML_Program));\ 1934 } while (0) 1935 #else 1936 #define set_html_program(a) ss->HTML_Program = a 1937 #endif 1938 #define DEFAULT_HTML_PROGRAM "firefox" 1939 1940 #define graphs_horizontal(ss) ss->Graphs_Horizontal 1941 #if HAVE_SCHEME 1942 #define in_set_graphs_horizontal(a) \ 1943 do {\ 1944 ss->Graphs_Horizontal = a; \ 1945 s7_symbol_set_value(s7, ss->graphs_horizontal_symbol, s7_make_boolean(s7, ss->Graphs_Horizontal));\ 1946 } while (0) 1947 #else 1948 #define in_set_graphs_horizontal(a) ss->Graphs_Horizontal = a 1949 #endif 1950 #define DEFAULT_GRAPHS_HORIZONTAL true 1951 1952 #define mix_tag_width(ss) ss->Mix_Tag_Width 1953 #if HAVE_SCHEME 1954 #define set_mix_tag_width(a) \ 1955 do {\ 1956 ss->Mix_Tag_Width = a; \ 1957 s7_symbol_set_value(s7, ss->mix_tag_width_symbol, s7_make_integer(s7, ss->Mix_Tag_Width));\ 1958 } while (0) 1959 #else 1960 #define set_mix_tag_width(a) ss->Mix_Tag_Width = a 1961 #endif 1962 #define DEFAULT_MIX_TAG_WIDTH 6 1963 1964 #define mix_tag_height(ss) ss->Mix_Tag_Height 1965 #if HAVE_SCHEME 1966 #define set_mix_tag_height(a) \ 1967 do {\ 1968 ss->Mix_Tag_Height = a; \ 1969 s7_symbol_set_value(s7, ss->mix_tag_height_symbol, s7_make_integer(s7, ss->Mix_Tag_Height));\ 1970 } while (0) 1971 #else 1972 #define set_mix_tag_height(a) ss->Mix_Tag_Height = a 1973 #endif 1974 #define DEFAULT_MIX_TAG_HEIGHT 14 1975 1976 #define mark_tag_width(ss) ss->Mark_Tag_Width 1977 #if HAVE_SCHEME 1978 #define set_mark_tag_width(a) \ 1979 do {\ 1980 ss->Mark_Tag_Width = a; \ 1981 s7_symbol_set_value(s7, ss->mark_tag_width_symbol, s7_make_integer(s7, ss->Mark_Tag_Width));\ 1982 } while (0) 1983 #else 1984 #define set_mark_tag_width(a) ss->Mark_Tag_Width = a 1985 #endif 1986 #define DEFAULT_MARK_TAG_WIDTH 10 1987 1988 #define mark_tag_height(ss) ss->Mark_Tag_Height 1989 #if HAVE_SCHEME 1990 #define set_mark_tag_height(a) \ 1991 do {\ 1992 ss->Mark_Tag_Height = a; \ 1993 s7_symbol_set_value(s7, ss->mark_tag_height_symbol, s7_make_integer(s7, ss->Mark_Tag_Height));\ 1994 } while (0) 1995 #else 1996 #define set_mark_tag_height(a) ss->Mark_Tag_Height = a 1997 #endif 1998 #define DEFAULT_MARK_TAG_HEIGHT 4 1999 2000 #define min_dB(ss) ss->Min_dB 2001 #if HAVE_SCHEME 2002 #define set_min_dB(a) \ 2003 do {\ 2004 ss->Min_dB = a; \ 2005 s7_symbol_set_value(s7, ss->min_db_symbol, s7_make_real(s7, ss->Min_dB));\ 2006 } while (0) 2007 #else 2008 #define set_min_dB(a) ss->Min_dB = a 2009 #endif 2010 #define DEFAULT_MIN_DB -60.0 2011 2012 #define play_arrow_size(ss) ss->Play_Arrow_Size 2013 #if HAVE_SCHEME 2014 #define set_play_arrow_size(a) \ 2015 do {\ 2016 ss->Play_Arrow_Size = a; \ 2017 s7_symbol_set_value(s7, ss->play_arrow_size_symbol, s7_make_integer(s7, ss->Play_Arrow_Size));\ 2018 } while (0) 2019 #else 2020 #define set_play_arrow_size(a) ss->Play_Arrow_Size = a 2021 #endif 2022 #define DEFAULT_PLAY_ARROW_SIZE 10 2023 2024 2025 #define HAVE_MOTIF use USE_MOTIF not HAVE! 2026 2027 2028 #endif 2029