add ::n_vcas() method to VCAManager
[ardour.git] / libs / ardour / ardour / midi_operator.h
index e3ed6aabfd18b57cb0c2e2f6759d4429725b8203..589e93041d646ef27720f2c14cee2e6e475df467 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2009 Paul Davis 
+    Copyright (C) 2009 Paul Davis
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
 #include <vector>
 #include <string>
 
-#include "evoral/types.hpp"
+#include "evoral/Beats.hpp"
 #include "evoral/Sequence.hpp"
 
+class Command;
+
 namespace ARDOUR {
 
-class MidiOperator {
+class MidiModel;
+
+class LIBARDOUR_API MidiOperator {
   public:
-       MidiOperator() {}
+       MidiOperator () {}
        virtual ~MidiOperator() {}
-       
-       virtual int operator() (std::vector<Evoral::Sequence<Evoral::MusicalTime>::Notes>&) = 0;
+
+       virtual Command* operator() (boost::shared_ptr<ARDOUR::MidiModel>,
+                                    Evoral::Beats,
+                                    std::vector<Evoral::Sequence<Evoral::Beats>::Notes>&) = 0;
        virtual std::string name() const = 0;
 };