X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fcontent_menu.cc;h=3d5b002798ee72d6c8cce2d968f0733879a8b0c6;hb=a8a0dfd1b21de6c0facf965ab119833ff6f790bf;hp=a1d412b62ea6344a61c3e6d6d1b5b20aeb266e36;hpb=dd8a7d1bbb8f2afb1b98d2be856ff0a9920e180d;p=dcpomatic.git diff --git a/src/wx/content_menu.cc b/src/wx/content_menu.cc index a1d412b62..3d5b00279 100644 --- a/src/wx/content_menu.cc +++ b/src/wx/content_menu.cc @@ -1,19 +1,20 @@ /* - Copyright (C) 2013-2015 Carl Hetherington + Copyright (C) 2013-2016 Carl Hetherington - 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 . */ @@ -32,8 +33,11 @@ #include "lib/exceptions.h" #include "lib/dcp_content.h" #include "lib/ffmpeg_content.h" +#include "lib/audio_content.h" #include #include +#include +#include using std::cout; using std::vector; @@ -88,8 +92,8 @@ ContentMenu::popup (weak_ptr film, ContentList c, TimelineContentViewList _repeat->Enable (!_content.empty ()); int n = 0; - for (ContentList::const_iterator i = _content.begin(); i != _content.end(); ++i) { - if (dynamic_pointer_cast (*i)) { + BOOST_FOREACH (shared_ptr i, _content) { + if (dynamic_pointer_cast (i)) { ++n; } } @@ -140,8 +144,8 @@ void ContentMenu::join () { vector > fc; - for (ContentList::const_iterator i = _content.begin(); i != _content.end(); ++i) { - shared_ptr f = dynamic_pointer_cast (*i); + BOOST_FOREACH (shared_ptr i, _content) { + shared_ptr f = dynamic_pointer_cast (i); if (f) { fc.push_back (f); } @@ -156,8 +160,8 @@ ContentMenu::join () try { shared_ptr joined (new FFmpegContent (film, fc)); - for (ContentList::const_iterator i = _content.begin(); i != _content.end(); ++i) { - film->remove_content (*i); + BOOST_FOREACH (shared_ptr i, _content) { + film->remove_content (i); } film->add_content (joined); } catch (JoinError& e) { @@ -183,8 +187,8 @@ ContentMenu::remove () /* Special case: we only remove FFmpegContent if its video view is selected; if not, and its audio view is selected, we unmap the audio. */ - for (ContentList::iterator i = _content.begin(); i != _content.end(); ++i) { - shared_ptr fc = dynamic_pointer_cast (*i); + BOOST_FOREACH (shared_ptr i, _content) { + shared_ptr fc = dynamic_pointer_cast (i); if (!fc) { continue; } @@ -192,9 +196,9 @@ ContentMenu::remove () shared_ptr video; shared_ptr audio; - for (TimelineContentViewList::iterator i = _views.begin(); i != _views.end(); ++i) { - shared_ptr v = dynamic_pointer_cast (*i); - shared_ptr a = dynamic_pointer_cast (*i); + BOOST_FOREACH (shared_ptr j, _views) { + shared_ptr v = dynamic_pointer_cast (j); + shared_ptr a = dynamic_pointer_cast (j); if (v && v->content() == fc) { video = v; } else if (a && a->content() == fc) { @@ -203,9 +207,9 @@ ContentMenu::remove () } if (!video && audio) { - AudioMapping m = fc->audio_mapping (); + AudioMapping m = fc->audio->mapping (); m.unmap_all (); - fc->set_audio_mapping (m); + fc->audio->set_mapping (m); handled = true; } } @@ -283,8 +287,8 @@ ContentMenu::re_examine () return; } - for (ContentList::iterator i = _content.begin(); i != _content.end(); ++i) { - film->examine_content (*i); + BOOST_FOREACH (shared_ptr i, _content) { + film->examine_content (i); } }