case 0x60:
/* data increment */
_nrpn_state = RPNState (_nrpn_state|HaveValue);
- parser.channel_nrpn_increment[_channel_number] (parser, rpn_id); /* EMIT SIGNAL */
+ parser.channel_nrpn_increment[_channel_number] (parser, rpn_id, 1); /* EMIT SIGNAL */
return true;
case 0x61:
/* data decrement */
_nrpn_state = RPNState (_nrpn_state|HaveValue);
- parser.channel_nrpn_decrement[_channel_number] (parser, rpn_id); /* EMIT SIGNAL */
+ parser.channel_nrpn_decrement[_channel_number] (parser, rpn_id, -1); /* EMIT SIGNAL */
return true;
case 0x06:
/* data entry MSB */
result.first->second = rpn_val;
}
- parser.channel_nrpn[_channel_number] (parser, rpn_id); /* EMIT SIGNAL */
+ parser.channel_nrpn[_channel_number] (parser, rpn_id, rpn_val); /* EMIT SIGNAL */
return true;
}
case 0x60:
/* data increment */
_rpn_state = RPNState (_rpn_state|HaveValue);
- parser.channel_rpn_increment[_channel_number] (parser, rpn_id); /* EMIT SIGNAL */
+ parser.channel_rpn_increment[_channel_number] (parser, rpn_id, 1); /* EMIT SIGNAL */
return true;
case 0x61:
/* data decrement */
_rpn_state = RPNState (_rpn_state|HaveValue);
- parser.channel_rpn_decrement[_channel_number] (parser, rpn_id); /* EMIT SIGNAL */
+ parser.channel_rpn_decrement[_channel_number] (parser, rpn_id, -1); /* EMIT SIGNAL */
return true;
case 0x06:
/* data entry MSB */
result.first->second = rpn_val;
}
- parser.channel_rpn[_channel_number] (parser, rpn_id); /* EMIT SIGNAL */
+ parser.channel_rpn[_channel_number] (parser, rpn_id, rpn_val); /* EMIT SIGNAL */
return true;
}
}
typedef PBD::Signal2<void,Parser&, byte> OneByteSignal;
typedef PBD::Signal2<void,Parser &, EventTwoBytes *> TwoByteSignal;
typedef PBD::Signal2<void,Parser &, pitchbend_t> PitchBendSignal;
-typedef PBD::Signal2<void,Parser &, uint16_t> RPNSignal;
+typedef PBD::Signal3<void,Parser &, uint16_t, int> RPNSignal;
+typedef PBD::Signal3<void,Parser &, uint16_t, float> RPNValueSignal;
typedef PBD::Signal3<void,Parser &, byte *, size_t> Signal;
class LIBMIDIPP_API Parser {
ZeroByteSignal channel_active_postparse[16];
RPNSignal channel_rpn[16];
RPNSignal channel_nrpn[16];
- RPNSignal channel_rpn_increment[16];
- RPNSignal channel_rpn_decrement[16];
- RPNSignal channel_nrpn_increment[16];
- RPNSignal channel_nrpn_decrement[16];
+ RPNValueSignal channel_rpn_increment[16];
+ RPNValueSignal channel_rpn_decrement[16];
+ RPNValueSignal channel_nrpn_increment[16];
+ RPNValueSignal channel_nrpn_decrement[16];
OneByteSignal mtc_quarter_frame; /* see below for more useful signals */
Signal mtc;