use virtual methods to get MidiRegionView to do ::set_model() correctly
This commit is contained in:
parent
f17a656217
commit
61f1466f50
@ -170,6 +170,20 @@ MidiRegionView::init (bool /*wfd*/)
|
|||||||
connect_to_diskstream ();
|
connect_to_diskstream ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
MidiRegionView::set_model (std::shared_ptr<ARDOUR::MidiModel> model)
|
||||||
|
{
|
||||||
|
MidiView::set_model (model);
|
||||||
|
|
||||||
|
region_muted ();
|
||||||
|
region_sync_changed ();
|
||||||
|
region_resized (ARDOUR::bounds_change);
|
||||||
|
region_locked ();
|
||||||
|
|
||||||
|
set_colors ();
|
||||||
|
reset_width_dependent_items (_pixel_width);
|
||||||
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
MidiRegionView::display_is_enabled () const
|
MidiRegionView::display_is_enabled () const
|
||||||
{
|
{
|
||||||
@ -642,24 +656,8 @@ MidiRegionView::~MidiRegionView ()
|
|||||||
void
|
void
|
||||||
MidiRegionView::reset_width_dependent_items (double pixel_width)
|
MidiRegionView::reset_width_dependent_items (double pixel_width)
|
||||||
{
|
{
|
||||||
RegionView::reset_width_dependent_items(pixel_width);
|
MidiView::reset_width_dependent_items (pixel_width);
|
||||||
|
RegionView::reset_width_dependent_items (pixel_width);
|
||||||
view_changed ();
|
|
||||||
|
|
||||||
bool hide_all = false;
|
|
||||||
PatchChanges::iterator x = _patch_changes.begin();
|
|
||||||
if (x != _patch_changes.end()) {
|
|
||||||
hide_all = x->second->width() >= _pixel_width;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (hide_all) {
|
|
||||||
for (; x != _patch_changes.end(); ++x) {
|
|
||||||
x->second->hide();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
move_step_edit_cursor (_step_edit_cursor_position);
|
|
||||||
set_step_edit_cursor_width (_step_edit_cursor_width);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -112,6 +112,7 @@ public:
|
|||||||
{ return midi_view()->midi_view(); }
|
{ return midi_view()->midi_view(); }
|
||||||
|
|
||||||
void set_height (double);
|
void set_height (double);
|
||||||
|
void set_model (std::shared_ptr<ARDOUR::MidiModel>);
|
||||||
|
|
||||||
inline ARDOUR::ColorMode color_mode() const { return midi_view()->color_mode(); }
|
inline ARDOUR::ColorMode color_mode() const { return midi_view()->color_mode(); }
|
||||||
|
|
||||||
|
@ -251,17 +251,6 @@ MidiView::set_model (std::shared_ptr<MidiModel> m)
|
|||||||
|
|
||||||
//set_height (trackview.current_height());
|
//set_height (trackview.current_height());
|
||||||
|
|
||||||
#warning paul pianorule needs these fixed
|
|
||||||
/* XXXX
|
|
||||||
region_muted ();
|
|
||||||
region_sync_changed ();
|
|
||||||
region_resized (ARDOUR::bounds_change);
|
|
||||||
//region_locked ();
|
|
||||||
|
|
||||||
set_colors ();
|
|
||||||
reset_width_dependent_items (_pixel_width);
|
|
||||||
*/
|
|
||||||
|
|
||||||
_model->ContentsChanged.connect (connections_requiring_model, invalidator (*this), std::bind (&MidiView::model_changed, this), gui_context());
|
_model->ContentsChanged.connect (connections_requiring_model, invalidator (*this), std::bind (&MidiView::model_changed, this), gui_context());
|
||||||
|
|
||||||
_midi_track->playback_filter().ChannelModeChanged.connect (connections_requiring_model, invalidator (*this),
|
_midi_track->playback_filter().ChannelModeChanged.connect (connections_requiring_model, invalidator (*this),
|
||||||
|
@ -118,9 +118,9 @@ class MidiView : public virtual sigc::trackable, public LineMerger
|
|||||||
virtual GhostRegion* add_ghost (TimeAxisView&) { return nullptr; }
|
virtual GhostRegion* add_ghost (TimeAxisView&) { return nullptr; }
|
||||||
virtual std::string get_modifier_name() const;
|
virtual std::string get_modifier_name() const;
|
||||||
|
|
||||||
void set_region (std::shared_ptr<ARDOUR::MidiRegion>);
|
virtual void set_region (std::shared_ptr<ARDOUR::MidiRegion>);
|
||||||
void set_track (std::shared_ptr<ARDOUR::MidiTrack>);
|
virtual void set_track (std::shared_ptr<ARDOUR::MidiTrack>);
|
||||||
void set_model (std::shared_ptr<ARDOUR::MidiModel>);
|
virtual void set_model (std::shared_ptr<ARDOUR::MidiModel>);
|
||||||
|
|
||||||
NoteBase* add_note(const std::shared_ptr<NoteType> note, bool visible);
|
NoteBase* add_note(const std::shared_ptr<NoteType> note, bool visible);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user