/*
Copyright (C) 2007 Paul Davis
- Author: Dave Robillard
+ Author: David Robillard
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 "gtkmm2ext/barcontroller.h"
#include "pbd/signals.h"
+#include "evoral/Parameter.hpp"
namespace ARDOUR {
class Session;
class Automatable;
}
-
+/** A BarController which displays the value and allows control of an AutomationControl */
class AutomationController : public Gtkmm2ext::BarController {
public:
static boost::shared_ptr<AutomationController> create(
void display_effective_value();
void value_adjusted();
+ void stop_updating ();
+
private:
- AutomationController (boost::shared_ptr<ARDOUR::AutomationControl> ac, Gtk::Adjustment* adj);
- std::string get_label (int&);
+ AutomationController (boost::shared_ptr<ARDOUR::Automatable> printer, boost::shared_ptr<ARDOUR::AutomationControl> ac, Gtk::Adjustment* adj);
+ std::string get_label (double&);
void start_touch();
void end_touch();
void value_changed();
- void automation_state_changed();
bool _ignore_change;
+ boost::shared_ptr<ARDOUR::Automatable> _printer;
boost::shared_ptr<ARDOUR::AutomationControl> _controllable;
Gtk::Adjustment* _adjustment;
sigc::connection _screen_update_connection;