#include "playhead_to_timecode_dialog.h"
#include "playhead_to_frame_dialog.h"
#include "content_view.h"
+#include "static_text.h"
+#include "check_box.h"
+#include "dcpomatic_button.h"
#include "lib/job_manager.h"
#include "lib/player_video.h"
#include "lib/dcp_content.h"
, _outline_content (0)
, _eye (0)
, _jump_to_selected (0)
- , _rewind_button (new wxButton (this, wxID_ANY, wxT("|<")))
- , _back_button (new wxButton (this, wxID_ANY, wxT("<")))
- , _forward_button (new wxButton (this, wxID_ANY, wxT(">")))
- , _frame_number (new wxStaticText (this, wxID_ANY, wxT("")))
- , _timecode (new wxStaticText (this, wxID_ANY, 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("")))
{
_v_sizer = new wxBoxSizer (wxVERTICAL);
SetSizer (_v_sizer);
wxBoxSizer* view_options = new wxBoxSizer (wxHORIZONTAL);
if (editor_controls) {
- _outline_content = new wxCheckBox (this, wxID_ANY, _("Outline content"));
+ _outline_content = new CheckBox (this, _("Outline content"));
view_options->Add (_outline_content, 0, wxRIGHT | wxALIGN_CENTER_VERTICAL, DCPOMATIC_SIZER_GAP);
_eye = new wxChoice (this, wxID_ANY);
_eye->Append (_("Left"));
_eye->Append (_("Right"));
_eye->SetSelection (0);
view_options->Add (_eye, 0, wxLEFT | wxRIGHT | wxALIGN_CENTER_VERTICAL, DCPOMATIC_SIZER_GAP);
- _jump_to_selected = new wxCheckBox (this, wxID_ANY, _("Jump to selected content"));
+ _jump_to_selected = new CheckBox (this, _("Jump to selected content"));
view_options->Add (_jump_to_selected, 0, wxLEFT | wxRIGHT | wxALIGN_CENTER_VERTICAL, DCPOMATIC_SIZER_GAP);
}
}
_viewer->seek (t, false);
update_position_label ();
+
+ log (
+ wxString::Format(
+ "playback-seeked %s", t.timecode(_film->video_frame_rate()).c_str()
+ )
+ );
}
void
}
_film = film;
- _film_change_connection = _film->Change.connect (boost::bind(&Controls::film_change, this, _1, _2));
+
+ if (_film) {
+ _film_change_connection = _film->Change.connect (boost::bind(&Controls::film_change, this, _1, _2));
+ }
setup_sensitivity ();
void
Controls::film_change (ChangeType type, Film::Property p)
{
- if (type == CHANGE_TYPE_DONE && p == Film::CONTENT) {
- setup_sensitivity ();
- update_position_label ();
- update_position_slider ();
+ if (type == CHANGE_TYPE_DONE) {
+ if (p == Film::CONTENT) {
+ setup_sensitivity ();
+ update_position_label ();
+ update_position_slider ();
+ } else if (p == Film::THREE_D) {
+ setup_sensitivity ();
+ }
}
}