fix up boost signal return value so that the "edit" signal of MIDI::Parser works properly, and thus allows MIDI Clock etc.

git-svn-id: svn://localhost/ardour2/branches/3.0@6607 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Paul Davis 2010-02-01 04:08:49 +00:00
parent 74c03b9fc0
commit ae1abc4ea6

View file

@ -386,7 +386,9 @@ Parser::scanner (unsigned char inbyte)
} }
if (rtmsg) { if (rtmsg) {
if (edit (&inbyte, 1) >= 0 && !_offline) { boost::optional<int> res = edit (&inbyte, 1);
if (res.get_value_or (1) >= 0 && !_offline) {
realtime_msg (inbyte); realtime_msg (inbyte);
} }
@ -419,7 +421,11 @@ Parser::scanner (unsigned char inbyte)
} }
cerr << dec << endl; cerr << dec << endl;
#endif #endif
if (msgindex > 0 && (edit.empty() || !(*edit (msgbuf, msgindex) >= 0))) { if (msgindex > 0) {
boost::optional<int> res = edit (msgbuf, msgindex);
if (res.get_value_or (1) >= 0) {
if (!possible_mmc (msgbuf, msgindex) || _mmc_forward) { if (!possible_mmc (msgbuf, msgindex) || _mmc_forward) {
if (!possible_mtc (msgbuf, msgindex) || _mtc_forward) { if (!possible_mtc (msgbuf, msgindex) || _mtc_forward) {
if (!_offline) { if (!_offline) {
@ -432,6 +438,7 @@ Parser::scanner (unsigned char inbyte)
} }
} }
} }
}
/* /*
* Status bytes always start a new message, except EOX * Status bytes always start a new message, except EOX