Merge branch 'master' into cairocanvas
[ardour.git] / libs / midi++2 / midi++ / parser.h
index ac452798cc60fbe72cba6566217edd7182d10bd3..e4126b210bac34db57ae7ee4b8bdcc897679a2b3 100644 (file)
 
 #include "pbd/signals.h"
 
+#include "midi++/libmidi_visibility.h"
 #include "midi++/types.h"
 
 namespace MIDI {
 
-class PortBase;
+class Port;
 class Parser;
 
 typedef PBD::Signal1<void,Parser&>                   ZeroByteSignal;
@@ -39,9 +40,9 @@ typedef PBD::Signal2<void,Parser &, EventTwoBytes *> TwoByteSignal;
 typedef PBD::Signal2<void,Parser &, pitchbend_t>     PitchBendSignal;
 typedef PBD::Signal3<void,Parser &, byte *, size_t>  Signal;
 
-class Parser {
+class LIBMIDIPP_API Parser {
  public:
-       Parser (PortBase &p);
+       Parser ();
        ~Parser ();
 
        /* sets the time that will be reported for any MTC or MIDI Clock
@@ -105,7 +106,6 @@ class Parser {
        const char *midi_event_type_name (MIDI::eventType);
        void trace (bool onoff, std::ostream *o, const std::string &prefix = "");
        bool tracing() { return trace_stream != 0; }
-       PortBase &port() { return _port; }
 
        void set_offline (bool);
        bool offline() const { return _offline; }
@@ -136,7 +136,6 @@ class Parser {
        void reset_mtc_state ();
        
   private:
-       PortBase&_port;
        /* tracing */
        
        std::ostream *trace_stream;