]> git.rkrishnan.org Git - pihpsdr.git/commitdiff
small changes
authorc vw <dl1ycf@darc.de>
Fri, 8 Nov 2019 18:23:27 +0000 (19:23 +0100)
committerc vw <dl1ycf@darc.de>
Fri, 8 Nov 2019 18:23:27 +0000 (19:23 +0100)
hercules.midi.inp
midi.inp
midi2.c
midi3.c

index 28753094a0c8b1dd8129b01dcdf4f96cf7430049..01a3c18ba0fffbfbe45465cbef9b61d72956da0c 100644 (file)
@@ -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
index 66ef152412a183defda52fffc37f77202358784a..01094a1b5c7f2179d66b7e562b08f58aac915bc0 100644 (file)
--- 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 4754f52d11129c650b7784629c62c3447b98d035..db6d979880d05030fa73aa85fd399d33bcd8224b 100644 (file)
--- 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 2f5c2604c67a8679376ce290eab0974819234571..120e7925e21968ba11bd4d2622a9efb17ef888e8 100644 (file)
--- 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) {