use std::unique_ptr for a couple of EditingContext members

This commit is contained in:
Paul Davis
2025-08-08 12:12:09 -06:00
parent 4f5848d85c
commit 28e0082868
9 changed files with 24 additions and 32 deletions

View File

@@ -230,8 +230,6 @@ AudioClipEditor::build_canvas ()
cursor_scroll_group->set_position (ArdourCanvas::Duple (_timeline_origin, timebar_height * n_timebars));
h_scroll_group->set_position (Duple (_timeline_origin, 0.));
_verbose_cursor = new VerboseCursor (*this);
// _playhead_cursor = new EditorCursor (*this, &Editor::canvas_playhead_cursor_event, X_("playhead"));
_playhead_cursor = new EditorCursor (*this, X_("playhead"));
_playhead_cursor->set_sensitive (UIConfiguration::instance().get_sensitize_playhead());

View File

@@ -129,7 +129,6 @@ EditingContext::EditingContext (std::string const & name)
, selection (new Selection (this, true))
, cut_buffer (new Selection (this, false))
, _selection_memento (new SelectionMemento())
, _verbose_cursor (nullptr)
, samples_per_pixel (2048)
, bbt_ruler_scale (bbt_show_many)
, bbt_bars (0)
@@ -256,9 +255,6 @@ EditingContext::~EditingContext()
ActionManager::drop_action_group (channel_actions);
ActionManager::drop_action_group (velocity_actions);
ActionManager::drop_action_group (zoom_actions);
delete _verbose_cursor;
delete grid_lines;
}
void
@@ -3080,8 +3076,7 @@ void
EditingContext::drop_grid ()
{
hide_grid_lines ();
delete grid_lines;
grid_lines = nullptr;
grid_lines.reset ();
}
void
@@ -3100,7 +3095,7 @@ EditingContext::maybe_draw_grid_lines (ArdourCanvas::Container* group)
}
if (!grid_lines) {
grid_lines = new GridLines (*this, group, ArdourCanvas::LineSet::Vertical);
grid_lines.reset (new GridLines (*this, group, ArdourCanvas::LineSet::Vertical));
}

View File

@@ -385,8 +385,8 @@ class EditingContext : public ARDOUR::SessionHandlePtr, public AxisViewProvider,
static MouseCursors const* cursors () {
return _cursors;
}
virtual VerboseCursor* verbose_cursor () const {
return _verbose_cursor;
virtual VerboseCursor& verbose_cursor () const {
return *_verbose_cursor;
}
virtual void set_snapped_cursor_position (Temporal::timepos_t const & pos) = 0;
@@ -616,7 +616,7 @@ class EditingContext : public ARDOUR::SessionHandlePtr, public AxisViewProvider,
static MouseCursors* _cursors;
VerboseCursor* _verbose_cursor;
std::unique_ptr<VerboseCursor> _verbose_cursor;
samplecnt_t samples_per_pixel;
@@ -785,7 +785,7 @@ class EditingContext : public ARDOUR::SessionHandlePtr, public AxisViewProvider,
ARDOUR::Location* transport_loop_location();
std::vector<ArdourCanvas::Ruler::Mark> grid_marks;
GridLines* grid_lines;
std::unique_ptr<GridLines> grid_lines;
ArdourCanvas::Container* time_line_group;
void drop_grid ();

View File

@@ -738,7 +738,6 @@ Editor::~Editor()
delete _track_canvas_viewport;
delete _drags;
delete nudge_clock;
delete _verbose_cursor;
delete _region_peak_cursor;
delete quantize_dialog;
delete _summary;

View File

@@ -95,7 +95,7 @@ Editor::initialize_canvas ()
*/
no_scroll_group = new ArdourCanvas::Container (_track_canvas->root());
_verbose_cursor = new VerboseCursor (*this);
_verbose_cursor.reset (new VerboseCursor (*this));
ArdourCanvas::ScrollGroup* hsg;
ArdourCanvas::ScrollGroup* hg;

View File

@@ -425,8 +425,8 @@ Drag::end_grab (GdkEvent* event)
_item->ungrab ();
finished (event, _starting_point_passed);
editing_context.verbose_cursor ()->hide ();
editing_context.verbose_cursor().hide ();
return _starting_point_passed;
}
@@ -595,28 +595,28 @@ Drag::abort ()
aborted (_move_threshold_passed);
editing_context.stop_canvas_autoscroll ();
editing_context.verbose_cursor ()->hide ();
editing_context.verbose_cursor().hide ();
}
void
Drag::show_verbose_cursor_time (timepos_t const& pos)
{
editing_context.verbose_cursor ()->set_time (pos.samples ());
editing_context.verbose_cursor ()->show ();
editing_context.verbose_cursor().set_time (pos.samples ());
editing_context.verbose_cursor().show ();
}
void
Drag::show_verbose_cursor_duration (timepos_t const& start, timepos_t const& end, double /*xoffset*/)
{
editing_context.verbose_cursor ()->set_duration (start.samples (), end.samples ());
editing_context.verbose_cursor ()->show ();
editing_context.verbose_cursor().set_duration (start.samples (), end.samples ());
editing_context.verbose_cursor().show ();
}
void
Drag::show_verbose_cursor_text (string const& text)
{
editing_context.verbose_cursor ()->set (text);
editing_context.verbose_cursor ()->show ();
editing_context.verbose_cursor().set (text);
editing_context.verbose_cursor().show ();
}
void

View File

@@ -4478,7 +4478,7 @@ MidiView::remove_ghost_note ()
void
MidiView::hide_verbose_cursor ()
{
_editing_context.verbose_cursor()->hide ();
_editing_context.verbose_cursor().hide ();
_midi_context.set_note_highlight (NO_MIDI_NOTE);
}
@@ -4865,9 +4865,9 @@ MidiView::show_verbose_cursor (std::shared_ptr<NoteType> n) const
void
MidiView::show_verbose_cursor (string const & text, double xoffset, double yoffset) const
{
_editing_context.verbose_cursor()->set (text);
_editing_context.verbose_cursor()->show ();
_editing_context.verbose_cursor()->set_offset (ArdourCanvas::Duple (xoffset, yoffset));
_editing_context.verbose_cursor().set (text);
_editing_context.verbose_cursor().show ();
_editing_context.verbose_cursor().set_offset (ArdourCanvas::Duple (xoffset, yoffset));
}

View File

@@ -453,7 +453,7 @@ Pianoroll::build_canvas ()
cursor_scroll_group->set_position (ArdourCanvas::Duple (_timeline_origin, timebar_height * n_timebars));
h_scroll_group->set_position (Duple (_timeline_origin, 0.));
_verbose_cursor = new VerboseCursor (*this);
_verbose_cursor.reset (new VerboseCursor (*this));
// _playhead_cursor = new EditorCursor (*this, &Editor::canvas_playhead_cursor_event, X_("playhead"));
_playhead_cursor = new EditorCursor (*this, X_("playhead"));

View File

@@ -327,9 +327,9 @@ VelocityDisplay::drag_lolli (ArdourCanvas::Lollipop* l, GdkEventMotion* ev)
snprintf (buf, sizeof (buf), "Velocity %d (%d)", verbose_velocity, verbose_velocity - oldvel);
}
editing_context.verbose_cursor()->set (buf);
editing_context.verbose_cursor()->show ();
editing_context.verbose_cursor()->set_offset (ArdourCanvas::Duple (10., 10.));
editing_context.verbose_cursor().set (buf);
editing_context.verbose_cursor().show ();
editing_context.verbose_cursor().set_offset (ArdourCanvas::Duple (10., 10.));
}
int