}
++r;
+ add_label_to_grid_bag_sizer (grid, _dcp_panel, _("DCP audio channels"), true, wxGBPosition (r, 0));
+ _dcp_audio_channels = new wxSpinCtrl (_dcp_panel, wxID_ANY);
+ grid->Add (_dcp_audio_channels, wxGBPosition (r, 1));
+ ++r;
+
{
add_label_to_grid_bag_sizer (grid, _dcp_panel, _("JPEG2000 bandwidth"), true, wxGBPosition (r, 0));
wxSizer* s = new wxBoxSizer (wxHORIZONTAL);
_dcp_frame_rate->Append (std_to_wx (boost::lexical_cast<string> (*i)));
}
+ _dcp_audio_channels->SetRange (0, MAX_AUDIO_CHANNELS);
_j2k_bandwidth->SetRange (50, 250);
}
_dcp_content_type->Connect (wxID_ANY, wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler (FilmEditor::dcp_content_type_changed), 0, this);
_dcp_frame_rate->Connect (wxID_ANY, wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler (FilmEditor::dcp_frame_rate_changed), 0, this);
_best_dcp_frame_rate->Connect (wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler (FilmEditor::best_dcp_frame_rate_clicked), 0, this);
+ _dcp_audio_channels->Connect (wxID_ANY, wxEVT_COMMAND_SPINCTRL_UPDATED, wxCommandEventHandler (FilmEditor::dcp_audio_channels_changed), 0, this);
_with_subtitles->Connect (wxID_ANY, wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler (FilmEditor::with_subtitles_toggled), 0, this);
_subtitle_offset->Connect (wxID_ANY, wxEVT_COMMAND_SPINCTRL_UPDATED, wxCommandEventHandler (FilmEditor::subtitle_offset_changed), 0, this);
_subtitle_scale->Connect (wxID_ANY, wxEVT_COMMAND_SPINCTRL_UPDATED, wxCommandEventHandler (FilmEditor::subtitle_scale_changed), 0, this);
- _colour_lut->Connect (wxID_ANY, wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler (FilmEditor::colour_lut_changed), 0, this);
_j2k_bandwidth->Connect (wxID_ANY, wxEVT_COMMAND_SPINCTRL_UPDATED, wxCommandEventHandler (FilmEditor::j2k_bandwidth_changed), 0, this);
_audio_gain->Connect (wxID_ANY, wxEVT_COMMAND_SPINCTRL_UPDATED, wxCommandEventHandler (FilmEditor::audio_gain_changed), 0, this);
_audio_gain_calculate_button->Connect (
}
++r;
- add_label_to_grid_bag_sizer (grid, _video_panel, _("Colour look-up table"), true, wxGBPosition (r, 0));
- _colour_lut = new wxChoice (_video_panel, wxID_ANY);
- for (int i = 0; i < 2; ++i) {
- _colour_lut->Append (std_to_wx (colour_lut_index_to_name (i)));
- }
- _colour_lut->SetSelection (0);
- grid->Add (_colour_lut, wxGBPosition (r, 1), wxDefaultSpan, wxEXPAND);
- ++r;
-
_left_crop->SetRange (0, 1024);
_top_crop->SetRange (0, 1024);
_right_crop->SetRange (0, 1024);
wxBoxSizer* s = new wxBoxSizer (wxHORIZONTAL);
_subtitle_offset = new wxSpinCtrl (_subtitle_panel);
s->Add (_subtitle_offset);
- add_label_to_sizer (s, _subtitle_panel, _("pixels"), false);
+ add_label_to_sizer (s, _subtitle_panel, _("%"), false);
grid->Add (s);
}
_subtitle_stream = new wxChoice (_subtitle_panel, wxID_ANY);
grid->Add (_subtitle_stream, 1, wxEXPAND);
- _subtitle_offset->SetRange (-1024, 1024);
+ _subtitle_offset->SetRange (-100, 100);
_subtitle_scale->SetRange (1, 1000);
+ _subtitle_scale->SetValue (100);
}
void
return;
}
- c->set_subtitle_offset (_subtitle_offset->GetValue ());
+ c->set_subtitle_offset (_subtitle_offset->GetValue() / 100.0);
}
void
c->set_subtitle_scale (_subtitle_scale->GetValue() / 100.0);
}
-void
-FilmEditor::colour_lut_changed (wxCommandEvent &)
-{
- if (!_film) {
- return;
- }
-
- _film->set_colour_lut (_colour_lut->GetSelection ());
-}
-
void
FilmEditor::j2k_bandwidth_changed (wxCommandEvent &)
{
);
}
+void
+FilmEditor::dcp_audio_channels_changed (wxCommandEvent &)
+{
+ if (!_film) {
+ return;
+ }
+
+ _film->set_dcp_audio_channels (_dcp_audio_channels->GetValue ());
+}
+
/** Called when the metadata stored in the Film object has changed;
* so that we can update the GUI.
setup_subtitle_control_sensitivity ();
setup_dcp_name ();
break;
- case Film::COLOUR_LUT:
- checked_set (_colour_lut, _film->colour_lut ());
- break;
case Film::J2K_BANDWIDTH:
checked_set (_j2k_bandwidth, double (_film->j2k_bandwidth()) / 1e6);
break;
_best_dcp_frame_rate->Enable (_film->best_dcp_video_frame_rate () != _film->dcp_video_frame_rate ());
break;
}
+ case Film::DCP_AUDIO_CHANNELS:
+ _dcp_audio_channels->SetValue (_film->dcp_audio_channels ());
+ _audio_mapping->set_channels (_film->dcp_audio_channels ());
+ break;
}
}
_dcp_sizer->Layout ();
}
} else if (property == SubtitleContentProperty::SUBTITLE_OFFSET) {
- checked_set (_subtitle_offset, subtitle_content ? subtitle_content->subtitle_offset() : 0);
+ checked_set (_subtitle_offset, subtitle_content ? (subtitle_content->subtitle_offset() * 100) : 0);
} else if (property == SubtitleContentProperty::SUBTITLE_SCALE) {
checked_set (_subtitle_scale, subtitle_content ? (subtitle_content->subtitle_scale() * 100) : 100);
}
film_changed (Film::CONTAINER);
film_changed (Film::SCALER);
film_changed (Film::WITH_SUBTITLES);
- film_changed (Film::COLOUR_LUT);
film_changed (Film::J2K_BANDWIDTH);
film_changed (Film::DCI_METADATA);
film_changed (Film::DCP_VIDEO_FRAME_RATE);
+ film_changed (Film::DCP_AUDIO_CHANNELS);
+
+ if (!_film->content().empty ()) {
+ set_selection (_film->content().front ());
+ }
wxListEvent ev;
content_selection_changed (ev);
_filters_button->Enable (s);
_scaler->Enable (s);
_dcp_content_type->Enable (s);
- _best_dcp_frame_rate->Enable (s);
_dcp_frame_rate->Enable (s);
- _colour_lut->Enable (s);
+ _dcp_audio_channels->Enable (s);
_j2k_bandwidth->Enable (s);
_audio_gain->Enable (s);
_audio_gain_calculate_button->Enable (s);
setup_subtitle_control_sensitivity ();
setup_show_audio_sensitivity ();
setup_content_sensitivity ();
+ _best_dcp_frame_rate->Enable (s && _film && _film->best_dcp_video_frame_rate () != _film->dcp_video_frame_rate ());
}
/** Called when the `Edit filters' button has been clicked */
if (c) {
_film->remove_content (c);
}
+
+ wxListEvent ev;
+ content_selection_changed (ev);
}
void
if (_audio_dialog && s && dynamic_pointer_cast<AudioContent> (s)) {
_audio_dialog->set_content (dynamic_pointer_cast<AudioContent> (s));
}
-
+
film_content_changed (s, ContentProperty::START);
film_content_changed (s, ContentProperty::LENGTH);
film_content_changed (s, VideoContentProperty::VIDEO_CROP);
film_content_changed (s, FFmpegContentProperty::AUDIO_STREAM);
film_content_changed (s, FFmpegContentProperty::AUDIO_STREAMS);
film_content_changed (s, FFmpegContentProperty::SUBTITLE_STREAM);
+ film_content_changed (s, FFmpegContentProperty::SUBTITLE_STREAMS);
+ film_content_changed (s, FFmpegContentProperty::FILTERS);
+ film_content_changed (s, SubtitleContentProperty::SUBTITLE_OFFSET);
+ film_content_changed (s, SubtitleContentProperty::SUBTITLE_SCALE);
}
void