|
@@ -23,13 +23,13 @@
|
23
|
23
|
enum
|
24
|
24
|
{
|
25
|
25
|
kLocSmgFl = 0x0001,
|
26
|
|
- kBarSmgFl = 0x0002,
|
27
|
|
- kNoteSmgFl = 0x0004,
|
28
|
|
- kPedalSmgFl = 0x0008,
|
29
|
|
- kSostSmgFl = 0x0010,
|
30
|
|
- kMidiSmgFl = 0x0020,
|
31
|
|
- kNoMatchSmgFl = 0x0040,
|
32
|
|
- kPedalDnSmgFl = 0x0080
|
|
26
|
+ kBarSmgFl = 0x0002, // score bar
|
|
27
|
+ kNoteSmgFl = 0x0004, // score note
|
|
28
|
+ kPedalSmgFl = 0x0008, // sore damper|sot pedal
|
|
29
|
+ kSostSmgFl = 0x0010, // score sost pedal
|
|
30
|
+ kMidiSmgFl = 0x0020, // midi msg
|
|
31
|
+ kNoMatchSmgFl = 0x0040, // midi or score events that were not matched
|
|
32
|
+ kPedalDnSmgFl = 0x0080 // score pedal is down
|
33
|
33
|
};
|
34
|
34
|
|
35
|
35
|
// Graphic box representing a score label or MIDI event
|
|
@@ -684,13 +684,16 @@ cmSmgRC_t _cmScoreMatchGraphicUpdateSostenuto( cmSmg_t* p, cmMidiFileH_t mfH )
|
684
|
684
|
cmSmgRC_t rc = kOkSmgRC;
|
685
|
685
|
unsigned i, j = cmInvalidIdx;
|
686
|
686
|
bool pedalUpFl = false;
|
687
|
|
-
|
|
687
|
+
|
|
688
|
+ // for each score event
|
688
|
689
|
for(i=0; i<p->scN; ++i)
|
689
|
690
|
{
|
|
691
|
+
|
690
|
692
|
switch( p->scV[i].type )
|
691
|
693
|
{
|
692
|
694
|
case kNonEvtScId:
|
693
|
695
|
{
|
|
696
|
+ // if the pedalUpFl is set then insert a sost-pedal-up msg before this note.
|
694
|
697
|
if( pedalUpFl )
|
695
|
698
|
{
|
696
|
699
|
_cmScoreMatchGraphicInsertMidiMsg(p, mfH, false, p->scV + i );
|