Explorar el Código

cmDspKr.c : Added 'muid' as in input to cmDspScFol to accept a unique

identifier for each incoming MIDI message. This is then used as the 'muid'
arg. to cmScMatcherExec() to support definitively matching score events and
particular MIDI events.
master
Kevin Larke hace 9 años
padre
commit
39021c4c3b
Se han modificado 1 ficheros con 3 adiciones y 1 borrados
  1. 3
    1
      dsp/cmDspKr.c

+ 3
- 1
dsp/cmDspKr.c Ver fichero

@@ -889,6 +889,7 @@ enum
889 889
   kMinVelSfId,
890 890
   kMeasflSfId,
891 891
   kIndexSfId,
892
+  kMuidSfId,
892 893
   kStatusSfId,
893 894
   kD0SfId,
894 895
   kD1SfId,
@@ -935,6 +936,7 @@ cmDspInst_t*  _cmDspScFolAlloc(cmDspCtx_t* ctx, cmDspClass_t* classPtr, unsigned
935 936
     { "minvel",kMinVelSfId,   0, 0, kInDsvFl | kUIntDsvFl | kOptArgDsvFl,     "Minimum velocity."},
936 937
     { "measfl",kMeasflSfId,   0, 0, kInDsvFl | kBoolDsvFl | kOptArgDsvFl,     "Enable measurements"},
937 938
     { "index", kIndexSfId,    0, 0, kInDsvFl | kUIntDsvFl,                    "Tracking start location."},
939
+    { "muid",  kMuidSfId,     0, 0, kInDsvFl | kUIntDsvFl,                    "MIDI msg file unique id"},
938 940
     { "status",kStatusSfId,   0, 0, kInDsvFl | kUIntDsvFl,                    "MIDI status byte"},
939 941
     { "d0",    kD0SfId,       0, 0, kInDsvFl | kUIntDsvFl,                    "MIDI data byte 0"},
940 942
     { "d1",    kD1SfId,       0, 0, kInDsvFl | kUIntDsvFl,                    "MIDI data byte 1"},
@@ -1142,7 +1144,7 @@ cmDspRC_t _cmDspScFolRecv(cmDspCtx_t* ctx, cmDspInst_t* inst, const cmDspEvt_t*
1142 1144
           p->sfp->cbArg = &p->arg;
1143 1145
 
1144 1146
           // this call may result in a callback to _cmScFolMatcherCb()
1145
-          if( cmScMatcherExec(p->sfp, cmDspUInt(inst,kSmpIdxSfId), cmDspUInt(inst,kStatusSfId), cmDspUInt(inst,kD0SfId), cmDspUInt(inst,kD1SfId), &scLocIdx) == cmOkRC )
1147
+          if( cmScMatcherExec(p->sfp, cmDspUInt(inst,kSmpIdxSfId), cmDspUInt(inst,kMuidSfId), cmDspUInt(inst,kStatusSfId), cmDspUInt(inst,kD0SfId), cmDspUInt(inst,kD1SfId), &scLocIdx) == cmOkRC )
1146 1148
             if( scLocIdx != cmInvalidIdx )
1147 1149
             {
1148 1150
               // It is possible that the internal score follower may go backwards.  

Loading…
Cancelar
Guardar