+ return dcpomatic::Rect<int> (0, 0, _width, _timeline.tracks() * _timeline.pixels_per_track());
+}
+
+
+void
+TimelineLabelsView::do_paint (wxGraphicsContext* gc, list<dcpomatic::Rect<int>>)
+{
+ int const h = _timeline.pixels_per_track ();
+ gc->SetFont (gc->CreateFont(wxNORMAL_FONT->Bold(), wxColour(0, 0, 0)));
+
+ int fy = 0;
+ if (_video_tracks) {
+ int ty = fy + _video_tracks * h;
+ gc->DrawText (_("Video"), 0, (ty + fy) / 2 - 8);
+ fy = ty;
+ }
+
+ if (_text_tracks) {
+ int ty = fy + _text_tracks * h;
+ gc->DrawText (_("Subtitles/captions"), 0, (ty + fy) / 2 - 8);
+ fy = ty;
+ }
+
+ if (_atmos) {
+ int ty = fy + h;
+ gc->DrawText (_("Atmos"), 0, (ty + fy) / 2 - 8);
+ fy = ty;
+ }
+
+ if (_audio_tracks) {
+ int ty = _timeline.tracks() * h;
+ gc->DrawText (_("Audio"), 0, (ty + fy) / 2 - 8);
+ }
+}
+
+
+void
+TimelineLabelsView::set_video_tracks (int n)
+{
+ _video_tracks = n;
+}
+
+
+void
+TimelineLabelsView::set_audio_tracks (int n)
+{
+ _audio_tracks = n;
+}
+
+
+void
+TimelineLabelsView::set_text_tracks (int n)
+{
+ _text_tracks = n;