push2: clip view actually visible via button on surface

This commit is contained in:
Paul Davis 2022-08-26 16:39:36 -06:00
parent dd2442b0c2
commit 17b0764639
4 changed files with 14 additions and 1 deletions

View File

@ -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);
}
}

View File

@ -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) {

View File

@ -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;

View File

@ -19,6 +19,7 @@ def build(bld):
push2.cc
buttons.cc
canvas.cc
clip_view.cc
interface.cc
midi_byte_array.cc
leds.cc