"Fossies" - the Fresh Open Source Software Archive

Member "snd-20.9/snd-0.h" (8 Sep 2020, 67732 Bytes) of package /linux/misc/snd-20.9.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "snd-0.h" see the Fossies "Dox" file reference documentation and the last Fossies "Diffs" side-by-side code changes report: 20.7_vs_20.8.

    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