_audio_delay->Connect (wxID_ANY, wxEVT_COMMAND_SPINCTRL_UPDATED, wxCommandEventHandler (FilmEditor::audio_delay_changed), 0, this);
_still_duration->Connect (wxID_ANY, wxEVT_COMMAND_SPINCTRL_UPDATED, wxCommandEventHandler (FilmEditor::still_duration_changed), 0, this);
_change_dcp_range_button->Connect (wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler (FilmEditor::change_dcp_range_clicked), 0, this);
+ _with_subtitles->Connect (wxID_ANY, wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler (FilmEditor::with_subtitles_toggled), 0, this);
setup_visibility ();
setup_formats ();
_subtitles.clear ();
- cout << "=== SUBS for " << _film->thumb_frame (_pending_index) << "\n";
list<pair<Position, string> > s = _film->thumb_subtitles (_pending_index);
for (list<pair<Position, string> >::iterator i = s.begin(); i != s.end(); ++i) {
_subtitles.push_back (SubtitleView (i->first, std_to_wx (i->second)));
wxPaintDC dc (this);
if (_bitmap) {
- cout << "frame bm " << _bitmap->GetWidth() << " " << _bitmap->GetHeight() << "\n";
dc.DrawBitmap (*_bitmap, 0, 0, false);
}
- for (list<SubtitleView>::iterator i = _subtitles.begin(); i != _subtitles.end(); ++i) {
- dc.DrawBitmap (*i->bitmap, i->position.x, i->position.y, true);
- cout << "\tsub bm at " << i->position.x << " " << i->position.y << " size " << i->bitmap->GetWidth() << " by " << i->bitmap->GetHeight() << "\n";
+ if (_film->with_subtitles ()) {
+ for (list<SubtitleView>::iterator i = _subtitles.begin(); i != _subtitles.end(); ++i) {
+ dc.DrawBitmap (*i->bitmap, i->position.x, i->position.y, true);
+ }
}
}
Rectangle sub_rect (i->position.x, i->position.y, i->image.GetWidth(), i->image.GetHeight());
Rectangle cropped_sub_rect = sub_rect.intersection (cropped);
- cout << "sub " << sub_rect.x << " " << sub_rect.y << " " << sub_rect.w << " " << sub_rect.h << "\n";
- cout << "cropped " << cropped_sub_rect.x << " " << cropped_sub_rect.y << " " << cropped_sub_rect.w << " " << cropped_sub_rect.h << "\n";
-
i->cropped_image = i->image.GetSubImage (
wxRect (
cropped_sub_rect.x - sub_rect.x,
cropped_sub_rect.y * y_scale
);
- cout << "scales are " << x_scale << " " << y_scale << "\n";
- cout << "scaled to " << (cropped_sub_rect.w * x_scale) << " " << (cropped_sub_rect.h * y_scale) << "\n";
-
i->bitmap.reset (new wxBitmap (i->cropped_image));
}
}
void
FilmViewer::film_changed (Film::Property p)
{
- if (p == Film::CROP) {
+ switch (p) {
+ case Film::CROP:
_thumb_panel->set_crop (_film->crop ());
- } else if (p == Film::THUMBS) {
+ break;
+ case Film::THUMBS:
if (_film && _film->num_thumbs() > 1) {
_slider->SetRange (0, _film->num_thumbs () - 1);
} else {
_slider->SetValue (0);
set_thumbnail (0);
- } else if (p == Film::FORMAT) {
+ break;
+ case Film::FORMAT:
_thumb_panel->refresh ();
- } else if (p == Film::CONTENT) {
+ break;
+ case Film::CONTENT:
setup_visibility ();
_film->examine_content ();
update_thumbs ();
+ break;
+ case Film::WITH_SUBTITLES:
+ _thumb_panel->Refresh ();
+ break;
+ default:
+ break;
}
}