Browse Source

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 9 years ago
parent
commit
39021c4c3b
1 changed files with 3 additions and 1 deletions
  1. 3
    1
      dsp/cmDspKr.c

+ 3
- 1
dsp/cmDspKr.c View File

@@ -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…
Cancel
Save