/*
Copyright (C) 2012-2016 Carl Hetherington <cth@carlh.net>
- This program is free software; you can redistribute it and/or modify
+ This file is part of DCP-o-matic.
+
+ DCP-o-matic is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
- This program is distributed in the hope that it will be useful,
+ DCP-o-matic is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ along with DCP-o-matic. If not, see <http://www.gnu.org/licenses/>.
*/
_remove->SetToolTip (_("Remove the selected piece of content from the film."));
b->Add (_remove, 0, wxEXPAND | wxALL, DCPOMATIC_BUTTON_STACK_GAP);
- _earlier = new wxButton (_panel, wxID_ANY, _("Up"));
+ _earlier = new wxButton (_panel, wxID_ANY, _("Earlier"));
_earlier->SetToolTip (_("Move the selected piece of content earlier in the film."));
b->Add (_earlier, 0, wxEXPAND | wxALL, DCPOMATIC_BUTTON_STACK_GAP);
- _later = new wxButton (_panel, wxID_ANY, _("Down"));
+ _later = new wxButton (_panel, wxID_ANY, _("Later"));
_later->SetToolTip (_("Move the selected piece of content later in the film."));
b->Add (_later, 0, wxEXPAND | wxALL, DCPOMATIC_BUTTON_STACK_GAP);
return;
}
- ic->video->set_frame_rate (frame_rate);
+ ic->set_video_frame_rate (frame_rate);
}
_film->examine_and_add_content (content);
void
ContentPanel::set_film (shared_ptr<Film> film)
{
+ _audio_panel->set_film (film);
+
_film = film;
film_changed (Film::CONTENT);
film_changed (Film::AUDIO_CHANNELS);
selection_changed ();
+ setup_sensitivity ();
}
void
void
ContentPanel::film_content_changed (int property)
{
- if (property == ContentProperty::PATH || property == DCPContentProperty::CAN_BE_PLAYED) {
+ if (property == ContentProperty::PATH || property == DCPContentProperty::NEEDS_ASSETS || property == DCPContentProperty::NEEDS_KDM) {
setup ();
}
int const t = _content->GetItemCount ();
bool const valid = i->paths_valid ();
shared_ptr<DCPContent> dcp = dynamic_pointer_cast<DCPContent> (i);
- bool const needs_kdm = dcp && !dcp->can_be_played ();
+ bool const needs_kdm = dcp && dcp->needs_kdm ();
+ bool const needs_assets = dcp && dcp->needs_assets ();
- string s = i->summary ();
+ wxString s = std_to_wx (i->summary ());
if (!valid) {
s = _("MISSING: ") + s;
s = _("NEEDS KDM: ") + s;
}
+ if (needs_assets) {
+ s = _("NEEDS OV: ") + s;
+ }
+
wxListItem item;
item.SetId (t);
- item.SetText (std_to_wx (s));
+ item.SetText (s);
item.SetData (i.get ());
_content->InsertItem (item);
_content->SetItemState (t, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED);
}
- if (!valid || needs_kdm) {
+ if (!valid || needs_kdm || needs_assets) {
_content->SetItemTextColour (t, *wxRED);
}
}