From 0cfcd806b1585de7aee29b705fc65ed208e7b27a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20Mo=C5=84?= Date: Wed, 25 Feb 2009 21:31:06 +0100 Subject: [PATCH] revise WidgetContainer --- TODO | 1 + effects.c | 108 ++++++++++++++++++++++++++-------------------------- effects.h | 5 ++- gdigi.c | 50 ++---------------------- gdigi.h | 29 -------------- gui.c | 14 ++++--- tests.c | 112 +++++++++++++++++++++++++++--------------------------- 7 files changed, 125 insertions(+), 194 deletions(-) diff --git a/TODO b/TODO index 5a4941a..9c49735 100644 --- a/TODO +++ b/TODO @@ -7,3 +7,4 @@ -handling presets (loading, saving, exporting/importing to/from xml patches) -buildsystem -figure out how to get current device settings, start gui with proper values +-fix expression pedal settings (possible types depend on active preset) diff --git a/effects.c b/effects.c index 0691a6d..876debd 100644 --- a/effects.c +++ b/effects.c @@ -362,81 +362,81 @@ static SettingsWidget reverb_emt240_plate_widgets[] = { }; static WidgetContainer wah_container[] = { - {WAH_TYPE_CRY, "Cry wah", set_wah_type, wah_widgets, G_N_ELEMENTS(wah_widgets)}, - {WAH_TYPE_FULLRANGE, "Fullrange wah", set_wah_type, wah_widgets, G_N_ELEMENTS(wah_widgets)}, - {WAH_TYPE_CLYDE, "Clyde wah", set_wah_type, wah_widgets, G_N_ELEMENTS(wah_widgets)}, + {WAH_TYPE_CRY, "Cry wah", WAH_TYPE, WAH_POSITION, wah_widgets, G_N_ELEMENTS(wah_widgets)}, + {WAH_TYPE_FULLRANGE, "Fullrange wah", WAH_TYPE, WAH_POSITION, wah_widgets, G_N_ELEMENTS(wah_widgets)}, + {WAH_TYPE_CLYDE, "Clyde wah", WAH_TYPE, WAH_POSITION, wah_widgets, G_N_ELEMENTS(wah_widgets)}, }; static WidgetContainer comp_container[] = { - {COMP_TYPE_DIGI, "Digital compressor", set_comp_type, comp_digi_widgets, G_N_ELEMENTS(comp_digi_widgets)}, - {COMP_TYPE_CS, "CS compressor", set_comp_type, comp_cs_widgets, G_N_ELEMENTS(comp_cs_widgets)}, + {COMP_TYPE_DIGI, "Digital compressor", COMP_TYPE, COMP_POSITION, comp_digi_widgets, G_N_ELEMENTS(comp_digi_widgets)}, + {COMP_TYPE_CS, "CS compressor", COMP_TYPE, COMP_POSITION, comp_cs_widgets, G_N_ELEMENTS(comp_cs_widgets)}, }; static WidgetContainer dist_container[] = { - {DIST_TYPE_SCREAMER, "Screamer", set_dist_type, dist_screamer_widgets, G_N_ELEMENTS(dist_screamer_widgets)}, - {DIST_TYPE_808, "808", set_dist_type, dist_808_widgets, G_N_ELEMENTS(dist_808_widgets)}, - {DIST_TYPE_GUYOD, "GuyOD", set_dist_type, dist_guyod_widgets, G_N_ELEMENTS(dist_guyod_widgets)}, - {DIST_TYPE_DOD250, "DOD250", set_dist_type, dist_dod250_widgets, G_N_ELEMENTS(dist_dod250_widgets)}, - {DIST_TYPE_RODENT, "Rodent", set_dist_type, dist_rodent_widgets, G_N_ELEMENTS(dist_rodent_widgets)}, - {DIST_TYPE_MX, "MX", set_dist_type, dist_mx_widgets, G_N_ELEMENTS(dist_mx_widgets)}, - {DIST_TYPE_DS, "DS", set_dist_type, dist_ds_widgets, G_N_ELEMENTS(dist_ds_widgets)}, - {DIST_TYPE_GRUNGE, "Grunge", set_dist_type, dist_grunge_widgets, G_N_ELEMENTS(dist_grunge_widgets)}, - {DIST_TYPE_ZONE, "Zone", set_dist_type, dist_zone_widgets, G_N_ELEMENTS(dist_zone_widgets)}, - {DIST_TYPE_DEATH, "Death", set_dist_type, dist_death_widgets, G_N_ELEMENTS(dist_death_widgets)}, - {DIST_TYPE_GONK, "Gonk", set_dist_type, dist_gonk_widgets, G_N_ELEMENTS(dist_gonk_widgets)}, - {DIST_TYPE_FUZZY, "Fuzzy", set_dist_type, dist_fuzzy_widgets, G_N_ELEMENTS(dist_fuzzy_widgets)}, - {DIST_TYPE_MP, "MP", set_dist_type, dist_mp_widgets, G_N_ELEMENTS(dist_mp_widgets)}, + {DIST_TYPE_SCREAMER, "Screamer", DIST_TYPE, DIST_POSITION, dist_screamer_widgets, G_N_ELEMENTS(dist_screamer_widgets)}, + {DIST_TYPE_808, "808", DIST_TYPE, DIST_POSITION, dist_808_widgets, G_N_ELEMENTS(dist_808_widgets)}, + {DIST_TYPE_GUYOD, "GuyOD", DIST_TYPE, DIST_POSITION, dist_guyod_widgets, G_N_ELEMENTS(dist_guyod_widgets)}, + {DIST_TYPE_DOD250, "DOD250", DIST_TYPE, DIST_POSITION, dist_dod250_widgets, G_N_ELEMENTS(dist_dod250_widgets)}, + {DIST_TYPE_RODENT, "Rodent", DIST_TYPE, DIST_POSITION, dist_rodent_widgets, G_N_ELEMENTS(dist_rodent_widgets)}, + {DIST_TYPE_MX, "MX", DIST_TYPE, DIST_POSITION, dist_mx_widgets, G_N_ELEMENTS(dist_mx_widgets)}, + {DIST_TYPE_DS, "DS", DIST_TYPE, DIST_POSITION, dist_ds_widgets, G_N_ELEMENTS(dist_ds_widgets)}, + {DIST_TYPE_GRUNGE, "Grunge", DIST_TYPE, DIST_POSITION, dist_grunge_widgets, G_N_ELEMENTS(dist_grunge_widgets)}, + {DIST_TYPE_ZONE, "Zone", DIST_TYPE, DIST_POSITION, dist_zone_widgets, G_N_ELEMENTS(dist_zone_widgets)}, + {DIST_TYPE_DEATH, "Death", DIST_TYPE, DIST_POSITION, dist_death_widgets, G_N_ELEMENTS(dist_death_widgets)}, + {DIST_TYPE_GONK, "Gonk", DIST_TYPE, DIST_POSITION, dist_gonk_widgets, G_N_ELEMENTS(dist_gonk_widgets)}, + {DIST_TYPE_FUZZY, "Fuzzy", DIST_TYPE, DIST_POSITION, dist_fuzzy_widgets, G_N_ELEMENTS(dist_fuzzy_widgets)}, + {DIST_TYPE_MP, "MP", DIST_TYPE, DIST_POSITION, dist_mp_widgets, G_N_ELEMENTS(dist_mp_widgets)}, }; static WidgetContainer noisegate_container[] = { - {NOISEGATE_GATE, "Gate", set_noisegate_type, noisegate_gate_widgets, G_N_ELEMENTS(noisegate_gate_widgets)}, - {NOISEGATE_SWELL, "Swell", set_noisegate_type, noisegate_swell_widgets, G_N_ELEMENTS(noisegate_swell_widgets)}, + {NOISEGATE_GATE, "Gate", NOISEGATE_TYPE, NOISEGATE_POSITION, noisegate_gate_widgets, G_N_ELEMENTS(noisegate_gate_widgets)}, + {NOISEGATE_SWELL, "Swell", NOISEGATE_TYPE, NOISEGATE_POSITION, noisegate_swell_widgets, G_N_ELEMENTS(noisegate_swell_widgets)}, }; static WidgetContainer chorusfx_container[] = { - {CHORUS_TYPE_CE, "CE Chorus", set_chorusfx_type, chorusfx_ce_widgets, G_N_ELEMENTS(chorusfx_ce_widgets)}, - {CHORUS_TYPE_DUAL, "Dual Chorus", set_chorusfx_type, chorusfx_dual_widgets, G_N_ELEMENTS(chorusfx_dual_widgets)}, - {CHORUS_TYPE_MULTI, "Multi Chorus", set_chorusfx_type, chorusfx_multi_widgets, G_N_ELEMENTS(chorusfx_multi_widgets)}, - {CHORUS_TYPE_FLANGER, "Flanger", set_chorusfx_type, chorusfx_flanger_widgets, G_N_ELEMENTS(chorusfx_flanger_widgets)}, - {CHORUS_TYPE_MXR_FLANGER, "MXR FLANGER", set_chorusfx_type, chorusfx_mxr_flanger_widgets, G_N_ELEMENTS(chorusfx_mxr_flanger_widgets)}, - {CHORUS_TYPE_PHASER, "Phaser", set_chorusfx_type, chorusfx_phaser_widgets, G_N_ELEMENTS(chorusfx_phaser_widgets)}, - {CHORUS_TYPE_VIBRATO, "Vibrato", set_chorusfx_type, chorusfx_vibrato_widgets, G_N_ELEMENTS(chorusfx_vibrato_widgets)}, - {CHORUS_TYPE_ROTARY, "Rotary", set_chorusfx_type, chorusfx_rotary_widgets, G_N_ELEMENTS(chorusfx_rotary_widgets)}, - {CHORUS_TYPE_VIBROPAN, "Vibropan", set_chorusfx_type, chorusfx_vibropan_widgets, G_N_ELEMENTS(chorusfx_vibropan_widgets)}, - {CHORUS_TYPE_TREMOLO, "Tremolo", set_chorusfx_type, chorusfx_tremolo_widgets, G_N_ELEMENTS(chorusfx_tremolo_widgets)}, - {CHORUS_TYPE_PANNER, "Panner", set_chorusfx_type, chorusfx_panner_widgets, G_N_ELEMENTS(chorusfx_panner_widgets)}, - {CHORUS_TYPE_ENVELOPE, "Envelope", set_chorusfx_type, chorusfx_envelope_widgets, G_N_ELEMENTS(chorusfx_envelope_widgets)}, - {CHORUS_TYPE_AUTOYA, "AutoYa", set_chorusfx_type, chorusfx_autoya_widgets, G_N_ELEMENTS(chorusfx_autoya_widgets)}, - {CHORUS_TYPE_YAYA, "YaYa", set_chorusfx_type, chorusfx_yaya_widgets, G_N_ELEMENTS(chorusfx_yaya_widgets)}, - {CHORUS_TYPE_STEP_FILTER, "Step Filter", set_chorusfx_type, chorusfx_step_filter_widgets, G_N_ELEMENTS(chorusfx_step_filter_widgets)}, - {CHORUS_TYPE_WHAMMY, "Whammy", set_chorusfx_type, chorusfx_whammy_widgets, G_N_ELEMENTS(chorusfx_whammy_widgets)}, - {CHORUS_TYPE_PITCH_SHIFT, "Pitch Shift", set_chorusfx_type, chorusfx_pitch_shift_widgets, G_N_ELEMENTS(chorusfx_pitch_shift_widgets)}, - {CHORUS_TYPE_DETUNE, "Detune", set_chorusfx_type, chorusfx_detune_widgets, G_N_ELEMENTS(chorusfx_detune_widgets)}, - {CHORUS_TYPE_IPS, "IPS", set_chorusfx_type, chorusfx_ips_widgets, G_N_ELEMENTS(chorusfx_ips_widgets)}, + {CHORUS_TYPE_CE, "CE Chorus", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_ce_widgets, G_N_ELEMENTS(chorusfx_ce_widgets)}, + {CHORUS_TYPE_DUAL, "Dual Chorus", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_dual_widgets, G_N_ELEMENTS(chorusfx_dual_widgets)}, + {CHORUS_TYPE_MULTI, "Multi Chorus", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_multi_widgets, G_N_ELEMENTS(chorusfx_multi_widgets)}, + {CHORUS_TYPE_FLANGER, "Flanger", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_flanger_widgets, G_N_ELEMENTS(chorusfx_flanger_widgets)}, + {CHORUS_TYPE_MXR_FLANGER, "MXR FLANGER", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_mxr_flanger_widgets, G_N_ELEMENTS(chorusfx_mxr_flanger_widgets)}, + {CHORUS_TYPE_PHASER, "Phaser", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_phaser_widgets, G_N_ELEMENTS(chorusfx_phaser_widgets)}, + {CHORUS_TYPE_VIBRATO, "Vibrato", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_vibrato_widgets, G_N_ELEMENTS(chorusfx_vibrato_widgets)}, + {CHORUS_TYPE_ROTARY, "Rotary", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_rotary_widgets, G_N_ELEMENTS(chorusfx_rotary_widgets)}, + {CHORUS_TYPE_VIBROPAN, "Vibropan", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_vibropan_widgets, G_N_ELEMENTS(chorusfx_vibropan_widgets)}, + {CHORUS_TYPE_TREMOLO, "Tremolo", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_tremolo_widgets, G_N_ELEMENTS(chorusfx_tremolo_widgets)}, + {CHORUS_TYPE_PANNER, "Panner", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_panner_widgets, G_N_ELEMENTS(chorusfx_panner_widgets)}, + {CHORUS_TYPE_ENVELOPE, "Envelope", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_envelope_widgets, G_N_ELEMENTS(chorusfx_envelope_widgets)}, + {CHORUS_TYPE_AUTOYA, "AutoYa", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_autoya_widgets, G_N_ELEMENTS(chorusfx_autoya_widgets)}, + {CHORUS_TYPE_YAYA, "YaYa", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_yaya_widgets, G_N_ELEMENTS(chorusfx_yaya_widgets)}, + {CHORUS_TYPE_STEP_FILTER, "Step Filter", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_step_filter_widgets, G_N_ELEMENTS(chorusfx_step_filter_widgets)}, + {CHORUS_TYPE_WHAMMY, "Whammy", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_whammy_widgets, G_N_ELEMENTS(chorusfx_whammy_widgets)}, + {CHORUS_TYPE_PITCH_SHIFT, "Pitch Shift", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_pitch_shift_widgets, G_N_ELEMENTS(chorusfx_pitch_shift_widgets)}, + {CHORUS_TYPE_DETUNE, "Detune", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_detune_widgets, G_N_ELEMENTS(chorusfx_detune_widgets)}, + {CHORUS_TYPE_IPS, "IPS", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_ips_widgets, G_N_ELEMENTS(chorusfx_ips_widgets)}, }; static WidgetContainer delay_container[] = { - {DELAY_TYPE_ANALOG, "Analog", set_delay_type, delay_analog_widgets, G_N_ELEMENTS(delay_analog_widgets)}, - {DELAY_TYPE_DIGITAL, "Digital", set_delay_type, delay_digital_widgets, G_N_ELEMENTS(delay_digital_widgets)}, - {DELAY_TYPE_MODULATED, "Modulated", set_delay_type, delay_modulated_widgets, G_N_ELEMENTS(delay_modulated_widgets)}, - {DELAY_TYPE_PONG, "Pong", set_delay_type, delay_pong_widgets, G_N_ELEMENTS(delay_pong_widgets)}, - {DELAY_TYPE_TAPE, "Tape", set_delay_type, delay_tape_widgets, G_N_ELEMENTS(delay_tape_widgets)}, + {DELAY_TYPE_ANALOG, "Analog", DELAY_TYPE, DELAY_POSITION, delay_analog_widgets, G_N_ELEMENTS(delay_analog_widgets)}, + {DELAY_TYPE_DIGITAL, "Digital", DELAY_TYPE, DELAY_POSITION, delay_digital_widgets, G_N_ELEMENTS(delay_digital_widgets)}, + {DELAY_TYPE_MODULATED, "Modulated", DELAY_TYPE, DELAY_POSITION, delay_modulated_widgets, G_N_ELEMENTS(delay_modulated_widgets)}, + {DELAY_TYPE_PONG, "Pong", DELAY_TYPE, DELAY_POSITION, delay_pong_widgets, G_N_ELEMENTS(delay_pong_widgets)}, + {DELAY_TYPE_TAPE, "Tape", DELAY_TYPE, DELAY_POSITION, delay_tape_widgets, G_N_ELEMENTS(delay_tape_widgets)}, }; static WidgetContainer reverb_container[] = { - {REVERB_TYPE_TWIN, "Twin", set_reverb_type, reverb_twin_widgets, G_N_ELEMENTS(reverb_twin_widgets)}, - {REVERB_TYPE_LEX_AMBIENCE, "Lexicon ambience", set_reverb_type, reverb_lex_ambience_widgets, G_N_ELEMENTS(reverb_lex_ambience_widgets)}, - {REVERB_TYPE_LEX_STUDIO, "Lexicon studio", set_reverb_type, reverb_lex_studio_widgets, G_N_ELEMENTS(reverb_lex_studio_widgets)}, - {REVERB_TYPE_LEX_ROOM, "Lexicon room", set_reverb_type, reverb_lex_room_widgets, G_N_ELEMENTS(reverb_lex_room_widgets)}, - {REVERB_TYPE_LEX_HALL, "Lexicon hall", set_reverb_type, reverb_lex_hall_widgets, G_N_ELEMENTS(reverb_lex_hall_widgets)}, - {REVERB_TYPE_EMT240_PLATE, "EMT240 Plate", set_reverb_type, reverb_emt240_plate_widgets, G_N_ELEMENTS(reverb_emt240_plate_widgets)}, + {REVERB_TYPE_TWIN, "Twin", REVERB_TYPE, REVERB_POSITION, reverb_twin_widgets, G_N_ELEMENTS(reverb_twin_widgets)}, + {REVERB_TYPE_LEX_AMBIENCE, "Lexicon ambience", REVERB_TYPE, REVERB_POSITION, reverb_lex_ambience_widgets, G_N_ELEMENTS(reverb_lex_ambience_widgets)}, + {REVERB_TYPE_LEX_STUDIO, "Lexicon studio", REVERB_TYPE, REVERB_POSITION, reverb_lex_studio_widgets, G_N_ELEMENTS(reverb_lex_studio_widgets)}, + {REVERB_TYPE_LEX_ROOM, "Lexicon room", REVERB_TYPE, REVERB_POSITION, reverb_lex_room_widgets, G_N_ELEMENTS(reverb_lex_room_widgets)}, + {REVERB_TYPE_LEX_HALL, "Lexicon hall", REVERB_TYPE, REVERB_POSITION, reverb_lex_hall_widgets, G_N_ELEMENTS(reverb_lex_hall_widgets)}, + {REVERB_TYPE_EMT240_PLATE, "EMT240 Plate", REVERB_TYPE, REVERB_POSITION, reverb_emt240_plate_widgets, G_N_ELEMENTS(reverb_emt240_plate_widgets)}, }; static WidgetContainer eq_container[] = { - {EQ_TYPE_BRIGHT, "Bright", set_eq_type, eq_widgets, G_N_ELEMENTS(eq_widgets)}, - {EQ_TYPE_MIDBOOST, "Mid Boost", set_eq_type, eq_widgets, G_N_ELEMENTS(eq_widgets)}, - {EQ_TYPE_SCOOP, "Scoop", set_eq_type, eq_widgets, G_N_ELEMENTS(eq_widgets)}, - {EQ_TYPE_WARM, "Warm", set_eq_type, eq_widgets, G_N_ELEMENTS(eq_widgets)}, + {EQ_TYPE_BRIGHT, "Bright", EQ_TYPE, EQ_POSITION, eq_widgets, G_N_ELEMENTS(eq_widgets)}, + {EQ_TYPE_MIDBOOST, "Mid Boost", EQ_TYPE, EQ_POSITION, eq_widgets, G_N_ELEMENTS(eq_widgets)}, + {EQ_TYPE_SCOOP, "Scoop", EQ_TYPE, EQ_POSITION, eq_widgets, G_N_ELEMENTS(eq_widgets)}, + {EQ_TYPE_WARM, "Warm", EQ_TYPE, EQ_POSITION, eq_widgets, G_N_ELEMENTS(eq_widgets)}, }; static VBoxWidget wah_vbox[] = { diff --git a/effects.h b/effects.h index 217ceac..fb96dee 100644 --- a/effects.h +++ b/effects.h @@ -25,9 +25,10 @@ typedef struct { } SettingsWidget; typedef struct { - gint id; + guint id; gchar *label; - void (*callback)(int); + guint option; + guint position; SettingsWidget *widgets; gint widgets_amt; } WidgetContainer; diff --git a/gdigi.c b/gdigi.c index 2e1bce6..afb5ead 100644 --- a/gdigi.c +++ b/gdigi.c @@ -95,12 +95,12 @@ gboolean open_device() return FALSE; } -void send_data(char *data, int lenght) +void send_data(char *data, int length) { if (output == NULL) open_device(); - snd_rawmidi_write(output, data, lenght); + snd_rawmidi_write(output, data, length); } void check_preset(struct usb_dev_handle *handle) @@ -154,6 +154,7 @@ void check_preset(struct usb_dev_handle *handle) */ void set_option(guint id, guint position, guint value) { +sleep(3); static char option[] = {0xF0, 0x00, 0x00, 0x10, 0x00, 0x5E, 0x02, 0x41, 0x00, 0x00, 0x00, /* ID */ 0x00, /* position */ @@ -221,21 +222,11 @@ void set_option(guint id, guint position, guint value) } } -void set_wah_type(int type) -{ - set_option(WAH_TYPE, WAH_POSITION, type); -} - void set_wah_on_off(gboolean val) { set_option(WAH_ON_OFF, WAH_POSITION, (val == TRUE) ? 1 : 0); } -void set_comp_type(int type) -{ - set_option(COMP_TYPE, COMP_POSITION, type); -} - void set_comp_on_off(gboolean val) { set_option(COMP_ON_OFF, COMP_POSITION, (val == TRUE) ? 1 : 0); @@ -263,21 +254,11 @@ void switch_system_preset(int x) send_data(switch_preset, sizeof(switch_preset)); } -void set_pickup_type(int type) -{ - set_option(PICKUP_TYPE, PICKUP_POSITION, type); -} - void set_pickup_on_off(gboolean val) { set_option(PICKUP_ON_OFF, PICKUP_POSITION, (val == TRUE) ? 1 : 0); } -void set_dist_type(int type) -{ - set_option(DIST_TYPE, DIST_POSITION, type); -} - void set_dist_on_off(gboolean val) { set_option(DIST_ON_OFF, DIST_POSITION, (val == TRUE) ? 1 : 0); @@ -289,51 +270,26 @@ void set_preset_level(int level) set_option(PRESET_LEVEL, PRESET_POSITION, level); } -void set_eq_type(int type) -{ - set_option(EQ_TYPE, EQ_POSITION, type); -} - void set_eq_on_off(gboolean val) { set_option(EQ_ON_OFF, EQ_POSITION, (val == TRUE) ? 1 : 0); } -void set_noisegate_type(int type) -{ - set_option(NOISEGATE_TYPE, NOISEGATE_POSITION, type); -} - void set_noisegate_on_off(gboolean val) { set_option(NOISEGATE_ON_OFF, NOISEGATE_POSITION, (val == TRUE) ? 1 : 0); } -void set_chorusfx_type(int type) -{ - set_option(CHORUSFX_TYPE, CHORUSFX_POSITION, type); -} - void set_chorusfx_on_off(gboolean val) { set_option(CHORUSFX_ON_OFF, CHORUSFX_POSITION, (val == TRUE) ? 1 : 0); } -void set_delay_type(int type) -{ - set_option(DELAY_TYPE, DELAY_POSITION, type); -} - void set_delay_on_off(gboolean val) { set_option(DELAY_ON_OFF, DELAY_POSITION, (val == TRUE) ? 1 : 0); } -void set_reverb_type(int type) -{ - set_option(REVERB_TYPE, REVERB_POSITION, type); -} - void set_reverb_on_off(gboolean val) { set_option(REVERB_ON_OFF, REVERB_POSITION, (val == TRUE) ? 1 : 0); diff --git a/gdigi.h b/gdigi.h index 66587b0..03c5ffe 100644 --- a/gdigi.h +++ b/gdigi.h @@ -460,44 +460,15 @@ enum { #define USB_AUDIO_LEVEL 12307 void set_option(guint id, guint position, guint value); -void set_wah_min(int level); -void set_wah_max(int level); -void set_wah_level(int level); -void set_wah_type(int type); void set_wah_on_off(gboolean val); -void set_comp_sustain(int level); -void set_comp_tone(int level); -void set_comp_attack(int level); -void set_comp_level(int level); -void set_comp_type(int type); void set_comp_on_off(gboolean val); void switch_user_preset(int x); void switch_system_preset(int x); -void set_pickup_type(int type); void set_pickup_on_off(gboolean val); -void set_dist_type(int type); -void set_dist_option(guint32 option, int value); void set_dist_on_off(gboolean val); void set_preset_level(int level); -void set_eq_type(int type); -void set_eq_gain(int x); -void set_eq_level(int x); -void set_eq_bass(int x); -void set_eq_mid(int x); -void set_eq_mid_hz(int x); -void set_eq_treble(int x); -void set_eq_treb_hz(int x); void set_eq_on_off(gboolean val); -void set_noisegate_type(int type); -void set_gate_option(guint32 option, int x); void set_noisegate_on_off(gboolean val); -void set_chorusfx_option(guint32 option, int x); -void set_chorusfx_type(int type); void set_chorusfx_on_off(gboolean val); -void set_delay_time(int x); -void set_delay_type(int type); -void set_delay_option(guint32 option, int x); void set_delay_on_off(gboolean val); -void set_reverb_option(guint32 option, int x); -void set_reverb_type(int type); void set_reverb_on_off(gboolean val); diff --git a/gui.c b/gui.c index ed6492d..e63ee62 100644 --- a/gui.c +++ b/gui.c @@ -66,8 +66,9 @@ GtkWidget *create_on_off_button(const gchar *label, gboolean state, void (*callb } typedef struct { - gint id; /* effect group ID */ - void (*callback)(int); /* callback to call when switching to this effect group */ + gint id; /* effect group ID (value) */ + gint option; /* option ID */ + gint position; /* position */ GtkWidget *child; /* child widget */ } EffectSettingsGroup; @@ -97,8 +98,8 @@ void combo_box_changed_cb(GtkComboBox *widget, gpointer data) settings = g_object_get_data(G_OBJECT(widget), name); g_free(name); - if (settings->callback != NULL) - settings->callback(settings->id); + if (settings != NULL) + set_option(settings->option, settings->position, settings->id); child = g_object_get_data(G_OBJECT(widget), "active_child"); if (child != NULL) { @@ -138,13 +139,14 @@ GtkWidget *create_widget_container(WidgetContainer *widgets, gint amt) settings = g_malloc(sizeof(EffectSettingsGroup)); settings->id = widgets[x].id; - settings->callback = widgets[x].callback; + settings->option = widgets[x].option; + settings->position = widgets[x].position; settings->child = widget; name = g_strdup_printf("SettingsGroup%d", cmbox_no); g_object_set_data_full(G_OBJECT(combo_box), name, settings, ((GDestroyNotify)effect_settings_group_free)); g_free(name); - } else if (widgets[x].id == -1) { + } else { widget = create_table(widgets[x].widgets, widgets[x].widgets_amt); gtk_container_add(GTK_CONTAINER(vbox), widget); } diff --git a/tests.c b/tests.c index 437662d..ebba9c3 100644 --- a/tests.c +++ b/tests.c @@ -20,7 +20,7 @@ void test_wah() { int x; - set_wah_type(WAH_TYPE_CRY); + set_option(WAH_TYPE, WAH_POSITION, WAH_TYPE_CRY); for (x=0; x<=99; x++) set_option(WAH_MIN, WAH_POSITION_MIN_MAX, x); @@ -30,7 +30,7 @@ void test_wah() for (x=0; x<=12; x++) set_option(WAH_LEVEL, WAH_POSITION, x); - set_wah_type(WAH_TYPE_FULLRANGE); + set_option(WAH_TYPE, WAH_POSITION, WAH_TYPE_FULLRANGE); for (x=0; x<=99; x++) set_option(WAH_MIN, WAH_POSITION_MIN_MAX, x); @@ -40,7 +40,7 @@ void test_wah() for (x=0; x<=12; x++) set_option(WAH_LEVEL, WAH_POSITION, x); - set_wah_type(WAH_TYPE_CLYDE); + set_option(WAH_TYPE, WAH_POSITION, WAH_TYPE_CLYDE); for (x=0; x<=99; x++) set_option(WAH_MIN, WAH_POSITION_MIN_MAX, x); @@ -58,7 +58,7 @@ void test_compressor() { int x; - set_comp_type(COMP_TYPE_DIGI); + set_option(COMP_TYPE, COMP_POSITION, COMP_TYPE_DIGI); for (x=0; x<=99; x++) set_option(COMP_SUSTAIN, COMP_POSITION, x); @@ -71,7 +71,7 @@ void test_compressor() for (x=0; x<=99; x++) set_option(COMP_LEVEL, COMP_POSITION, x); - set_comp_type(COMP_TYPE_CS); + set_option(COMP_TYPE, COMP_POSITION, COMP_TYPE_CS); for (x=0; x<=99; x++) set_option(COMP_SUSTAIN, COMP_POSITION, x); @@ -89,7 +89,7 @@ void test_dist() { int x; - set_dist_type(DIST_TYPE_SCREAMER); + set_option(DIST_TYPE, DIST_POSITION, DIST_TYPE_SCREAMER); for (x=0; x<=99; x++) set_option(DIST_SCREAMER_DRIVE, DIST_POSITION, x); for (x=0; x<=99; x++) @@ -97,7 +97,7 @@ void test_dist() for (x=0; x<=99; x++) set_option(DIST_SCREAMER_LVL, DIST_POSITION, x); - set_dist_type(DIST_TYPE_808); + set_option(DIST_TYPE, DIST_POSITION, DIST_TYPE_808); for (x=0; x<=99; x++) set_option(DIST_808_OVERDRIVE, DIST_POSITION, x); for (x=0; x<=99; x++) @@ -105,19 +105,19 @@ void test_dist() for (x=0; x<=99; x++) set_option(DIST_808_LVL, DIST_POSITION, x); - set_dist_type(DIST_TYPE_GUYOD); + set_option(DIST_TYPE, DIST_POSITION, DIST_TYPE_GUYOD); for (x=0; x<=99; x++) set_option(DIST_GUYOD_DRIVE, DIST_POSITION, x); for (x=0; x<=99; x++) set_option(DIST_GUYOD_LVL, DIST_POSITION, x); - set_dist_type(DIST_TYPE_DOD250); + set_option(DIST_TYPE, DIST_POSITION, DIST_TYPE_DOD250); for (x=0; x<=99; x++) set_option(DIST_DOD250_GAIN, DIST_POSITION, x); for (x=0; x<=99; x++) set_option(DIST_DOD250_LVL, DIST_POSITION, x); - set_dist_type(DIST_TYPE_RODENT); + set_option(DIST_TYPE, DIST_POSITION, DIST_TYPE_RODENT); for (x=0; x<=99; x++) set_option(DIST_RODENT_DIST, DIST_POSITION, x); for (x=0; x<=99; x++) @@ -125,13 +125,13 @@ void test_dist() for (x=0; x<=99; x++) set_option(DIST_RODENT_LVL, DIST_POSITION, x); - set_dist_type(DIST_TYPE_MX); + set_option(DIST_TYPE, DIST_POSITION, DIST_TYPE_MX); for (x=0; x<=99; x++) set_option(DIST_MX_DIST, DIST_POSITION, x); for (x=0; x<=99; x++) set_option(DIST_MX_OUTPUT, DIST_POSITION, x); - set_dist_type(DIST_TYPE_DS); + set_option(DIST_TYPE, DIST_POSITION, DIST_TYPE_DS); for (x=0; x<=99; x++) set_option(DIST_DS_GAIN, DIST_POSITION, x); for (x=0; x<=99; x++) @@ -139,7 +139,7 @@ void test_dist() for (x=0; x<=99; x++) set_option(DIST_DS_LVL, DIST_POSITION, x); - set_dist_type(DIST_TYPE_GRUNGE); + set_option(DIST_TYPE, DIST_POSITION, DIST_TYPE_GRUNGE); for (x=0; x<=99; x++) set_option(DIST_GRUNGE_GRUNGE, DIST_POSITION, x); for (x=0; x<=99; x++) @@ -149,7 +149,7 @@ void test_dist() for (x=0; x<=99; x++) set_option(DIST_GRUNGE_BUTT, DIST_POSITION, x); - set_dist_type(DIST_TYPE_ZONE); + set_option(DIST_TYPE, DIST_POSITION, DIST_TYPE_ZONE); for (x=0; x<=99; x++) set_option(DIST_ZONE_GAIN, DIST_POSITION, x); for (x=0; x<=99; x++) @@ -163,7 +163,7 @@ void test_dist() for (x=0; x<=99; x++) set_option(DIST_ZONE_LEVEL, DIST_POSITION, x); - set_dist_type(DIST_TYPE_DEATH); + set_option(DIST_TYPE, DIST_POSITION, DIST_TYPE_DEATH); for (x=0; x<=99; x++) set_option(DIST_DEATH_LOW, DIST_POSITION, x); for (x=0; x<=99; x++) @@ -173,7 +173,7 @@ void test_dist() for (x=0; x<=99; x++) set_option(DIST_DEATH_LVL, DIST_POSITION, x); - set_dist_type(DIST_TYPE_GONK); + set_option(DIST_TYPE, DIST_POSITION, DIST_TYPE_GONK); for (x=0; x<=99; x++) set_option(DIST_GONK_GONK, DIST_POSITION, x); for (x=0; x<=99; x++) @@ -183,13 +183,13 @@ void test_dist() for (x=0; x<=99; x++) set_option(DIST_GONK_HEAVE, DIST_POSITION, x); - set_dist_type(DIST_TYPE_FUZZY); + set_option(DIST_TYPE, DIST_POSITION, DIST_TYPE_FUZZY); for (x=0; x<=99; x++) set_option(DIST_FUZZY_FUZZ, DIST_POSITION, x); for (x=0; x<=99; x++) set_option(DIST_FUZZY_VOLUME, DIST_POSITION, x); - set_dist_type(DIST_TYPE_MP); + set_option(DIST_TYPE, DIST_POSITION, DIST_TYPE_MP); for (x=0; x<=99; x++) set_option(DIST_MP_SUSTAIN, DIST_POSITION, x); for (x=0; x<=99; x++) @@ -217,8 +217,8 @@ void test_presets() void test_pickups() { - set_pickup_type(PICKUP_TYPE_HB_SC); - set_pickup_type(PICKUP_TYPE_SC_HB); + set_option(PICKUP_TYPE, PICKUP_POSITION, PICKUP_TYPE_HB_SC); + set_option(PICKUP_TYPE, PICKUP_POSITION, PICKUP_TYPE_SC_HB); set_pickup_on_off(TRUE); set_pickup_on_off(FALSE); @@ -228,10 +228,10 @@ void test_eq() { int x; - set_eq_type(EQ_TYPE_BRIGHT); - set_eq_type(EQ_TYPE_MIDBOOST); - set_eq_type(EQ_TYPE_SCOOP); - set_eq_type(EQ_TYPE_WARM); + set_option(EQ_TYPE, EQ_POSITION, EQ_TYPE_BRIGHT); + set_option(EQ_TYPE, EQ_POSITION, EQ_TYPE_MIDBOOST); + set_option(EQ_TYPE, EQ_POSITION, EQ_TYPE_SCOOP); + set_option(EQ_TYPE, EQ_POSITION, EQ_TYPE_WARM); for (x=0; x<=99; x++) set_option(AMP_GAIN, AMP_POSITION, x); @@ -257,7 +257,7 @@ void test_noisegate() { int x; - set_noisegate_type(NOISEGATE_GATE); + set_option(NOISEGATE_TYPE, NOISEGATE_POSITION, NOISEGATE_GATE); for (x=0; x<=99; x++) set_option(NOISEGATE_GATE_TRESHOLD, NOISEGATE_POSITION, x); for (x=0; x<=99; x++) @@ -267,7 +267,7 @@ void test_noisegate() for (x=0; x<=99; x++) set_option(NOISEGATE_ATTN, NOISEGATE_POSITION, x); - set_noisegate_type(NOISEGATE_SWELL); + set_option(NOISEGATE_TYPE, NOISEGATE_POSITION, NOISEGATE_SWELL); for (x=0; x<=99; x++) set_option(NOISEGATE_SWELL_SENS, NOISEGATE_POSITION, x); for (x=0; x<=99; x++) @@ -285,13 +285,13 @@ void test_chorusfx() { int x; - set_chorusfx_type(CHORUS_TYPE_CE); + set_option(CHORUSFX_TYPE, CHORUSFX_POSITION, CHORUS_TYPE_CE); for (x=0; x<=99; x++) set_option(CE_CHORUS_SPEED, CHORUSFX_POSITION, x); for (x=0; x<=99; x++) set_option(CE_CHORUS_DEPTH, CHORUSFX_POSITION, x); - set_chorusfx_type(CHORUS_TYPE_DUAL); + set_option(CHORUSFX_TYPE, CHORUSFX_POSITION, CHORUS_TYPE_DUAL); for (x=0; x<=99; x++) set_option(DUAL_CHORUS_SPEED, CHORUSFX_POSITION, x); for (x=0; x<=99; x++) @@ -302,7 +302,7 @@ void test_chorusfx() set_option(DUAL_CHORUS_WAVE, CHORUSFX_POSITION, WAVE_SINE); set_option(DUAL_CHORUS_WAVE, CHORUSFX_POSITION, WAVE_SQUARE); - set_chorusfx_type(CHORUS_TYPE_MULTI); + set_option(CHORUSFX_TYPE, CHORUSFX_POSITION, CHORUS_TYPE_MULTI); for (x=0; x<=99; x++) set_option(MULTI_CHORUS_SPEED, CHORUSFX_POSITION, x); for (x=0; x<=99; x++) @@ -313,7 +313,7 @@ void test_chorusfx() set_option(MULTI_CHORUS_WAVE, CHORUSFX_POSITION, WAVE_SINE); set_option(MULTI_CHORUS_WAVE, CHORUSFX_POSITION, WAVE_SQUARE); - set_chorusfx_type(CHORUS_TYPE_FLANGER); + set_option(CHORUSFX_TYPE, CHORUSFX_POSITION, CHORUS_TYPE_FLANGER); for (x=0; x<=99; x++) set_option(FLANGER_SPEED, CHORUSFX_POSITION, x); for (x=0; x<=99; x++) @@ -326,7 +326,7 @@ void test_chorusfx() set_option(FLANGER_WAVE, CHORUSFX_POSITION, WAVE_SINE); set_option(FLANGER_WAVE, CHORUSFX_POSITION, WAVE_SQUARE); - set_chorusfx_type(CHORUS_TYPE_MXR_FLANGER); + set_option(CHORUSFX_TYPE, CHORUSFX_POSITION, CHORUS_TYPE_MXR_FLANGER); for (x=0; x<=99; x++) set_option(MXR_FLANGER_SPEED, CHORUSFX_POSITION, x); for (x=0; x<=99; x++) @@ -336,7 +336,7 @@ void test_chorusfx() for (x=0; x<=99; x++) set_option(MXR_FLANGER_MANUAL, CHORUSFX_POSITION, x); - set_chorusfx_type(CHORUS_TYPE_PHASER); + set_option(CHORUSFX_TYPE, CHORUSFX_POSITION, CHORUS_TYPE_PHASER); for (x=0; x<=99; x++) set_option(PHASER_SPEED, CHORUSFX_POSITION, x); for (x=0; x<=99; x++) @@ -349,13 +349,13 @@ void test_chorusfx() set_option(PHASER_WAVE, CHORUSFX_POSITION, WAVE_SINE); set_option(PHASER_WAVE, CHORUSFX_POSITION, WAVE_SQUARE); - set_chorusfx_type(CHORUS_TYPE_VIBRATO); + set_option(CHORUSFX_TYPE, CHORUSFX_POSITION, CHORUS_TYPE_VIBRATO); for (x=0; x<=99; x++) set_option(VIBRATO_SPEED, CHORUSFX_POSITION, x); for (x=0; x<=99; x++) set_option(VIBRATO_DEPTH, CHORUSFX_POSITION, x); - set_chorusfx_type(CHORUS_TYPE_ROTARY); + set_option(CHORUSFX_TYPE, CHORUSFX_POSITION, CHORUS_TYPE_ROTARY); for (x=0; x<=99; x++) set_option(ROTARY_SPEED, CHORUSFX_POSITION, x); for (x=0; x<=99; x++) @@ -365,7 +365,7 @@ void test_chorusfx() for (x=0; x<=99; x++) set_option(ROTARY_CROSSOVER, CHORUSFX_POSITION, x); - set_chorusfx_type(CHORUS_TYPE_VIBROPAN); + set_option(CHORUSFX_TYPE, CHORUSFX_POSITION, CHORUS_TYPE_VIBROPAN); for (x=0; x<=99; x++) set_option(VIBROPAN_SPEED, CHORUSFX_POSITION, x); for (x=0; x<=99; x++) @@ -376,7 +376,7 @@ void test_chorusfx() set_option(VIBROPAN_WAVE, CHORUSFX_POSITION, WAVE_SINE); set_option(VIBROPAN_WAVE, CHORUSFX_POSITION, WAVE_SQUARE); - set_chorusfx_type(CHORUS_TYPE_TREMOLO); + set_option(CHORUSFX_TYPE, CHORUSFX_POSITION, CHORUS_TYPE_TREMOLO); for (x=0; x<=99; x++) set_option(TREMOLO_SPEED, CHORUSFX_POSITION, x); for (x=0; x<=99; x++) @@ -385,7 +385,7 @@ void test_chorusfx() set_option(TREMOLO_WAVE, CHORUSFX_POSITION, WAVE_SINE); set_option(TREMOLO_WAVE, CHORUSFX_POSITION, WAVE_SQUARE); - set_chorusfx_type(CHORUS_TYPE_PANNER); + set_option(CHORUSFX_TYPE, CHORUSFX_POSITION, CHORUS_TYPE_PANNER); for (x=0; x<=99; x++) set_option(PANNER_SPEED, CHORUSFX_POSITION, x); for (x=0; x<=99; x++) @@ -394,13 +394,13 @@ void test_chorusfx() set_option(PANNER_WAVE, CHORUSFX_POSITION, WAVE_SINE); set_option(PANNER_WAVE, CHORUSFX_POSITION, WAVE_SQUARE); - set_chorusfx_type(CHORUS_TYPE_ENVELOPE); + set_option(CHORUSFX_TYPE, CHORUSFX_POSITION, CHORUS_TYPE_ENVELOPE); for (x=0; x<=99; x++) set_option(ENVELOPE_SENSITIVITY, CHORUSFX_POSITION, x); for (x=0; x<=99; x++) set_option(ENVELOPE_RANGE, CHORUSFX_POSITION, x); - set_chorusfx_type(CHORUS_TYPE_AUTOYA); + set_option(CHORUSFX_TYPE, CHORUSFX_POSITION, CHORUS_TYPE_AUTOYA); for (x=0; x<=99; x++) set_option(AUTOYA_SPEED, CHORUSFX_POSITION, x); for (x=0; x<=99; x++) @@ -408,7 +408,7 @@ void test_chorusfx() for (x=0; x<=0x31; x++) set_option(AUTOYA_RANGE, CHORUSFX_POSITION, x); - set_chorusfx_type(CHORUS_TYPE_YAYA); + set_option(CHORUSFX_TYPE, CHORUSFX_POSITION, CHORUS_TYPE_YAYA); for (x=0; x<=99; x++) set_option(YAYA_PEDAL, CHORUSFX_POSITION, x); for (x=0; x<=99; x++) @@ -416,13 +416,13 @@ void test_chorusfx() for (x=0; x<=0x31; x++) set_option(YAYA_RANGE, CHORUSFX_POSITION, x); - set_chorusfx_type(CHORUS_TYPE_STEP_FILTER); + set_option(CHORUSFX_TYPE, CHORUSFX_POSITION, CHORUS_TYPE_STEP_FILTER); for (x=0; x<=99; x++) set_option(STEP_FILTER_SPEED, CHORUSFX_POSITION, x); for (x=0; x<=99; x++) set_option(STEP_FILTER_INTENSITY, CHORUSFX_POSITION, x); - set_chorusfx_type(CHORUS_TYPE_WHAMMY); + set_option(CHORUSFX_TYPE, CHORUSFX_POSITION, CHORUS_TYPE_WHAMMY); set_option(WHAMMY_AMOUNT, CHORUSFX_POSITION, WHAMMY_OCT_UP); set_option(WHAMMY_AMOUNT, CHORUSFX_POSITION, WHAMMY_2OCT_UP); set_option(WHAMMY_AMOUNT, CHORUSFX_POSITION, WHAMMY_2ND_DN); @@ -444,19 +444,19 @@ void test_chorusfx() for (x=0; x<=99; x++) set_option(WHAMMY_MIX, CHORUSFX_POSITION, x); - set_chorusfx_type(CHORUS_TYPE_PITCH_SHIFT); + set_option(CHORUSFX_TYPE, CHORUSFX_POSITION, CHORUS_TYPE_PITCH_SHIFT); for (x=0; x<=0x30; x++) set_option(PITCH_AMOUNT, CHORUSFX_POSITION, x); for (x=0; x<=99; x++) set_option(PITCH_MIX, CHORUSFX_POSITION, x); - set_chorusfx_type(CHORUS_TYPE_DETUNE); + set_option(CHORUSFX_TYPE, CHORUSFX_POSITION, CHORUS_TYPE_DETUNE); for (x=0; x<=0x30; x++) set_option(DETUNE_AMOUNT, CHORUSFX_POSITION, x); for (x=0; x<=99; x++) set_option(DETUNE_LEVEL, CHORUSFX_POSITION, x); - set_chorusfx_type(CHORUS_TYPE_IPS); + set_option(CHORUSFX_TYPE, CHORUSFX_POSITION, CHORUS_TYPE_IPS); set_option(IPS_SHIFT_AMOUNT, CHORUSFX_POSITION, IPS_OCT_D); set_option(IPS_SHIFT_AMOUNT, CHORUSFX_POSITION, IPS_7TH_DN); set_option(IPS_SHIFT_AMOUNT, CHORUSFX_POSITION, IPS_6TH_DN); @@ -500,7 +500,7 @@ void test_delay() { int x; - set_delay_type(DELAY_TYPE_ANALOG); + set_option(DELAY_TYPE, DELAY_POSITION, DELAY_TYPE_ANALOG); for (x=0; x<=139; x++) set_option(DELAY_TIME, DELAY_POSITION, x); for (x=0; x<=99; x++) @@ -508,7 +508,7 @@ void test_delay() for (x=0; x<=100; x++) set_option(ANALOG_REPEATS, DELAY_POSITION, x); - set_delay_type(DELAY_TYPE_DIGITAL); + set_option(DELAY_TYPE, DELAY_POSITION, DELAY_TYPE_DIGITAL); for (x=0; x<=139; x++) set_option(DELAY_TIME, DELAY_POSITION, x); for (x=0; x<=99; x++) @@ -520,7 +520,7 @@ void test_delay() for (x=0; x<=99; x++) set_option(DIGITAL_DUCKER_LEVEL, DELAY_POSITION, x); - set_delay_type(DELAY_TYPE_MODULATED); + set_option(DELAY_TYPE, DELAY_POSITION, DELAY_TYPE_MODULATED); for (x=0; x<=139; x++) set_option(DELAY_TIME, DELAY_POSITION, x); for (x=0; x<=99; x++) @@ -530,7 +530,7 @@ void test_delay() for (x=0; x<=99; x++) set_option(MODULATED_DEPTH, DELAY_POSITION, x); - set_delay_type(DELAY_TYPE_PONG); + set_option(DELAY_TYPE, DELAY_POSITION, DELAY_TYPE_PONG); for (x=0; x<=139; x++) set_option(DELAY_TIME, DELAY_POSITION, x); for (x=0; x<=99; x++) @@ -542,7 +542,7 @@ void test_delay() for (x=0; x<=99; x++) set_option(PONG_DUCKER_LEVEL, DELAY_POSITION, x); - set_delay_type(DELAY_TYPE_TAPE); + set_option(DELAY_TYPE, DELAY_POSITION, DELAY_TYPE_TAPE); for (x=0; x<=139; x++) set_option(DELAY_TIME, DELAY_POSITION, x); for (x=0; x<=99; x++) @@ -562,11 +562,11 @@ void test_reverb() { int x; - set_reverb_type(REVERB_TYPE_TWIN); + set_option(REVERB_TYPE, REVERB_POSITION, REVERB_TYPE_TWIN); for (x=0; x<=99; x++) set_option(TWIN_REVERB, REVERB_POSITION, x); - set_reverb_type(REVERB_TYPE_LEX_AMBIENCE); + set_option(REVERB_TYPE, REVERB_POSITION, REVERB_TYPE_LEX_AMBIENCE); for (x=0; x<=15; x++) set_option(LEX_AMBIENCE_PREDELAY, REVERB_POSITION, x); for (x=0; x<=99; x++) @@ -576,7 +576,7 @@ void test_reverb() for (x=0; x<=99; x++) set_option(LEX_AMBIENCE_LEVEL, REVERB_POSITION, x); - set_reverb_type(REVERB_TYPE_LEX_STUDIO); + set_option(REVERB_TYPE, REVERB_POSITION, REVERB_TYPE_LEX_STUDIO); for (x=0; x<=15; x++) set_option(LEX_STUDIO_PREDELAY, REVERB_POSITION, x); for (x=0; x<=99; x++) @@ -586,7 +586,7 @@ void test_reverb() for (x=0; x<=99; x++) set_option(LEX_STUDIO_LEVEL, REVERB_POSITION, x); - set_reverb_type(REVERB_TYPE_LEX_ROOM); + set_option(REVERB_TYPE, REVERB_POSITION, REVERB_TYPE_LEX_ROOM); for (x=0; x<=15; x++) set_option(LEX_ROOM_PREDELAY, REVERB_POSITION, x); for (x=0; x<=99; x++) @@ -596,7 +596,7 @@ void test_reverb() for (x=0; x<=99; x++) set_option(LEX_ROOM_LEVEL, REVERB_POSITION, x); - set_reverb_type(REVERB_TYPE_LEX_HALL); + set_option(REVERB_TYPE, REVERB_POSITION, REVERB_TYPE_LEX_HALL); for (x=0; x<=15; x++) set_option(LEX_HALL_PREDELAY, REVERB_POSITION, x); for (x=0; x<=99; x++) @@ -606,7 +606,7 @@ void test_reverb() for (x=0; x<=99; x++) set_option(LEX_HALL_LEVEL, REVERB_POSITION, x); - set_reverb_type(REVERB_TYPE_EMT240_PLATE); + set_option(REVERB_TYPE, REVERB_POSITION, REVERB_TYPE_EMT240_PLATE); for (x=0; x<=15; x++) set_option(EMT240_PLATE_PREDELAY, REVERB_POSITION, x); for (x=0; x<=99; x++)