summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2025-12-24 00:19:48 +0100
committerCarl Hetherington <cth@carlh.net>2025-12-24 00:19:48 +0100
commit81cec74f247553be204c0d346319a577a1fdbfe9 (patch)
tree48b7d8478a3175d0832fbef96f614638c7886344
parent045d39f2f0a090cf863a5474fc39546c7d5fb17d (diff)
Use ::film() more often.
-rw-r--r--src/wx/content_timeline.cc57
-rw-r--r--src/wx/content_timeline.h2
2 files changed, 19 insertions, 40 deletions
diff --git a/src/wx/content_timeline.cc b/src/wx/content_timeline.cc
index a532ccb1a..fdbd0790a 100644
--- a/src/wx/content_timeline.cc
+++ b/src/wx/content_timeline.cc
@@ -188,8 +188,7 @@ ContentTimeline::paint_labels()
{
wxPaintDC dc(_labels_canvas);
- auto film = _film.lock();
- if (film->content().empty()) {
+ if (film()->content().empty()) {
return;
}
@@ -214,8 +213,7 @@ ContentTimeline::paint_main()
wxPaintDC dc(_main_canvas);
dc.Clear();
- auto film = _film.lock();
- if (film->content().empty()) {
+ if (film()->content().empty()) {
return;
}
@@ -293,16 +291,11 @@ ContentTimeline::film_change(ChangeType type, FilmProperty p)
void
ContentTimeline::recreate_views()
{
- auto film = _film.lock();
- if (!film) {
- return;
- }
-
_views.clear();
_views.push_back(_time_axis_view);
_views.push_back(_reels_view);
- for (auto i: film->content()) {
+ for (auto i: film()->content()) {
if (i->video) {
_views.push_back(make_shared<ContentTimelineVideoView>(*this, i));
}
@@ -447,9 +440,6 @@ ContentTimeline::assign_tracks()
Audio N
*/
- auto film = _film.lock();
- DCPOMATIC_ASSERT(film);
-
_tracks = 0;
for (auto i: _views) {
@@ -459,8 +449,8 @@ ContentTimeline::assign_tracks()
}
}
- int const video_tracks = place<ContentTimelineVideoView>(film, _views, _tracks);
- int const text_tracks = place<ContentTimelineTextView>(film, _views, _tracks);
+ int const video_tracks = place<ContentTimelineVideoView>(film(), _views, _tracks);
+ int const text_tracks = place<ContentTimelineTextView>(film(), _views, _tracks);
/* Atmos */
@@ -483,7 +473,7 @@ ContentTimeline::assign_tracks()
auto views = _views;
sort(views.begin(), views.end(), AudioMappingComparator());
- int const audio_tracks = place<ContentTimelineAudioView>(film, views, _tracks);
+ int const audio_tracks = place<ContentTimelineAudioView>(film(), views, _tracks);
_labels_view->set_video_tracks(video_tracks);
_labels_view->set_audio_tracks(audio_tracks);
@@ -505,8 +495,7 @@ ContentTimeline::tracks() const
void
ContentTimeline::setup_scrollbars()
{
- auto film = _film.lock();
- if (!film || !_pixels_per_second) {
+ if (!_pixels_per_second) {
return;
}
@@ -514,7 +503,7 @@ ContentTimeline::setup_scrollbars()
_labels_canvas->SetVirtualSize(_labels_view->bbox().width, h);
_labels_canvas->SetScrollRate(_x_scroll_rate, _y_scroll_rate);
- _main_canvas->SetVirtualSize(*_pixels_per_second * film->length().seconds(), h);
+ _main_canvas->SetVirtualSize(*_pixels_per_second * film()->length().seconds(), h);
_main_canvas->SetScrollRate(_x_scroll_rate, _y_scroll_rate);
}
@@ -609,15 +598,12 @@ ContentTimeline::left_down_select(wxMouseEvent& ev)
continue;
}
- auto film = _film.lock();
- DCPOMATIC_ASSERT(film);
-
_start_snaps.push_back(cv->content()->position());
_end_snaps.push_back(cv->content()->position());
- _start_snaps.push_back(cv->content()->end(film));
- _end_snaps.push_back(cv->content()->end(film));
+ _start_snaps.push_back(cv->content()->end(film()));
+ _end_snaps.push_back(cv->content()->end(film()));
- for (auto i: cv->content()->reel_split_points(film)) {
+ for (auto i: cv->content()->reel_split_points(film())) {
_start_snaps.push_back(i);
}
}
@@ -835,11 +821,8 @@ ContentTimeline::set_position_from_event(wxMouseEvent& ev, bool force_emit)
auto new_position = _down_view_position + DCPTime::from_seconds((p.x - _down_point.x) / pps);
- auto film = _film.lock();
- DCPOMATIC_ASSERT(film);
-
if (_snap) {
- auto const new_end = new_position + _down_view->content()->length_after_trim(film);
+ auto const new_end = new_position + _down_view->content()->length_after_trim(film());
/* Signed `distance' to nearest thing (i.e. negative is left on the timeline,
positive is right).
*/
@@ -867,9 +850,9 @@ ContentTimeline::set_position_from_event(wxMouseEvent& ev, bool force_emit)
new_position = DCPTime();
}
- _down_view->content()->set_position(film, new_position, force_emit);
+ _down_view->content()->set_position(film(), new_position, force_emit);
- film->set_sequence(false);
+ film()->set_sequence(false);
}
@@ -880,8 +863,8 @@ ContentTimeline::force_redraw(dcpomatic::Rect<int> const & r)
}
-shared_ptr<const Film>
-ContentTimeline::film() const
+shared_ptr<Film>
+ContentTimeline::film()
{
auto film = _film.lock();
DCPOMATIC_ASSERT(film);
@@ -1000,9 +983,7 @@ ContentTimeline::tool_clicked(Tool t)
void
ContentTimeline::zoom_all()
{
- auto film = _film.lock();
- DCPOMATIC_ASSERT(film);
- set_pixels_per_second((_main_canvas->GetSize().GetWidth() - 32) / std::max(1.0, film->length().seconds()));
+ set_pixels_per_second((_main_canvas->GetSize().GetWidth() - 32) / std::max(1.0, film()->length().seconds()));
set_pixels_per_track((_main_canvas->GetSize().GetHeight() - tracks_y_offset() - _time_axis_view->bbox().height - 32) / std::max(1, _tracks));
setup_scrollbars();
_main_canvas->Scroll(0, 0);
@@ -1015,9 +996,7 @@ void
ContentTimeline::keypress(wxKeyEvent const& event)
{
if (event.GetKeyCode() == WXK_DELETE) {
- auto film = _film.lock();
- DCPOMATIC_ASSERT(film);
- film->remove_content(selected_content());
+ film()->remove_content(selected_content());
} else {
switch (event.GetRawKeyCode()) {
case '+':
diff --git a/src/wx/content_timeline.h b/src/wx/content_timeline.h
index 4233b4598..f8e8d6b80 100644
--- a/src/wx/content_timeline.h
+++ b/src/wx/content_timeline.h
@@ -49,7 +49,7 @@ class ContentTimeline : public Timeline
public:
ContentTimeline(wxWindow *, ContentPanel *, std::shared_ptr<Film>, FilmViewer& viewer);
- std::shared_ptr<const Film> film() const;
+ std::shared_ptr<Film> film();
void force_redraw(dcpomatic::Rect<int> const &);