diff --git a/gtk2_ardour/add_route_dialog.cc b/gtk2_ardour/add_route_dialog.cc index 066fa84310..4c090afc75 100644 --- a/gtk2_ardour/add_route_dialog.cc +++ b/gtk2_ardour/add_route_dialog.cc @@ -32,6 +32,8 @@ #include "gtkmm2ext/utils.h" #include "gtkmm2ext/doi.h" +#include "widgets/tooltips.h" + #include "ardour/plugin_manager.h" #include "ardour/profile.h" #include "ardour/template_utils.h" @@ -42,7 +44,6 @@ #include "utils.h" #include "add_route_dialog.h" #include "route_group_dialog.h" -#include "tooltips.h" #include "pbd/i18n.h" using namespace Gtk; @@ -173,7 +174,7 @@ AddRouteDialog::AddRouteDialog () table2->attach (*l, 1, 2, n, n + 1, Gtk::FILL, Gtk::EXPAND, 0, 0); table2->attach (strict_io_combo, 2, 3, n, n + 1, Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0); - ARDOUR_UI_UTILS::set_tooltip (strict_io_combo, + ArdourWidgets::set_tooltip (strict_io_combo, _("With strict-i/o enabled, Effect Processors will not modify the number of channels on a track. The number of output channels will always match the number of input channels.")); ++n; } diff --git a/gtk2_ardour/ardev_common.sh.in b/gtk2_ardour/ardev_common.sh.in index 10469a6524..0904e143c0 100644 --- a/gtk2_ardour/ardev_common.sh.in +++ b/gtk2_ardour/ardev_common.sh.in @@ -36,7 +36,7 @@ export ARDOUR_DLL_PATH=$libs export GTK_PATH=~/.ardour3:$libs/clearlooks-newer export VAMP_PATH=$libs/vamp-plugins${VAMP_PATH:+:$VAMP_PATH} -export LD_LIBRARY_PATH=$libs/ptformat:$libs/qm-dsp:$libs/vamp-sdk:$libs/surfaces:$libs/surfaces/control_protocol:$libs/ardour:$libs/midi++2:$libs/pbd:$libs/rubberband:$libs/soundtouch:$libs/gtkmm2ext:$libs/gnomecanvas:$libs/libsndfile:$libs/appleutility:$libs/taglib:$libs/evoral:$libs/evoral/src/libsmf:$libs/audiographer:$libs/timecode:$libs/libltc:$libs/canvas:$libs/ardouralsautil${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} +export LD_LIBRARY_PATH=$libs/ptformat:$libs/qm-dsp:$libs/vamp-sdk:$libs/surfaces:$libs/surfaces/control_protocol:$libs/ardour:$libs/midi++2:$libs/pbd:$libs/rubberband:$libs/soundtouch:$libs/gtkmm2ext:$libs/widgets:$libs/appleutility:$libs/taglib:$libs/evoral:$libs/evoral/src/libsmf:$libs/audiographer:$libs/timecode:$libs/libltc:$libs/canvas:$libs/ardouralsautil${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} # DYLD_LIBRARY_PATH is for darwin. export DYLD_FALLBACK_LIBRARY_PATH=$LD_LIBRARY_PATH diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index 4a4b385957..19745ede31 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -193,6 +193,7 @@ using namespace ARDOUR; using namespace ARDOUR_UI_UTILS; using namespace PBD; using namespace Gtkmm2ext; +using namespace ArdourWidgets; using namespace Gtk; using namespace std; using namespace Editing; @@ -297,8 +298,8 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[], const char* localedir) , solo_alert_button (_("Solo")) , feedback_alert_button (_("Feedback")) , error_alert_button ( ArdourButton::just_led_default_elements ) - , editor_meter(0) , editor_meter_peak_display() + , editor_meter(0) , _suspend_editor_meter_callbacks (false) , _numpad_locate_happening (false) , _session_is_new (false) diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h index b22c2f7ad9..43a77fe523 100644 --- a/gtk2_ardour/ardour_ui.h +++ b/gtk2_ardour/ardour_ui.h @@ -70,10 +70,11 @@ #include "video_timeline.h" +#include "widgets/ardour_button.h" +#include "widgets/ardour_spacer.h" + #include "add_route_dialog.h" -#include "ardour_button.h" #include "ardour_dialog.h" -#include "ardour_spacer.h" #include "ardour_window.h" #include "editing.h" #include "enums.h" @@ -120,7 +121,6 @@ class IdleOMeter; class VideoTimeLine; class ArdourKeyboard; -class ArdourVSpacer; class AudioClock; class ButtonJoiner; class ConnectionEditor; @@ -480,7 +480,7 @@ private: Gtk::Frame transport_frame; Gtk::HBox transport_hbox; - ArdourVSpacer *secondary_clock_spacer; + ArdourWidgets::ArdourVSpacer* secondary_clock_spacer; void repack_transport_hbox (); void update_clock_visibility (); @@ -516,23 +516,23 @@ private: void set_transport_controllable_state (const XMLNode&); XMLNode& get_transport_controllable_state (); - ArdourButton roll_button; - ArdourButton stop_button; - ArdourButton goto_start_button; - ArdourButton goto_end_button; - ArdourButton auto_loop_button; - ArdourButton play_selection_button; - ArdourButton rec_button; - ArdourButton punch_in_button; - ArdourButton punch_out_button; - ArdourButton layered_button; + ArdourWidgets::ArdourButton roll_button; + ArdourWidgets::ArdourButton stop_button; + ArdourWidgets::ArdourButton goto_start_button; + ArdourWidgets::ArdourButton goto_end_button; + ArdourWidgets::ArdourButton auto_loop_button; + ArdourWidgets::ArdourButton play_selection_button; + ArdourWidgets::ArdourButton rec_button; + ArdourWidgets::ArdourButton punch_in_button; + ArdourWidgets::ArdourButton punch_out_button; + ArdourWidgets::ArdourButton layered_button; - ArdourVSpacer recpunch_spacer; - ArdourVSpacer monitoring_spacer; + ArdourWidgets::ArdourVSpacer recpunch_spacer; + ArdourWidgets::ArdourVSpacer monitoring_spacer; - ArdourButton monitor_in_button; - ArdourButton monitor_disk_button; - ArdourButton auto_input_button; + ArdourWidgets::ArdourButton monitor_in_button; + ArdourWidgets::ArdourButton monitor_disk_button; + ArdourWidgets::ArdourButton auto_input_button; Gtk::Label punch_label; Gtk::Label layered_label; @@ -548,25 +548,25 @@ private: MiniTimeline mini_timeline; TimeInfoBox *time_info_box; - ArdourButton auto_return_button; - ArdourButton follow_edits_button; - ArdourButton click_button; - ArdourButton sync_button; + ArdourWidgets::ArdourButton auto_return_button; + ArdourWidgets::ArdourButton follow_edits_button; + ArdourWidgets::ArdourButton click_button; + ArdourWidgets::ArdourButton sync_button; - ArdourButton auditioning_alert_button; - ArdourButton solo_alert_button; - ArdourButton feedback_alert_button; - ArdourButton error_alert_button; + ArdourWidgets::ArdourButton auditioning_alert_button; + ArdourWidgets::ArdourButton solo_alert_button; + ArdourWidgets::ArdourButton feedback_alert_button; + ArdourWidgets::ArdourButton error_alert_button; - ArdourButton action_script_call_btn[10]; + ArdourWidgets::ArdourButton action_script_call_btn[10]; Gtk::Table action_script_table; Gtk::VBox alert_box; Gtk::VBox meter_box; - LevelMeterHBox * editor_meter; - float editor_meter_max_peak; - ArdourButton editor_meter_peak_display; - bool editor_meter_peak_button_release (GdkEventButton*); + ArdourWidgets::ArdourButton editor_meter_peak_display; + LevelMeterHBox * editor_meter; + float editor_meter_max_peak; + bool editor_meter_peak_button_release (GdkEventButton*); bool editor_meter_button_press (GdkEventButton* ev); void popup_editor_meter_menu (GdkEventButton* ev); @@ -870,7 +870,7 @@ private: void feedback_detected (); - ArdourButton midi_panic_button; + ArdourWidgets::ArdourButton midi_panic_button; void midi_panic (); void successful_graph_sort (); @@ -902,9 +902,9 @@ private: void tabs_switch (GtkNotebookPage*, guint page_number); void tabs_page_added (Gtk::Widget*, guint); void tabs_page_removed (Gtk::Widget*, guint); - ArdourButton editor_visibility_button; - ArdourButton mixer_visibility_button; - ArdourButton prefs_visibility_button; + ArdourWidgets::ArdourButton editor_visibility_button; + ArdourWidgets::ArdourButton mixer_visibility_button; + ArdourWidgets::ArdourButton prefs_visibility_button; bool key_press_focus_accelerator_handler (Gtk::Window& window, GdkEventKey* ev, Gtkmm2ext::Bindings*); bool try_gtk_accel_binding (GtkWindow* win, GdkEventKey* ev, bool translate, GdkModifierType modifier); diff --git a/gtk2_ardour/ardour_ui2.cc b/gtk2_ardour/ardour_ui2.cc index cd97a876fb..0bad50de0b 100644 --- a/gtk2_ardour/ardour_ui2.cc +++ b/gtk2_ardour/ardour_ui2.cc @@ -64,6 +64,7 @@ using namespace std; using namespace ARDOUR; using namespace PBD; using namespace Gtkmm2ext; +using namespace ArdourWidgets; using namespace Gtk; using namespace Glib; using namespace ARDOUR_UI_UTILS; diff --git a/gtk2_ardour/ardour_ui_dialogs.cc b/gtk2_ardour/ardour_ui_dialogs.cc index cd735c5df4..023f3ad133 100644 --- a/gtk2_ardour/ardour_ui_dialogs.cc +++ b/gtk2_ardour/ardour_ui_dialogs.cc @@ -77,6 +77,7 @@ using namespace PBD; using namespace Glib; using namespace Gtk; using namespace Gtkmm2ext; +using namespace ArdourWidgets; void ARDOUR_UI::set_session (Session *s) diff --git a/gtk2_ardour/ardour_ui_options.cc b/gtk2_ardour/ardour_ui_options.cc index f8dab139ad..638743897b 100644 --- a/gtk2_ardour/ardour_ui_options.cc +++ b/gtk2_ardour/ardour_ui_options.cc @@ -45,6 +45,7 @@ using namespace Gtk; using namespace Gtkmm2ext; using namespace ARDOUR; using namespace PBD; +using namespace ArdourWidgets; void ARDOUR_UI::toggle_external_sync() diff --git a/gtk2_ardour/audio_clock.cc b/gtk2_ardour/audio_clock.cc index 809a6637fe..e43a16377e 100644 --- a/gtk2_ardour/audio_clock.cc +++ b/gtk2_ardour/audio_clock.cc @@ -30,6 +30,8 @@ #include "gtkmm2ext/utils.h" #include "gtkmm2ext/rgb_macros.h" +#include "widgets/tooltips.h" + #include "ardour/profile.h" #include "ardour/lmath.h" #include "ardour/session.h" @@ -42,7 +44,6 @@ #include "enums_convert.h" #include "gui_thread.h" #include "keyboard.h" -#include "tooltips.h" #include "ui_config.h" #include "utils.h" @@ -50,6 +51,7 @@ using namespace ARDOUR; using namespace ARDOUR_UI_UTILS; +using namespace ArdourWidgets; using namespace PBD; using namespace Gtk; using namespace std; diff --git a/gtk2_ardour/audio_clock.h b/gtk2_ardour/audio_clock.h index 82b12b0eca..9ff8221229 100644 --- a/gtk2_ardour/audio_clock.h +++ b/gtk2_ardour/audio_clock.h @@ -34,7 +34,7 @@ #include "ardour/session_handle.h" #include "gtkmm2ext/cairo_widget.h" -#include "ardour_button.h" +#include "widgets/ardour_button.h" namespace ARDOUR { class Session; @@ -82,8 +82,8 @@ class AudioClock : public CairoWidget, public ARDOUR::SessionHandlePtr void set_session (ARDOUR::Session *s); void set_negative_allowed (bool yn); - ArdourButton* left_btn () { return &_left_btn; } - ArdourButton* right_btn () { return &_right_btn; } + ArdourWidgets::ArdourButton* left_btn () { return &_left_btn; } + ArdourWidgets::ArdourButton* right_btn () { return &_right_btn; } /** Alter cairo scaling during rendering. * @@ -112,8 +112,8 @@ class AudioClock : public CairoWidget, public ARDOUR::SessionHandlePtr bool on_button_press_event (GdkEventButton *ev); bool on_button_release_event(GdkEventButton *ev); - ArdourButton _left_btn; - ArdourButton _right_btn; + ArdourWidgets::ArdourButton _left_btn; + ArdourWidgets::ArdourButton _right_btn; private: Mode _mode; diff --git a/gtk2_ardour/audio_time_axis.cc b/gtk2_ardour/audio_time_axis.cc index d06a4c53e3..2567306a52 100644 --- a/gtk2_ardour/audio_time_axis.cc +++ b/gtk2_ardour/audio_time_axis.cc @@ -36,12 +36,13 @@ #include "gtkmm2ext/bindable_button.h" #include "gtkmm2ext/utils.h" +#include "widgets/ardour_button.h" + #include "ardour/event_type_map.h" #include "ardour/pannable.h" #include "ardour/panner.h" #include "ardour/panner_shell.h" -#include "ardour_button.h" #include "audio_time_axis.h" #include "automation_line.h" #include "enums.h" @@ -59,6 +60,7 @@ using namespace std; using namespace ARDOUR; +using namespace ArdourWidgets; using namespace ARDOUR_UI_UTILS; using namespace PBD; using namespace Gtk; diff --git a/gtk2_ardour/automation_controller.cc b/gtk2_ardour/automation_controller.cc index 6816bffa93..5fc86e9276 100644 --- a/gtk2_ardour/automation_controller.cc +++ b/gtk2_ardour/automation_controller.cc @@ -29,8 +29,8 @@ #include "ardour/session.h" #include "ardour/tempo.h" -#include "ardour_button.h" -#include "ardour_knob.h" +#include "widgets/ardour_button.h" +#include "widgets/ardour_knob.h" #include "automation_controller.h" #include "gui_thread.h" #include "note_select_dialog.h" @@ -40,6 +40,7 @@ using namespace ARDOUR; using namespace Gtk; +using namespace ArdourWidgets; using PBD::Controllable; diff --git a/gtk2_ardour/automation_time_axis.cc b/gtk2_ardour/automation_time_axis.cc index 011c53997f..a0052032b0 100644 --- a/gtk2_ardour/automation_time_axis.cc +++ b/gtk2_ardour/automation_time_axis.cc @@ -39,6 +39,8 @@ #include "canvas/debug.h" +#include "widgets/tooltips.h" + #include "automation_time_axis.h" #include "automation_streamview.h" #include "gui_thread.h" @@ -47,7 +49,6 @@ #include "paste_context.h" #include "public_editor.h" #include "selection.h" -#include "tooltips.h" #include "rgb_macros.h" #include "point_selection.h" #include "control_point.h" @@ -59,6 +60,7 @@ using namespace std; using namespace ARDOUR; +using namespace ArdourWidgets; using namespace ARDOUR_UI_UTILS; using namespace PBD; using namespace Gtk; diff --git a/gtk2_ardour/automation_time_axis.h b/gtk2_ardour/automation_time_axis.h index e95199ae15..573d88a4d5 100644 --- a/gtk2_ardour/automation_time_axis.h +++ b/gtk2_ardour/automation_time_axis.h @@ -32,10 +32,11 @@ #include "canvas/rectangle.h" +#include "widgets/ardour_button.h" +#include "widgets/ardour_dropdown.h" + #include "time_axis_view.h" #include "automation_controller.h" -#include "ardour_button.h" -#include "ardour_dropdown.h" namespace ARDOUR { class Session; @@ -154,8 +155,8 @@ protected: bool ignore_toggle; bool first_call_to_set_height; - ArdourButton hide_button; - ArdourDropdown auto_dropdown; + ArdourWidgets::ArdourButton hide_button; + ArdourWidgets::ArdourDropdown auto_dropdown; Gtk::Label* plugname; bool plugname_packed; diff --git a/gtk2_ardour/button_joiner.cc b/gtk2_ardour/button_joiner.cc index eaa22363aa..a7e360e064 100644 --- a/gtk2_ardour/button_joiner.cc +++ b/gtk2_ardour/button_joiner.cc @@ -27,11 +27,13 @@ #include "gtkmm2ext/utils.h" #include "gtkmm2ext/rgb_macros.h" +#include "widgets/tooltips.h" + #include "button_joiner.h" -#include "tooltips.h" #include "ui_config.h" using namespace Gtk; +using namespace ArdourWidgets; using namespace ARDOUR_UI_UTILS; ButtonJoiner::ButtonJoiner (const std::string& str, Gtk::Widget& lw, Gtk::Widget& rw, bool central_joiner) diff --git a/gtk2_ardour/color_theme_manager.cc b/gtk2_ardour/color_theme_manager.cc index 013a0764d0..30eeed162f 100644 --- a/gtk2_ardour/color_theme_manager.cc +++ b/gtk2_ardour/color_theme_manager.cc @@ -39,7 +39,6 @@ #include "canvas/scroll_group.h" #include "canvas/wave_view.h" -#include "ardour_button.h" #include "ardour_dialog.h" #include "color_theme_manager.h" #include "rgb_macros.h" diff --git a/gtk2_ardour/control_slave_ui.cc b/gtk2_ardour/control_slave_ui.cc index fa14d46518..14467a0118 100644 --- a/gtk2_ardour/control_slave_ui.cc +++ b/gtk2_ardour/control_slave_ui.cc @@ -31,13 +31,13 @@ #include "gtkmm2ext/gtk_ui.h" #include "gtkmm2ext/utils.h" -#include "ardour_button.h" #include "control_slave_ui.h" #include "gui_thread.h" #include "pbd/i18n.h" using namespace ARDOUR; +using namespace ArdourWidgets; using namespace Gtk; using std::string; diff --git a/gtk2_ardour/control_slave_ui.h b/gtk2_ardour/control_slave_ui.h index 8a7ae5fd6d..f54b1c72cb 100644 --- a/gtk2_ardour/control_slave_ui.h +++ b/gtk2_ardour/control_slave_ui.h @@ -31,7 +31,7 @@ #include "ardour/session_handle.h" -#include "ardour_button.h" +#include "widgets/ardour_button.h" namespace ARDOUR { class VCA; @@ -48,9 +48,9 @@ public: private: boost::shared_ptr stripable; - PBD::ScopedConnectionList connections; - PBD::ScopedConnectionList master_connections; - ArdourButton initial_button; + PBD::ScopedConnectionList connections; + PBD::ScopedConnectionList master_connections; + ArdourWidgets::ArdourButton initial_button; void master_property_changed (PBD::PropertyChange const &); void update_vca_display (); diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index c716068647..7ea217733b 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -84,11 +84,13 @@ #include "canvas/debug.h" #include "canvas/text.h" +#include "widgets/ardour_spacer.h" +#include "widgets/tooltips.h" + #include "control_protocol/control_protocol.h" #include "actions.h" #include "analysis_window.h" -#include "ardour_spacer.h" #include "audio_clock.h" #include "audio_region_view.h" #include "audio_streamview.h" @@ -137,7 +139,6 @@ #include "time_axis_view.h" #include "time_info_box.h" #include "timers.h" -#include "tooltips.h" #include "ui_config.h" #include "utils.h" #include "vca_time_axis.h" @@ -147,6 +148,7 @@ using namespace std; using namespace ARDOUR; +using namespace ArdourWidgets; using namespace ARDOUR_UI_UTILS; using namespace PBD; using namespace Gtk; diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h index c78c85ffc6..606444c6bd 100644 --- a/gtk2_ardour/editor.h +++ b/gtk2_ardour/editor.h @@ -52,9 +52,10 @@ #include "canvas/fwd.h" #include "canvas/ruler.h" -#include "ardour_button.h" +#include "widgets/ardour_button.h" +#include "widgets/ardour_dropdown.h" + #include "ardour_dialog.h" -#include "ardour_dropdown.h" #include "public_editor.h" #include "editing.h" #include "enums.h" @@ -1769,14 +1770,14 @@ private: void editor_mixer_button_toggled (); void editor_list_button_toggled (); - ArdourButton zoom_in_button; - ArdourButton zoom_out_button; - ArdourButton zoom_out_full_button; + ArdourWidgets::ArdourButton zoom_in_button; + ArdourWidgets::ArdourButton zoom_out_button; + ArdourWidgets::ArdourButton zoom_out_full_button; - ArdourButton tav_expand_button; - ArdourButton tav_shrink_button; - ArdourDropdown visible_tracks_selector; - ArdourDropdown zoom_preset_selector; + ArdourWidgets::ArdourButton tav_expand_button; + ArdourWidgets::ArdourButton tav_shrink_button; + ArdourWidgets::ArdourDropdown visible_tracks_selector; + ArdourWidgets::ArdourDropdown zoom_preset_selector; int32_t _visible_track_count; void build_track_count_menu (); @@ -1789,15 +1790,15 @@ private: Gtk::Table toolbar_selection_clock_table; Gtk::Label toolbar_selection_cursor_label; - ArdourButton mouse_select_button; - ArdourButton mouse_draw_button; - ArdourButton mouse_move_button; - ArdourButton mouse_timefx_button; - ArdourButton mouse_content_button; - ArdourButton mouse_audition_button; - ArdourButton mouse_cut_button; + ArdourWidgets::ArdourButton mouse_select_button; + ArdourWidgets::ArdourButton mouse_draw_button; + ArdourWidgets::ArdourButton mouse_move_button; + ArdourWidgets::ArdourButton mouse_timefx_button; + ArdourWidgets::ArdourButton mouse_content_button; + ArdourWidgets::ArdourButton mouse_audition_button; + ArdourWidgets::ArdourButton mouse_cut_button; - ArdourButton smart_mode_button; + ArdourWidgets::ArdourButton smart_mode_button; Glib::RefPtr smart_mode_action; void mouse_mode_toggled (Editing::MouseMode m); @@ -1810,20 +1811,20 @@ private: Gtk::Button automation_mode_button; //edit mode menu stuff - ArdourDropdown edit_mode_selector; - void edit_mode_selection_done ( ARDOUR::EditMode m ); + ArdourWidgets::ArdourDropdown edit_mode_selector; + void edit_mode_selection_done (ARDOUR::EditMode); void build_edit_mode_menu (); - Gtk::VBox edit_mode_box; + Gtk::VBox edit_mode_box; void set_edit_mode (ARDOUR::EditMode); void cycle_edit_mode (); - ArdourDropdown snap_type_selector; + ArdourWidgets::ArdourDropdown snap_type_selector; void build_snap_type_menu (); - ArdourDropdown snap_mode_selector; + ArdourWidgets::ArdourDropdown snap_mode_selector; void build_snap_mode_menu (); - Gtk::HBox snap_box; + Gtk::HBox snap_box; std::vector snap_type_strings; std::vector snap_mode_strings; @@ -1837,8 +1838,8 @@ private: Glib::RefPtr snap_mode_action (Editing::SnapMode); //zoom focus meu stuff - ArdourDropdown zoom_focus_selector; - void zoom_focus_selection_done ( Editing::ZoomFocus f ); + ArdourWidgets::ArdourDropdown zoom_focus_selector; + void zoom_focus_selection_done (Editing::ZoomFocus); void build_zoom_focus_menu (); std::vector zoom_focus_strings; @@ -1846,16 +1847,16 @@ private: Glib::RefPtr zoom_focus_action (Editing::ZoomFocus); - Gtk::HBox _track_box; + Gtk::HBox _track_box; - Gtk::HBox _zoom_box; - void zoom_adjustment_changed(); + Gtk::HBox _zoom_box; + void zoom_adjustment_changed(); void setup_toolbar (); void setup_tooltips (); - Gtk::HBox toolbar_hbox; + Gtk::HBox toolbar_hbox; void setup_midi_toolbar (); @@ -1893,35 +1894,35 @@ private: /* transport range select process */ - ArdourCanvas::Rectangle* cd_marker_bar_drag_rect; - ArdourCanvas::Rectangle* range_bar_drag_rect; - ArdourCanvas::Rectangle* transport_bar_drag_rect; - ArdourCanvas::Rectangle *transport_bar_range_rect; - ArdourCanvas::Rectangle *transport_bar_preroll_rect; - ArdourCanvas::Rectangle *transport_bar_postroll_rect; - ArdourCanvas::Rectangle *transport_loop_range_rect; - ArdourCanvas::Rectangle *transport_punch_range_rect; - ArdourCanvas::Line *transport_punchin_line; - ArdourCanvas::Line *transport_punchout_line; - ArdourCanvas::Rectangle *transport_preroll_rect; - ArdourCanvas::Rectangle *transport_postroll_rect; + ArdourCanvas::Rectangle* cd_marker_bar_drag_rect; + ArdourCanvas::Rectangle* range_bar_drag_rect; + ArdourCanvas::Rectangle* transport_bar_drag_rect; + ArdourCanvas::Rectangle* transport_bar_range_rect; + ArdourCanvas::Rectangle* transport_bar_preroll_rect; + ArdourCanvas::Rectangle* transport_bar_postroll_rect; + ArdourCanvas::Rectangle* transport_loop_range_rect; + ArdourCanvas::Rectangle* transport_punch_range_rect; + ArdourCanvas::Line* transport_punchin_line; + ArdourCanvas::Line* transport_punchout_line; + ArdourCanvas::Rectangle* transport_preroll_rect; + ArdourCanvas::Rectangle* transport_postroll_rect; - ARDOUR::Location* transport_loop_location(); - ARDOUR::Location* transport_punch_location(); + ARDOUR::Location* transport_loop_location(); + ARDOUR::Location* transport_punch_location(); - ARDOUR::Location *temp_location; + ARDOUR::Location* temp_location; /* object rubberband select process */ void select_all_within (framepos_t, framepos_t, double, double, TrackViewList const &, Selection::Operation, bool); - ArdourCanvas::Rectangle *rubberband_rect; + ArdourCanvas::Rectangle* rubberband_rect; EditorRouteGroups* _route_groups; - EditorRoutes* _routes; - EditorRegions* _regions; - EditorSnapshots* _snapshots; - EditorLocations* _locations; + EditorRoutes* _routes; + EditorRegions* _regions; + EditorSnapshots* _snapshots; + EditorLocations* _locations; /* diskstream/route display management */ Glib::RefPtr rec_enabled_icon; @@ -1931,7 +1932,7 @@ private: bool sync_track_view_list_and_routes (); - Gtk::VBox list_vpacker; + Gtk::VBox list_vpacker; /* autoscrolling */ @@ -2089,8 +2090,8 @@ private: /* nudge */ - ArdourButton nudge_forward_button; - ArdourButton nudge_backward_button; + ArdourWidgets::ArdourButton nudge_forward_button; + ArdourWidgets::ArdourButton nudge_backward_button; Gtk::HBox nudge_hbox; Gtk::VBox nudge_vbox; AudioClock* nudge_clock; @@ -2152,7 +2153,7 @@ private: Editing::EditPoint _edit_point; - ArdourDropdown edit_point_selector; + ArdourWidgets::ArdourDropdown edit_point_selector; void build_edit_point_menu(); void set_edit_point_preference (Editing::EditPoint ep, bool force = false); diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc index 53a2aa8bb2..3cb62da846 100644 --- a/gtk2_ardour/editor_ops.cc +++ b/gtk2_ardour/editor_ops.cc @@ -110,6 +110,7 @@ using namespace ARDOUR; using namespace PBD; using namespace Gtk; using namespace Gtkmm2ext; +using namespace ArdourWidgets; using namespace Editing; using Gtkmm2ext::Keyboard; diff --git a/gtk2_ardour/editor_regions.cc b/gtk2_ardour/editor_regions.cc index 6ee68a0896..83b3f00165 100644 --- a/gtk2_ardour/editor_regions.cc +++ b/gtk2_ardour/editor_regions.cc @@ -37,6 +37,8 @@ #include "gtkmm2ext/treeutils.h" #include "gtkmm2ext/utils.h" +#include "widgets/tooltips.h" + #include "audio_clock.h" #include "editor.h" #include "editing.h" @@ -50,13 +52,13 @@ #include "editor_regions.h" #include "editor_drag.h" #include "main_clock.h" -#include "tooltips.h" #include "ui_config.h" #include "pbd/i18n.h" using namespace std; using namespace ARDOUR; +using namespace ArdourWidgets; using namespace ARDOUR_UI_UTILS; using namespace PBD; using namespace Gtk; diff --git a/gtk2_ardour/editor_route_groups.cc b/gtk2_ardour/editor_route_groups.cc index e9fca92bc3..871a003563 100644 --- a/gtk2_ardour/editor_route_groups.cc +++ b/gtk2_ardour/editor_route_groups.cc @@ -29,6 +29,8 @@ #include "gtkmm2ext/gtk_ui.h" #include "gtkmm2ext/cell_renderer_color_selector.h" +#include "widgets/tooltips.h" + #include "ardour/route_group.h" #include "ardour/route.h" #include "ardour/session.h" @@ -45,7 +47,6 @@ #include "route_group_dialog.h" #include "route_time_axis.h" #include "time_axis_view.h" -#include "tooltips.h" #include "utils.h" #include "pbd/i18n.h" @@ -53,6 +54,7 @@ using namespace std; using namespace ARDOUR; using namespace ARDOUR_UI_UTILS; +using namespace ArdourWidgets; using namespace PBD; using namespace Gtk; using Gtkmm2ext::Keyboard; diff --git a/gtk2_ardour/editor_routes.cc b/gtk2_ardour/editor_routes.cc index 45b9797f78..c64683c341 100644 --- a/gtk2_ardour/editor_routes.cc +++ b/gtk2_ardour/editor_routes.cc @@ -42,6 +42,8 @@ #include "gtkmm2ext/cell_renderer_pixbuf_toggle.h" #include "gtkmm2ext/treeutils.h" +#include "widgets/tooltips.h" + #include "actions.h" #include "ardour_ui.h" #include "audio_time_axis.h" @@ -54,7 +56,6 @@ #include "mixer_strip.h" #include "plugin_setup_dialog.h" #include "route_sorter.h" -#include "tooltips.h" #include "vca_time_axis.h" #include "utils.h" @@ -62,6 +63,7 @@ using namespace std; using namespace ARDOUR; +using namespace ArdourWidgets; using namespace ARDOUR_UI_UTILS; using namespace PBD; using namespace Gtk; diff --git a/gtk2_ardour/engine_dialog.cc b/gtk2_ardour/engine_dialog.cc index d0ecdcfa7c..f96bcf1b8b 100644 --- a/gtk2_ardour/engine_dialog.cc +++ b/gtk2_ardour/engine_dialog.cc @@ -64,6 +64,7 @@ using namespace Gtk; using namespace Gtkmm2ext; using namespace PBD; using namespace Glib; +using namespace ArdourWidgets; using namespace ARDOUR_UI_UTILS; #define DEBUG_ECONTROL(msg) DEBUG_TRACE (PBD::DEBUG::EngineControl, string_compose ("%1: %2\n", __LINE__, msg)); diff --git a/gtk2_ardour/engine_dialog.h b/gtk2_ardour/engine_dialog.h index f10e37bae6..b9bfabb61e 100644 --- a/gtk2_ardour/engine_dialog.h +++ b/gtk2_ardour/engine_dialog.h @@ -35,8 +35,9 @@ #include "pbd/signals.h" +#include "widgets/ardour_button.h" + #include "ardour_dialog.h" -#include "ardour_button.h" class EngineControl : public ArdourDialog, public PBD::ScopedConnectionList { @@ -84,31 +85,31 @@ private: Gtk::Adjustment ports_adjustment; Gtk::SpinButton ports_spinner; - Gtk::Label have_control_text; - ArdourButton control_app_button; - ArdourButton midi_devices_button; - ArdourButton start_stop_button; - ArdourButton update_devices_button; - ArdourButton use_buffered_io_button; + Gtk::Label have_control_text; + ArdourWidgets::ArdourButton control_app_button; + ArdourWidgets::ArdourButton midi_devices_button; + ArdourWidgets::ArdourButton start_stop_button; + ArdourWidgets::ArdourButton update_devices_button; + ArdourWidgets::ArdourButton use_buffered_io_button; Gtk::Button connect_disconnect_button; /* latency measurement */ - Gtk::ComboBoxText lm_output_channel_combo; - Gtk::ComboBoxText lm_input_channel_combo; - Gtk::Label lm_measure_label; - Gtk::Button lm_measure_button; - Gtk::Button lm_use_button; - Gtk::Button lm_back_button; - ArdourButton lm_button_audio; - Gtk::Label lm_title; - Gtk::Label lm_preamble; - Gtk::Label lm_results; - Gtk::Table lm_table; - Gtk::VBox lm_vbox; - bool have_lm_results; - bool lm_running; + Gtk::ComboBoxText lm_output_channel_combo; + Gtk::ComboBoxText lm_input_channel_combo; + Gtk::Label lm_measure_label; + Gtk::Button lm_measure_button; + Gtk::Button lm_use_button; + Gtk::Button lm_back_button; + ArdourWidgets::ArdourButton lm_button_audio; + Gtk::Label lm_title; + Gtk::Label lm_preamble; + Gtk::Label lm_results; + Gtk::Table lm_table; + Gtk::VBox lm_vbox; + bool have_lm_results; + bool lm_running; /* MIDI Tab */ @@ -346,7 +347,7 @@ private: MidiDeviceSettings _measure_midi; void midi_latency_adjustment_changed(Gtk::Adjustment *, MidiDeviceSettings, bool); - void midi_device_enabled_toggled(ArdourButton *, MidiDeviceSettings); + void midi_device_enabled_toggled(ArdourWidgets::ArdourButton *, MidiDeviceSettings); sigc::connection lm_back_button_signal; }; diff --git a/gtk2_ardour/export_format_dialog.cc b/gtk2_ardour/export_format_dialog.cc index 862401f704..5707f3beb7 100644 --- a/gtk2_ardour/export_format_dialog.cc +++ b/gtk2_ardour/export_format_dialog.cc @@ -21,9 +21,11 @@ #include "ardour/session.h" #include "ardour/export_format_specification.h" +#include "widgets/tooltips.h" + #include "export_format_dialog.h" #include "gui_thread.h" -#include "tooltips.h" + #include "pbd/i18n.h" using namespace ARDOUR; @@ -120,7 +122,7 @@ ExportFormatDialog::ExportFormatDialog (FormatPtr format, bool new_dialog) : normalize_hbox.pack_start (normalize_dbtp_spinbutton, false, false, 2); normalize_hbox.pack_start (normalize_dbtp_label, false, false, 0); - ARDOUR_UI_UTILS::set_tooltip (normalize_loudness_rb, + ArdourWidgets::set_tooltip (normalize_loudness_rb, _("Normalize to EBU-R128 LUFS target loudness without exceeding the given true-peak limit. EBU-R128 normalization is only available for mono and stereo targets, true-peak works for any channel layout.")); normalize_dbfs_spinbutton.configure (normalize_dbfs_adjustment, 0.1, 2); @@ -147,7 +149,7 @@ ExportFormatDialog::ExportFormatDialog (FormatPtr format, bool new_dialog) : get_vbox()->pack_start (command_label, false, false); get_vbox()->pack_start (command_entry, false, false); - ARDOUR_UI_UTILS::set_tooltip (command_entry, + ArdourWidgets::set_tooltip (command_entry, _( "%a Artist name\n" "%b File's base-name\n" diff --git a/gtk2_ardour/gain_meter.cc b/gtk2_ardour/gain_meter.cc index e60c6613eb..4a17d4f640 100644 --- a/gtk2_ardour/gain_meter.cc +++ b/gtk2_ardour/gain_meter.cc @@ -27,11 +27,15 @@ #include "ardour/utils.h" #include -#include -#include -#include -#include -#include + +#include "gtkmm/style.h" +#include "gdkmm/color.h" +#include "gtkmm2ext/utils.h" +#include "gtkmm2ext/fastmeter.h" +#include "gtkmm2ext/gtk_ui.h" + +#include "widgets/tooltips.h" + #include "pbd/fastlog.h" #include "pbd/stacktrace.h" @@ -42,7 +46,6 @@ #include "utils.h" #include "meter_patterns.h" #include "timers.h" -#include "tooltips.h" #include "ui_config.h" #include "ardour/session.h" @@ -55,7 +58,7 @@ #include "pbd/i18n.h" using namespace ARDOUR; -using namespace ARDOUR_UI_UTILS; +using namespace ArdourWidgets; using namespace PBD; using namespace Gtkmm2ext; using namespace Gtk; @@ -408,7 +411,7 @@ GainMeter::set_type (MeterType t) bool GainMeterBase::gain_key_press (GdkEventKey* ev) { - if (key_is_legal_for_numeric_entry (ev->keyval)) { + if (ARDOUR_UI_UTILS::key_is_legal_for_numeric_entry (ev->keyval)) { /* drop through to normal handling */ return false; } diff --git a/gtk2_ardour/gain_meter.h b/gtk2_ardour/gain_meter.h index 943fe36ae4..5517151ebb 100644 --- a/gtk2_ardour/gain_meter.h +++ b/gtk2_ardour/gain_meter.h @@ -38,7 +38,7 @@ #include "ardour/types.h" #include "ardour/session_handle.h" -#include "ardour_button.h" +#include "widgets/ardour_button.h" #include "gtkmm2ext/click_box.h" #include "gtkmm2ext/focus_entry.h" @@ -134,11 +134,11 @@ protected: sigc::connection gain_watching; - ArdourButton gain_automation_state_button; + ArdourWidgets::ArdourButton gain_automation_state_button; Gtk::Menu gain_astate_menu; - ArdourButton meter_point_button; + ArdourWidgets::ArdourButton meter_point_button; Gtk::Menu meter_point_menu; diff --git a/gtk2_ardour/generic_pluginui.cc b/gtk2_ardour/generic_pluginui.cc index bcc91a673d..4b30388087 100644 --- a/gtk2_ardour/generic_pluginui.cc +++ b/gtk2_ardour/generic_pluginui.cc @@ -32,12 +32,15 @@ #include "pbd/xml++.h" #include "pbd/failed_constructor.h" -#include -#include -#include -#include -#include -#include +#include "gtkmm2ext/click_box.h" +#include "gtkmm2ext/fastmeter.h" +#include "gtkmm2ext/barcontroller.h" +#include "gtkmm2ext/utils.h" +#include "gtkmm2ext/doi.h" +#include "gtkmm2ext/slider_controller.h" + +#include "widgets/ardour_knob.h" +#include "widgets/tooltips.h" #include "ardour/plugin.h" #include "ardour/plugin_insert.h" @@ -48,10 +51,8 @@ #include "plugin_ui.h" #include "gui_thread.h" #include "automation_controller.h" -#include "ardour_knob.h" #include "gain_meter.h" #include "timers.h" -#include "tooltips.h" #include "ui_config.h" #include "pbd/i18n.h" @@ -60,6 +61,7 @@ using namespace std; using namespace ARDOUR; using namespace PBD; using namespace Gtkmm2ext; +using namespace ArdourWidgets; using namespace Gtk; using namespace ARDOUR_UI_UTILS; diff --git a/gtk2_ardour/location_ui.cc b/gtk2_ardour/location_ui.cc index 0f9af3ff56..83c261e474 100644 --- a/gtk2_ardour/location_ui.cc +++ b/gtk2_ardour/location_ui.cc @@ -24,6 +24,7 @@ #include "ardour/session.h" #include "pbd/memento_command.h" +#include "widgets/tooltips.h" #include "ardour_ui.h" #include "clock_group.h" @@ -35,14 +36,13 @@ #include "prompter.h" #include "utils.h" #include "public_editor.h" -#include "tooltips.h" #include "ui_config.h" #include "pbd/i18n.h" using namespace std; using namespace ARDOUR; -using namespace ARDOUR_UI_UTILS; +using namespace ArdourWidgets; using namespace PBD; using namespace Gtk; using namespace Gtkmm2ext; diff --git a/gtk2_ardour/location_ui.h b/gtk2_ardour/location_ui.h index 3be45dc329..0d1115feba 100644 --- a/gtk2_ardour/location_ui.h +++ b/gtk2_ardour/location_ui.h @@ -33,9 +33,9 @@ #include "ardour/location.h" #include "ardour/session_handle.h" -#include +#include "gtkmm2ext/pane.h" +#include "widgets/ardour_button.h" -#include "ardour_button.h" #include "ardour_window.h" #include "audio_clock.h" @@ -82,13 +82,13 @@ protected: Gtk::HBox start_hbox; AudioClock start_clock; - ArdourButton start_to_playhead_button; - ArdourButton locate_to_start_button; + ArdourWidgets::ArdourButton start_to_playhead_button; + ArdourWidgets::ArdourButton locate_to_start_button; Gtk::HBox end_hbox; AudioClock end_clock; - ArdourButton end_to_playhead_button; - ArdourButton locate_to_end_button; + ArdourWidgets::ArdourButton end_to_playhead_button; + ArdourWidgets::ArdourButton locate_to_end_button; AudioClock length_clock; Gtk::CheckButton cd_check_button; @@ -96,7 +96,7 @@ protected: Gtk::CheckButton lock_check_button; Gtk::CheckButton glue_check_button; - ArdourButton remove_button; + ArdourWidgets::ArdourButton remove_button; Gtk::HBox cd_track_details_hbox; Gtk::Entry isrc_entry; diff --git a/gtk2_ardour/luadialog.cc b/gtk2_ardour/luadialog.cc index 93c55261ad..ce34e121fd 100644 --- a/gtk2_ardour/luadialog.cc +++ b/gtk2_ardour/luadialog.cc @@ -24,8 +24,9 @@ #include "gtkmm2ext/slider_controller.h" #include "gtkmm2ext/utils.h" +#include "widgets/ardour_dropdown.h" + #include "ardour_dialog.h" -#include "ardour_dropdown.h" #include "luadialog.h" #include "utils.h" @@ -431,7 +432,7 @@ protected: _rv = rv; } - ArdourDropdown _dd; + ArdourWidgets::ArdourDropdown _dd; std::vector _refs; luabridge::LuaRef* _rv; }; diff --git a/gtk2_ardour/luawindow.cc b/gtk2_ardour/luawindow.cc index 90fa41a166..8a9c2aee3b 100644 --- a/gtk2_ardour/luawindow.cc +++ b/gtk2_ardour/luawindow.cc @@ -38,6 +38,8 @@ #include "gtkmm2ext/utils.h" #include "gtkmm2ext/window_title.h" +#include "widgets/tooltips.h" + #include "ardour/filesystem_paths.h" #include "ardour/luabindings.h" #include "LuaBridge/LuaBridge.h" @@ -47,14 +49,12 @@ #include "luainstance.h" #include "luawindow.h" #include "public_editor.h" -#include "tooltips.h" #include "utils.h" #include "utils_videotl.h" #include "pbd/i18n.h" using namespace ARDOUR; -using namespace ARDOUR_UI_UTILS; using namespace PBD; using namespace Gtk; using namespace Glib; @@ -164,7 +164,7 @@ LuaWindow::LuaWindow () vpane->show_all (); add (*vpane); set_size_request (640, 480); // XXX - ARDOUR_UI_UTILS::set_tooltip (script_select, _("Select Editor Buffer")); + ArdourWidgets::set_tooltip (script_select, _("Select Editor Buffer")); setup_buffers (); LuaScripting::instance().scripts_changed.connect (*this, invalidator (*this), boost::bind (&LuaWindow::refresh_scriptlist, this), gui_context()); @@ -190,7 +190,7 @@ LuaWindow::hide_window (GdkEventAny *ev) { if (!_visible) return 0; _visible = false; - return just_hide_it (ev, static_cast(this)); + return ARDOUR_UI_UTILS::just_hide_it (ev, static_cast(this)); } void LuaWindow::reinit_lua () diff --git a/gtk2_ardour/luawindow.h b/gtk2_ardour/luawindow.h index 21caa54a11..3994970adb 100644 --- a/gtk2_ardour/luawindow.h +++ b/gtk2_ardour/luawindow.h @@ -38,8 +38,8 @@ #include "lua/luastate.h" -#include "ardour_button.h" -#include "ardour_dropdown.h" +#include "widgets/ardour_button.h" +#include "widgets/ardour_dropdown.h" class LuaWindow : public Gtk::Window, @@ -100,14 +100,14 @@ private: Gtk::TextView outtext; Gtk::ScrolledWindow scrollout; - ArdourButton _btn_run; - ArdourButton _btn_clear; - ArdourButton _btn_open; - ArdourButton _btn_save; - ArdourButton _btn_delete; - ArdourButton _btn_revert; + ArdourWidgets::ArdourButton _btn_run; + ArdourWidgets::ArdourButton _btn_clear; + ArdourWidgets::ArdourButton _btn_open; + ArdourWidgets::ArdourButton _btn_save; + ArdourWidgets::ArdourButton _btn_delete; + ArdourWidgets::ArdourButton _btn_revert; - ArdourDropdown script_select; + ArdourWidgets::ArdourDropdown script_select; typedef boost::shared_ptr ScriptBufferPtr; typedef std::vector ScriptBufferList; diff --git a/gtk2_ardour/meter_strip.cc b/gtk2_ardour/meter_strip.cc index c3b0834525..5e2ee92e4f 100644 --- a/gtk2_ardour/meter_strip.cc +++ b/gtk2_ardour/meter_strip.cc @@ -30,14 +30,15 @@ #include "ardour/audio_track.h" #include "ardour/midi_track.h" -#include -#include -#include -#include +#include "gtkmm2ext/gtk_ui.h" +#include "gtkmm2ext/keyboard.h" +#include "gtkmm2ext/utils.h" +#include "gtkmm2ext/rgb_macros.h" + +#include "widgets/tooltips.h" #include "gui_thread.h" #include "ardour_window.h" -#include "tooltips.h" #include "ui_config.h" #include "utils.h" @@ -48,6 +49,7 @@ #include "pbd/i18n.h" using namespace ARDOUR; +using namespace ArdourWidgets; using namespace ARDOUR_UI_UTILS; using namespace PBD; using namespace Gtk; diff --git a/gtk2_ardour/meter_strip.h b/gtk2_ardour/meter_strip.h index a5f74fd99f..ab484f0658 100644 --- a/gtk2_ardour/meter_strip.h +++ b/gtk2_ardour/meter_strip.h @@ -28,8 +28,10 @@ #include "ardour/types.h" #include "ardour/ardour.h" + +#include "widgets/ardour_button.h" + #include "route_ui.h" -#include "ardour_button.h" #include "level_meter.h" @@ -108,8 +110,8 @@ private: Gtk::HBox spacer; Gtk::HBox namebx; Gtk::VBox namenumberbx; - ArdourButton name_label; - ArdourButton number_label; + ArdourWidgets::ArdourButton name_label; + ArdourWidgets::ArdourButton number_label; Gtk::DrawingArea meter_metric_area; Gtk::DrawingArea meter_ticks1_area; Gtk::DrawingArea meter_ticks2_area; @@ -124,7 +126,7 @@ private: Gtk::Alignment peak_align; Gtk::HBox peakbx; Gtk::VBox btnbox; - ArdourButton peak_display; + ArdourWidgets::ArdourButton peak_display; std::vector _types; ARDOUR::MeterType metric_type; diff --git a/gtk2_ardour/midi_time_axis.cc b/gtk2_ardour/midi_time_axis.cc index 524cacc35d..63e7f90113 100644 --- a/gtk2_ardour/midi_time_axis.cc +++ b/gtk2_ardour/midi_time_axis.cc @@ -39,6 +39,8 @@ #include "gtkmm2ext/bindable_button.h" #include "gtkmm2ext/utils.h" +#include "widgets/tooltips.h" + #include "ardour/event_type_map.h" #include "ardour/midi_patch_manager.h" #include "ardour/midi_playlist.h" @@ -61,7 +63,6 @@ #include "ardour/track.h" #include "ardour/types.h" -#include "ardour_button.h" #include "automation_line.h" #include "automation_time_axis.h" #include "editor.h" @@ -85,7 +86,6 @@ #include "rgb_macros.h" #include "selection.h" #include "step_editor.h" -#include "tooltips.h" #include "utils.h" #include "note_base.h" @@ -94,7 +94,6 @@ #include "pbd/i18n.h" using namespace ARDOUR; -using namespace ARDOUR_UI_UTILS; using namespace PBD; using namespace Gtk; using namespace Gtkmm2ext; @@ -154,7 +153,7 @@ MidiTimeAxisView::set_route (boost::shared_ptr rt) */ RouteTimeAxisView::set_route (rt); - _view->apply_color (gdk_color_to_rgba (color()), StreamView::RegionColor); + _view->apply_color (ARDOUR_UI_UTILS::gdk_color_to_rgba (color()), StreamView::RegionColor); subplugin_menu.set_name ("ArdourContextMenu"); @@ -261,8 +260,8 @@ MidiTimeAxisView::set_route (boost::shared_ptr rt) } } - set_tooltip (_midnam_model_selector, _("External MIDI Device")); - set_tooltip (_midnam_custom_device_mode_selector, _("External Device Mode")); + ArdourWidgets::set_tooltip (_midnam_model_selector, _("External MIDI Device")); + ArdourWidgets::set_tooltip (_midnam_custom_device_mode_selector, _("External Device Mode")); _midi_controls_box.pack_start (_midnam_model_selector, false, false, 2); _midi_controls_box.pack_start (_midnam_custom_device_mode_selector, false, false, 2); diff --git a/gtk2_ardour/midi_time_axis.h b/gtk2_ardour/midi_time_axis.h index c562718853..9319aa3ec9 100644 --- a/gtk2_ardour/midi_time_axis.h +++ b/gtk2_ardour/midi_time_axis.h @@ -34,8 +34,9 @@ #include "ardour/types.h" #include "ardour/region.h" +#include "widgets/ardour_dropdown.h" + #include "ardour_dialog.h" -#include "ardour_dropdown.h" #include "route_ui.h" #include "enums.h" #include "route_time_axis.h" @@ -147,20 +148,20 @@ private: void update_control_names (); - bool _ignore_signals; - MidiScroomer* _range_scroomer; - PianoRollHeader* _piano_roll_header; - ARDOUR::NoteMode _note_mode; - Gtk::RadioMenuItem* _note_mode_item; - Gtk::RadioMenuItem* _percussion_mode_item; - ARDOUR::ColorMode _color_mode; - Gtk::RadioMenuItem* _meter_color_mode_item; - Gtk::RadioMenuItem* _channel_color_mode_item; - Gtk::RadioMenuItem* _track_color_mode_item; - Gtk::VBox _midi_controls_box; - MidiChannelSelectorWindow* _channel_selector; - ArdourDropdown _midnam_model_selector; - ArdourDropdown _midnam_custom_device_mode_selector; + bool _ignore_signals; + MidiScroomer* _range_scroomer; + PianoRollHeader* _piano_roll_header; + ARDOUR::NoteMode _note_mode; + Gtk::RadioMenuItem* _note_mode_item; + Gtk::RadioMenuItem* _percussion_mode_item; + ARDOUR::ColorMode _color_mode; + Gtk::RadioMenuItem* _meter_color_mode_item; + Gtk::RadioMenuItem* _channel_color_mode_item; + Gtk::RadioMenuItem* _track_color_mode_item; + Gtk::VBox _midi_controls_box; + MidiChannelSelectorWindow* _channel_selector; + ArdourWidgets::ArdourDropdown _midnam_model_selector; + ArdourWidgets::ArdourDropdown _midnam_custom_device_mode_selector; Gtk::CheckMenuItem* _step_edit_item; Gtk::Menu* default_channel_menu; diff --git a/gtk2_ardour/mini_timeline.cc b/gtk2_ardour/mini_timeline.cc index 3c99a12f1e..b5259af310 100644 --- a/gtk2_ardour/mini_timeline.cc +++ b/gtk2_ardour/mini_timeline.cc @@ -26,12 +26,13 @@ #include "canvas/colors.h" #include "canvas/utils.h" +#include "widgets/tooltips.h" + #include "ardour_ui.h" #include "public_editor.h" #include "main_clock.h" #include "mini_timeline.h" #include "timers.h" -#include "tooltips.h" #include "ui_config.h" #include "pbd/i18n.h" @@ -70,7 +71,7 @@ MiniTimeline::MiniTimeline () Location::start_changed.connect (marker_connection, invalidator (*this), boost::bind (&MiniTimeline::update_minitimeline, this), gui_context ()); Location::flags_changed.connect (marker_connection, invalidator (*this), boost::bind (&MiniTimeline::update_minitimeline, this), gui_context ()); - ARDOUR_UI_UTILS::set_tooltip (*this, + ArdourWidgets::set_tooltip (*this, string_compose (_("Navigation Timeline. Use left-click to locate to time position or marker; scroll-wheel to jump, hold %1 for fine grained and %2 + %3 for extra-fine grained control. Right-click to set display range. The display unit is defined by the primary clock."), Gtkmm2ext::Keyboard::primary_modifier_name(), Gtkmm2ext::Keyboard::primary_modifier_name (), diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc index 884a840491..ac80fbea4f 100644 --- a/gtk2_ardour/mixer_strip.cc +++ b/gtk2_ardour/mixer_strip.cc @@ -35,6 +35,8 @@ #include "gtkmm2ext/slider_controller.h" #include "gtkmm2ext/bindable_button.h" +#include "widgets/tooltips.h" + #include "ardour/amp.h" #include "ardour/audio_track.h" #include "ardour/audioengine.h" @@ -62,7 +64,6 @@ #include "mixer_strip.h" #include "mixer_ui.h" #include "keyboard.h" -#include "ardour_button.h" #include "public_editor.h" #include "send_ui.h" #include "io_selector.h" @@ -70,13 +71,12 @@ #include "gui_thread.h" #include "route_group_menu.h" #include "meter_patterns.h" -#include "tooltips.h" #include "ui_config.h" #include "pbd/i18n.h" using namespace ARDOUR; -using namespace ARDOUR_UI_UTILS; +using namespace ArdourWidgets; using namespace PBD; using namespace Gtk; using namespace Gtkmm2ext; @@ -1621,6 +1621,7 @@ MixerStrip::route_group_changed () void MixerStrip::route_color_changed () { + using namespace ARDOUR_UI_UTILS; name_button.modify_bg (STATE_NORMAL, color()); number_label.set_fixed_colors (gdk_color_to_rgba (color()), gdk_color_to_rgba (color())); reset_strip_style (); diff --git a/gtk2_ardour/mixer_strip.h b/gtk2_ardour/mixer_strip.h index f6a81cdf86..7197f42285 100644 --- a/gtk2_ardour/mixer_strip.h +++ b/gtk2_ardour/mixer_strip.h @@ -47,9 +47,11 @@ #include "pbd/fastlog.h" +#include "widgets/ardour_button.h" +#include "widgets/ardour_knob.h" + #include "axis_view.h" #include "control_slave_ui.h" -#include "ardour_knob.h" #include "route_ui.h" #include "gain_meter.h" #include "panner_ui.h" @@ -162,11 +164,11 @@ private: Width _width; void* _width_owner; - ArdourButton hide_button; - ArdourButton width_button; - ArdourButton number_label; - Gtk::HBox width_hide_box; - Gtk::EventBox spacer; + ArdourWidgets::ArdourButton hide_button; + ArdourWidgets::ArdourButton width_button; + ArdourWidgets::ArdourButton number_label; + Gtk::HBox width_hide_box; + Gtk::EventBox spacer; void hide_clicked(); bool width_button_pressed (GdkEventButton *); @@ -191,17 +193,17 @@ private: void meter_changed (); void monitor_changed (); - ArdourButton input_button; - ArdourButton output_button; + ArdourWidgets::ArdourButton input_button; + ArdourWidgets::ArdourButton output_button; - ArdourButton* monitor_section_button; + ArdourWidgets::ArdourButton* monitor_section_button; void input_button_resized (Gtk::Allocation&); void output_button_resized (Gtk::Allocation&); void comment_button_resized (Gtk::Allocation&); - ArdourButton* midi_input_enable_button; - Gtk::HBox input_button_box; + ArdourWidgets::ArdourButton* midi_input_enable_button; + Gtk::HBox input_button_box; std::string longest_label; @@ -215,16 +217,14 @@ private: gint mark_update_safe (); guint32 mode_switch_in_progress; - ArdourButton name_button; - - ArdourButton _comment_button; - - ArdourKnob trim_control; + ArdourWidgets::ArdourButton name_button; + ArdourWidgets::ArdourButton _comment_button; + ArdourWidgets::ArdourKnob trim_control; void setup_comment_button (); - ArdourButton group_button; - RouteGroupMenu *group_menu; + ArdourWidgets::ArdourButton group_button; + RouteGroupMenu* group_menu; gint input_press (GdkEventButton *); gint input_release (GdkEventButton *); diff --git a/gtk2_ardour/monitor_section.cc b/gtk2_ardour/monitor_section.cc index 2cd46c051a..4a01da2d30 100644 --- a/gtk2_ardour/monitor_section.cc +++ b/gtk2_ardour/monitor_section.cc @@ -31,6 +31,8 @@ #include #include +#include "widgets/tooltips.h" + #include "ardour/amp.h" #include "ardour/audioengine.h" #include "ardour/monitor_processor.h" @@ -46,13 +48,13 @@ #include "monitor_section.h" #include "public_editor.h" #include "timers.h" -#include "tooltips.h" #include "ui_config.h" #include "utils.h" #include "pbd/i18n.h" using namespace ARDOUR; +using namespace ArdourWidgets; using namespace ARDOUR_UI_UTILS; using namespace Gtk; using namespace Gtkmm2ext; diff --git a/gtk2_ardour/monitor_section.h b/gtk2_ardour/monitor_section.h index 037ce528dc..a61f5a2fa5 100644 --- a/gtk2_ardour/monitor_section.h +++ b/gtk2_ardour/monitor_section.h @@ -24,9 +24,10 @@ #include "gtkmm2ext/bindable_button.h" #include "gtkmm2ext/bindings.h" -#include "ardour_button.h" -#include "ardour_knob.h" -#include "ardour_display.h" +#include "widgets/ardour_button.h" +#include "widgets/ardour_knob.h" +#include "widgets/ardour_display.h" + #include "level_meter.h" #include "route_ui.h" #include "monitor_selector.h" @@ -68,10 +69,10 @@ private: Glib::RefPtr channel_size_group; struct ChannelButtonSet { - ArdourButton cut; - ArdourButton dim; - ArdourButton solo; - ArdourButton invert; + ArdourWidgets::ArdourButton cut; + ArdourWidgets::ArdourButton dim; + ArdourWidgets::ArdourButton solo; + ArdourWidgets::ArdourButton invert; ChannelButtonSet (); }; @@ -79,20 +80,20 @@ private: typedef std::vector ChannelButtons; ChannelButtons _channel_buttons; - ArdourKnob* gain_control; - ArdourKnob* dim_control; - ArdourKnob* solo_boost_control; - ArdourKnob* solo_cut_control; + ArdourWidgets::ArdourKnob* gain_control; + ArdourWidgets::ArdourKnob* dim_control; + ArdourWidgets::ArdourKnob* solo_boost_control; + ArdourWidgets::ArdourKnob* solo_cut_control; - ArdourDisplay* gain_display; - ArdourDisplay* dim_display; - ArdourDisplay* solo_boost_display; - ArdourDisplay* solo_cut_display; + ArdourWidgets::ArdourDisplay* gain_display; + ArdourWidgets::ArdourDisplay* dim_display; + ArdourWidgets::ArdourDisplay* solo_boost_display; + ArdourWidgets::ArdourDisplay* solo_cut_display; std::list > output_menu_bundles; Gtk::Menu output_menu; MonitorSelectorWindow *_output_selector; - ArdourButton* output_button; + ArdourWidgets::ArdourButton* output_button; void maybe_add_bundle_to_output_menu (boost::shared_ptr, ARDOUR::BundleList const &); void bundle_output_chosen (boost::shared_ptr); @@ -147,24 +148,24 @@ private: gint output_press (GdkEventButton *); gint output_release (GdkEventButton *); - ArdourButton solo_in_place_button; - ArdourButton afl_button; - ArdourButton pfl_button; + ArdourWidgets::ArdourButton solo_in_place_button; + ArdourWidgets::ArdourButton afl_button; + ArdourWidgets::ArdourButton pfl_button; Gtk::VBox solo_model_box; void solo_use_in_place (); void solo_use_afl (); void solo_use_pfl (); - ArdourButton cut_all_button; - ArdourButton dim_all_button; - ArdourButton mono_button; - ArdourButton rude_solo_button; - ArdourButton rude_iso_button; - ArdourButton rude_audition_button; - ArdourButton exclusive_solo_button; - ArdourButton solo_mute_override_button; - ArdourButton toggle_processorbox_button; + ArdourWidgets::ArdourButton cut_all_button; + ArdourWidgets::ArdourButton dim_all_button; + ArdourWidgets::ArdourButton mono_button; + ArdourWidgets::ArdourButton rude_solo_button; + ArdourWidgets::ArdourButton rude_iso_button; + ArdourWidgets::ArdourButton rude_audition_button; + ArdourWidgets::ArdourButton exclusive_solo_button; + ArdourWidgets::ArdourButton solo_mute_override_button; + ArdourWidgets::ArdourButton toggle_processorbox_button; void do_blink (bool); void solo_blink (bool); diff --git a/gtk2_ardour/panner_ui.cc b/gtk2_ardour/panner_ui.cc index e8f3a8f435..0fd588dfdf 100644 --- a/gtk2_ardour/panner_ui.cc +++ b/gtk2_ardour/panner_ui.cc @@ -27,12 +27,13 @@ #include "ardour/panner_shell.h" #include "ardour/session.h" +#include "widgets/tooltips.h" + #include "panner_ui.h" #include "panner2d.h" #include "gui_thread.h" #include "stereo_panner.h" #include "timers.h" -#include "tooltips.h" #include "mono_panner.h" #include "ui_config.h" @@ -43,7 +44,6 @@ using namespace ARDOUR; using namespace PBD; using namespace Gtkmm2ext; using namespace Gtk; -using namespace ARDOUR_UI_UTILS; PannerUI::PannerUI (Session* s) : _current_nouts (-1) @@ -67,7 +67,7 @@ PannerUI::PannerUI (Session* s) pan_automation_state_button.set_name ("MixerAutomationPlaybackButton"); - set_tooltip (pan_automation_state_button, _("Pan automation mode")); + ArdourWidgets::set_tooltip (pan_automation_state_button, _("Pan automation mode")); //set_size_request_to_display_given_text (pan_automation_state_button, X_("O"), 2, 2); diff --git a/gtk2_ardour/plugin_pin_dialog.cc b/gtk2_ardour/plugin_pin_dialog.cc index 37f453da7e..33a961fdf5 100644 --- a/gtk2_ardour/plugin_pin_dialog.cc +++ b/gtk2_ardour/plugin_pin_dialog.cc @@ -29,6 +29,8 @@ #include "gtkmm2ext/rgb_macros.h" #include "gtkmm2ext/menu_elems.h" +#include "widgets/tooltips.h" + #include "ardour/amp.h" #include "ardour/audioengine.h" #include "ardour/pannable.h" @@ -42,7 +44,6 @@ #include "plugin_pin_dialog.h" #include "gui_thread.h" #include "timers.h" -#include "tooltips.h" #include "ui_config.h" #include "pbd/i18n.h" @@ -52,6 +53,7 @@ using namespace PBD; using namespace std; using namespace Gtk; using namespace Gtkmm2ext; +using namespace ArdourWidgets; PluginPinWidget::PluginPinWidget (boost::shared_ptr pi) : _set_config (_("Manual Config"), ArdourButton::led_default_elements) @@ -191,7 +193,7 @@ PluginPinWidget::PluginPinWidget (boost::shared_ptr pi) tl->pack_start (*manage (new Label ("")), true, true); // invisible separator tl->pack_start (*manage (new HSeparator ()), false, false, 4); _out_presets.disable_scrolling (); - ARDOUR_UI_UTILS::set_tooltip (_out_presets, _("Output Presets")); + ArdourWidgets::set_tooltip (_out_presets, _("Output Presets")); tl->pack_start (_out_presets, false, false); /* right side */ @@ -602,7 +604,7 @@ PluginPinWidget::add_port_to_table (boost::shared_ptr p, uint32_t r, bool ArdourButton *pb = manage (new ArdourButton (lbl)); pb->set_text_ellipsize (Pango::ELLIPSIZE_MIDDLE); pb->set_layout_ellipsize_width (108 * PANGO_SCALE); - ARDOUR_UI_UTILS::set_tooltip (*pb, tip); + ArdourWidgets::set_tooltip (*pb, tip); _sidechain_tbl->attach (*pb, 0, 1, r, r +1 , EXPAND|FILL, SHRINK); pb->signal_button_press_event ().connect (sigc::bind (sigc::mem_fun (*this, &PluginPinWidget::sc_input_press), boost::weak_ptr (p)), false); diff --git a/gtk2_ardour/plugin_pin_dialog.h b/gtk2_ardour/plugin_pin_dialog.h index 33047c6ee7..c1da44c53b 100644 --- a/gtk2_ardour/plugin_pin_dialog.h +++ b/gtk2_ardour/plugin_pin_dialog.h @@ -33,8 +33,9 @@ #include "gtkmm2ext/persistent_tooltip.h" #include "gtkmm2ext/slider_controller.h" -#include "ardour_button.h" -#include "ardour_dropdown.h" +#include "widgets/ardour_button.h" +#include "widgets/ardour_dropdown.h" + #include "ardour_window.h" #include "io_selector.h" @@ -94,22 +95,23 @@ private: Gtk::DrawingArea darea; - ArdourButton _set_config; - ArdourButton _tgl_sidechain; - ArdourButton _add_plugin; - ArdourButton _del_plugin; - ArdourButton _add_input_audio; - ArdourButton _del_input_audio; - ArdourButton _add_input_midi; - ArdourButton _del_input_midi; - ArdourButton _add_output_audio; - ArdourButton _del_output_audio; - ArdourButton _add_output_midi; - ArdourButton _del_output_midi; - ArdourButton _add_sc_audio; - ArdourButton _add_sc_midi; - ArdourDropdown _out_presets; + ArdourWidgets::ArdourButton _set_config; + ArdourWidgets::ArdourButton _tgl_sidechain; + ArdourWidgets::ArdourButton _add_plugin; + ArdourWidgets::ArdourButton _del_plugin; + ArdourWidgets::ArdourButton _add_input_audio; + ArdourWidgets::ArdourButton _del_input_audio; + ArdourWidgets::ArdourButton _add_input_midi; + ArdourWidgets::ArdourButton _del_input_midi; + ArdourWidgets::ArdourButton _add_output_audio; + ArdourWidgets::ArdourButton _del_output_audio; + ArdourWidgets::ArdourButton _add_output_midi; + ArdourWidgets::ArdourButton _del_output_midi; + ArdourWidgets::ArdourButton _add_sc_audio; + ArdourWidgets::ArdourButton _add_sc_midi; + + ArdourWidgets::ArdourDropdown _out_presets; Gtk::Menu reset_menu; Gtk::Menu input_menu; diff --git a/gtk2_ardour/plugin_selector.cc b/gtk2_ardour/plugin_selector.cc index c67af473a0..cd904f6cd9 100644 --- a/gtk2_ardour/plugin_selector.cc +++ b/gtk2_ardour/plugin_selector.cc @@ -30,9 +30,9 @@ #include #include -#include - +#include "gtkmm2ext/utils.h" #include "pbd/convert.h" +#include "widgets/tooltips.h" #include "ardour/plugin_manager.h" #include "ardour/plugin.h" @@ -40,7 +40,6 @@ #include "plugin_selector.h" #include "gui_thread.h" -#include "tooltips.h" #include "pbd/i18n.h" @@ -48,7 +47,7 @@ using namespace ARDOUR; using namespace PBD; using namespace Gtk; using namespace std; -using namespace ARDOUR_UI_UTILS; +using namespace ArdourWidgets; static const char* _filter_mode_strings[] = { N_("Name contains"), diff --git a/gtk2_ardour/plugin_selector.h b/gtk2_ardour/plugin_selector.h index 7ab332d3b4..8f4aec1304 100644 --- a/gtk2_ardour/plugin_selector.h +++ b/gtk2_ardour/plugin_selector.h @@ -28,9 +28,10 @@ #include "ardour/plugin.h" #include "ardour/session_handle.h" -#include "plugin_interest.h" -#include "ardour_button.h" +#include "widgets/ardour_button.h" + +#include "plugin_interest.h" #include "ardour_dialog.h" namespace ARDOUR { @@ -63,10 +64,10 @@ private: Gtk::Entry filter_entry; Gtk::Button filter_button; - ArdourButton fil_hidden_button; - ArdourButton fil_instruments_button; - ArdourButton fil_analysis_button; - ArdourButton fil_utils_button; + ArdourWidgets::ArdourButton fil_hidden_button; + ArdourWidgets::ArdourButton fil_instruments_button; + ArdourWidgets::ArdourButton fil_analysis_button; + ArdourWidgets::ArdourButton fil_utils_button; void filter_button_clicked (); void filter_entry_changed (); diff --git a/gtk2_ardour/plugin_setup_dialog.cc b/gtk2_ardour/plugin_setup_dialog.cc index 3df0fe6491..c3bbc0dbc0 100644 --- a/gtk2_ardour/plugin_setup_dialog.cc +++ b/gtk2_ardour/plugin_setup_dialog.cc @@ -24,6 +24,7 @@ #include "pbd/i18n.h" using namespace ARDOUR; +using namespace ArdourWidgets; using namespace Gtk; PluginSetupDialog::PluginSetupDialog (boost::shared_ptr r, boost::shared_ptr pi, ARDOUR::Route::PluginSetupOptions flags) diff --git a/gtk2_ardour/plugin_setup_dialog.h b/gtk2_ardour/plugin_setup_dialog.h index 8d07b62539..2b326b110b 100644 --- a/gtk2_ardour/plugin_setup_dialog.h +++ b/gtk2_ardour/plugin_setup_dialog.h @@ -22,7 +22,9 @@ #include "ardour/plugin_insert.h" #include "ardour/route.h" -#include "ardour_dropdown.h" +#include "widgets/ardour_button.h" +#include "widgets/ardour_dropdown.h" + #include "ardour_dialog.h" class PluginSetupDialog : public ArdourDialog @@ -46,9 +48,9 @@ private: boost::shared_ptr _route; boost::shared_ptr _pi; - ArdourDropdown _out_presets; - ArdourButton _keep_mapping; - ArdourButton _fan_out; + ArdourWidgets::ArdourDropdown _out_presets; + ArdourWidgets::ArdourButton _keep_mapping; + ArdourWidgets::ArdourButton _fan_out; ARDOUR::ChanCount _cur_inputs; ARDOUR::ChanCount _cur_outputs; }; diff --git a/gtk2_ardour/plugin_ui.cc b/gtk2_ardour/plugin_ui.cc index 7314eb0042..32e7fb18c9 100644 --- a/gtk2_ardour/plugin_ui.cc +++ b/gtk2_ardour/plugin_ui.cc @@ -30,15 +30,17 @@ #include "pbd/xml++.h" #include "pbd/failed_constructor.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "gtkmm/widget.h" +#include "gtkmm/box.h" +#include "gtkmm2ext/click_box.h" +#include "gtkmm2ext/fastmeter.h" +#include "gtkmm2ext/barcontroller.h" +#include "gtkmm2ext/utils.h" +#include "gtkmm2ext/doi.h" +#include "gtkmm2ext/slider_controller.h" +#include "gtkmm2ext/application.h" + +#include "widgets/tooltips.h" #include "ardour/session.h" #include "ardour/plugin.h" @@ -73,13 +75,13 @@ #include "latency_gui.h" #include "plugin_eq_gui.h" #include "new_plugin_preset_dialog.h" -#include "tooltips.h" #include "pbd/i18n.h" using namespace std; using namespace ARDOUR; using namespace ARDOUR_UI_UTILS; +using namespace ArdourWidgets; using namespace PBD; using namespace Gtkmm2ext; using namespace Gtk; diff --git a/gtk2_ardour/plugin_ui.h b/gtk2_ardour/plugin_ui.h index 860772c8c4..b7c6866867 100644 --- a/gtk2_ardour/plugin_ui.h +++ b/gtk2_ardour/plugin_ui.h @@ -48,9 +48,10 @@ #include "ardour/plugin.h" #include "ardour/variant.h" -#include "ardour_button.h" -#include "ardour_dropdown.h" -#include "ardour_spinner.h" +#include "widgets/ardour_button.h" +#include "widgets/ardour_dropdown.h" +#include "widgets/ardour_spinner.h" + #include "ardour_window.h" #include "automation_controller.h" @@ -117,21 +118,21 @@ protected: /* UI elements that can subclasses can add to their widgets */ /** a ComboBoxText which lists presets and manages their selection */ - ArdourDropdown _preset_combo; + ArdourWidgets::ArdourDropdown _preset_combo; /** a label which has a * in if the current settings are different from the preset being shown */ Gtk::Label _preset_modified; /** a button to add a preset */ - ArdourButton add_button; + ArdourWidgets::ArdourButton add_button; /** a button to save the current settings as a new user preset */ - ArdourButton save_button; + ArdourWidgets::ArdourButton save_button; /** a button to delete the current preset (if it is a user one) */ - ArdourButton delete_button; + ArdourWidgets::ArdourButton delete_button; /** a button to delete the reset the plugin params */ - ArdourButton reset_button; + ArdourWidgets::ArdourButton reset_button; /** a button to bypass the plugin */ - ArdourButton bypass_button; + ArdourWidgets::ArdourButton bypass_button; /** and self-explaining button :) */ - ArdourButton pin_management_button; + ArdourWidgets::ArdourButton pin_management_button; /** a button to acquire keyboard focus */ Gtk::EventBox focus_button; /** an expander containing the plugin description */ @@ -139,15 +140,15 @@ protected: /** an expander containing the plugin analysis graph */ Gtk::Expander plugin_analysis_expander; /** a button which, when clicked, opens the latency GUI */ - ArdourButton latency_button; + ArdourWidgets::ArdourButton latency_button; /** a button which sets all controls' automation setting to Manual */ - ArdourButton automation_manual_all_button; + ArdourWidgets::ArdourButton automation_manual_all_button; /** a button which sets all controls' automation setting to Play */ - ArdourButton automation_play_all_button; + ArdourWidgets::ArdourButton automation_play_all_button; /** a button which sets all controls' automation setting to Write */ - ArdourButton automation_write_all_button; + ArdourWidgets::ArdourButton automation_write_all_button; /** a button which sets all controls' automation setting to Touch */ - ArdourButton automation_touch_all_button; + ArdourWidgets::ArdourButton automation_touch_all_button; void set_latency_label (); @@ -227,12 +228,12 @@ private: boost::shared_ptr scale_points; boost::shared_ptr controller; - ArdourButton automate_button; + ArdourWidgets::ArdourButton automate_button; Gtk::Label label; - ArdourDropdown* combo; + ArdourWidgets::ArdourDropdown* combo; Gtkmm2ext::ClickBox* clickbox; Gtk::FileChooserButton* file_button; - ArdourSpinner* spin_box; + ArdourWidgets::ArdourSpinner* spin_box; bool button; bool update_pending; diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc index 876165e5d3..a3d1833e34 100644 --- a/gtk2_ardour/processor_box.cc +++ b/gtk2_ardour/processor_box.cc @@ -34,13 +34,15 @@ #include -#include +#include "gtkmm2ext/gtk_ui.h" #include "gtkmm2ext/menu_elems.h" -#include -#include -#include -#include -#include +#include "gtkmm2ext/utils.h" +#include "gtkmm2ext/choice.h" +#include "gtkmm2ext/utils.h" +#include "gtkmm2ext/doi.h" +#include "gtkmm2ext/rgb_macros.h" + +#include "widgets/tooltips.h" #include "ardour/amp.h" #include "ardour/audio_track.h" @@ -84,7 +86,6 @@ #include "script_selector.h" #include "send_ui.h" #include "timers.h" -#include "tooltips.h" #include "new_plugin_preset_dialog.h" #include "pbd/i18n.h" @@ -103,6 +104,7 @@ using namespace PBD; using namespace Gtk; using namespace Glib; using namespace Gtkmm2ext; +using namespace ArdourWidgets; ProcessorBox* ProcessorBox::_current_processor_box = 0; RefPtr ProcessorBox::paste_action; @@ -516,10 +518,10 @@ ProcessorEntry::setup_tooltip () } if (pi->plugin()->has_editor()) { - ARDOUR_UI_UTILS::set_tooltip (_button, + set_tooltip (_button, string_compose (_("%1\nDouble-click to show GUI.\n%2+double-click to show generic GUI.%3"), name (Wide), Keyboard::secondary_modifier_name (), postfix)); } else { - ARDOUR_UI_UTILS::set_tooltip (_button, + set_tooltip (_button, string_compose (_("%1\nDouble-click to show generic GUI.%2"), name (Wide), postfix)); } return; @@ -533,14 +535,14 @@ ProcessorEntry::setup_tooltip () if ((send = boost::dynamic_pointer_cast (_processor)) != 0 && !boost::dynamic_pointer_cast(_processor)) { if (send->remove_on_disconnect ()) { - ARDOUR_UI_UTILS::set_tooltip (_button, string_compose ("> %1\nThis (sidechain) send will be removed when disconnected.", _processor->name())); + set_tooltip (_button, string_compose ("> %1\nThis (sidechain) send will be removed when disconnected.", _processor->name())); } else { - ARDOUR_UI_UTILS::set_tooltip (_button, string_compose ("> %1", _processor->name())); + set_tooltip (_button, string_compose ("> %1", _processor->name())); } return; } } - ARDOUR_UI_UTILS::set_tooltip (_button, string_compose ("%1", name (Wide))); + set_tooltip (_button, string_compose ("%1", name (Wide))); } string @@ -880,7 +882,7 @@ ProcessorEntry::Control::set_tooltip () std::string tt = _name + ": " + ARDOUR::value_as_string (c->desc(), c->get_value ()); string sm = Gtkmm2ext::markup_escape_text (tt); _slider_persistant_tooltip.set_tip (sm); - ARDOUR_UI_UTILS::set_tooltip (_button, sm); + ArdourWidgets::set_tooltip (_button, sm); } void @@ -1556,10 +1558,10 @@ ProcessorEntry::PluginDisplay::PluginDisplay (ProcessorEntry& e, boost::shared_p std::string postfix = string_compose(_("\n%1+double-click to toggle inline-display"), Keyboard::tertiary_modifier_name ()); if (_plug->has_editor()) { - ARDOUR_UI_UTILS::set_tooltip (*this, + set_tooltip (*this, string_compose (_("%1\nDouble-click to show GUI.\n%2+double-click to show generic GUI.%3"), e.name (Wide), Keyboard::primary_modifier_name (), postfix)); } else { - ARDOUR_UI_UTILS::set_tooltip (*this, + set_tooltip (*this, string_compose (_("%1\nDouble-click to show generic GUI.%2"), e.name (Wide), postfix)); } } @@ -1856,7 +1858,7 @@ ProcessorBox::ProcessorBox (ARDOUR::Session* sess, boost::function #include -#include -#include -#include -#include -#include +#include "gtkmm2ext/utils.h" +#include "gtkmm2ext/slider_controller.h" +#include "gtkmm2ext/gtk_ui.h" +#include "gtkmm2ext/paths_dialog.h" +#include "gtkmm2ext/window_title.h" #include "pbd/fpu.h" #include "pbd/cpus.h" @@ -54,6 +54,7 @@ #include "control_protocol/control_protocol.h" #include "canvas/wave_view.h" +#include "widgets/tooltips.h" #include "ardour_dialog.h" #include "ardour_ui.h" @@ -65,7 +66,6 @@ #include "midi_tracer.h" #include "rc_option_editor.h" #include "sfdb_ui.h" -#include "tooltips.h" #include "ui_config.h" #include "utils.h" @@ -75,6 +75,7 @@ using namespace Gtkmm2ext; using namespace PBD; using namespace ARDOUR; using namespace ARDOUR_UI_UTILS; +using namespace ArdourWidgets; class ClickOptions : public OptionEditorMiniPage { diff --git a/gtk2_ardour/region_editor.cc b/gtk2_ardour/region_editor.cc index b480750810..156e89378b 100644 --- a/gtk2_ardour/region_editor.cc +++ b/gtk2_ardour/region_editor.cc @@ -24,6 +24,8 @@ #include "pbd/memento_command.h" #include "pbd/stateful_diff_command.h" +#include "widgets/tooltips.h" + #include "ardour/region.h" #include "ardour/session.h" #include "ardour/source.h" @@ -34,7 +36,6 @@ #include "gui_thread.h" #include "region_editor.h" #include "public_editor.h" -#include "tooltips.h" #include "pbd/i18n.h" @@ -42,7 +43,6 @@ using namespace ARDOUR; using namespace PBD; using namespace std; using namespace Gtkmm2ext; -using namespace ARDOUR_UI_UTILS; RegionEditor::RegionEditor (Session* s, boost::shared_ptr r) : ArdourDialog (_("Region")) @@ -78,7 +78,7 @@ RegionEditor::RegionEditor (Session* s, boost::shared_ptr r) sync_offset_absolute_clock.set_session (_session); start_clock.set_session (_session); - set_tooltip (audition_button, _("audition this region")); + ArdourWidgets::set_tooltip (audition_button, _("audition this region")); audition_button.unset_flags (Gtk::CAN_FOCUS); diff --git a/gtk2_ardour/route_time_axis.cc b/gtk2_ardour/route_time_axis.cc index c1fa5e26ba..62a68557ce 100644 --- a/gtk2_ardour/route_time_axis.cc +++ b/gtk2_ardour/route_time_axis.cc @@ -35,12 +35,15 @@ #include "pbd/enumwriter.h" #include "pbd/stateful_diff_command.h" -#include -#include -#include -#include -#include -#include +#include "gtkmm/menu.h" +#include "gtkmm/menuitem.h" +#include "gtkmm2ext/gtk_ui.h" +#include "gtkmm2ext/selector.h" +#include "gtkmm2ext/bindable_button.h" +#include "gtkmm2ext/utils.h" + +#include "widgets/ardour_button.h" +#include "widgets/tooltips.h" #include "ardour/amp.h" #include "ardour/meter.h" @@ -58,7 +61,6 @@ #include "canvas/debug.h" #include "ardour_ui.h" -#include "ardour_button.h" #include "audio_streamview.h" #include "debug.h" #include "enums_convert.h" @@ -77,7 +79,6 @@ #include "rgb_macros.h" #include "selection.h" #include "streamview.h" -#include "tooltips.h" #include "ui_config.h" #include "utils.h" #include "route_group_menu.h" @@ -87,7 +88,7 @@ #include "pbd/i18n.h" using namespace ARDOUR; -using namespace ARDOUR_UI_UTILS; +using namespace ArdourWidgets; using namespace PBD; using namespace Gtkmm2ext; using namespace Gtk; @@ -1080,10 +1081,10 @@ RouteTimeAxisView::set_height (uint32_t h, TrackHeightMode m) void RouteTimeAxisView::route_color_changed () { + using namespace ARDOUR_UI_UTILS; if (_view) { _view->apply_color (color(), StreamView::RegionColor); } - number_label.set_fixed_colors (gdk_color_to_rgba (color()), gdk_color_to_rgba (color())); } diff --git a/gtk2_ardour/route_time_axis.h b/gtk2_ardour/route_time_axis.h index 2b069ff519..50070c537a 100644 --- a/gtk2_ardour/route_time_axis.h +++ b/gtk2_ardour/route_time_axis.h @@ -35,10 +35,11 @@ #include #include +#include "widgets/ardour_button.h" + #include "ardour/playlist.h" #include "ardour/types.h" -#include "ardour_button.h" #include "ardour_dialog.h" #include "route_ui.h" #include "enums.h" @@ -246,10 +247,10 @@ protected: Gtk::HBox other_button_hbox; Gtk::Table button_table; - ArdourButton route_group_button; - ArdourButton playlist_button; - ArdourButton automation_button; - ArdourButton number_label; + ArdourWidgets::ArdourButton route_group_button; + ArdourWidgets::ArdourButton playlist_button; + ArdourWidgets::ArdourButton automation_button; + ArdourWidgets::ArdourButton number_label; Gtk::Menu subplugin_menu; Gtk::Menu* automation_action_menu; diff --git a/gtk2_ardour/route_ui.cc b/gtk2_ardour/route_ui.cc index 817594e1b7..92fdbd3892 100644 --- a/gtk2_ardour/route_ui.cc +++ b/gtk2_ardour/route_ui.cc @@ -20,13 +20,15 @@ #include #include -#include -#include -#include -#include -#include -#include -#include +#include "gtkmm2ext/gtk_ui.h" +#include "gtkmm2ext/choice.h" +#include "gtkmm2ext/doi.h" +#include "gtkmm2ext/bindable_button.h" +#include "gtkmm2ext/barcontroller.h" +#include "gtkmm2ext/gtk_ui.h" +#include "gtkmm2ext/utils.h" + +#include "widgets/ardour_button.h" #include "pbd/memento_command.h" #include "pbd/stacktrace.h" @@ -53,7 +55,7 @@ #include "ardour/session.h" #include "ardour/template_utils.h" -#include "ardour_button.h" + #include "ardour_dialog.h" #include "ardour_ui.h" #include "automation_time_axis.h" @@ -79,6 +81,7 @@ using namespace Gtk; using namespace Gtkmm2ext; using namespace ARDOUR; using namespace ARDOUR_UI_UTILS; +using namespace ArdourWidgets; using namespace PBD; using namespace std; diff --git a/gtk2_ardour/route_ui.h b/gtk2_ardour/route_ui.h index 9ec4d56313..d4f15f0c7b 100644 --- a/gtk2_ardour/route_ui.h +++ b/gtk2_ardour/route_ui.h @@ -55,7 +55,10 @@ namespace Gtk { class Widget; } -class ArdourButton; +namespace ArdourWidgets { + class ArdourButton; +} + class ArdourWindow; class IOSelectorWindow; class ControlSlaveUI; @@ -114,17 +117,17 @@ public: bool multiple_solo_change; Gtk::HBox _invert_button_box; - ArdourButton* mute_button; - ArdourButton* solo_button; - ArdourButton* rec_enable_button; /* audio tracks */ - ArdourButton* show_sends_button; /* busses */ - ArdourButton* monitor_input_button; - ArdourButton* monitor_disk_button; + ArdourWidgets::ArdourButton* mute_button; + ArdourWidgets::ArdourButton* solo_button; + ArdourWidgets::ArdourButton* rec_enable_button; /* audio tracks */ + ArdourWidgets::ArdourButton* show_sends_button; /* busses */ + ArdourWidgets::ArdourButton* monitor_input_button; + ArdourWidgets::ArdourButton* monitor_disk_button; Glib::RefPtr solo_safe_pixbuf; - ArdourButton* solo_safe_led; - ArdourButton* solo_isolated_led; + ArdourWidgets::ArdourButton* solo_safe_led; + ArdourWidgets::ArdourButton* solo_isolated_led; Gtk::Label monitor_input_button_label; @@ -329,7 +332,7 @@ private: bool invert_release (GdkEventButton *, uint32_t i); int _i_am_the_modifier; - std::vector _invert_buttons; + std::vector _invert_buttons; Gtk::Menu* _invert_menu; StripableColorDialog _color_picker; diff --git a/gtk2_ardour/session_dialog.cc b/gtk2_ardour/session_dialog.cc index e110316693..7490b48b8f 100644 --- a/gtk2_ardour/session_dialog.cc +++ b/gtk2_ardour/session_dialog.cc @@ -43,6 +43,8 @@ #include "gtkmm2ext/utils.h" #include "gtkmm2ext/keyboard.h" +#include "widgets/tooltips.h" + #include "ardour/audioengine.h" #include "ardour/filesystem_paths.h" #include "ardour/recent_sessions.h" @@ -56,7 +58,6 @@ #include "opts.h" #include "engine_dialog.h" #include "pbd/i18n.h" -#include "tooltips.h" #include "ui_config.h" #include "utils.h" @@ -66,6 +67,7 @@ using namespace Gdk; using namespace Glib; using namespace PBD; using namespace ARDOUR; +using namespace ArdourWidgets; using namespace ARDOUR_UI_UTILS; SessionDialog::SessionDialog (bool require_new, const std::string& session_name, const std::string& session_path, const std::string& template_name, bool cancel_not_quit) diff --git a/gtk2_ardour/shuttle_control.cc b/gtk2_ardour/shuttle_control.cc index d4936098d0..98249bc62b 100644 --- a/gtk2_ardour/shuttle_control.cc +++ b/gtk2_ardour/shuttle_control.cc @@ -36,17 +36,18 @@ #include "canvas/utils.h" #include "canvas/colors.h" +#include "widgets/tooltips.h" + #include "actions.h" #include "rgb_macros.h" #include "shuttle_control.h" -#include "tooltips.h" #include "pbd/i18n.h" using namespace Gtk; using namespace Gtkmm2ext; using namespace ARDOUR; -using namespace ARDOUR_UI_UTILS; +using namespace ArdourWidgets; using std::min; using std::max; diff --git a/gtk2_ardour/shuttle_control.h b/gtk2_ardour/shuttle_control.h index f7d3bd3601..1b6cce5870 100644 --- a/gtk2_ardour/shuttle_control.h +++ b/gtk2_ardour/shuttle_control.h @@ -29,7 +29,7 @@ #include "ardour/session_handle.h" #include "ardour/types.h" -#include "ardour_button.h" +#include "widgets/ardour_button.h" namespace Gtk { class Menu; @@ -60,7 +60,7 @@ public: boost::shared_ptr controllable() const { return _controllable; } void set_colors (); - ArdourButton* info_button () { return &_info_button; } + ArdourWidgets::ArdourButton* info_button () { return &_info_button; } protected: bool _hovering; @@ -75,7 +75,7 @@ protected: cairo_pattern_t* shine_pattern; ARDOUR::microseconds_t last_shuttle_request; PBD::ScopedConnection parameter_connection; - ArdourButton _info_button; + ArdourWidgets::ArdourButton _info_button; Gtk::Menu* shuttle_unit_menu; Gtk::Menu* shuttle_style_menu; Gtk::Menu* shuttle_context_menu; diff --git a/gtk2_ardour/step_entry.cc b/gtk2_ardour/step_entry.cc index 639b8b7317..4184068eb4 100644 --- a/gtk2_ardour/step_entry.cc +++ b/gtk2_ardour/step_entry.cc @@ -24,13 +24,14 @@ #include "gtkmm2ext/actions.h" #include "gtkmm2ext/keyboard.h" +#include "widgets/tooltips.h" + #include "ardour/filesystem_paths.h" #include "midi_channel_selector.h" #include "midi_time_axis.h" #include "step_editor.h" #include "step_entry.h" -#include "tooltips.h" #include "utils.h" #include "pbd/i18n.h" @@ -42,6 +43,7 @@ using namespace Gtkmm2ext; using namespace PBD; using namespace ARDOUR; using namespace ARDOUR_UI_UTILS; +using namespace ArdourWidgets; static void _note_off_event_handler (GtkWidget* /*widget*/, int note, gpointer arg) diff --git a/gtk2_ardour/time_axis_view.cc b/gtk2_ardour/time_axis_view.cc index 05d93f696c..403ab88eb6 100644 --- a/gtk2_ardour/time_axis_view.cc +++ b/gtk2_ardour/time_axis_view.cc @@ -39,6 +39,8 @@ #include "canvas/utils.h" #include "canvas/colors.h" +#include "widgets/tooltips.h" + #include "ardour/profile.h" #include "ardour_dialog.h" @@ -55,7 +57,6 @@ #include "streamview.h" #include "editor_drag.h" #include "editor.h" -#include "tooltips.h" #include "ui_config.h" #include "pbd/i18n.h" @@ -64,10 +65,10 @@ using namespace std; using namespace Gtk; using namespace Gdk; using namespace ARDOUR; -using namespace ARDOUR_UI_UTILS; using namespace PBD; using namespace Editing; using namespace ArdourCanvas; +using namespace ArdourWidgets; using Gtkmm2ext::Keyboard; #define TOP_LEVEL_WIDGET controls_ebox diff --git a/gtk2_ardour/time_info_box.h b/gtk2_ardour/time_info_box.h index 14dff4e36b..b705291a35 100644 --- a/gtk2_ardour/time_info_box.h +++ b/gtk2_ardour/time_info_box.h @@ -31,8 +31,6 @@ #include "ardour/ardour.h" #include "ardour/session_handle.h" -#include "ardour_button.h" - namespace ARDOUR { class Session; class Location; diff --git a/gtk2_ardour/ui_config.cc b/gtk2_ardour/ui_config.cc index 8b1d5a8c27..a5f80dc741 100644 --- a/gtk2_ardour/ui_config.cc +++ b/gtk2_ardour/ui_config.cc @@ -72,6 +72,7 @@ UIConfiguration& UIConfiguration::instance () { static UIConfiguration s_instance; + _instance = &s_instance; return s_instance; } diff --git a/gtk2_ardour/ui_config.h b/gtk2_ardour/ui_config.h index d5801f5545..159884a14f 100644 --- a/gtk2_ardour/ui_config.h +++ b/gtk2_ardour/ui_config.h @@ -35,10 +35,11 @@ #include "pbd/configuration_variable.h" #include "canvas/colors.h" +#include "widgets/ui_config.h" #include "utils.h" -class UIConfiguration : public PBD::Stateful +class UIConfiguration : public ArdourWidgets::UIConfigurationBase { private: UIConfiguration(); @@ -87,14 +88,9 @@ public: static std::string color_to_hex_string (ArdourCanvas::Color c); static std::string color_to_hex_string_no_alpha (ArdourCanvas::Color c); - sigc::signal ColorsChanged; - void reset_dpi (); - float get_ui_scale (); - sigc::signal DPIReset; - sigc::signal ParameterChanged; void map_parameters (boost::function&); diff --git a/gtk2_ardour/vca_master_strip.cc b/gtk2_ardour/vca_master_strip.cc index 4f592334c7..eea92eec45 100644 --- a/gtk2_ardour/vca_master_strip.cc +++ b/gtk2_ardour/vca_master_strip.cc @@ -27,12 +27,12 @@ #include "gtkmm2ext/doi.h" #include "gtkmm2ext/keyboard.h" +#include "widgets/tooltips.h" #include "ardour_dialog.h" #include "floating_text_entry.h" #include "gui_thread.h" #include "mixer_ui.h" -#include "tooltips.h" #include "ui_config.h" #include "utils.h" #include "vca_master_strip.h" @@ -40,7 +40,7 @@ #include "pbd/i18n.h" using namespace ARDOUR; -using namespace ARDOUR_UI_UTILS; +using namespace ArdourWidgets; using namespace Gtkmm2ext; using namespace Gtk; using namespace PBD; @@ -59,7 +59,7 @@ VCAMasterStrip::VCAMasterStrip (Session* s, boost::shared_ptr v) /* set color for the VCA, if not already done. */ if (!_vca->presentation_info().color_set()) { - _vca->presentation_info().set_color (gdk_color_to_rgba (unique_random_color())); + _vca->presentation_info().set_color (ARDOUR_UI_UTILS::gdk_color_to_rgba (unique_random_color())); } control_slave_ui.set_stripable (boost::dynamic_pointer_cast (v)); @@ -521,7 +521,7 @@ VCAMasterStrip::drop_all_slaves () Gdk::Color VCAMasterStrip::color () const { - return gdk_color_from_rgba (_vca->presentation_info().color ()); + return ARDOUR_UI_UTILS::gdk_color_from_rgba (_vca->presentation_info().color ()); } string diff --git a/gtk2_ardour/vca_master_strip.h b/gtk2_ardour/vca_master_strip.h index 232962d2cd..12120b7ecc 100644 --- a/gtk2_ardour/vca_master_strip.h +++ b/gtk2_ardour/vca_master_strip.h @@ -21,11 +21,12 @@ #include -#include -#include -#include +#include "gtkmm/box.h" +#include "gtkmm/menuitem.h" +#include "gtkmm/colorselection.h" + +#include "widgets/ardour_button.h" -#include "ardour_button.h" #include "axis_view.h" #include "control_slave_ui.h" #include "gain_meter.h" @@ -61,22 +62,22 @@ private: boost::shared_ptr _vca; GainMeter gain_meter; - Gtk::Frame global_frame; - Gtk::VBox global_vpacker; - Gtk::HBox top_padding; - Gtk::HBox bottom_padding; - Gtk::HBox solo_mute_box; - ArdourButton width_button; - ArdourButton color_button; - ArdourButton hide_button; - ArdourButton number_label; - ArdourButton solo_button; - ArdourButton mute_button; - Gtk::Menu* context_menu; - Gtk::MessageDialog* delete_dialog; - ArdourButton vertical_button; - ControlSlaveUI control_slave_ui; - PBD::ScopedConnectionList vca_connections; + Gtk::Frame global_frame; + Gtk::VBox global_vpacker; + Gtk::HBox top_padding; + Gtk::HBox bottom_padding; + Gtk::HBox solo_mute_box; + ArdourWidgets::ArdourButton width_button; + ArdourWidgets::ArdourButton color_button; + ArdourWidgets::ArdourButton hide_button; + ArdourWidgets::ArdourButton number_label; + ArdourWidgets::ArdourButton solo_button; + ArdourWidgets::ArdourButton mute_button; + Gtk::Menu* context_menu; + Gtk::MessageDialog* delete_dialog; + ArdourWidgets::ArdourButton vertical_button; + ControlSlaveUI control_slave_ui; + PBD::ScopedConnectionList vca_connections; void spill (); void spill_change (boost::shared_ptr); diff --git a/gtk2_ardour/vca_time_axis.cc b/gtk2_ardour/vca_time_axis.cc index f5eb1be7d7..887a666934 100644 --- a/gtk2_ardour/vca_time_axis.cc +++ b/gtk2_ardour/vca_time_axis.cc @@ -28,18 +28,18 @@ #include "ardour/vca.h" #include "gtkmm2ext/doi.h" -#include +#include "gtkmm2ext/utils.h" +#include "widgets/tooltips.h" #include "gui_thread.h" #include "public_editor.h" -#include "tooltips.h" #include "ui_config.h" #include "vca_time_axis.h" #include "pbd/i18n.h" using namespace ARDOUR; -using namespace ARDOUR_UI_UTILS; +using namespace ArdourWidgets; using namespace Gtk; using namespace Gtkmm2ext; using namespace PBD; @@ -334,7 +334,7 @@ VCATimeAxisView::stripable () const Gdk::Color VCATimeAxisView::color () const { - return gdk_color_from_rgb (_vca->presentation_info().color ()); + return ARDOUR_UI_UTILS::gdk_color_from_rgb (_vca->presentation_info().color ()); } void diff --git a/gtk2_ardour/vca_time_axis.h b/gtk2_ardour/vca_time_axis.h index f2d2e31ccb..9620310237 100644 --- a/gtk2_ardour/vca_time_axis.h +++ b/gtk2_ardour/vca_time_axis.h @@ -20,7 +20,8 @@ #ifndef __ardour_vca_time_axis_h__ #define __ardour_vca_time_axis_h__ -#include "ardour_button.h" +#include "widgets/ardour_button.h" + #include "stripable_time_axis.h" #include "gain_meter.h" @@ -57,13 +58,13 @@ public: protected: boost::shared_ptr _vca; - ArdourButton solo_button; - ArdourButton mute_button; - ArdourButton automation_button; - ArdourButton drop_button; - ArdourButton number_label; - GainMeterBase gain_meter; - PBD::ScopedConnectionList vca_connections; + ArdourWidgets::ArdourButton solo_button; + ArdourWidgets::ArdourButton mute_button; + ArdourWidgets::ArdourButton automation_button; + ArdourWidgets::ArdourButton drop_button; + ArdourWidgets::ArdourButton number_label; + GainMeterBase gain_meter; + PBD::ScopedConnectionList vca_connections; void create_gain_automation_child (const Evoral::Parameter &, bool); void create_trim_automation_child (const Evoral::Parameter &, bool) {} diff --git a/gtk2_ardour/wscript b/gtk2_ardour/wscript index 92cb059379..123cf1e994 100644 --- a/gtk2_ardour/wscript +++ b/gtk2_ardour/wscript @@ -31,13 +31,8 @@ gtk2_ardour_sources = [ 'add_route_dialog.cc', 'ambiguous_file_dialog.cc', 'analysis_window.cc', - 'ardour_button.cc', 'ardour_dialog.cc', - 'ardour_display.cc', - 'ardour_dropdown.cc', 'ardour_http.cc', - 'ardour_knob.cc', - 'ardour_spinner.cc', 'ardour_ui.cc', 'ardour_ui2.cc', 'ardour_ui_dependents.cc', @@ -260,7 +255,6 @@ gtk2_ardour_sources = [ 'time_info_box.cc', 'time_selection.cc', 'timers.cc', - 'tooltips.cc', 'track_selection.cc', 'track_view_list.cc', 'transform_dialog.cc', @@ -489,6 +483,7 @@ def build(bld): 'libmidipp', 'libgtkmm2ext', 'libcanvas', + 'libwidgets', 'libptformat', ] obj.defines = [ @@ -510,36 +505,36 @@ def build(bld): obj.defines += [ 'LXVST_SUPPORT' ] obj.use += [ 'X11' ] - # Tool to test libcanvas - if re.search ("linux", sys.platform) != None and bld.env['CANVASTESTUI']: - obj = bld (features = 'cxx c cxxprogram') - obj.install_path = None - obj.source = list(gtk2_ardour_sources) - obj.source = [ 'ardour_button.cc', 'ui_config.cc', 'tooltips.cc' ] - obj.target = 'canvas_test' - obj.includes = ['.', '../libs'] - obj.ldflags = ['-no-undefined'] - obj.use = [ - 'libpbd', - 'libardour', - 'libardour_cp', - 'libtimecode', - 'libmidipp', - 'libgtkmm2ext', - 'libcanvas', - 'libptformat', - ] - obj.defines = [ - 'NOMAIN', - 'PACKAGE="' + I18N_PACKAGE + '"', - 'DATA_DIR="' + os.path.normpath(bld.env['DATADIR']) + '"', - 'CONFIG_DIR="' + os.path.normpath(bld.env['SYSCONFDIR']) + '"', - 'LOCALEDIR="' + os.path.normpath(bld.env['LOCALEDIR']) + '"', - ] - obj.linkflags = '' - obj.uselib = 'UUID FLAC FONTCONFIG GLIBMM GTHREAD GTK OGG CURL DL GTKMM CANVAS FFTW3F LO TAGLIB XML ' - # obj.source += [ 'canvas_test.cc', ] - obj.source += [ 'toolbar_test.cc', 'enums.cc'] +# # Tool to test libcanvas +# if re.search ("linux", sys.platform) != None and bld.env['CANVASTESTUI']: +# obj = bld (features = 'cxx c cxxprogram') +# obj.install_path = None +# obj.source = list(gtk2_ardour_sources) +# obj.source = [ 'ardour_button.cc', 'ui_config.cc', 'tooltips.cc' ] +# obj.target = 'canvas_test' +# obj.includes = ['.', '../libs'] +# obj.ldflags = ['-no-undefined'] +# obj.use = [ +# 'libpbd', +# 'libardour', +# 'libardour_cp', +# 'libtimecode', +# 'libmidipp', +# 'libgtkmm2ext', +# 'libcanvas', +# 'libptformat', +# ] +# obj.defines = [ +# 'NOMAIN', +# 'PACKAGE="' + I18N_PACKAGE + '"', +# 'DATA_DIR="' + os.path.normpath(bld.env['DATADIR']) + '"', +# 'CONFIG_DIR="' + os.path.normpath(bld.env['SYSCONFDIR']) + '"', +# 'LOCALEDIR="' + os.path.normpath(bld.env['LOCALEDIR']) + '"', +# ] +# obj.linkflags = '' +# obj.uselib = 'UUID FLAC FONTCONFIG GLIBMM GTHREAD GTK OGG CURL DL GTKMM CANVAS FFTW3F LO TAGLIB XML ' +# # obj.source += [ 'canvas_test.cc', ] +# obj.source += [ 'toolbar_test.cc', 'enums.cc'] if bld.is_defined('WINDOWS_VST_SUPPORT') and bld.env['build_target'] != 'mingw': @@ -560,6 +555,7 @@ def build(bld): 'libgtk2_ardour', 'libgtkmm2ext', 'libcanvas', + 'libwidgets', 'libptformat', ] obj.target = 'ardour-' + str (bld.env['VERSION']) + '-vst.exe.so' @@ -605,6 +601,7 @@ def build(bld): 'libmidipp', 'libgtkmm2ext', 'libcanvas', + 'libwidgets', 'libptformat', ] diff --git a/gtk2_ardour/ardour_button.cc b/libs/widgets/ardour_button.cc similarity index 95% rename from gtk2_ardour/ardour_button.cc rename to libs/widgets/ardour_button.cc index 3ec9d770d9..913e18bae8 100644 --- a/gtk2_ardour/ardour_button.cc +++ b/libs/widgets/ardour_button.cc @@ -35,9 +35,9 @@ #include "canvas/utils.h" #include "canvas/colors.h" -#include "ardour_button.h" -#include "tooltips.h" -#include "ui_config.h" +#include "widgets/ardour_button.h" +#include "widgets/tooltips.h" +#include "widgets/ui_config.h" #include "pbd/i18n.h" @@ -47,7 +47,7 @@ using namespace Gtk; using namespace Glib; using namespace PBD; -using namespace ARDOUR_UI_UTILS; +using namespace ArdourWidgets; using std::max; using std::min; using namespace std; @@ -99,7 +99,7 @@ ArdourButton::ArdourButton (Element e) , _update_colors (true) , _pattern_height (0) { - UIConfiguration::instance().ColorsChanged.connect (sigc::mem_fun (*this, &ArdourButton::color_handler)); + UIConfigurationBase::instance().ColorsChanged.connect (sigc::mem_fun (*this, &ArdourButton::color_handler)); /* This is not provided by gtkmm */ signal_grab_broken_event().connect (sigc::mem_fun (*this, &ArdourButton::on_grab_broken_event)); } @@ -146,8 +146,8 @@ ArdourButton::ArdourButton (const std::string& str, Element e) , _pattern_height (0) { set_text (str); - UIConfiguration::instance().ColorsChanged.connect (sigc::mem_fun (*this, &ArdourButton::color_handler)); - UIConfiguration::instance().DPIReset.connect (sigc::mem_fun (*this, &ArdourButton::on_name_changed)); + UIConfigurationBase::instance().ColorsChanged.connect (sigc::mem_fun (*this, &ArdourButton::color_handler)); + UIConfigurationBase::instance().DPIReset.connect (sigc::mem_fun (*this, &ArdourButton::on_name_changed)); /* This is not provided by gtkmm */ signal_grab_broken_event().connect (sigc::mem_fun (*this, &ArdourButton::on_grab_broken_event)); } @@ -262,7 +262,7 @@ ArdourButton::render (Cairo::RefPtr const& ctx, cairo_rectangle_ uint32_t text_color; uint32_t led_color; - const float corner_radius = std::max(2.f, _corner_radius * UIConfiguration::instance().get_ui_scale()); + const float corner_radius = std::max(2.f, _corner_radius * UIConfigurationBase::instance().get_ui_scale()); if (_update_colors) { set_colors (); @@ -515,12 +515,12 @@ ArdourButton::render (Cairo::RefPtr const& ctx, cairo_rectangle_ //black ring cairo_set_source_rgb (cr, 0, 0, 0); - cairo_arc (cr, 0, 0, _diameter * .5 - 1 * UIConfiguration::instance().get_ui_scale(), 0, 2 * M_PI); + cairo_arc (cr, 0, 0, _diameter * .5 - 1 * UIConfigurationBase::instance().get_ui_scale(), 0, 2 * M_PI); cairo_fill(cr); //led color ArdourCanvas::set_source_rgba (cr, led_color); - cairo_arc (cr, 0, 0, _diameter * .5 - 3 * UIConfiguration::instance().get_ui_scale(), 0, 2 * M_PI); + cairo_arc (cr, 0, 0, _diameter * .5 - 3 * UIConfigurationBase::instance().get_ui_scale(), 0, 2 * M_PI); cairo_fill(cr); cairo_restore (cr); @@ -529,13 +529,13 @@ ArdourButton::render (Cairo::RefPtr const& ctx, cairo_rectangle_ // a transparent overlay to indicate insensitivity if ((visual_state() & Gtkmm2ext::Insensitive)) { rounded_function (cr, 0, 0, get_width(), get_height(), corner_radius); - uint32_t ins_color = UIConfiguration::instance().color ("gtk_background"); + uint32_t ins_color = UIConfigurationBase::instance().color ("gtk_background"); ArdourCanvas::set_source_rgb_a (cr, ins_color, 0.6); cairo_fill (cr); } // if requested, show hovering - if (UIConfiguration::instance().get_widget_prelight() + if (UIConfigurationBase::instance().get_widget_prelight() && !((visual_state() & Gtkmm2ext::Insensitive))) { if (_hovering) { rounded_function (cr, 1, 1, get_width() - 2, get_height() - 2, corner_radius); @@ -604,7 +604,7 @@ ArdourButton::on_size_request (Gtk::Requisition* req) CairoWidget::on_size_request (req); if (_diameter == 0) { - const float newdia = rintf (11.f * UIConfiguration::instance().get_ui_scale()); + const float newdia = rintf (11.f * UIConfigurationBase::instance().get_ui_scale()); if (_diameter != newdia) { _pattern_height = 0; _diameter = newdia; @@ -722,25 +722,25 @@ ArdourButton::set_colors () bool failed = false; if (!(_fixed_colors_set & 0x1)) { - fill_active_color = UIConfiguration::instance().color (string_compose ("%1: fill active", name), &failed); + fill_active_color = UIConfigurationBase::instance().color (string_compose ("%1: fill active", name), &failed); if (failed) { - fill_active_color = UIConfiguration::instance().color ("generic button: fill active"); + fill_active_color = UIConfigurationBase::instance().color ("generic button: fill active"); } } if (!(_fixed_colors_set & 0x2)) { - fill_inactive_color = UIConfiguration::instance().color (string_compose ("%1: fill", name), &failed); + fill_inactive_color = UIConfigurationBase::instance().color (string_compose ("%1: fill", name), &failed); if (failed) { - fill_inactive_color = UIConfiguration::instance().color ("generic button: fill"); + fill_inactive_color = UIConfigurationBase::instance().color ("generic button: fill"); } } text_active_color = ArdourCanvas::contrasting_text_color (fill_active_color); text_inactive_color = ArdourCanvas::contrasting_text_color (fill_inactive_color); - led_active_color = UIConfiguration::instance().color (string_compose ("%1: led active", name), &failed); + led_active_color = UIConfigurationBase::instance().color (string_compose ("%1: led active", name), &failed); if (failed) { - led_active_color = UIConfiguration::instance().color ("generic button: led active"); + led_active_color = UIConfigurationBase::instance().color ("generic button: led active"); } /* The inactive color for the LED is just a fairly dark version of the @@ -1140,7 +1140,7 @@ ArdourButton::on_enter_notify_event (GdkEventCrossing* ev) { _hovering = (_elements & Inactive) ? false : true; - if (UIConfiguration::instance().get_widget_prelight()) { + if (UIConfigurationBase::instance().get_widget_prelight()) { CairoWidget::set_dirty (); } @@ -1157,7 +1157,7 @@ ArdourButton::on_leave_notify_event (GdkEventCrossing* ev) { _hovering = false; - if (UIConfiguration::instance().get_widget_prelight()) { + if (UIConfigurationBase::instance().get_widget_prelight()) { CairoWidget::set_dirty (); } diff --git a/gtk2_ardour/ardour_display.cc b/libs/widgets/ardour_display.cc similarity index 94% rename from gtk2_ardour/ardour_display.cc rename to libs/widgets/ardour_display.cc index 67220dcf9e..ef23edb586 100644 --- a/gtk2_ardour/ardour_display.cc +++ b/libs/widgets/ardour_display.cc @@ -33,9 +33,7 @@ #include "gtkmm2ext/gui_thread.h" #include "gtkmm2ext/keyboard.h" -#include "ardour/rc_configuration.h" // for widget prelight preference - -#include "ardour_display.h" +#include "widgets/ardour_display.h" #include "pbd/i18n.h" @@ -44,11 +42,11 @@ using namespace Gdk; using namespace Gtk; using namespace Glib; using namespace PBD; +using namespace ArdourWidgets; using std::max; using std::min; using namespace std; - ArdourDisplay::ArdourDisplay (Element e) { add_elements(ArdourButton::Text); @@ -96,6 +94,9 @@ ArdourDisplay::add_controllable_preset (const char *txt, float val) AddMenuElem(MenuElem (txt, sigc::bind (sigc::mem_fun(*this, &ArdourDisplay::handle_controllable_preset), val))); } +static inline float dB_to_coefficient (float dB) { + return dB > -318.8f ? pow (10.0f, dB * 0.05f) : 0.0f; +} void ArdourDisplay::handle_controllable_preset (float p) diff --git a/gtk2_ardour/ardour_dropdown.cc b/libs/widgets/ardour_dropdown.cc similarity index 98% rename from gtk2_ardour/ardour_dropdown.cc rename to libs/widgets/ardour_dropdown.cc index be18af5056..24c8d030a0 100644 --- a/gtk2_ardour/ardour_dropdown.cc +++ b/libs/widgets/ardour_dropdown.cc @@ -33,7 +33,7 @@ #include "ardour/rc_configuration.h" // for widget prelight preference -#include "ardour_dropdown.h" +#include "widgets/ardour_dropdown.h" #include "pbd/i18n.h" @@ -43,6 +43,7 @@ using namespace Gdk; using namespace Gtk; using namespace Glib; using namespace PBD; +using namespace ArdourWidgets; using namespace std; diff --git a/gtk2_ardour/ardour_knob.cc b/libs/widgets/ardour_knob.cc similarity index 93% rename from gtk2_ardour/ardour_knob.cc rename to libs/widgets/ardour_knob.cc index 25d9c44630..6948a88993 100644 --- a/gtk2_ardour/ardour_knob.cc +++ b/libs/widgets/ardour_knob.cc @@ -33,12 +33,11 @@ #include "gtkmm2ext/gui_thread.h" #include "gtkmm2ext/keyboard.h" -#include "ardour/automation_control.h" -#include "ardour/rc_configuration.h" // for widget prelight preference +#include "pbd/controllable.h" -#include "ardour_knob.h" -#include "timers.h" -#include "ui_config.h" +#include "widgets/ardour_knob.h" +#include "widgets/ui_config.h" +//#include "timers.h" #include "canvas/colors.h" #include "canvas/utils.h" @@ -46,6 +45,7 @@ #include "pbd/i18n.h" using namespace Gtkmm2ext; +using namespace ArdourWidgets; using namespace Gtk; using namespace Glib; using namespace PBD; @@ -66,11 +66,11 @@ ArdourKnob::ArdourKnob (Element e, Flags flags) , _flags (flags) , _tooltip (this) { - UIConfiguration::instance().ColorsChanged.connect (sigc::mem_fun (*this, &ArdourKnob::color_handler)); + UIConfigurationBase::instance().ColorsChanged.connect (sigc::mem_fun (*this, &ArdourKnob::color_handler)); // watch automation :( // TODO only use for GainAutomation - Timers::rapid_connect (sigc::bind (sigc::mem_fun (*this, &ArdourKnob::controllable_changed), false)); + //Timers::rapid_connect (sigc::bind (sigc::mem_fun (*this, &ArdourKnob::controllable_changed), false)); } ArdourKnob::~ArdourKnob() @@ -109,7 +109,7 @@ ArdourKnob::render (Cairo::RefPtr const& ctx, cairo_rectangle_t* cairo_translate (cr, xc, yc); //after this, everything is based on the center of the knob //get the knob color from the theme - ArdourCanvas::Color knob_color = UIConfiguration::instance().color (string_compose ("%1", get_name())); + ArdourCanvas::Color knob_color = UIConfigurationBase::instance().color (string_compose ("%1", get_name())); float center_radius = 0.48*scale; float border_width = 0.8; @@ -134,10 +134,10 @@ ArdourKnob::render (Cairo::RefPtr const& ctx, cairo_rectangle_t* //look up the arc colors from the config double red_start, green_start, blue_start, unused; - ArdourCanvas::Color arc_start_color = UIConfiguration::instance().color ( string_compose ("%1: arc start", get_name())); + ArdourCanvas::Color arc_start_color = UIConfigurationBase::instance().color ( string_compose ("%1: arc start", get_name())); ArdourCanvas::color_to_rgba( arc_start_color, red_start, green_start, blue_start, unused ); double red_end, green_end, blue_end; - ArdourCanvas::Color arc_end_color = UIConfiguration::instance().color ( string_compose ("%1: arc end", get_name()) ); + ArdourCanvas::Color arc_end_color = UIConfigurationBase::instance().color ( string_compose ("%1: arc end", get_name()) ); ArdourCanvas::color_to_rgba( arc_end_color, red_end, green_end, blue_end, unused ); //vary the arc color over the travel of the knob @@ -266,7 +266,7 @@ ArdourKnob::render (Cairo::RefPtr const& ctx, cairo_rectangle_t* cairo_stroke (cr); //highlight if grabbed or if mouse is hovering over me - if (_tooltip.dragging() || (_hovering && UIConfiguration::instance().get_widget_prelight() ) ) { + if (_tooltip.dragging() || (_hovering && UIConfigurationBase::instance().get_widget_prelight() ) ) { cairo_set_source_rgba (cr, 1,1,1, 0.12 ); cairo_arc (cr, 0, 0, center_radius, 0, 2.0*G_PI); cairo_fill (cr); @@ -333,7 +333,7 @@ ArdourKnob::on_motion_notify_event (GdkEventMotion *ev) //scale the adjustment based on keyboard modifiers & GUI size - const float ui_scale = max (1.f, UIConfiguration::instance().get_ui_scale()); + const float ui_scale = max (1.f, UIConfigurationBase::instance().get_ui_scale()); float scale = 0.0025 / ui_scale; if (ev->state & Keyboard::GainFineScaleModifier) { @@ -484,7 +484,6 @@ ArdourKnob::controllable_changed (bool force_update) _val = val; if (!_tooltip_prefix.empty()) { - boost::shared_ptr ac = boost::dynamic_pointer_cast (c); _tooltip.set_tip (_tooltip_prefix + c->get_user_string()); } set_dirty(); diff --git a/libs/widgets/ardour_spacer.cc b/libs/widgets/ardour_spacer.cc new file mode 100644 index 0000000000..4155a17ee4 --- /dev/null +++ b/libs/widgets/ardour_spacer.cc @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2017 Robin Gareus + * + * 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 the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "widgets/ardour_spacer.h" + +using namespace ArdourWidgets; + +ArdourVSpacer::ArdourVSpacer (float r) + : CairoWidget () + , ratio (r) +{ +} diff --git a/gtk2_ardour/ardour_spinner.cc b/libs/widgets/ardour_spinner.cc similarity index 95% rename from gtk2_ardour/ardour_spinner.cc rename to libs/widgets/ardour_spinner.cc index e579d7e5fe..071caf310e 100644 --- a/gtk2_ardour/ardour_spinner.cc +++ b/libs/widgets/ardour_spinner.cc @@ -21,15 +21,13 @@ #include "gtkmm2ext/utils.h" #include "gtkmm2ext/keyboard.h" -#include "ardour/value_as_string.h" +#include "widgets/ardour_spinner.h" -#include "ardour_spinner.h" +//#include "ardour/value_as_string.h" // XXX -using namespace ARDOUR; +using namespace ArdourWidgets; -ArdourSpinner::ArdourSpinner ( - boost::shared_ptr c, - Gtk::Adjustment* adj) +ArdourSpinner::ArdourSpinner (boost::shared_ptr c, Gtk::Adjustment* adj) : _btn (ArdourButton::Text) , _ctrl_adj (adj) , _spin_adj (0, c->lower (), c->upper (), .1, .01) @@ -60,10 +58,11 @@ ArdourSpinner::ArdourSpinner ( adj->signal_value_changed().connect (sigc::mem_fun(*this, &ArdourSpinner::ctrl_adjusted)); c->Changed.connect (watch_connection, invalidator(*this), boost::bind (&ArdourSpinner::controllable_changed, this), gui_context()); - +#if 0 // this assume the "upper" value needs most space. std::string txt = ARDOUR::value_as_string (c->desc(), c->upper ()); Gtkmm2ext::set_size_request_to_display_given_text (*this, txt, 2, 2); +#endif add (_btn); show_all (); diff --git a/gtk2_ardour/tooltips.cc b/libs/widgets/tooltips.cc similarity index 94% rename from gtk2_ardour/tooltips.cc rename to libs/widgets/tooltips.cc index 5860412aca..990355b6ad 100644 --- a/gtk2_ardour/tooltips.cc +++ b/libs/widgets/tooltips.cc @@ -17,11 +17,10 @@ */ -#include "tooltips.h" - #include "gtkmm2ext/gtk_ui.h" +#include "widgets/tooltips.h" -namespace ARDOUR_UI_UTILS { +namespace ArdourWidgets { void set_tooltip (Gtk::Widget& w, const std::string& text) { @@ -38,4 +37,4 @@ set_tooltip (Gtk::Widget* w, const std::string& text, const std::string& help_te Gtkmm2ext::UI::instance()->set_tip(w, text.c_str(), help_text.c_str()); } -} // ARDOUR_UI_UTILS +} diff --git a/libs/widgets/ui_config.cc b/libs/widgets/ui_config.cc new file mode 100644 index 0000000000..0325697ba4 --- /dev/null +++ b/libs/widgets/ui_config.cc @@ -0,0 +1,7 @@ +#include "widgets/ui_config.h" + +namespace ArdourWidgets { + +UIConfigurationBase* UIConfigurationBase::_instance = 0; + +}; diff --git a/gtk2_ardour/ardour_button.h b/libs/widgets/widgets/ardour_button.h similarity index 96% rename from gtk2_ardour/ardour_button.h rename to libs/widgets/widgets/ardour_button.h index edccfd209f..a51575e616 100644 --- a/gtk2_ardour/ardour_button.h +++ b/libs/widgets/widgets/ardour_button.h @@ -16,8 +16,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#ifndef __gtk2_ardour_ardour_button_h__ -#define __gtk2_ardour_ardour_button_h__ +#ifndef _WIDGETS_ARDOUR_BUTTON_H_ +#define _WIDGETS_ARDOUR_BUTTON_H_ #include #include @@ -30,7 +30,11 @@ #include "gtkmm2ext/activatable.h" #include "gtkmm2ext/cairo_widget.h" -class ArdourButton : public CairoWidget , public Gtkmm2ext::Activatable +#include "widgets/visibility.h" + +namespace ArdourWidgets { + +class LIBWIDGETS_API ArdourButton : public CairoWidget , public Gtkmm2ext::Activatable { public: enum Element { @@ -212,4 +216,6 @@ class ArdourButton : public CairoWidget , public Gtkmm2ext::Activatable void action_tooltip_changed (); }; -#endif /* __gtk2_ardour_ardour_button_h__ */ +} /* end namespace */ + +#endif diff --git a/gtk2_ardour/ardour_display.h b/libs/widgets/widgets/ardour_display.h similarity index 84% rename from gtk2_ardour/ardour_display.h rename to libs/widgets/widgets/ardour_display.h index e80f8fdc57..c8d566cd85 100644 --- a/gtk2_ardour/ardour_display.h +++ b/libs/widgets/widgets/ardour_display.h @@ -16,8 +16,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#ifndef __gtk2_ardour_ardour_display_h__ -#define __gtk2_ardour_ardour_display_h__ +#ifndef _WIDGETS_ARDOUR_DISPLAY_H_ +#define _WIDGETS_ARDOUR_DISPLAY_H_ #include #include @@ -26,10 +26,12 @@ #include #include +#include "widgets/ardour_dropdown.h" +#include "widgets/visibility.h" -#include "ardour_dropdown.h" +namespace ArdourWidgets { -class ArdourDisplay : public ArdourDropdown +class LIBWIDGETS_API ArdourDisplay : public ArdourWidgets::ArdourDropdown { public: @@ -48,4 +50,6 @@ public: PBD::ScopedConnection watch_connection; }; +} /* end namespace */ + #endif /* __gtk2_ardour_ardour_menu_h__ */ diff --git a/gtk2_ardour/ardour_dropdown.h b/libs/widgets/widgets/ardour_dropdown.h similarity index 83% rename from gtk2_ardour/ardour_dropdown.h rename to libs/widgets/widgets/ardour_dropdown.h index 9931a91e3c..93e866d011 100644 --- a/gtk2_ardour/ardour_dropdown.h +++ b/libs/widgets/widgets/ardour_dropdown.h @@ -16,8 +16,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#ifndef __gtk2_ardour_ardour_dropdown_h__ -#define __gtk2_ardour_ardour_dropdown_h__ +#ifndef _WIDGETS_ARDOUR_DROPDOWN_H_ +#define _WIDGETS_ARDOUR_DROPDOWN_H_ #include #include @@ -26,10 +26,12 @@ #include #include +#include "widgets/ardour_button.h" +#include "widgets/visibility.h" -#include "ardour_button.h" +namespace ArdourWidgets { -class ArdourDropdown : public ArdourButton +class LIBWIDGETS_API ArdourDropdown : public ArdourButton { public: @@ -53,4 +55,6 @@ private: bool _scrolling_disabled; }; -#endif /* __gtk2_ardour_ardour_dropdown_h__ */ +} /* end namespace */ + +#endif diff --git a/gtk2_ardour/ardour_knob.h b/libs/widgets/widgets/ardour_knob.h similarity index 92% rename from gtk2_ardour/ardour_knob.h rename to libs/widgets/widgets/ardour_knob.h index f3291270cc..84bb974adf 100644 --- a/gtk2_ardour/ardour_knob.h +++ b/libs/widgets/widgets/ardour_knob.h @@ -25,14 +25,17 @@ #include #include "pbd/signals.h" -#include "ardour/automatable.h" #include "gtkmm2ext/binding_proxy.h" #include "gtkmm2ext/activatable.h" #include "gtkmm2ext/cairo_widget.h" #include "gtkmm2ext/persistent_tooltip.h" -class KnobPersistentTooltip : public Gtkmm2ext::PersistentTooltip +#include "widgets/visibility.h" + +namespace ArdourWidgets { + +class LIBWIDGETS_API KnobPersistentTooltip : public Gtkmm2ext::PersistentTooltip { public: KnobPersistentTooltip (Gtk::Widget* w); @@ -46,7 +49,7 @@ private: }; -class ArdourKnob : public CairoWidget , public Gtkmm2ext::Activatable +class LIBWIDGETS_API ArdourKnob : public CairoWidget , public Gtkmm2ext::Activatable { public: @@ -125,4 +128,6 @@ public: KnobPersistentTooltip _tooltip; }; +} /* namespace */ + #endif /* __gtk2_ardour_ardour_knob_h__ */ diff --git a/gtk2_ardour/ardour_spacer.h b/libs/widgets/widgets/ardour_spacer.h similarity index 83% rename from gtk2_ardour/ardour_spacer.h rename to libs/widgets/widgets/ardour_spacer.h index 28d2f1c378..520ad670af 100644 --- a/gtk2_ardour/ardour_spacer.h +++ b/libs/widgets/widgets/ardour_spacer.h @@ -16,15 +16,19 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -#ifndef __gtkardour_ardour_spacer_h__ -#define __gtkardour_ardour_spacer_h__ +#ifndef _WIDGETS_ARDOUR_SPACER_H_ +#define _WIDGETS_ARDOUR_SPACER_H_ #include "gtkmm2ext/cairo_widget.h" -class ArdourVSpacer : public CairoWidget +#include "widgets/visibility.h" + +namespace ArdourWidgets { + +class LIBWIDGETS_API ArdourVSpacer : public CairoWidget { public: - ArdourVSpacer (float r = 0.75f) : CairoWidget (), ratio (r) {} + ArdourVSpacer (float r = 0.75f); protected: void render (Cairo::RefPtr const& ctx, cairo_rectangle_t* r) { @@ -44,4 +48,6 @@ protected: float ratio; }; +} /* end namespace */ + #endif diff --git a/gtk2_ardour/ardour_spinner.h b/libs/widgets/widgets/ardour_spinner.h similarity index 77% rename from gtk2_ardour/ardour_spinner.h rename to libs/widgets/widgets/ardour_spinner.h index b6ed229829..b0928fa432 100644 --- a/gtk2_ardour/ardour_spinner.h +++ b/libs/widgets/widgets/ardour_spinner.h @@ -17,22 +17,23 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -#include -#ifndef __gtk2_ardour_ardour_spinner_h__ -#define __gtk2_ardour_ardour_spinner_h__ +#ifndef _WIDGETS_ARDOUR_SPINNER_H_ +#define _WIDGETS_ARDOUR_SPINNER_H_ +#include #include -#include "ardour/automatable.h" -#include "ardour/automation_control.h" -#include "ardour_button.h" +#include "pbd/controllable.h" -class ArdourSpinner : public Gtk::Alignment +#include "widgets/ardour_button.h" +#include "widgets/visibility.h" + +namespace ArdourWidgets { + +class LIBWIDGETS_API ArdourSpinner : public Gtk::Alignment { public: - ArdourSpinner ( - boost::shared_ptr, - Gtk::Adjustment* adj); + ArdourSpinner (boost::shared_ptr, Gtk::Adjustment* adj); virtual ~ArdourSpinner (); @@ -54,7 +55,7 @@ class ArdourSpinner : public Gtk::Alignment void ctrl_adjusted(); void spin_adjusted(); - ArdourButton _btn; + ArdourWidgets::ArdourButton _btn; Gtk::Adjustment* _ctrl_adj; Gtk::Adjustment _spin_adj; Gtk::SpinButton _spinner; @@ -63,8 +64,10 @@ class ArdourSpinner : public Gtk::Alignment bool _ctrl_ignore; bool _spin_ignore; - boost::shared_ptr _controllable; + boost::shared_ptr _controllable; }; -#endif /* __gtk2_ardour_ardour_menu_h__ */ +} /* end namespace */ + +#endif diff --git a/gtk2_ardour/tooltips.h b/libs/widgets/widgets/tooltips.h similarity index 66% rename from gtk2_ardour/tooltips.h rename to libs/widgets/widgets/tooltips.h index 715fd02ef6..1a75e1c5eb 100644 --- a/gtk2_ardour/tooltips.h +++ b/libs/widgets/widgets/tooltips.h @@ -17,8 +17,8 @@ */ -#ifndef UI_TOOLTIPS_H -#define UI_TOOLTIPS_H +#ifndef _WIDGETS_TOOLTIPS_H_ +#define _WIDGETS_TOOLTIPS_H_ #include @@ -26,16 +26,16 @@ namespace Gtk { class Widget; } -// Reduce these down to just one function -namespace ARDOUR_UI_UTILS { +#include "widgets/visibility.h" -void set_tooltip (Gtk::Widget& w, const std::string& text); +namespace ArdourWidgets { -void set_tooltip (Gtk::Widget* w, const std::string& text); +extern LIBWIDGETS_API void set_tooltip (Gtk::Widget& w, const std::string& text); -void set_tooltip (Gtk::Widget* w, const std::string& text, const std::string& help_text); +extern LIBWIDGETS_API void set_tooltip (Gtk::Widget* w, const std::string& text); + +extern LIBWIDGETS_API void set_tooltip (Gtk::Widget* w, const std::string& text, const std::string& help_text); } -#endif // UI_TOOLTIPS_H - +#endif diff --git a/libs/widgets/widgets/ui_config.h b/libs/widgets/widgets/ui_config.h new file mode 100644 index 0000000000..4087dae192 --- /dev/null +++ b/libs/widgets/widgets/ui_config.h @@ -0,0 +1,31 @@ +#ifndef _WIDGETS_UI_BASE_H_ +#define _WIDGETS_UI_BASE_H_ + +#include + +#include "pbd/stateful.h" +#include "canvas/colors.h" + +#include "widgets/visibility.h" + +namespace ArdourWidgets { + +class LIBWIDGETS_API UIConfigurationBase : public PBD::Stateful +{ +protected: + virtual ~UIConfigurationBase() { _instance = 0; } + static UIConfigurationBase* _instance; + +public: + static UIConfigurationBase& instance() { return *_instance; } + + sigc::signal DPIReset; + sigc::signal ColorsChanged; + + virtual float get_ui_scale () = 0; + virtual bool get_widget_prelight () const = 0; + virtual ArdourCanvas::Color color (const std::string&, bool* failed = 0) const = 0; +}; + +} +#endif diff --git a/libs/widgets/widgets/visibility.h b/libs/widgets/widgets/visibility.h new file mode 100644 index 0000000000..e12f2522ab --- /dev/null +++ b/libs/widgets/widgets/visibility.h @@ -0,0 +1,45 @@ +/* + Copyright (C) 2013 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 + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +*/ + +#ifndef __libwidgets_visibility_h__ +#define __libwidgets_visibility_h__ + +#if defined(COMPILER_MSVC) + #define LIBWIDGETS_DLL_IMPORT __declspec(dllimport) + #define LIBWIDGETS_DLL_EXPORT __declspec(dllexport) + #define LIBWIDGETS_DLL_LOCAL +#else + #define LIBWIDGETS_DLL_IMPORT __attribute__ ((visibility ("default"))) + #define LIBWIDGETS_DLL_EXPORT __attribute__ ((visibility ("default"))) + #define LIBWIDGETS_DLL_LOCAL __attribute__ ((visibility ("hidden"))) +#endif + +#ifdef LIBWIDGETS_STATIC // libwidgets is not a DLL +#define LIBWIDGETS_API +#define LIBWIDGETS_LOCAL +#else + #ifdef LIBWIDGETS_DLL_EXPORTS // defined if we are building the libwidgets DLL (instead of using it) + #define LIBWIDGETS_API LIBWIDGETS_DLL_EXPORT + #else + #define LIBWIDGETS_API LIBWIDGETS_DLL_IMPORT + #endif + #define LIBWIDGETS_LOCAL LIBWIDGETS_DLL_LOCAL +#endif + +#endif /* __libwidgets_visibility_h__ */ diff --git a/libs/widgets/wscript b/libs/widgets/wscript new file mode 100644 index 0000000000..6432589177 --- /dev/null +++ b/libs/widgets/wscript @@ -0,0 +1,70 @@ +#!/usr/bin/env python +from waflib.extras import autowaf as autowaf +from waflib import Options +from waflib import TaskGen +import os + +# Version of this package (even if built as a child) +MAJOR = '0' +MINOR = '0' +MICRO = '0' +WIDGETS_VERSION = "%s.%s.%s" % (MAJOR, MINOR, MICRO) + +# Library version (UNIX style major, minor, micro) +# major increment <=> incompatible changes +# minor increment <=> compatible changes (additions) +# micro increment <=> no interface changes +WIDGETS_LIB_VERSION = '0.0.0' + +# Variables for 'waf dist' +APPNAME = 'widgets' +VERSION = WIDGETS_VERSION +I18N_PACKAGE = 'libwidgets' + +# Mandatory variables +top = '.' +out = 'build' + +widgets_sources = [ + 'ardour_button.cc', + 'ardour_display.cc', + 'ardour_dropdown.cc', + 'ardour_knob.cc', + 'ardour_spacer.cc', + 'ardour_spinner.cc', + 'tooltips.cc', + 'ui_config.cc', +] + +def options(opt): + autowaf.set_options(opt) + +def configure(conf): + conf.load ('compiler_cxx') + autowaf.configure(conf) + autowaf.check_pkg(conf, 'cairomm-1.0', uselib_store='CAIROMM', atleast_version='1.8.4') + +def build(bld): + # Library + if bld.is_defined ('INTERNAL_SHARED_LIBS'): + obj = bld.shlib(features = 'cxx cxxshlib', source=widgets_sources) + obj.defines = [ 'LIBWIDGETS_DLL_EXPORTS=1' ] + else: + obj = bld.stlib(features = 'cxx cxxstlib', source=widgets_sources) + obj.cxxflags = [ '-fPIC' ] + obj.cflags = [ '-fPIC' ] + obj.defines = [ ] + + obj.export_includes = ['.'] + obj.includes = ['.'] + obj.uselib = 'SIGCPP CAIROMM GTKMM BOOST XML' + obj.use = [ 'libpbd', 'libcanvas', 'libgtkmm2ext' ] + obj.name = 'libwidgets' + obj.target = 'widgets' + obj.vnum = WIDGETS_LIB_VERSION + obj.install_path = bld.env['LIBDIR'] + obj.defines += [ 'PACKAGE="' + I18N_PACKAGE + '"' ] + +def shutdown(): + autowaf.shutdown() + diff --git a/wscript b/wscript index ed45d7bad6..c0ee26f87d 100644 --- a/wscript +++ b/wscript @@ -220,6 +220,7 @@ children = [ 'libs/gtkmm2ext', 'libs/audiographer', 'libs/canvas', + 'libs/widgets', 'libs/plugins/reasonablesynth.lv2', 'libs/plugins/a-comp.lv2', 'libs/plugins/a-delay.lv2',