mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-09 16:24:57 +01:00
change API for libmidi++ RPN-related signals to be more useful
This commit is contained in:
parent
14fe7a0ae8
commit
5f7784e4f2
2 changed files with 12 additions and 11 deletions
|
|
@ -174,12 +174,12 @@ Channel::maybe_process_rpns (Parser& parser, EventTwoBytes *tb)
|
||||||
case 0x60:
|
case 0x60:
|
||||||
/* data increment */
|
/* data increment */
|
||||||
_nrpn_state = RPNState (_nrpn_state|HaveValue);
|
_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;
|
return true;
|
||||||
case 0x61:
|
case 0x61:
|
||||||
/* data decrement */
|
/* data decrement */
|
||||||
_nrpn_state = RPNState (_nrpn_state|HaveValue);
|
_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;
|
return true;
|
||||||
case 0x06:
|
case 0x06:
|
||||||
/* data entry MSB */
|
/* data entry MSB */
|
||||||
|
|
@ -202,7 +202,7 @@ Channel::maybe_process_rpns (Parser& parser, EventTwoBytes *tb)
|
||||||
result.first->second = rpn_val;
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -214,12 +214,12 @@ Channel::maybe_process_rpns (Parser& parser, EventTwoBytes *tb)
|
||||||
case 0x60:
|
case 0x60:
|
||||||
/* data increment */
|
/* data increment */
|
||||||
_rpn_state = RPNState (_rpn_state|HaveValue);
|
_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;
|
return true;
|
||||||
case 0x61:
|
case 0x61:
|
||||||
/* data decrement */
|
/* data decrement */
|
||||||
_rpn_state = RPNState (_rpn_state|HaveValue);
|
_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;
|
return true;
|
||||||
case 0x06:
|
case 0x06:
|
||||||
/* data entry MSB */
|
/* data entry MSB */
|
||||||
|
|
@ -242,7 +242,7 @@ Channel::maybe_process_rpns (Parser& parser, EventTwoBytes *tb)
|
||||||
result.first->second = rpn_val;
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,8 @@ typedef PBD::Signal2<void,Parser&,framecnt_t> TimestampedSignal;
|
||||||
typedef PBD::Signal2<void,Parser&, byte> OneByteSignal;
|
typedef PBD::Signal2<void,Parser&, byte> OneByteSignal;
|
||||||
typedef PBD::Signal2<void,Parser &, EventTwoBytes *> TwoByteSignal;
|
typedef PBD::Signal2<void,Parser &, EventTwoBytes *> TwoByteSignal;
|
||||||
typedef PBD::Signal2<void,Parser &, pitchbend_t> PitchBendSignal;
|
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;
|
typedef PBD::Signal3<void,Parser &, byte *, size_t> Signal;
|
||||||
|
|
||||||
class LIBMIDIPP_API Parser {
|
class LIBMIDIPP_API Parser {
|
||||||
|
|
@ -78,10 +79,10 @@ class LIBMIDIPP_API Parser {
|
||||||
ZeroByteSignal channel_active_postparse[16];
|
ZeroByteSignal channel_active_postparse[16];
|
||||||
RPNSignal channel_rpn[16];
|
RPNSignal channel_rpn[16];
|
||||||
RPNSignal channel_nrpn[16];
|
RPNSignal channel_nrpn[16];
|
||||||
RPNSignal channel_rpn_increment[16];
|
RPNValueSignal channel_rpn_increment[16];
|
||||||
RPNSignal channel_rpn_decrement[16];
|
RPNValueSignal channel_rpn_decrement[16];
|
||||||
RPNSignal channel_nrpn_increment[16];
|
RPNValueSignal channel_nrpn_increment[16];
|
||||||
RPNSignal channel_nrpn_decrement[16];
|
RPNValueSignal channel_nrpn_decrement[16];
|
||||||
|
|
||||||
OneByteSignal mtc_quarter_frame; /* see below for more useful signals */
|
OneByteSignal mtc_quarter_frame; /* see below for more useful signals */
|
||||||
Signal mtc;
|
Signal mtc;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue