save and restore pianoroll note mode on a per-region basis

This commit is contained in:
Paul Davis 2025-12-01 17:55:25 -07:00
parent 54958f1e94
commit 38368f4dd9
6 changed files with 61 additions and 24 deletions

View file

@ -297,10 +297,12 @@ class EditingContext : public ARDOUR::SessionHandlePtr, public AxisViewProvider,
void set_draw_length (Editing::GridType);
void set_draw_velocity (int);
void set_draw_channel (int);
virtual void set_note_mode (ARDOUR::NoteMode) {}
Editing::GridType draw_length () const;
int draw_velocity () const;
int draw_channel () const;
virtual ARDOUR::NoteMode note_mode() const { return ARDOUR::Sustained; }
Editing::SnapMode snap_mode () const;
@ -548,6 +550,7 @@ class EditingContext : public ARDOUR::SessionHandlePtr, public AxisViewProvider,
std::map<Editing::SnapMode, Glib::RefPtr<Gtk::RadioAction> > snap_mode_actions;
std::map<Editing::GridType, Glib::RefPtr<Gtk::RadioAction> > draw_length_actions;
std::map<Editing::MouseMode, Glib::RefPtr<Gtk::RadioAction> > mouse_mode_actions;
std::map<ARDOUR::NoteMode, Glib::RefPtr<Gtk::RadioAction> > note_mode_actions;
std::map<Editing::ZoomFocus, Glib::RefPtr<Gtk::RadioAction> > zoom_focus_actions;
std::map<int, Glib::RefPtr<Gtk::RadioAction> > draw_velocity_actions;
std::map<int, Glib::RefPtr<Gtk::RadioAction> > draw_channel_actions;
@ -555,6 +558,7 @@ class EditingContext : public ARDOUR::SessionHandlePtr, public AxisViewProvider,
void draw_channel_chosen (int);
void draw_velocity_chosen (int);
void draw_length_chosen (Editing::GridType);
virtual void note_mode_chosen (ARDOUR::NoteMode) {}
sigc::signal<void> DrawLengthChanged;
sigc::signal<void> DrawVelocityChanged;