Prompt the user for confirmation before removing an export format.
[ardour.git] / libs / midi++2 / parser.cc
index a42a465193fa05a967b24ee96a8e003102c7f2cb..8e3af64504407f8cdbf5e9377256bbdac1a2a3b6 100644 (file)
@@ -105,8 +105,7 @@ Parser::midi_event_type_name (eventType t)
 }
 
 Parser::Parser (Port &p) 
-       : _port (p)
-
+       : _port(p)
 {
        trace_stream = 0;
        trace_prefix = "";
@@ -196,7 +195,7 @@ Parser::trace_event (Parser &, byte *msg, size_t len)
                *o << trace_prefix 
                   << "Channel "
                   << (msg[0]&0xF)+1
-                  <<  " Program PropertyChange ProgNum "
+                  <<  " Program Change ProgNum "
                   << (int) msg[1]
                   << endmsg;
                break;
@@ -326,6 +325,7 @@ void
 Parser::scanner (unsigned char inbyte)
 {
        bool statusbit;
+        boost::optional<int> edit_result;
 
        // cerr << "parse: " << hex << (int) inbyte << dec << " state = " << state << " msgindex = " << msgindex << " runnable = " << runnable << endl;
        
@@ -497,7 +497,10 @@ Parser::scanner (unsigned char inbyte)
                
        case NEEDONEBYTE:
                /* We've completed a 1 or 2 byte message. */
-               if (edit.empty() || !(*edit (msgbuf, msgindex) == 0)) {
+
+                edit_result = edit (msgbuf, msgindex);
+                
+               if (edit_result.get_value_or (1)) {
                        
                        /* message not cancelled by an editor */