/*
- Copyright (C) 2012-2013 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2012-2014 Carl Hetherington <cth@carlh.net>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/** @param f Film to edit */
FilmEditor::FilmEditor (shared_ptr<Film> f, wxWindow* parent)
: wxPanel (parent)
- , _menu (f, this)
+ , _menu (this)
, _generally_sensitive (true)
, _timeline_dialog (0)
{
JobManager::instance()->ActiveJobsChanged.connect (
bind (&FilmEditor::active_jobs_changed, this, _1)
);
+
+ Config::instance()->Changed.connect (boost::bind (&FilmEditor::config_changed, this));
SetSizerAndFit (s);
}
wxSizer* s = new wxBoxSizer (wxHORIZONTAL);
_j2k_bandwidth = new wxSpinCtrl (_dcp_panel, wxID_ANY);
s->Add (_j2k_bandwidth, 1);
- add_label_to_sizer (s, _dcp_panel, _("MBps"), false);
+ add_label_to_sizer (s, _dcp_panel, _("Mbit/s"), false);
grid->Add (s, wxGBPosition (r, 1));
}
++r;
}
_audio_channels->SetRange (0, MAX_AUDIO_CHANNELS);
- _j2k_bandwidth->SetRange (1, 250);
+ _j2k_bandwidth->SetRange (1, Config::instance()->maximum_j2k_bandwidth() / 1000000);
_resolution->Append (_("2K"));
_resolution->Append (_("4K"));
_content->InsertColumn (0, wxT(""));
_content->SetColumnWidth (0, 512);
+#ifdef DCPOMATIC_OSX
+ int const pad = 2;
+#else
+ int const pad = 0;
+#endif
+
wxBoxSizer* b = new wxBoxSizer (wxVERTICAL);
_content_add_file = new wxButton (_content_panel, wxID_ANY, _("Add file(s)..."));
- b->Add (_content_add_file, 1, wxEXPAND | wxLEFT | wxRIGHT);
+ b->Add (_content_add_file, 1, wxEXPAND | wxALL, pad);
_content_add_folder = new wxButton (_content_panel, wxID_ANY, _("Add folder..."));
- b->Add (_content_add_folder, 1, wxEXPAND | wxLEFT | wxRIGHT);
+ b->Add (_content_add_folder, 1, wxEXPAND | wxALL, pad);
_content_remove = new wxButton (_content_panel, wxID_ANY, _("Remove"));
- b->Add (_content_remove, 1, wxEXPAND | wxLEFT | wxRIGHT);
- _content_earlier = new wxButton (_content_panel, wxID_UP);
- b->Add (_content_earlier, 1, wxEXPAND);
- _content_later = new wxButton (_content_panel, wxID_DOWN);
- b->Add (_content_later, 1, wxEXPAND);
+ b->Add (_content_remove, 1, wxEXPAND | wxALL, pad);
+ _content_earlier = new wxButton (_content_panel, wxID_ANY, _("Up"));
+ b->Add (_content_earlier, 1, wxEXPAND | wxALL, pad);
+ _content_later = new wxButton (_content_panel, wxID_ANY, _("Down"));
+ b->Add (_content_later, 1, wxEXPAND | wxALL, pad);
_content_timeline = new wxButton (_content_panel, wxID_ANY, _("Timeline..."));
- b->Add (_content_timeline, 1, wxEXPAND | wxLEFT | wxRIGHT);
+ b->Add (_content_timeline, 1, wxEXPAND | wxALL, pad);
s->Add (b, 0, wxALL, 4);
- _content_sizer->Add (s, 0.75, wxEXPAND | wxALL, 6);
+ _content_sizer->Add (s, 0, wxEXPAND | wxALL, 6);
}
_sequence_video = new wxCheckBox (_content_panel, wxID_ANY, _("Keep video in sequence"));
ContentList content = _film->content ();
for (ContentList::iterator i = content.begin(); i != content.end(); ++i) {
int const t = _content->GetItemCount ();
- bool const valid = (*i)->path_valid ();
+ bool const valid = (*i)->paths_valid ();
string s = (*i)->summary ();
if (!valid) {
_video_panel->Enable (video_selection.size() > 0 && _generally_sensitive);
_audio_panel->Enable (audio_selection.size() > 0 && _generally_sensitive);
- _subtitle_panel->Enable (selection.size() == 1 && dynamic_pointer_cast<FFmpegContent> (selection.front()) && _generally_sensitive);
+ _subtitle_panel->Enable (selection.size() == 1 && dynamic_pointer_cast<SubtitleContent> (selection.front()) && _generally_sensitive);
_timing_panel->Enable (selection.size() == 1 && _generally_sensitive);
}
_timeline_dialog = 0;
}
- _timeline_dialog = new DCPTimelineDialog (this, _film);
+ _timeline_dialog = new TimelineDialog (this, _film);
_timeline_dialog->Show ();
}
void
FilmEditor::content_right_click (wxListEvent& ev)
{
- _menu.popup (selected_content (), ev.GetPoint ());
+ _menu.popup (_film, selected_content (), ev.GetPoint ());
}
void
content_selection_changed ();
}
}
+
+void
+FilmEditor::config_changed ()
+{
+ _j2k_bandwidth->SetRange (1, Config::instance()->maximum_j2k_bandwidth() / 1000000);
+}