#include <gtkmm/menu.h>
#include <gtkmm/scrolledwindow.h>
-#include "gtkmm2ext/auto_spin.h"
#include "gtkmm2ext/bindings.h"
-#include "gtkmm2ext/click_box.h"
#include "gtkmm2ext/dndtreeview.h"
#include "gtkmm2ext/dndvbox.h"
-#include "gtkmm2ext/pixfader.h"
#include "gtkmm2ext/persistent_tooltip.h"
#include "pbd/stateful.h"
#include "pbd/fastlog.h"
+#include "widgets/ardour_button.h"
+#include "widgets/ardour_fader.h"
+#include "widgets/slider_controller.h"
+
#include "plugin_interest.h"
+#include "plugin_display.h"
#include "io_selector.h"
#include "send_ui.h"
#include "enums.h"
-#include "ardour_button.h"
#include "window_manager.h"
class MotionController;
ARDOUR::SessionHandlePtr* session_handle();
private:
- ProcessorBox* _processor_box;
boost::weak_ptr<ARDOUR::Processor> _processor;
void processor_going_away ();
Gtk::Menu* build_send_options_menu ();
protected:
- ArdourButton _button;
+ ArdourWidgets::ArdourButton _button;
Gtk::VBox _vbox;
Position _position;
uint32_t _position_num;
void button_clicked ();
void button_clicked_event (GdkEventButton *);
void control_changed ();
+ void control_automation_state_changed ();
std::string state_id () const;
void set_tooltip ();
+ void start_touch ();
+ void end_touch ();
+
boost::weak_ptr<ARDOUR::AutomationControl> _control;
/* things for a slider */
Gtk::Adjustment _adjustment;
- Gtkmm2ext::HSliderController _slider;
+ ArdourWidgets::HSliderController _slider;
Gtkmm2ext::PersistentTooltip _slider_persistant_tooltip;
/* things for a button */
- ArdourButton _button;
+ ArdourWidgets::ArdourButton _button;
bool _ignore_ui_adjustment;
- PBD::ScopedConnection _connection;
+ PBD::ScopedConnectionList _connections;
bool _visible;
std::string _name;
- sigc::connection timer_connection;
};
std::list<Control*> _controls;
void toggle_panner_link ();
void toggle_allow_feedback ();
- class PluginDisplay : public Gtk::DrawingArea {
+ class PluginInlineDisplay : public PluginDisplay {
public:
- PluginDisplay(ProcessorEntry&, boost::shared_ptr<ARDOUR::Plugin>, uint32_t max_height = 80);
- virtual ~PluginDisplay();
+ PluginInlineDisplay(ProcessorEntry&, boost::shared_ptr<ARDOUR::Plugin>, uint32_t max_height = 80);
+ ~PluginInlineDisplay() {}
protected:
- bool on_expose_event (GdkEventExpose *);
void on_size_request (Gtk::Requisition* req);
bool on_button_press_event (GdkEventButton *ev);
- bool on_button_release_event (GdkEventButton *ev);
-
- void plugin_going_away () {
- _qdraw_connection.disconnect ();
- }
-
void update_height_alloc (uint32_t inline_height);
- virtual uint32_t render_inline (cairo_t *, uint32_t width);
+
+ void display_sample (cairo_t* cr, double w, double h);
ProcessorEntry& _entry;
- boost::shared_ptr<ARDOUR::Plugin> _plug;
- PBD::ScopedConnection _qdraw_connection;
- PBD::ScopedConnection _death_connection;
- cairo_surface_t* _surf;
- uint32_t _max_height;
- uint32_t _cur_height;
bool _scroll;
+ const uint32_t _given_max_height;
};
- class LuaPluginDisplay : public PluginDisplay {
+ class LuaPluginDisplay : public PluginInlineDisplay {
public:
LuaPluginDisplay(ProcessorEntry&, boost::shared_ptr<ARDOUR::LuaProc>, uint32_t max_height = 80);
~LuaPluginDisplay();
* put at the end of the plugin list.
*/
int _placement;
- uint32_t _visible_prefader_processors;
ProcessorSelection& _p_selection;
- static Gtkmm2ext::ActionMap myactions;
static void load_bindings ();
Gtk::Menu * build_processor_menu ();
void show_processor_menu (int);
Gtk::Menu* build_possible_aux_menu();
+ Gtk::Menu* build_possible_listener_menu();
+ Gtk::Menu* build_possible_remove_listener_menu();
void choose_aux (boost::weak_ptr<ARDOUR::Route>);
+ void remove_aux (boost::weak_ptr<ARDOUR::Route>);
void choose_send ();
void send_io_finished (IOSelector::Result, boost::weak_ptr<ARDOUR::Processor>, IOSelectorWindow*);
void return_io_finished (IOSelector::Result, boost::weak_ptr<ARDOUR::Processor>, IOSelectorWindow*);
bool processor_button_release_event (GdkEventButton *, ProcessorEntry *);
void redisplay_processors ();
void add_processor_to_display (boost::weak_ptr<ARDOUR::Processor>);
- void help_count_visible_prefader_processors (boost::weak_ptr<ARDOUR::Processor>, uint32_t*, bool*);
void reordered ();
void report_failed_reorder ();
void route_processors_changed (ARDOUR::RouteProcessorChange);
void for_selected_processors (void (ProcessorBox::*pmf)(boost::shared_ptr<ARDOUR::Processor>));
void get_selected_processors (ProcSelection&) const;
+ void set_disk_io_position (ARDOUR::DiskIOPoint);
+
bool can_cut() const;
bool stub_processor_selected() const;
static Glib::RefPtr<Gtk::Action> delete_action;
static Glib::RefPtr<Gtk::Action> backspace_action;
static Glib::RefPtr<Gtk::Action> manage_pins_action;
+ static Glib::RefPtr<Gtk::Action> disk_io_action;
static Glib::RefPtr<Gtk::Action> edit_action;
static Glib::RefPtr<Gtk::Action> edit_generic_action;
void paste_processor_state (const XMLNodeList&, boost::shared_ptr<ARDOUR::Processor>);
static ProcessorBox* _current_processor_box;
static void rb_choose_aux (boost::weak_ptr<ARDOUR::Route>);
+ static void rb_remove_aux (boost::weak_ptr<ARDOUR::Route>);
static void rb_choose_plugin ();
static void rb_choose_insert ();
static void rb_choose_send ();
static void rb_deactivate_all ();
static void rb_ab_plugins ();
static void rb_manage_pins ();
+ static void rb_set_disk_io_position (ARDOUR::DiskIOPoint);
static void rb_edit ();
static void rb_edit_generic ();