Optimize plugin-processing for non-automated params
[ardour.git] / libs / ardour / ardour / midi_scene_changer.h
index e336eb8754426aeffa8259e56fc00d621dd462a7..cc9553aab8a7e73718b17c911d86f6ee7fdcfc4a 100644 (file)
@@ -35,33 +35,34 @@ class MIDISceneChanger : public SceneChanger
        MIDISceneChanger (Session&);
        ~MIDISceneChanger ();
 
-       void run (framepos_t start, framepos_t end);
-       void set_input_port (MIDI::Port*);
+       void run (samplepos_t start, samplepos_t end);
+       void set_input_port (boost::shared_ptr<MidiPort>);
        void set_output_port (boost::shared_ptr<MidiPort>);
 
-       uint8_t bank_at (framepos_t, uint8_t channel);
-       uint8_t program_at (framepos_t, uint8_t channel);
+       uint8_t bank_at (samplepos_t, uint8_t channel);
+       uint8_t program_at (samplepos_t, uint8_t channel);
 
        void set_recording (bool);
-       void locate (framepos_t);
+       void locate (samplepos_t);
 
-        /** Signal emitted whenever any relevant MIDI input is detected.
-         */
-        PBD::Signal0<void> MIDIInputActivity;
-        /** Signal emitted whenever any relevant MIDI output is sent.
-         */
-        PBD::Signal0<void> MIDIOutputActivity;
+       /** Signal emitted whenever any relevant MIDI input is detected.
+        */
+       PBD::Signal0<void> MIDIInputActivity;
+
+       /** Signal emitted whenever any relevant MIDI output is sent.
+        */
+       PBD::Signal0<void> MIDIOutputActivity;
 
     private:
-       typedef std::multimap<framepos_t,boost::shared_ptr<MIDISceneChange> > Scenes;
+       typedef std::multimap<samplepos_t,boost::shared_ptr<MIDISceneChange> > Scenes;
 
-       MIDI::Port* input_port;
+       boost::shared_ptr<MidiPort> input_port;
        boost::shared_ptr<MidiPort> output_port;
        Glib::Threads::RWLock scene_lock;
        Scenes scenes;
        bool _recording;
        bool have_seen_bank_changes;
-       framepos_t last_program_message_time;
+       samplepos_t last_program_message_time;
        unsigned short current_bank;
        int last_delivered_program;
        int last_delivered_bank;
@@ -69,7 +70,7 @@ class MIDISceneChanger : public SceneChanger
        void gather (const Locations::LocationList&);
        bool recording () const;
        void jump_to (int bank, int program);
-       void rt_deliver (MidiBuffer&, framepos_t, boost::shared_ptr<MIDISceneChange>);
+       void rt_deliver (MidiBuffer&, samplepos_t, boost::shared_ptr<MIDISceneChange>);
        void non_rt_deliver (boost::shared_ptr<MIDISceneChange>);
 
        void bank_change_input (MIDI::Parser&, unsigned short, int channel);