diff --git a/effects.c b/effects.c index 8dccedf..2bb0c58 100644 --- a/effects.c +++ b/effects.c @@ -942,17 +942,17 @@ static EffectSettings dist_mp_settings[] = { }; static EffectSettings rp250_amp_settings[] = { - {"Gain", AMP_GAIN, AMP_POSITION, &values_0_to_99}, - {"Level", AMP_LEVEL, AMP_POSITION, &values_0_to_99}, + {"Gain", AMP_GAIN, AMP_A_POSITION, &values_0_to_99}, + {"Level", AMP_LEVEL, AMP_A_POSITION, &values_0_to_99}, }; static EffectSettings rp250_amp_settings2[] = { - {"Level", AMP_LEVEL, AMP_POSITION, &values_0_to_99}, + {"Level", AMP_LEVEL, AMP_A_POSITION, &values_0_to_99}, }; static EffectSettings rp355_amp_settings_A[] = { - {"Gain", AMP_GAIN, AMP_POSITION, &values_0_to_99}, - {"Level", AMP_LEVEL, AMP_POSITION, &values_0_to_99}, + {"Gain", AMP_GAIN, AMP_A_POSITION, &values_0_to_99}, + {"Level", AMP_LEVEL, AMP_A_POSITION, &values_0_to_99}, }; static EffectSettings rp355_amp_settings_B[] = { @@ -961,7 +961,7 @@ static EffectSettings rp355_amp_settings_B[] = { }; static EffectSettings rp355_amp_settings2_A[] = { - {"Level", AMP_LEVEL, AMP_POSITION, &values_0_to_99}, + {"Level", AMP_LEVEL, AMP_A_POSITION, &values_0_to_99}, }; static EffectSettings rp355_amp_settings2_B[] = { @@ -969,22 +969,22 @@ static EffectSettings rp355_amp_settings2_B[] = { }; static EffectSettings rp500_amp_settings[] = { - {"Gain", AMP_GAIN, AMP_POSITION, &values_0_to_99}, - {"Level", AMP_LEVEL, AMP_POSITION, &values_0_to_99}, - {"Bass", AMP_BASS, AMP_POSITION, &values_1_to_10_step_0p1}, - {"Mid", AMP_MID, AMP_POSITION, &values_1_to_10_step_0p1}, - {"Treble", AMP_TREBLE, AMP_POSITION, &values_1_to_10_step_0p1}, + {"Gain", AMP_GAIN, AMP_A_POSITION, &values_0_to_99}, + {"Level", AMP_LEVEL, AMP_A_POSITION, &values_0_to_99}, + {"Bass", AMP_BASS, AMP_A_POSITION, &values_1_to_10_step_0p1}, + {"Mid", AMP_MID, AMP_A_POSITION, &values_1_to_10_step_0p1}, + {"Treble", AMP_TREBLE, AMP_A_POSITION, &values_1_to_10_step_0p1}, }; static EffectSettings rp500_amp_settings2[] = { - {"Level", AMP_LEVEL, AMP_POSITION, &values_0_to_99}, - {"Bass", AMP_BASS, AMP_POSITION, &values_1_to_10_step_0p1}, - {"Mid", AMP_MID, AMP_POSITION, &values_1_to_10_step_0p1}, - {"Treble", AMP_TREBLE, AMP_POSITION, &values_1_to_10_step_0p1}, + {"Level", AMP_LEVEL, AMP_A_POSITION, &values_0_to_99}, + {"Bass", AMP_BASS, AMP_A_POSITION, &values_1_to_10_step_0p1}, + {"Mid", AMP_MID, AMP_A_POSITION, &values_1_to_10_step_0p1}, + {"Treble", AMP_TREBLE, AMP_A_POSITION, &values_1_to_10_step_0p1}, }; static EffectSettings rp500_amp_settings3[] = { - {"Level", AMP_LEVEL, AMP_POSITION, &values_0_to_99}, + {"Level", AMP_LEVEL, AMP_A_POSITION, &values_0_to_99}, }; static EffectSettings gnx3k_ch1_cab_tuning_settings[] = { @@ -996,15 +996,15 @@ static EffectSettings gnx3k_ch2_cab_tuning_settings[] = { }; static EffectSettings gnx3k_ch1_amp_eq_settings[] = { - {"Gain", AMP_GAIN, AMP_POSITION, &values_0_to_99}, - {"Bass Freq", AMP_BASS_FREQ, AMP_POSITION, &values_eq_bass_hz}, - {"Bass Level", AMP_BASS_LEVEL, AMP_POSITION, &values_eq_db}, - {"Mid Freq", AMP_MID_FREQ, AMP_POSITION, &values_eq_mid_hz}, - {"Mid Level", AMP_MID_LEVEL, AMP_POSITION, &values_eq_db}, - {"Treb Freq", AMP_TREBLE_FREQ, AMP_POSITION, &values_eq_treb_hz}, - {"Treb Level", AMP_TREBLE_LEVEL, AMP_POSITION, &values_eq_db}, - {"Presence", AMP_PRESENCE, AMP_POSITION, &values_eq_db}, - {"Level", AMP_LEVEL, AMP_POSITION, &values_0_to_99}, + {"Gain", AMP_GAIN, AMP_A_POSITION, &values_0_to_99}, + {"Bass Freq", AMP_BASS_FREQ, AMP_A_POSITION, &values_eq_bass_hz}, + {"Bass Level", AMP_BASS_LEVEL, AMP_A_POSITION, &values_eq_db}, + {"Mid Freq", AMP_MID_FREQ, AMP_A_POSITION, &values_eq_mid_hz}, + {"Mid Level", AMP_MID_LEVEL, AMP_A_POSITION, &values_eq_db}, + {"Presence", AMP_PRESENCE, AMP_A_POSITION, &values_eq_db}, + {"Treb Freq", AMP_TREBLE_FREQ, AMP_A_POSITION, &values_eq_treb_hz}, + {"Treb Level", AMP_TREBLE_LEVEL, AMP_A_POSITION, &values_eq_db}, + {"Level", AMP_LEVEL, AMP_A_POSITION, &values_0_to_99}, }; static EffectSettings gnx3k_ch2_amp_eq_settings[] = { @@ -1013,9 +1013,9 @@ static EffectSettings gnx3k_ch2_amp_eq_settings[] = { {"Bass Level", AMP_BASS_LEVEL, AMP_B_POSITION, &values_eq_db}, {"Mid Freq", AMP_MID_FREQ, AMP_B_POSITION, &values_eq_mid_hz}, {"Mid Level", AMP_MID_LEVEL, AMP_B_POSITION, &values_eq_db}, + {"Presence", AMP_PRESENCE, AMP_B_POSITION, &values_eq_db}, {"Treb Freq", AMP_TREBLE_FREQ, AMP_B_POSITION, &values_eq_treb_hz}, {"Treb Level", AMP_TREBLE_LEVEL, AMP_B_POSITION, &values_eq_db}, - {"Presence", AMP_PRESENCE, AMP_B_POSITION, &values_eq_db}, {"Level", AMP_LEVEL, AMP_B_POSITION, &values_0_to_99}, }; @@ -1031,18 +1031,18 @@ static EffectSettings rp355_eq_settings_A[] = { {"Bass", EQ_BASS, EQ_A_POSITION, &values_eq_db}, {"Mid", EQ_MID, EQ_A_POSITION, &values_eq_db}, {"Treble", EQ_TREB, EQ_A_POSITION, &values_eq_db}, + {"Presence", EQ_PRESENCE, EQ_A_POSITION, &values_eq_db}, {"Mid Hz", EQ_MID_FREQ, EQ_A_POSITION, &values_eq_mid_hz}, {"Treb Hz", EQ_TREB_FREQ, EQ_A_POSITION, &values_eq_treb_hz}, - {"Presence", EQ_PRESENCE, EQ_A_POSITION, &values_eq_db}, }; static EffectSettings rp355_eq_settings_B[] = { {"Bass", EQ_BASS, EQ_B_POSITION, &values_eq_db}, {"Mid", EQ_MID, EQ_B_POSITION, &values_eq_db}, {"Treble", EQ_TREB, EQ_B_POSITION, &values_eq_db}, + {"Presence", EQ_PRESENCE, EQ_B_POSITION, &values_eq_db}, {"Mid Hz", EQ_MID_FREQ, EQ_B_POSITION, &values_eq_mid_hz}, {"Treb Hz", EQ_TREB_FREQ, EQ_B_POSITION, &values_eq_treb_hz}, - {"Presence", EQ_PRESENCE, EQ_B_POSITION, &values_eq_db}, }; static EffectSettings rp500_eq_settings[] = { @@ -2823,23 +2823,23 @@ static Effect reverb_effect[] = { }; static Effect rp150_amp_effect[] = { - {NULL, AMP_ON_OFF, AMP_TYPE, AMP_POSITION, rp150_amp_group, G_N_ELEMENTS(rp150_amp_group)}, + {NULL, AMP_ON_OFF, AMP_TYPE, AMP_A_POSITION, rp150_amp_group, G_N_ELEMENTS(rp150_amp_group)}, {"Cabinet", -1, AMP_CAB_TYPE, AMP_CAB_POSITION, rp150_amp_cab_group, G_N_ELEMENTS(rp150_amp_cab_group)}, }; static Effect rp155_amp_effect[] = { - {NULL, AMP_ON_OFF, AMP_TYPE, AMP_POSITION, rp155_amp_group, G_N_ELEMENTS(rp155_amp_group)}, + {NULL, AMP_ON_OFF, AMP_TYPE, AMP_A_POSITION, rp155_amp_group, G_N_ELEMENTS(rp155_amp_group)}, {"Cabinet", -1, AMP_CAB_TYPE, AMP_CAB_POSITION, rp150_amp_cab_group, G_N_ELEMENTS(rp150_amp_cab_group)}, }; static Effect rp250_amp_effect[] = { - {NULL, AMP_ON_OFF, AMP_TYPE, AMP_POSITION, rp250_amp_group, G_N_ELEMENTS(rp250_amp_group)}, + {NULL, AMP_ON_OFF, AMP_TYPE, AMP_A_POSITION, rp250_amp_group, G_N_ELEMENTS(rp250_amp_group)}, {"Cabinet", -1, AMP_CAB_TYPE, AMP_CAB_POSITION, rp250_amp_cab_group, G_N_ELEMENTS(rp250_amp_cab_group)}, }; /* same cabs as rp250, but 3 new amp models */ static Effect rp255_amp_effect[] = { - {NULL, AMP_ON_OFF, AMP_TYPE, AMP_POSITION, rp255_amp_group, G_N_ELEMENTS(rp255_amp_group)}, + {NULL, AMP_ON_OFF, AMP_TYPE, AMP_A_POSITION, rp255_amp_group, G_N_ELEMENTS(rp255_amp_group)}, {"Cabinet", -1, AMP_CAB_TYPE, AMP_CAB_POSITION, rp250_amp_cab_group, G_N_ELEMENTS(rp250_amp_cab_group)}, }; @@ -2848,7 +2848,7 @@ static Effect rp355_select_amp_effect[] = { }; static Effect rp355_amp_effect_A[] = { - {NULL, AMP_ON_OFF, AMP_TYPE, AMP_POSITION, rp355_amp_group_A, G_N_ELEMENTS(rp355_amp_group_A)}, + {NULL, AMP_ON_OFF, AMP_TYPE, AMP_A_POSITION, rp355_amp_group_A, G_N_ELEMENTS(rp355_amp_group_A)}, {"Cabinet", -1, AMP_CAB_TYPE, AMP_CAB_POSITION, rp355_amp_cab_group, G_N_ELEMENTS(rp355_amp_cab_group)}, }; @@ -2858,19 +2858,19 @@ static Effect rp355_amp_effect_B[] = { }; static Effect rp500_amp_effect[] = { - {NULL, AMP_ON_OFF, AMP_TYPE, AMP_POSITION, rp500_amp_group, G_N_ELEMENTS(rp500_amp_group)}, + {NULL, AMP_ON_OFF, AMP_TYPE, AMP_A_POSITION, rp500_amp_group, G_N_ELEMENTS(rp500_amp_group)}, {"Cabinet", -1, AMP_CAB_TYPE, AMP_CAB_POSITION, rp500_amp_cab_group, G_N_ELEMENTS(rp500_amp_cab_group)}, }; static Effect rp1000_amp_effect[] = { {"Amp Loop", AMP_LOOP_ON_OFF, -1, AMP_LOOP_POSITION, NULL, -1}, {"Amp/Cab Bypass", AMP_BYPASS_ON_OFF, -1, AMP_BYPASS_POSITION, NULL, -1}, - {NULL, -1, AMP_TYPE, AMP_POSITION, rp1000_amp_group, G_N_ELEMENTS(rp1000_amp_group)}, + {NULL, -1, AMP_TYPE, AMP_A_POSITION, rp1000_amp_group, G_N_ELEMENTS(rp1000_amp_group)}, {NULL, -1, AMP_CAB_TYPE, AMP_CAB_POSITION, rp1000_amp_cab_group, G_N_ELEMENTS(rp1000_amp_cab_group)}, }; static Effect gnx3k_channel_1_effect[] = { - {"EQ Enable", AMP_EQ_ON_OFF, AMP_TYPE, AMP_POSITION, gnx3k_amp_group, G_N_ELEMENTS(gnx3k_amp_group)}, + {"EQ Enable", AMP_EQ_ON_OFF, AMP_TYPE, AMP_A_POSITION, gnx3k_amp_group, G_N_ELEMENTS(gnx3k_amp_group)}, {NULL, -1, AMP_CAB_TYPE, AMP_CAB_POSITION, gnx3k_amp_cab_group, G_N_ELEMENTS(gnx3k_amp_cab_group)}, {NULL, -1, -1, -1, gnx3k_ch1_cab_tuning_group, G_N_ELEMENTS(gnx3k_ch1_cab_tuning_group)}, {NULL, -1, -1, -1, gnx3k_ch1_amp_eq_group, G_N_ELEMENTS(gnx3k_ch1_amp_eq_group)}, @@ -3259,13 +3259,22 @@ static Modifier modifiers[] = { {"Dist Sustain", DIST_MP_SUSTAIN, DIST_POSITION, &values_0_to_99}, {"Dist Tone", DIST_MP_TONE, DIST_POSITION, &values_0_to_99}, {"Dist Volume", DIST_MP_VOLUME, DIST_POSITION, &values_0_to_99}, - {"Amp Channel Enable", AMP_ON_OFF, AMP_POSITION, &values_on_off}, - {"Amp Gain", AMP_GAIN, AMP_POSITION, &values_0_to_99}, - {"Amp Level", AMP_LEVEL, AMP_POSITION, &values_0_to_99}, + {"Amp Channel Enable", AMP_ON_OFF, AMP_A_POSITION, &values_on_off}, + {"Amp Gain", AMP_GAIN, AMP_A_POSITION, &values_0_to_99}, + {"Amp Level", AMP_LEVEL, AMP_A_POSITION, &values_0_to_99}, + {"Amp Channel Enable", AMP_ON_OFF, AMP_B_POSITION, &values_on_off}, + {"Amp Gain", AMP_GAIN, AMP_B_POSITION, &values_0_to_99}, + {"Amp Level", AMP_LEVEL, AMP_B_POSITION, &values_0_to_99}, {"EQ Enable", EQ_ENABLE, EQ_A_POSITION, &values_on_off}, {"EQ Bass", EQ_BASS, EQ_A_POSITION, &values_eq_db}, {"EQ Mid", EQ_MID, EQ_A_POSITION, &values_eq_db}, {"EQ Treb", EQ_TREB, EQ_A_POSITION, &values_eq_db}, + {"EQ Treb", EQ_PRESENCE, EQ_A_POSITION, &values_eq_db}, + {"EQ Enable", EQ_ENABLE, EQ_B_POSITION, &values_on_off}, + {"EQ Bass", EQ_BASS, EQ_B_POSITION, &values_eq_db}, + {"EQ Mid", EQ_MID, EQ_B_POSITION, &values_eq_db}, + {"EQ Treb", EQ_TREB, EQ_B_POSITION, &values_eq_db}, + {"EQ Treb", EQ_PRESENCE, EQ_B_POSITION, &values_eq_db}, {"Gate Enable", NOISEGATE_ON_OFF, NOISEGATE_POSITION, &values_on_off}, {"Gate Pluck Sens", NOISEGATE_SWELL_SENS, NOISEGATE_POSITION, &values_0_to_99}, {"Gate Threshold", NOISEGATE_GATE_TRESHOLD, NOISEGATE_POSITION, &values_0_to_99}, @@ -3853,10 +3862,10 @@ XmlSettings xml_settings[] = { {AMP_CHANNEL, AMP_CHANNEL_POSITION, "Amp Channel", &values_a_b, xml_amp_channel_labels, G_N_ELEMENTS(xml_amp_channel_labels)}, - {AMP_TYPE, AMP_POSITION, "Amp A Type", &values_amp_type, xml_amp_labels, G_N_ELEMENTS(xml_amp_labels)}, - {AMP_ON_OFF, AMP_POSITION, "Amp A Enable", &values_on_off, xml_on_off_labels, G_N_ELEMENTS(xml_on_off_labels)}, - {AMP_GAIN, AMP_POSITION, "Amp A Gain", &values_0_to_99,}, - {AMP_LEVEL, AMP_POSITION, "Amp A Level", &values_0_to_99,}, + {AMP_TYPE, AMP_A_POSITION, "Amp A Type", &values_amp_type, xml_amp_labels, G_N_ELEMENTS(xml_amp_labels)}, + {AMP_ON_OFF, AMP_A_POSITION, "Amp A Enable", &values_on_off, xml_on_off_labels, G_N_ELEMENTS(xml_on_off_labels)}, + {AMP_GAIN, AMP_A_POSITION, "Amp A Gain", &values_0_to_99,}, + {AMP_LEVEL, AMP_A_POSITION, "Amp A Level", &values_0_to_99,}, {AMP_TYPE, AMP_B_POSITION, "Amp B Type", &values_amp_type, xml_amp_labels, G_N_ELEMENTS(xml_amp_labels)}, {AMP_ON_OFF, AMP_B_POSITION, "Amp B Enable", &values_on_off, xml_on_off_labels, G_N_ELEMENTS(xml_on_off_labels)}, @@ -3996,8 +4005,8 @@ XmlSettings xml_settings[] = { {EQ_BASS, EQ_A_POSITION, "EQ A Bass", &values_eq_db,}, {EQ_MID, EQ_A_POSITION, "EQ A Mid", &values_eq_db,}, {EQ_TREB, EQ_A_POSITION, "EQ A Treb", &values_eq_db,}, - {EQ_MID_FREQ, EQ_A_POSITION, "EQ A Mid Freq", &values_eq_mid_hz,}, {EQ_PRESENCE, EQ_A_POSITION, "EQ A Presence", &values_eq_db,}, + {EQ_MID_FREQ, EQ_A_POSITION, "EQ A Mid Freq", &values_eq_mid_hz,}, {EQ_TREB_FREQ, EQ_A_POSITION, "EQ A Treb Freq", &values_eq_treb_hz,}, {EQ_ENABLE, EQ_B_POSITION, "EQ B Enable", &values_on_off, xml_on_off_labels, G_N_ELEMENTS(xml_on_off_labels)}, @@ -4005,8 +4014,8 @@ XmlSettings xml_settings[] = { {EQ_BASS, EQ_B_POSITION, "EQ B Bass", &values_eq_db,}, {EQ_MID, EQ_B_POSITION, "EQ B Mid", &values_eq_db,}, {EQ_TREB, EQ_B_POSITION, "EQ B Treb", &values_eq_db,}, - {EQ_MID_FREQ, EQ_B_POSITION, "EQ B Mid Freq", &values_eq_mid_hz,}, {EQ_PRESENCE, EQ_B_POSITION, "EQ B Presence", &values_eq_db,}, + {EQ_MID_FREQ, EQ_B_POSITION, "EQ B Mid Freq", &values_eq_mid_hz,}, {EQ_TREB_FREQ, EQ_B_POSITION, "EQ B Treb Freq", &values_eq_treb_hz,}, {TONE_LIB_TYPE, LIB_POSITION, "Tone Lib Type", &values_tone_lib_type, xml_tone_lib_labels, G_N_ELEMENTS(xml_tone_lib_labels)}, @@ -4124,7 +4133,7 @@ ModifierGroup *modifier_linkable_list() if (group[i].settings == NULL) group[i].settings_amt = 0; - g_message("ID: %d Position: %d Label: %s", id, position, modifier ? modifier->label : NULL); + g_message("ID: %4d Position: %2d Label: %s", id, position, modifier ? modifier->label : NULL); } modifier_group->group = group; diff --git a/gdigi.c b/gdigi.c index 4044796..2995bb6 100644 --- a/gdigi.c +++ b/gdigi.c @@ -250,7 +250,7 @@ void push_message(GString *msg) case RECEIVE_PARAMETER_VALUE: unpack_message(msg); SettingParam *param = setting_param_new_from_data(&msg->str[8], NULL); - g_message("ID: %d Position: %d Value: %d", param->id, param->position, param->value); + g_message("ID: %5d Position: %2d Value: %.1d", param->id, param->position, param->value); GDK_THREADS_ENTER(); apply_setting_param_to_gui(param); @@ -274,12 +274,59 @@ void push_message(GString *msg) } else { g_message("%d %d moved to %d %d", str[9], str[10], str[11], str[12]); } + case NOTIFY_MODIFIER_GROUP_CHANGED: + { + int i; + printf("\n"); + for (i = 0; i < msg->len; i++) { + printf(" %02x", (unsigned char) str[i]); + } + printf("\n"); + g_message("Modifier group id %d changed", + (str[9] << 8) | (str[10])); break; + } default: g_message("Received unhandled device notification 0x%x", str[11]); } g_string_free(msg, TRUE); return; + case RECEIVE_GLOBAL_PARAMETERS: + unpack_message(msg); + gint tot, n, x; + tot = (unsigned char)msg->str[9]; + for (n = 0; n < msg->len; n++) { + printf("%02x ",(unsigned char) msg->str[n]); + } + printf("\n"); + + n = 0; + x = 10; + do { + param = setting_param_new_from_data(&msg->str[x], &x); + g_message("Received global param ID: %5d Position: %2.1d Value: %6.1d", + param->id, param->position, param->value); + setting_param_free(param); + } while ( (x < msg->len) && n < tot); + + g_string_free(msg, TRUE); + return; + + + case RECEIVE_MODIFIER_LINKABLE_LIST: + unpack_message(msg); + tot = (unsigned char)msg->str[9]; + for (n = 0; n < msg->len; n++) { + printf("%02x ",(unsigned char) msg->str[n]); + } + printf("\n"); + + modifier_linkable_list(msg); + + g_string_free(msg, TRUE); + return; + + default: g_mutex_lock(message_queue_mutex); g_queue_push_tail(message_queue, msg); @@ -664,6 +711,7 @@ void set_option(guint id, guint position, guint value) ((id & 0xFF00) >> 8), (id & 0xFF), position); append_value(msg, value); + g_message("Sending id %d position %d value %d", id, position, value); send_message(RECEIVE_PARAMETER_VALUE, msg->str, msg->len); g_string_free(msg, TRUE); } @@ -1082,8 +1130,6 @@ static gboolean request_who_am_i(unsigned char *device_id, unsigned char *family *device_id = data->str[8]; *family_id = data->str[9]; *product_id = data->str[10]; - g_message("I am device id %d family %d product id %d.", - *device_id, *family_id, *product_id); g_string_free(data, TRUE); return TRUE; } diff --git a/gdigi.h b/gdigi.h index 1a46e4b..669e77b 100644 --- a/gdigi.h +++ b/gdigi.h @@ -315,7 +315,7 @@ enum { #define AMP_TYPE 2496 #define AMP_ON_OFF 265 -#define AMP_POSITION 8 +#define AMP_A_POSITION 8 #define AMP_B_POSITION 10 #define AMP_LOOP_ON_OFF 3649 @@ -427,7 +427,6 @@ enum { #define EQ_TREB_FREQ 3211 #define EQ_ENABLE 3212 - #define EQ_LOW_FREQ 3213 #define EQ_MID_FREQ_XXX 3214 #define EQ_HIGH_FREQ 3215 diff --git a/preset.c b/preset.c index 21ed711..bb26903 100644 --- a/preset.c +++ b/preset.c @@ -326,7 +326,8 @@ Preset *create_preset_from_data(GList *list) SettingParam *param = setting_param_new_from_data(&data->str[x], &x); n++; preset->params = g_list_prepend(preset->params, param); - g_message("%d ID %d Position %d Value %d", n, param->id, param->position, param->value); + g_message("%3d ID %4d Position %2d Value %6.1d", + n, param->id, param->position, param->value); } while ((x < data->len) && nparams = g_list_sort(preset->params, params_cmp);