diff --git a/libs/surfaces/push2/buttons.cc b/libs/surfaces/push2/buttons.cc index ab70be7310..476877cfbf 100644 --- a/libs/surfaces/push2/buttons.cc +++ b/libs/surfaces/push2/buttons.cc @@ -503,6 +503,10 @@ Push2::button_browse () void Push2::button_clip () { + if (_current_layout != _clip_view_layout) { + std::cerr << "go clip\n"; + set_current_layout (_clip_view_layout); + } } void @@ -729,10 +733,13 @@ Push2::button_scale_press () void Push2::button_mix_press () { + /* toggle between global mix and track mix layouts */ if (_current_layout == _track_mix_layout) { + std::cerr << "go global mix\n"; set_current_layout (_mix_layout); } else { if (ControlProtocol::first_selected_stripable()) { + std::cerr << "go track mix\n"; set_current_layout (_track_mix_layout); } } diff --git a/libs/surfaces/push2/push2.cc b/libs/surfaces/push2/push2.cc index 0fc3898547..301fc0a516 100644 --- a/libs/surfaces/push2/push2.cc +++ b/libs/surfaces/push2/push2.cc @@ -53,6 +53,7 @@ #include "gtkmm2ext/colors.h" #include "canvas.h" +#include "clip_view.h" #include "gui.h" #include "layout.h" #include "mix.h" @@ -135,6 +136,7 @@ Push2::Push2 (ARDOUR::Session& s) _mix_layout = new MixLayout (*this, *session, "globalmix"); _scale_layout = new ScaleLayout (*this, *session, "scale"); _track_mix_layout = new TrackMixLayout (*this, *session, "trackmix"); + _clip_view_layout = new ClipViewLayout (*this, *session, "clipview"); _splash_layout = new SplashLayout (*this, *session, "splash"); run_event_loop (); @@ -177,6 +179,8 @@ Push2::~Push2 () _splash_layout = 0; delete _track_mix_layout; _track_mix_layout = 0; + delete _clip_view_layout; + _clip_view_layout = 0; stop_event_loop (); } @@ -402,7 +406,7 @@ Push2::init_buttons (bool startup) ButtonID buttons[] = { Mute, Solo, Master, Up, Right, Left, Down, Note, Session, Mix, AddTrack, Delete, Undo, Metronome, Shift, Select, Play, RecordEnable, Automate, Repeat, Note, Session, - Quantize, Duplicate, Browse, PageRight, PageLeft, OctaveUp, OctaveDown, Layout, Scale + Quantize, Duplicate, Browse, PageRight, PageLeft, OctaveUp, OctaveDown, Layout, Scale, Clip }; for (size_t n = 0; n < sizeof (buttons) / sizeof (buttons[0]); ++n) { diff --git a/libs/surfaces/push2/push2.h b/libs/surfaces/push2/push2.h index 58c7ff3f51..4bb3931f50 100644 --- a/libs/surfaces/push2/push2.h +++ b/libs/surfaces/push2/push2.h @@ -626,6 +626,7 @@ class Push2 : public ARDOUR::ControlProtocol Push2Layout* _scale_layout; Push2Layout* _track_mix_layout; Push2Layout* _splash_layout; + Push2Layout* _clip_view_layout; void set_current_layout (Push2Layout*); bool pad_filter (ARDOUR::MidiBuffer& in, ARDOUR::MidiBuffer& out) const; diff --git a/libs/surfaces/push2/wscript b/libs/surfaces/push2/wscript index 1ba7ed53ca..4aa19994c3 100644 --- a/libs/surfaces/push2/wscript +++ b/libs/surfaces/push2/wscript @@ -19,6 +19,7 @@ def build(bld): push2.cc buttons.cc canvas.cc + clip_view.cc interface.cc midi_byte_array.cc leds.cc