summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2018-07-04 23:42:21 +0100
committerCarl Hetherington <cth@carlh.net>2018-07-04 23:42:21 +0100
commita44d87088c380e2e282b1df65d6bd55795091c72 (patch)
treeeb7d736602a3b97da7581818953957ad8fdbc377 /src
parentc15424c691168f2071bc54dadb9e265a58d334d1 (diff)
Label audio content with mapping (part of #1279).
Diffstat (limited to 'src')
-rw-r--r--src/wx/timeline_audio_content_view.cc24
-rw-r--r--src/wx/timeline_audio_content_view.h1
-rw-r--r--src/wx/timeline_content_view.cc20
-rw-r--r--src/wx/timeline_content_view.h1
4 files changed, 38 insertions, 8 deletions
diff --git a/src/wx/timeline_audio_content_view.cc b/src/wx/timeline_audio_content_view.cc
index e8d5265f7..fe098c48b 100644
--- a/src/wx/timeline_audio_content_view.cc
+++ b/src/wx/timeline_audio_content_view.cc
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2013-2015 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2013-2018 Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
@@ -19,8 +19,13 @@
*/
#include "timeline_audio_content_view.h"
+#include "wx_util.h"
+#include "lib/audio_content.h"
+#include "lib/util.h"
+using std::list;
using boost::shared_ptr;
+using boost::dynamic_pointer_cast;
/** @class TimelineAudioContentView
* @brief Timeline view for AudioContent.
@@ -43,3 +48,20 @@ TimelineAudioContentView::foreground_colour () const
{
return wxColour (0, 0, 0, 255);
}
+
+wxString
+TimelineAudioContentView::label () const
+{
+ wxString s = TimelineContentView::label ();
+ shared_ptr<AudioContent> ac = content()->audio;
+ DCPOMATIC_ASSERT (ac);
+ list<int> mapped = ac->mapping().mapped_output_channels();
+ if (!mapped.empty ()) {
+ s += " → ";
+ BOOST_FOREACH (int i, mapped) {
+ s += std_to_wx(short_audio_channel_name(i)) + ", ";
+ }
+ s = s.Left(s.Length() - 2);
+ }
+ return s;
+}
diff --git a/src/wx/timeline_audio_content_view.h b/src/wx/timeline_audio_content_view.h
index 17665111f..bede1dcda 100644
--- a/src/wx/timeline_audio_content_view.h
+++ b/src/wx/timeline_audio_content_view.h
@@ -34,4 +34,5 @@ private:
}
wxColour background_colour () const;
wxColour foreground_colour () const;
+ wxString label () const;
};
diff --git a/src/wx/timeline_content_view.cc b/src/wx/timeline_content_view.cc
index 88b50076a..bf22e0156 100644
--- a/src/wx/timeline_content_view.cc
+++ b/src/wx/timeline_content_view.cc
@@ -141,15 +141,15 @@ TimelineContentView::do_paint (wxGraphicsContext* gc, list<dcpomatic::Rect<int>
}
/* Label text */
- wxString name = std_to_wx (cont->summary());
- wxDouble name_width;
- wxDouble name_height;
- wxDouble name_descent;
- wxDouble name_leading;
+ wxString lab = label ();
+ wxDouble lab_width;
+ wxDouble lab_height;
+ wxDouble lab_descent;
+ wxDouble lab_leading;
gc->SetFont (gc->CreateFont (*wxNORMAL_FONT, foreground_colour ()));
- gc->GetTextExtent (name, &name_width, &name_height, &name_descent, &name_leading);
+ gc->GetTextExtent (lab, &lab_width, &lab_height, &lab_descent, &lab_leading);
gc->Clip (wxRegion (time_x (position), y_pos (_track.get()), len.seconds() * _timeline.pixels_per_second().get_value_or(0), _timeline.pixels_per_track()));
- gc->DrawText (name, time_x (position) + 12, y_pos (_track.get() + 1) - name_height - 4);
+ gc->DrawText (lab, time_x (position) + 12, y_pos (_track.get() + 1) - lab_height - 4);
gc->ResetClip ();
}
@@ -168,3 +168,9 @@ TimelineContentView::content_changed (int p)
force_redraw ();
}
}
+
+wxString
+TimelineContentView::label () const
+{
+ return std_to_wx(content()->summary());
+}
diff --git a/src/wx/timeline_content_view.h b/src/wx/timeline_content_view.h
index 787590099..b5b000bdb 100644
--- a/src/wx/timeline_content_view.h
+++ b/src/wx/timeline_content_view.h
@@ -47,6 +47,7 @@ public:
virtual bool active () const = 0;
virtual wxColour background_colour () const = 0;
virtual wxColour foreground_colour () const = 0;
+ virtual wxString label () const;
protected: