diff options
| author | Carl Hetherington <cth@carlh.net> | 2021-02-01 23:58:04 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2021-02-01 23:58:04 +0100 |
| commit | b539d468acc3ca73cc58a4434002e511a4995f7d (patch) | |
| tree | 0b87689706f9248853b62179195fa881d17730b0 | |
| parent | 4a2efeb3c35babad46eebfbb56fa9a0a7c215d3b (diff) | |
C++11 tidying.
| -rw-r--r-- | src/lib/cinema_sound_processor.cc | 17 | ||||
| -rw-r--r-- | src/lib/cinema_sound_processor.h | 12 | ||||
| -rw-r--r-- | src/wx/check_box.cc | 7 | ||||
| -rw-r--r-- | src/wx/check_box.h | 6 | ||||
| -rw-r--r-- | src/wx/controls.cc | 54 | ||||
| -rw-r--r-- | src/wx/controls.h | 9 |
6 files changed, 83 insertions, 22 deletions
diff --git a/src/lib/cinema_sound_processor.cc b/src/lib/cinema_sound_processor.cc index bd60f7d71..1eaf8e1fc 100644 --- a/src/lib/cinema_sound_processor.cc +++ b/src/lib/cinema_sound_processor.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2014 Carl Hetherington <cth@carlh.net> + Copyright (C) 2012-2021 Carl Hetherington <cth@carlh.net> This file is part of DCP-o-matic. @@ -18,10 +18,12 @@ */ + /** @file src/sound_processor.cc * @brief CinemaSoundProcessor class. */ + #include "cinema_sound_processor.h" #include "dolby_cp750.h" #include "usl.h" @@ -30,10 +32,13 @@ #include <iostream> #include <cassert> + using namespace std; + vector<CinemaSoundProcessor const *> CinemaSoundProcessor::_cinema_sound_processors; + /** @param i Our id. * @param n User-visible name. */ @@ -47,6 +52,7 @@ CinemaSoundProcessor::CinemaSoundProcessor (string i, string n, float knee, floa } + /** @return All available sound processors */ vector<CinemaSoundProcessor const *> CinemaSoundProcessor::all () @@ -54,6 +60,7 @@ CinemaSoundProcessor::all () return _cinema_sound_processors; } + /** Set up the static _sound_processors vector; must be called before from_* * methods are used. */ @@ -65,24 +72,26 @@ CinemaSoundProcessor::setup_cinema_sound_processors () _cinema_sound_processors.push_back (new DatasatAP2x); } + /** @param id One of our ids. * @return Corresponding sound processor, or 0. */ CinemaSoundProcessor const * CinemaSoundProcessor::from_id (string id) { - vector<CinemaSoundProcessor const *>::iterator i = _cinema_sound_processors.begin (); + auto i = _cinema_sound_processors.begin (); while (i != _cinema_sound_processors.end() && (*i)->id() != id) { ++i; } if (i == _cinema_sound_processors.end ()) { - return 0; + return nullptr; } return *i; } + /** @param s A sound processor from our static list. * @return Index of the sound processor with the list, or -1. */ @@ -101,6 +110,7 @@ CinemaSoundProcessor::as_index (CinemaSoundProcessor const * s) return i; } + /** @param i An index returned from as_index(). * @return Corresponding sound processor. */ @@ -111,6 +121,7 @@ CinemaSoundProcessor::from_index (int i) return _cinema_sound_processors[i]; } + float CinemaSoundProcessor::db_for_fader_change (float from, float to) const { diff --git a/src/lib/cinema_sound_processor.h b/src/lib/cinema_sound_processor.h index 25c576003..aa0ffa50f 100644 --- a/src/lib/cinema_sound_processor.h +++ b/src/lib/cinema_sound_processor.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2014 Carl Hetherington <cth@carlh.net> + Copyright (C) 2012-2021 Carl Hetherington <cth@carlh.net> This file is part of DCP-o-matic. @@ -18,29 +18,36 @@ */ + /** @file src/cinema_sound_processor.h * @brief CinemaSoundProcessor class */ + #ifndef DCPOMATIC_CINEMA_SOUND_PROCESSOR_H #define DCPOMATIC_CINEMA_SOUND_PROCESSOR_H + #include <boost/utility.hpp> #include <string> #include <vector> + /** @class CinemaSoundProcessor * @brief Class to describe a cimema's sound processor. * * In other words, the box in the rack that handles sound decoding and processing * in a cinema. */ -class CinemaSoundProcessor : public boost::noncopyable +class CinemaSoundProcessor { public: CinemaSoundProcessor (std::string i, std::string n, float knee, float below, float above); virtual ~CinemaSoundProcessor () {} + CinemaSoundProcessor (CinemaSoundProcessor const&) = delete; + CinemaSoundProcessor& operator==(CinemaSoundProcessor const&) = delete; + float db_for_fader_change (float from, float to) const; /** @return id for our use */ @@ -72,4 +79,5 @@ private: static std::vector<CinemaSoundProcessor const *> _cinema_sound_processors; }; + #endif diff --git a/src/wx/check_box.cc b/src/wx/check_box.cc index d41b8a3f1..710ba6334 100644 --- a/src/wx/check_box.cc +++ b/src/wx/check_box.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2018-2019 Carl Hetherington <cth@carlh.net> + Copyright (C) 2018-2021 Carl Hetherington <cth@carlh.net> This file is part of DCP-o-matic. @@ -18,10 +18,13 @@ */ + #include "check_box.h" + using std::cout; + CheckBox::CheckBox (wxWindow* parent, wxString label) : wxCheckBox (parent, wxID_ANY, label) , I18NHook (this, get_text()) @@ -29,12 +32,14 @@ CheckBox::CheckBox (wxWindow* parent, wxString label) } + void CheckBox::set_text (wxString text) { SetLabel (text); } + wxString CheckBox::get_text () const { diff --git a/src/wx/check_box.h b/src/wx/check_box.h index ff47bc524..8e6789e44 100644 --- a/src/wx/check_box.h +++ b/src/wx/check_box.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2018 Carl Hetherington <cth@carlh.net> + Copyright (C) 2018-2021 Carl Hetherington <cth@carlh.net> This file is part of DCP-o-matic. @@ -18,12 +18,15 @@ */ + #ifndef DCPOMATIC_CHECK_BOX_H #define DCPOMATIC_CHECK_BOX_H + #include "i18n_hook.h" #include <wx/wx.h> + class CheckBox : public wxCheckBox, public I18NHook { public: @@ -33,4 +36,5 @@ public: wxString get_text () const; }; + #endif diff --git a/src/wx/controls.cc b/src/wx/controls.cc index 9eae77495..700769a50 100644 --- a/src/wx/controls.cc +++ b/src/wx/controls.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2018-2019 Carl Hetherington <cth@carlh.net> + Copyright (C) 2018-2021 Carl Hetherington <cth@carlh.net> This file is part of DCP-o-matic. @@ -18,6 +18,7 @@ */ + #include "controls.h" #include "film_viewer.h" #include "wx_util.h" @@ -43,6 +44,7 @@ #include <wx/listctrl.h> #include <wx/progdlg.h> + using std::string; using std::list; using std::cout; @@ -60,23 +62,23 @@ using namespace dcpomatic; Controls::Controls (wxWindow* parent, shared_ptr<FilmViewer> viewer, bool editor_controls) : wxPanel (parent) - , _slider (new wxSlider (this, wxID_ANY, 0, 0, 4096)) + , _slider (new wxSlider(this, wxID_ANY, 0, 0, 4096)) , _viewer (viewer) , _slider_being_moved (false) , _outline_content (0) , _eye (0) , _jump_to_selected (0) - , _rewind_button (new Button (this, wxT("|<"))) - , _back_button (new Button (this, wxT("<"))) - , _forward_button (new Button (this, wxT(">"))) - , _frame_number (new StaticText (this, wxT(""))) - , _timecode (new StaticText (this, wxT(""))) + , _rewind_button (new Button(this, wxT("|<"))) + , _back_button (new Button(this, wxT("<"))) + , _forward_button (new Button(this, wxT(">"))) + , _frame_number (new StaticText(this, wxT(""))) + , _timecode (new StaticText(this, wxT(""))) , _timer (this) { _v_sizer = new wxBoxSizer (wxVERTICAL); SetSizer (_v_sizer); - wxBoxSizer* view_options = new wxBoxSizer (wxHORIZONTAL); + auto view_options = new wxBoxSizer (wxHORIZONTAL); if (editor_controls) { _outline_content = new CheckBox (this, _("Outline content")); view_options->Add (_outline_content, 0, wxRIGHT | wxALIGN_CENTER_VERTICAL, DCPOMATIC_SIZER_GAP); @@ -91,9 +93,9 @@ Controls::Controls (wxWindow* parent, shared_ptr<FilmViewer> viewer, bool editor _v_sizer->Add (view_options, 0, wxALL, DCPOMATIC_SIZER_GAP); - wxBoxSizer* h_sizer = new wxBoxSizer (wxHORIZONTAL); + auto h_sizer = new wxBoxSizer (wxHORIZONTAL); - wxBoxSizer* time_sizer = new wxBoxSizer (wxVERTICAL); + auto time_sizer = new wxBoxSizer (wxVERTICAL); time_sizer->Add (_frame_number, 0, wxEXPAND); time_sizer->Add (_timecode, 0, wxEXPAND); @@ -166,18 +168,21 @@ Controls::config_changed (int) setup_sensitivity (); } + void Controls::started () { setup_sensitivity (); } + void Controls::stopped () { setup_sensitivity (); } + void Controls::update_position () { @@ -187,18 +192,21 @@ Controls::update_position () } } + void Controls::eye_changed () { _viewer->set_eyes (_eye->GetSelection() == 0 ? Eyes::LEFT : Eyes::RIGHT); } + void Controls::outline_content_changed () { _viewer->set_outline_content (_outline_content->GetValue()); } + /** @param page true if this was a PAGEUP/PAGEDOWN event for which we won't receive a THUMBRELEASE */ void Controls::slider_moved (bool page) @@ -233,6 +241,7 @@ Controls::slider_moved (bool page) ); } + void Controls::slider_released () { @@ -241,6 +250,7 @@ Controls::slider_released () _slider_being_moved = false; } + void Controls::update_position_slider () { @@ -249,7 +259,7 @@ Controls::update_position_slider () return; } - DCPTime const len = _film->length (); + auto const len = _film->length (); if (len.get ()) { int const new_slider_position = 4096 * _viewer->position().get() / len.get(); @@ -259,6 +269,7 @@ Controls::update_position_slider () } } + void Controls::update_position_label () { @@ -274,6 +285,7 @@ Controls::update_position_label () checked_set (_timecode, time_to_timecode (_viewer->position(), fps)); } + void Controls::active_jobs_changed (optional<string> j) { @@ -281,10 +293,11 @@ Controls::active_jobs_changed (optional<string> j) setup_sensitivity (); } + DCPTime Controls::nudge_amount (wxKeyboardState& ev) { - DCPTime amount = _viewer->one_video_frame (); + auto amount = _viewer->one_video_frame (); if (ev.ShiftDown() && !ev.ControlDown()) { amount = DCPTime::from_seconds (1); @@ -297,6 +310,7 @@ Controls::nudge_amount (wxKeyboardState& ev) return amount; } + void Controls::rewind_clicked (wxMouseEvent& ev) { @@ -304,30 +318,35 @@ Controls::rewind_clicked (wxMouseEvent& ev) ev.Skip(); } + void Controls::back_frame () { _viewer->seek_by (-_viewer->one_video_frame(), true); } + void Controls::forward_frame () { _viewer->seek_by (_viewer->one_video_frame(), true); } + void Controls::back_clicked (wxKeyboardState& ev) { _viewer->seek_by (-nudge_amount(ev), true); } + void Controls::forward_clicked (wxKeyboardState& ev) { _viewer->seek_by (nudge_amount(ev), true); } + void Controls::setup_sensitivity () { @@ -353,32 +372,36 @@ Controls::setup_sensitivity () } } + void Controls::timecode_clicked () { - PlayheadToTimecodeDialog* dialog = new PlayheadToTimecodeDialog (this, _viewer->position(), _film->video_frame_rate()); + auto dialog = new PlayheadToTimecodeDialog (this, _viewer->position(), _film->video_frame_rate()); if (dialog->ShowModal() == wxID_OK) { _viewer->seek (dialog->get(), true); } dialog->Destroy (); } + void Controls::frame_number_clicked () { - PlayheadToFrameDialog* dialog = new PlayheadToFrameDialog (this, _viewer->position(), _film->video_frame_rate()); + auto dialog = new PlayheadToFrameDialog (this, _viewer->position(), _film->video_frame_rate()); if (dialog->ShowModal() == wxID_OK) { _viewer->seek (dialog->get(), true); } dialog->Destroy (); } + void Controls::jump_to_selected_clicked () { Config::instance()->set_jump_to_selected (_jump_to_selected->GetValue ()); } + void Controls::set_film (shared_ptr<Film> film) { @@ -398,12 +421,14 @@ Controls::set_film (shared_ptr<Film> film) update_position_label (); } + shared_ptr<Film> Controls::film () const { return _film; } + void Controls::film_change (ChangeType type, Film::Property p) { @@ -418,6 +443,7 @@ Controls::film_change (ChangeType type, Film::Property p) } } + void Controls::seek (int slider) { diff --git a/src/wx/controls.h b/src/wx/controls.h index a2c80b809..9a22d7709 100644 --- a/src/wx/controls.h +++ b/src/wx/controls.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2018 Carl Hetherington <cth@carlh.net> + Copyright (C) 2018-2021 Carl Hetherington <cth@carlh.net> This file is part of DCP-o-matic. @@ -18,9 +18,11 @@ */ + #ifndef DCPOMATIC_CONTROLS_H #define DCPOMATIC_CONTROLS_H + #include "lib/dcpomatic_time.h" #include "lib/types.h" #include "lib/film.h" @@ -30,6 +32,7 @@ DCPOMATIC_DISABLE_WARNINGS DCPOMATIC_ENABLE_WARNINGS #include <boost/signals2.hpp> + class FilmViewer; class Film; class ClosedCaptionsDialog; @@ -39,10 +42,12 @@ class wxToggleButton; class wxListCtrl; class ContentView; + namespace dcp { class CPL; } + class Controls : public wxPanel { public: @@ -64,6 +69,7 @@ public: void forward_frame (); protected: + virtual void started (); virtual void stopped (); virtual void setup_sensitivity (); @@ -117,4 +123,5 @@ private: boost::signals2::scoped_connection _config_changed_connection; }; + #endif |
