diff options
| author | Carl Hetherington <cth@carlh.net> | 2023-12-15 00:40:41 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2024-03-12 00:43:51 +0100 |
| commit | 306c28facff88f38dd03831062dedd5a865578fe (patch) | |
| tree | 3c7a3da38821fda15fae667a9b8156f09fce244a /src/wx/content_timeline_audio_view.cc | |
| parent | e5b053031e94a273ed889cd9e309d7d41c33a70d (diff) | |
Rename TimelineAudioContentView -> ContentTimelineAudioView.
Diffstat (limited to 'src/wx/content_timeline_audio_view.cc')
| -rw-r--r-- | src/wx/content_timeline_audio_view.cc | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/src/wx/content_timeline_audio_view.cc b/src/wx/content_timeline_audio_view.cc new file mode 100644 index 000000000..9604ee7cc --- /dev/null +++ b/src/wx/content_timeline_audio_view.cc @@ -0,0 +1,85 @@ +/* + Copyright (C) 2013-2018 Carl Hetherington <cth@carlh.net> + + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + DCP-o-matic is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with DCP-o-matic. If not, see <http://www.gnu.org/licenses/>. + +*/ + + +#include "content_timeline_audio_view.h" +#include "wx_util.h" +#include "lib/audio_content.h" +#include "lib/util.h" + + +using std::dynamic_pointer_cast; +using std::list; +using std::shared_ptr; + + +/** @class ContentTimelineAudioView + * @brief Content timeline view for AudioContent. + */ + + +ContentTimelineAudioView::ContentTimelineAudioView(ContentTimeline& tl, shared_ptr<Content> c) + : TimelineContentView (tl, c) +{ + +} + +wxColour +ContentTimelineAudioView::background_colour () const +{ + return wxColour (149, 121, 232, 255); +} + +wxColour +ContentTimelineAudioView::foreground_colour () const +{ + return wxColour (0, 0, 0, 255); +} + +wxString +ContentTimelineAudioView::label () const +{ + wxString s = TimelineContentView::label (); + shared_ptr<AudioContent> ac = content()->audio; + DCPOMATIC_ASSERT (ac); + + if (ac->gain() > 0.01) { + s += wxString::Format (" +%.1fdB", ac->gain()); + } else if (ac->gain() < -0.01) { + s += wxString::Format (" %.1fdB", ac->gain()); + } + + if (ac->delay() > 0) { + s += wxString::Format (_(" delayed by %dms"), ac->delay()); + } else if (ac->delay() < 0) { + s += wxString::Format (_(" advanced by %dms"), -ac->delay()); + } + + list<int> mapped = ac->mapping().mapped_output_channels(); + if (!mapped.empty ()) { + s += wxString::FromUTF8(" → "); + for (auto i: mapped) { + s += std_to_wx(short_audio_channel_name(i)) + ", "; + } + s = s.Left(s.Length() - 2); + } + + return s; +} |
