dbl-click on MIDI region shows combined properties/pianoroll editor

This commit is contained in:
Paul Davis 2025-02-08 12:22:48 -07:00
parent d68be57c43
commit 68ca768bc4
3 changed files with 29 additions and 2 deletions

View file

@ -693,4 +693,28 @@ MidiRegionView::edit_in_pianoroll_window ()
pr->set (track, midi_region());
pr->show_all ();
pr->present ();
pr->signal_delete_event().connect (sigc::mem_fun (*this, &MidiRegionView::pianoroll_window_deleted), false);
_editor = pr;
}
bool
MidiRegionView::pianoroll_window_deleted (GdkEventAny*)
{
_editor = nullptr;
return false;
}
void
MidiRegionView::show_region_editor ()
{
edit_in_pianoroll_window ();
}
void
MidiRegionView::hide_region_editor ()
{
RegionView::hide_region_editor ();
delete _editor;
_editor = nullptr;
}

View file

@ -135,6 +135,8 @@ public:
MergeableLine* make_merger ();
void edit_in_pianoroll_window ();
void show_region_editor ();
void hide_region_editor ();
protected:
void reset_width_dependent_items (double pixel_width);
@ -175,6 +177,7 @@ public:
double contents_height() const { return (_height - TimeAxisViewItem::NAME_HIGHLIGHT_SIZE - 2); }
void connect_to_diskstream ();
bool pianoroll_window_deleted (GdkEventAny*);
};

View file

@ -87,8 +87,8 @@ public:
bool set_position(Temporal::timepos_t const & pos, void* src, double* delta = 0);
void show_region_editor ();
void hide_region_editor ();
virtual void show_region_editor ();
virtual void hide_region_editor ();
virtual void region_changed (const PBD::PropertyChange&);