From: c vw Date: Fri, 8 Nov 2019 18:23:27 +0000 (+0100) Subject: small changes X-Git-Url: https://git.rkrishnan.org/pf/components/flags/%3C?a=commitdiff_plain;h=e6bc82f5732ec6ded47a1c8256ae9df7f74dd8cb;p=pihpsdr.git small changes --- diff --git a/hercules.midi.inp b/hercules.midi.inp index 2875309..01a3c18 100644 --- a/hercules.midi.inp +++ b/hercules.midi.inp @@ -1,5 +1,13 @@ DEVICE=HERCULES # +# The "Mox" key works in any of the four modes +# (Loop/FX/Samples/Cue) +# and with/without the SH button pressed. +# For such a case, we have to assign it eight times. +# +# Generally, you can map up to eight functions on a single +# physical button, but in some cases you do not want to. +# KEY= 1 ACTION=MOX KEY= 5 ACTION=MOX KEY= 9 ACTION=MOX diff --git a/midi.inp b/midi.inp index 66ef152..01094a1 100644 --- a/midi.inp +++ b/midi.inp @@ -12,7 +12,7 @@ DEVICE=CMD PL-1 # Ignore this, because this happens unintentionally most of the time you # use the wheel. # -CTRL=31 WHEEL THR=0 59 60 61 62 63 65 66 67 68 69 127 ACTION=VFO +CTRL=31 WHEEL THR=0 59 60 61 62 63 65 66 67 68 69 127 ACTION=CURRVFO KEY=31 ACTION=NONE # # Big slider (pitch-bend controller): AF volume @@ -34,7 +34,7 @@ CTRL=0 WHEEL THR=-1 -1 -1 -1 1 63 65 127 128 128 128 128 ACTION=ATT CTRL=1 WHEEL THR=-1 -1 -1 -1 1 63 65 127 128 128 128 128 ACTION=COMPRESS CTRL=2 WHEEL THR=-1 -1 -1 -1 1 63 65 127 128 128 128 128 ACTION=RITVAL CTRL=3 WHEEL THR=-1 -1 -1 -1 1 63 65 127 128 128 128 128 ACTION=PANLOW -CTRL=4 WHEEL THR=-1 -1 -1 -1 1 63 65 127 128 128 128 128 ACTION=AGC +CTRL=4 WHEEL THR=-1 -1 -1 -1 1 63 65 127 128 128 128 128 ACTION=AGCVAL CTRL=5 WHEEL THR=-1 -1 -1 -1 1 63 65 127 128 128 128 128 ACTION=MICGAIN CTRL=6 WHEEL THR=-1 -1 -1 -1 1 63 65 127 128 128 128 128 ACTION=RFPOWER CTRL=7 WHEEL THR=-1 -1 -1 -1 1 63 65 127 128 128 128 128 ACTION=FILTERUP @@ -77,8 +77,8 @@ KEY=24 ACTION=TUNE # LOAD button: TUNE on/off KEY=25 ACTION=LOCK # LOCK button: Lock VFO(s) KEY=26 ACTION=PURESIGNAL # DECK button: toggle PURESIGNAL KEY=27 ACTION=SWAPRX # SCRATCH button: Swap active/inactive RX -KEY=32 ACTION=VFOA2B # SYNC button: Frequency VFO A -> VFO B -KEY=33 ACTION=VFOB2A # TAP button: Frequency VFO B -> VFO A +KEY=32 ACTION=A2B # SYNC button: Frequency VFO A -> VFO B +KEY=33 ACTION=B2A # TAP button: Frequency VFO B -> VFO A KEY=34 ACTION=MOX # CUE button: MOX on/off KEY=35 ACTION=SPLIT # >|| button: toggle Split KEY=36 ACTION=MODEDOWN # << button: Mode down diff --git a/midi2.c b/midi2.c index 4754f52..db6d979 100644 --- a/midi2.c +++ b/midi2.c @@ -99,7 +99,7 @@ static struct { const char *str; } ActionTable[] = { { AF_GAIN, "AFGAIN"}, - { MIDI_AGC, "AGC"}, + { MIDI_AGC, "AGCVAL"}, { AGCATTACK, "AGCATTACK"}, { ATT, "ATT"}, { BAND_DOWN, "BANDDOWN"}, diff --git a/midi3.c b/midi3.c index 2f5c260..120e792 100644 --- a/midi3.c +++ b/midi3.c @@ -34,6 +34,11 @@ void DoTheMidi(enum MIDIaction action, enum MIDItype type, int val) { // Handle cases in alphabetical order of the key words in midi.inp // switch (action) { + case VFO_A2B: // only key supported + if (type == MIDI_KEY) { + g_idle_add(ext_vfo_a_to_b, NULL); + } + break; case AF_GAIN: // knob or wheel supported switch (type) { case MIDI_KNOB: @@ -51,6 +56,15 @@ void DoTheMidi(enum MIDIaction action, enum MIDItype type, int val) { } g_idle_add(ext_update_af_gain, NULL); break; + case AGCATTACK: // only key supported + // cycle through fast/med/slow AGC attack + if (type == MIDI_KEY) { + new=active_receiver->agc + 1; + if (new > AGC_FAST) new=0; + active_receiver->agc=new; + g_idle_add(ext_vfo_update, NULL); + } + break; case MIDI_AGC: // knob or wheel supported switch (type) { case MIDI_KNOB: @@ -70,15 +84,6 @@ void DoTheMidi(enum MIDIaction action, enum MIDItype type, int val) { *dp=dnew; g_idle_add(ext_set_agc_gain, (gpointer) dp); break; - case AGCATTACK: // only key supported - // cycle through fast/med/slow AGC attack - if (type == MIDI_KEY) { - new=active_receiver->agc + 1; - if (new > AGC_FAST) new=0; - active_receiver->agc=new; - g_idle_add(ext_vfo_update, NULL); - } - break; case ATT: // Key for ALEX attenuator, wheel or knob for slider switch(type) { case MIDI_KEY: @@ -109,6 +114,11 @@ void DoTheMidi(enum MIDIaction action, enum MIDItype type, int val) { break; } break; + case VFO_B2A: // only key supported + if (type == MIDI_KEY) { + g_idle_add(ext_vfo_b_to_a, NULL); + } + break; case BAND_DOWN: case BAND_UP: switch (type) { @@ -167,6 +177,11 @@ void DoTheMidi(enum MIDIaction action, enum MIDItype type, int val) { g_idle_add(ext_ctun_update, NULL); } break; + case VFO: // only wheel supported + if (type == MIDI_WHEEL && !locked) { + g_idle_add(ext_vfo_step, GINT_TO_POINTER(val)); + } + break; case MIDI_DUP: if(duplex) { duplex=0; @@ -518,11 +533,6 @@ void DoTheMidi(enum MIDIaction action, enum MIDItype type, int val) { g_idle_add(ext_tune_update, GINT_TO_POINTER(new)); } break; - case VFO: // only wheel supported - if (type == MIDI_WHEEL && !locked) { - g_idle_add(ext_vfo_step, GINT_TO_POINTER(val)); - } - break; case VFOA: // only wheel supported case VFOB: // only wheel supported if (type == MIDI_WHEEL && !locked) { @@ -532,16 +542,6 @@ void DoTheMidi(enum MIDIaction action, enum MIDItype type, int val) { g_idle_add(ext_vfo_id_step, ip); } break; - case VFO_A2B: // only key supported - if (type == MIDI_KEY) { - g_idle_add(ext_vfo_a_to_b, NULL); - } - break; - case VFO_B2A: // only key supported - if (type == MIDI_KEY) { - g_idle_add(ext_vfo_b_to_a, NULL); - } - break; case VFO_STEP_DOWN: // key or wheel supported case VFO_STEP_UP: switch (type) {