#include "analyse_subtitles_job.h"
#include "bitmap_text.h"
+#include "film.h"
#include "image.h"
#include "player.h"
#include "playlist.h"
#include "dcp_subtitle_content.h"
#include "dcp_subtitle_decoder.h"
+#include "film.h"
#include "font.h"
#include "text_content.h"
#include "util.h"
#include "dcpomatic_time.h"
-#include "film.h"
#include "weak_film.h"
#include <boost/utility.hpp>
void
Film::set_name (string n)
{
- FilmChangeSignaller ch (this, Property::NAME);
+ FilmChangeSignaller ch(this, FilmProperty::NAME);
_name = n;
}
void
Film::set_use_isdcf_name (bool u)
{
- FilmChangeSignaller ch (this, Property::USE_ISDCF_NAME);
+ FilmChangeSignaller ch(this, FilmProperty::USE_ISDCF_NAME);
_use_isdcf_name = u;
}
void
Film::set_dcp_content_type (DCPContentType const * t)
{
- FilmChangeSignaller ch (this, Property::DCP_CONTENT_TYPE);
+ FilmChangeSignaller ch(this, FilmProperty::DCP_CONTENT_TYPE);
_dcp_content_type = t;
}
void
Film::set_container (Ratio const * c, bool explicit_user)
{
- FilmChangeSignaller ch (this, Property::CONTAINER);
+ FilmChangeSignaller ch(this, FilmProperty::CONTAINER);
_container = c;
if (explicit_user) {
void
Film::set_resolution (Resolution r, bool explicit_user)
{
- FilmChangeSignaller ch (this, Property::RESOLUTION);
+ FilmChangeSignaller ch(this, FilmProperty::RESOLUTION);
_resolution = r;
if (explicit_user) {
void
Film::set_j2k_bandwidth (int b)
{
- FilmChangeSignaller ch (this, Property::J2K_BANDWIDTH);
+ FilmChangeSignaller ch(this, FilmProperty::J2K_BANDWIDTH);
_j2k_bandwidth = b;
}
void
Film::set_video_frame_rate (int f, bool user_explicit)
{
- FilmChangeSignaller ch (this, Property::VIDEO_FRAME_RATE);
+ FilmChangeSignaller ch(this, FilmProperty::VIDEO_FRAME_RATE);
_video_frame_rate = f;
if (user_explicit) {
_user_explicit_video_frame_rate = true;
void
Film::set_audio_channels (int c)
{
- FilmChangeSignaller ch (this, Property::AUDIO_CHANNELS);
+ FilmChangeSignaller ch(this, FilmProperty::AUDIO_CHANNELS);
_audio_channels = c;
}
void
Film::set_three_d (bool t)
{
- FilmChangeSignaller ch (this, Property::THREE_D);
+ FilmChangeSignaller ch(this, FilmProperty::THREE_D);
_three_d = t;
if (_three_d && _two_d_version_of_three_d) {
void
Film::set_interop (bool i)
{
- FilmChangeSignaller ch (this, Property::INTEROP);
+ FilmChangeSignaller ch(this, FilmProperty::INTEROP);
_interop = i;
}
void
Film::set_limit_to_smpte_bv20(bool limit)
{
- FilmChangeSignaller ch(this, Property::LIMIT_TO_SMPTE_BV20);
+ FilmChangeSignaller ch(this, FilmProperty::LIMIT_TO_SMPTE_BV20);
_limit_to_smpte_bv20 = limit;
}
void
Film::set_audio_processor (AudioProcessor const * processor)
{
- FilmChangeSignaller ch1 (this, Property::AUDIO_PROCESSOR);
- FilmChangeSignaller ch2 (this, Property::AUDIO_CHANNELS);
+ FilmChangeSignaller ch1(this, FilmProperty::AUDIO_PROCESSOR);
+ FilmChangeSignaller ch2(this, FilmProperty::AUDIO_CHANNELS);
_audio_processor = processor;
}
void
Film::set_reel_type (ReelType t)
{
- FilmChangeSignaller ch (this, Property::REEL_TYPE);
+ FilmChangeSignaller ch(this, FilmProperty::REEL_TYPE);
_reel_type = t;
}
void
Film::set_reel_length (int64_t r)
{
- FilmChangeSignaller ch (this, Property::REEL_LENGTH);
+ FilmChangeSignaller ch(this, FilmProperty::REEL_LENGTH);
_reel_length = r;
}
void
Film::set_reencode_j2k (bool r)
{
- FilmChangeSignaller ch (this, Property::REENCODE_J2K);
+ FilmChangeSignaller ch(this, FilmProperty::REENCODE_J2K);
_reencode_j2k = r;
}
void
Film::signal_change (ChangeType type, int p)
{
- signal_change (type, static_cast<Property>(p));
+ signal_change(type, static_cast<FilmProperty>(p));
}
void
-Film::signal_change (ChangeType type, Property p)
+Film::signal_change(ChangeType type, FilmProperty p)
{
if (type == ChangeType::DONE) {
set_dirty (true);
- if (p == Property::CONTENT) {
+ if (p == FilmProperty::CONTENT) {
if (!_user_explicit_video_frame_rate) {
set_video_frame_rate (best_video_frame_rate());
}
emit (boost::bind (boost::ref (Change), type, p));
- if (p == Property::VIDEO_FRAME_RATE || p == Property::SEQUENCE) {
+ if (p == FilmProperty::VIDEO_FRAME_RATE || p == FilmProperty::SEQUENCE) {
/* We want to call Playlist::maybe_sequence but this must happen after the
main signal emission (since the butler will see that emission and un-suspend itself).
*/
void
Film::set_encrypted (bool e)
{
- FilmChangeSignaller ch (this, Property::ENCRYPTED);
+ FilmChangeSignaller ch(this, FilmProperty::ENCRYPTED);
_encrypted = e;
}
Film::playlist_content_change (ChangeType type, weak_ptr<Content> c, int p, bool frequent)
{
if (p == ContentProperty::VIDEO_FRAME_RATE) {
- signal_change (type, Property::CONTENT);
+ signal_change(type, FilmProperty::CONTENT);
} else if (p == AudioContentProperty::STREAMS) {
- signal_change (type, Property::NAME);
+ signal_change(type, FilmProperty::NAME);
}
if (type == ChangeType::DONE) {
void
Film::playlist_change (ChangeType type)
{
- signal_change (type, Property::CONTENT);
- signal_change (type, Property::NAME);
+ signal_change(type, FilmProperty::CONTENT);
+ signal_change(type, FilmProperty::NAME);
if (type == ChangeType::DONE) {
check_settings_consistency ();
Film::playlist_order_changed ()
{
/* XXX: missing PENDING */
- signal_change (ChangeType::DONE, Property::CONTENT_ORDER);
+ signal_change(ChangeType::DONE, FilmProperty::CONTENT_ORDER);
}
return;
}
- FilmChangeSignaller cc (this, Property::SEQUENCE);
+ FilmChangeSignaller cc(this, FilmProperty::SEQUENCE);
_sequence = s;
_playlist->set_sequence (s);
}
void
Film::set_marker (dcp::Marker type, DCPTime time)
{
- FilmChangeSignaller ch (this, Property::MARKERS);
+ FilmChangeSignaller ch(this, FilmProperty::MARKERS);
_markers[type] = time;
}
void
Film::unset_marker (dcp::Marker type)
{
- FilmChangeSignaller ch (this, Property::MARKERS);
+ FilmChangeSignaller ch(this, FilmProperty::MARKERS);
_markers.erase (type);
}
void
Film::clear_markers ()
{
- FilmChangeSignaller ch (this, Property::MARKERS);
+ FilmChangeSignaller ch(this, FilmProperty::MARKERS);
_markers.clear ();
}
void
Film::set_ratings (vector<dcp::Rating> r)
{
- FilmChangeSignaller ch (this, Property::RATINGS);
+ FilmChangeSignaller ch(this, FilmProperty::RATINGS);
_ratings = r;
}
void
Film::set_content_versions (vector<string> v)
{
- FilmChangeSignaller ch (this, Property::CONTENT_VERSIONS);
+ FilmChangeSignaller ch(this, FilmProperty::CONTENT_VERSIONS);
_content_versions = v;
}
void
Film::set_name_language (dcp::LanguageTag lang)
{
- FilmChangeSignaller ch (this, Property::NAME_LANGUAGE);
+ FilmChangeSignaller ch(this, FilmProperty::NAME_LANGUAGE);
_name_language = lang;
}
void
Film::set_release_territory (optional<dcp::LanguageTag::RegionSubtag> region)
{
- FilmChangeSignaller ch (this, Property::RELEASE_TERRITORY);
+ FilmChangeSignaller ch(this, FilmProperty::RELEASE_TERRITORY);
_release_territory = region;
}
void
Film::set_status (dcp::Status s)
{
- FilmChangeSignaller ch (this, Property::STATUS);
+ FilmChangeSignaller ch(this, FilmProperty::STATUS);
_status = s;
}
void
Film::set_version_number (int v)
{
- FilmChangeSignaller ch (this, Property::VERSION_NUMBER);
+ FilmChangeSignaller ch(this, FilmProperty::VERSION_NUMBER);
_version_number = v;
}
void
Film::set_chain (optional<string> c)
{
- FilmChangeSignaller ch (this, Property::CHAIN);
+ FilmChangeSignaller ch(this, FilmProperty::CHAIN);
_chain = c;
}
void
Film::set_distributor (optional<string> d)
{
- FilmChangeSignaller ch (this, Property::DISTRIBUTOR);
+ FilmChangeSignaller ch(this, FilmProperty::DISTRIBUTOR);
_distributor = d;
}
void
Film::set_luminance (optional<dcp::Luminance> l)
{
- FilmChangeSignaller ch (this, Property::LUMINANCE);
+ FilmChangeSignaller ch(this, FilmProperty::LUMINANCE);
_luminance = l;
}
void
Film::set_facility (optional<string> f)
{
- FilmChangeSignaller ch (this, Property::FACILITY);
+ FilmChangeSignaller ch(this, FilmProperty::FACILITY);
_facility = f;
}
void
Film::set_studio (optional<string> s)
{
- FilmChangeSignaller ch (this, Property::STUDIO);
+ FilmChangeSignaller ch(this, FilmProperty::STUDIO);
_studio = s;
}
void
Film::set_temp_version (bool t)
{
- FilmChangeSignaller ch (this, Property::TEMP_VERSION);
+ FilmChangeSignaller ch(this, FilmProperty::TEMP_VERSION);
_temp_version = t;
}
void
Film::set_pre_release (bool p)
{
- FilmChangeSignaller ch (this, Property::PRE_RELEASE);
+ FilmChangeSignaller ch(this, FilmProperty::PRE_RELEASE);
_pre_release = p;
}
void
Film::set_red_band (bool r)
{
- FilmChangeSignaller ch (this, Property::RED_BAND);
+ FilmChangeSignaller ch(this, FilmProperty::RED_BAND);
_red_band = r;
}
void
Film::set_two_d_version_of_three_d (bool t)
{
- FilmChangeSignaller ch (this, Property::TWO_D_VERSION_OF_THREE_D);
+ FilmChangeSignaller ch(this, FilmProperty::TWO_D_VERSION_OF_THREE_D);
_two_d_version_of_three_d = t;
}
void
Film::set_audio_language (optional<dcp::LanguageTag> language)
{
- FilmChangeSignaller ch (this, Property::AUDIO_LANGUAGE);
+ FilmChangeSignaller ch(this, FilmProperty::AUDIO_LANGUAGE);
_audio_language = language;
}
void
Film::set_audio_frame_rate (int rate)
{
- FilmChangeSignaller ch (this, Property::AUDIO_FRAME_RATE);
+ FilmChangeSignaller ch(this, FilmProperty::AUDIO_FRAME_RATE);
_audio_frame_rate = rate;
}
void
Film::set_sign_language_video_language (optional<dcp::LanguageTag> lang)
{
- FilmChangeSignaller ch (this, Property::SIGN_LANGUAGE_VIDEO_LANGUAGE);
+ FilmChangeSignaller ch(this, FilmProperty::SIGN_LANGUAGE_VIDEO_LANGUAGE);
_sign_language_video_language = lang;
}
#include "change_signaller.h"
#include "dcp_text_track.h"
#include "dcpomatic_time.h"
+#include "film_property.h"
#include "frame_rate_change.h"
#include "named_channel.h"
#include "resolution.h"
#include <dcp/key.h>
#include <dcp/language_tag.h>
#include <dcp/rating.h>
+#include <dcp/types.h>
#include <boost/filesystem.hpp>
#include <boost/signals2.hpp>
#include <boost/thread.hpp>
bool last_written_by_earlier_than(int major, int minor, int micro) const;
- /** Identifiers for the parts of our state; used for signalling changes */
- enum class Property {
- NONE,
- NAME,
- USE_ISDCF_NAME,
- /** The playlist's content list has changed (i.e. content has been added or removed) */
- CONTENT,
- /** The order of content in the playlist has changed */
- CONTENT_ORDER,
- DCP_CONTENT_TYPE,
- CONTAINER,
- RESOLUTION,
- ENCRYPTED,
- J2K_BANDWIDTH,
- VIDEO_FRAME_RATE,
- AUDIO_FRAME_RATE,
- AUDIO_CHANNELS,
- /** The setting of _three_d has changed */
- THREE_D,
- SEQUENCE,
- INTEROP,
- LIMIT_TO_SMPTE_BV20,
- AUDIO_PROCESSOR,
- REEL_TYPE,
- REEL_LENGTH,
- REENCODE_J2K,
- MARKERS,
- RATINGS,
- CONTENT_VERSIONS,
- NAME_LANGUAGE,
- AUDIO_LANGUAGE,
- RELEASE_TERRITORY,
- SIGN_LANGUAGE_VIDEO_LANGUAGE,
- VERSION_NUMBER,
- STATUS,
- CHAIN,
- DISTRIBUTOR,
- FACILITY,
- STUDIO,
- TEMP_VERSION,
- PRE_RELEASE,
- RED_BAND,
- TWO_D_VERSION_OF_THREE_D,
- LUMINANCE,
- };
-
-
/* GET */
boost::optional<boost::filesystem::path> directory () const {
void add_ffoc_lfoc (Markers& markers) const;
/** Emitted when some property has of the Film is about to change or has changed */
- mutable boost::signals2::signal<void (ChangeType, Property)> Change;
+ mutable boost::signals2::signal<void (ChangeType, FilmProperty)> Change;
/** Emitted when some property of our content has changed */
mutable boost::signals2::signal<void (ChangeType, std::weak_ptr<Content>, int, bool)> ContentChange;
boost::filesystem::path info_file (dcpomatic::DCPTimePeriod p) const;
- void signal_change (ChangeType, Property);
+ void signal_change (ChangeType, FilmProperty);
void signal_change (ChangeType, int);
std::string video_identifier () const;
void playlist_change (ChangeType);
};
-typedef ChangeSignaller<Film, Film::Property> FilmChangeSignaller;
+typedef ChangeSignaller<Film, FilmProperty> FilmChangeSignaller;
#endif
--- /dev/null
+/*
+ Copyright (C) 2012-2021 Carl Hetherington <cth@carlh.net>
+
+ 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.
+
+ 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 DCP-o-matic. If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+
+#ifndef DCPOMATIC_FILM_PROPERTY_H
+#define DCPOMATIC_FILM_PROPERTY_H
+
+
+/** Identifiers for the parts of a Film's state; used for signalling changes.
+ * This could go in Film but separating it out saves a lot of includes of
+ * film.h
+ */
+enum class FilmProperty {
+ NONE,
+ NAME,
+ USE_ISDCF_NAME,
+ /** The playlist's content list has changed (i.e. content has been added or removed) */
+ CONTENT,
+ /** The order of content in the playlist has changed */
+ CONTENT_ORDER,
+ DCP_CONTENT_TYPE,
+ CONTAINER,
+ RESOLUTION,
+ ENCRYPTED,
+ J2K_BANDWIDTH,
+ VIDEO_FRAME_RATE,
+ AUDIO_FRAME_RATE,
+ AUDIO_CHANNELS,
+ /** The setting of _three_d has changed */
+ THREE_D,
+ SEQUENCE,
+ INTEROP,
+ LIMIT_TO_SMPTE_BV20,
+ AUDIO_PROCESSOR,
+ REEL_TYPE,
+ REEL_LENGTH,
+ REENCODE_J2K,
+ MARKERS,
+ RATINGS,
+ CONTENT_VERSIONS,
+ NAME_LANGUAGE,
+ AUDIO_LANGUAGE,
+ RELEASE_TERRITORY,
+ SIGN_LANGUAGE_VIDEO_LANGUAGE,
+ VERSION_NUMBER,
+ STATUS,
+ CHAIN,
+ DISTRIBUTOR,
+ FACILITY,
+ STUDIO,
+ TEMP_VERSION,
+ PRE_RELEASE,
+ RED_BAND,
+ TWO_D_VERSION_OF_THREE_D,
+ LUMINANCE,
+};
+
+
+#endif
+
#include "decoder.h"
+#include "types.h"
class ImageContent;
connect();
set_video_container_size(film->frame_size());
- film_change (ChangeType::DONE, Film::Property::AUDIO_PROCESSOR);
+ film_change(ChangeType::DONE, FilmProperty::AUDIO_PROCESSOR);
setup_pieces ();
seek (DCPTime (), true);
void
-Player::film_change (ChangeType type, Film::Property p)
+Player::film_change(ChangeType type, FilmProperty p)
{
/* Here we should notice Film properties that affect our output, and
alert listeners that our output now would be different to how it was
return;
}
- if (p == Film::Property::CONTAINER) {
+ if (p == FilmProperty::CONTAINER) {
Change (type, PlayerProperty::FILM_CONTAINER, false);
- } else if (p == Film::Property::VIDEO_FRAME_RATE) {
+ } else if (p == FilmProperty::VIDEO_FRAME_RATE) {
/* Pieces contain a FrameRateChange which contains the DCP frame rate,
so we need new pieces here.
*/
setup_pieces ();
}
Change (type, PlayerProperty::FILM_VIDEO_FRAME_RATE, false);
- } else if (p == Film::Property::AUDIO_PROCESSOR) {
+ } else if (p == FilmProperty::AUDIO_PROCESSOR) {
if (type == ChangeType::DONE && film->audio_processor ()) {
boost::mutex::scoped_lock lm (_mutex);
_audio_processor = film->audio_processor()->clone(film->audio_frame_rate());
}
- } else if (p == Film::Property::AUDIO_CHANNELS) {
+ } else if (p == FilmProperty::AUDIO_CHANNELS) {
if (type == ChangeType::DONE) {
boost::mutex::scoped_lock lm (_mutex);
_audio_merger.clear ();
#include "content_audio.h"
#include "content_text.h"
#include "content_video.h"
+#include "dcp_text_track.h"
#include "empty.h"
#include "enum_indexed_vector.h"
-#include "film.h"
+#include "film_property.h"
#include "image.h"
#include "player_text.h"
#include "position_image.h"
class AtmosContent;
class AudioBuffers;
class Content;
+class Film;
class PlayerVideo;
class Playlist;
class ReferencedReelAsset;
void construct ();
void connect();
void setup_pieces ();
- void film_change (ChangeType, Film::Property);
+ void film_change(ChangeType, FilmProperty);
void playlist_change (ChangeType);
void playlist_content_change (ChangeType, int, bool);
Frame dcp_to_content_video (std::shared_ptr<const Piece> piece, dcpomatic::DCPTime t) const;
#include "compose.hpp"
+#include "film.h"
#include "job.h"
#include "player.h"
#include "subtitle_encoder.h"
#include "video_content.h"
#include <dcp/atmos_asset.h>
#include <dcp/decrypted_kdm.h>
+#include <dcp/file.h>
#include <dcp/locale_convert.h>
#include <dcp/picture_asset.h>
#include <dcp/raw_convert.h>
_info->triggered_update ();
}
- void film_changed (ChangeType type, Film::Property property)
+ void film_changed (ChangeType type, FilmProperty property)
{
- if (type != ChangeType::DONE || property != Film::Property::CONTENT) {
+ if (type != ChangeType::DONE || property != FilmProperty::CONTENT) {
return;
}
}
void
-AudioDialog::film_change (ChangeType type, Film::Property p)
+AudioDialog::film_change(ChangeType type, FilmProperty p)
{
if (type != ChangeType::DONE) {
return;
}
- if (p == Film::Property::AUDIO_CHANNELS) {
+ if (p == FilmProperty::AUDIO_CHANNELS) {
auto film = _film.lock ();
if (film) {
_channels = film->audio_channels ();
#include "lib/audio_analysis.h"
#include "lib/constants.h"
-#include "lib/film.h"
+#include "lib/film_property.h"
#include "lib/playlist.h"
#include <dcp/warnings.h>
LIBDCP_DISABLE_WARNINGS
void set_cursor (boost::optional<dcpomatic::DCPTime> time, boost::optional<float> db);
private:
- void film_change (ChangeType, Film::Property);
+ void film_change(ChangeType, FilmProperty);
void content_change (ChangeType, int);
void channel_clicked (wxCommandEvent &);
void type_clicked (wxCommandEvent &);
#include "lib/dcp_content.h"
#include "lib/ffmpeg_audio_stream.h"
#include "lib/ffmpeg_content.h"
+#include "lib/film.h"
#include "lib/job_manager.h"
#include "lib/maths_util.h"
#include <dcp/warnings.h>
_delay->wrapped()->SetRange (-1000, 1000);
content_selection_changed ();
- film_changed (Film::Property::AUDIO_CHANNELS);
- film_changed (Film::Property::VIDEO_FRAME_RATE);
- film_changed (Film::Property::REEL_TYPE);
+ film_changed(FilmProperty::AUDIO_CHANNELS);
+ film_changed(FilmProperty::VIDEO_FRAME_RATE);
+ film_changed(FilmProperty::REEL_TYPE);
_reference->bind(&AudioPanel::reference_clicked, this);
_show->Bind (wxEVT_BUTTON, boost::bind (&AudioPanel::show_clicked, this));
void
-AudioPanel::film_changed (Film::Property property)
+AudioPanel::film_changed (FilmProperty property)
{
if (!_parent->film()) {
return;
}
switch (property) {
- case Film::Property::AUDIO_CHANNELS:
- case Film::Property::AUDIO_PROCESSOR:
+ case FilmProperty::AUDIO_CHANNELS:
+ case FilmProperty::AUDIO_PROCESSOR:
_mapping->set_output_channels (_parent->film()->audio_output_names ());
setup_peak ();
break;
- case Film::Property::VIDEO_FRAME_RATE:
+ case FilmProperty::VIDEO_FRAME_RATE:
setup_description ();
break;
- case Film::Property::REEL_TYPE:
- case Film::Property::INTEROP:
+ case FilmProperty::REEL_TYPE:
+ case FilmProperty::INTEROP:
setup_sensitivity ();
break;
default:
explicit AudioPanel (ContentPanel *);
void create () override;
- void film_changed (Film::Property) override;
+ void film_changed(FilmProperty) override;
void film_content_changed (int) override;
void content_selection_changed () override;
void set_film (std::shared_ptr<Film>);
#include "lib/butler.h"
#include "lib/compose.hpp"
#include "lib/constants.h"
+#include "lib/film.h"
#include "lib/string_text.h"
#include "lib/text_content.h"
#include <boost/bind/bind.hpp>
#include "lib/dcp_subtitle_decoder.h"
#include "lib/dcpomatic_log.h"
#include "lib/ffmpeg_content.h"
+#include "lib/film.h"
#include "lib/image_content.h"
#include "lib/log.h"
#include "lib/playlist.h"
void
-ContentPanel::film_changed (Film::Property p)
+ContentPanel::film_changed(FilmProperty p)
{
switch (p) {
- case Film::Property::CONTENT:
- case Film::Property::CONTENT_ORDER:
+ case FilmProperty::CONTENT:
+ case FilmProperty::CONTENT_ORDER:
setup ();
break;
default:
_film = film;
- film_changed (Film::Property::CONTENT);
- film_changed (Film::Property::AUDIO_CHANNELS);
+ film_changed(FilmProperty::CONTENT);
+ film_changed(FilmProperty::AUDIO_CHANNELS);
if (_film) {
check_selection ();
#include "content_menu.h"
#include "lib/enum_indexed_vector.h"
-#include "lib/film.h"
+#include "lib/film_property.h"
#include "lib/text_type.h"
#include <dcp/warnings.h>
LIBDCP_DISABLE_WARNINGS
void set_selection (ContentList cl);
void select_all ();
- void film_changed (Film::Property p);
+ void film_changed(FilmProperty p);
void film_content_changed (int p);
void first_shown ();
#define DCPOMATIC_CONTENT_SUB_PANEL_H
-#include "lib/film.h"
+#include "lib/film_property.h"
#include <dcp/warnings.h>
LIBDCP_DISABLE_WARNINGS
#include <wx/wx.h>
LIBDCP_ENABLE_WARNINGS
+#include <memory>
class ContentPanel;
class Content;
virtual void create () = 0;
- virtual void film_changed (Film::Property) {}
+ virtual void film_changed(FilmProperty) {}
/** Called when a given property of one of the selected Contents changes */
virtual void film_content_changed (int) = 0;
/** Called when the list of selected Contents changes */
#include "lib/cross.h"
#include "lib/dcp_content.h"
#include "lib/examine_content_job.h"
+#include "lib/film.h"
#include "lib/job.h"
#include "lib/job_manager.h"
#include "lib/player_video.h"
void
-Controls::film_change (ChangeType type, Film::Property p)
+Controls::film_change(ChangeType type, FilmProperty p)
{
if (type == ChangeType::DONE) {
- if (p == Film::Property::CONTENT) {
+ if (p == FilmProperty::CONTENT) {
setup_sensitivity ();
update_position_label ();
update_position_slider ();
- } else if (p == Film::Property::THREE_D) {
+ } else if (p == FilmProperty::THREE_D) {
setup_sensitivity ();
}
}
#define DCPOMATIC_CONTROLS_H
+#include "lib/change_signaller.h"
#include "lib/dcpomatic_time.h"
-#include "lib/film.h"
+#include "lib/film_property.h"
#include <dcp/warnings.h>
LIBDCP_DISABLE_WARNINGS
#include <wx/wx.h>
void outline_content_changed ();
void eye_changed ();
void update_position ();
- void film_change (ChangeType, Film::Property);
+ void film_change(ChangeType, FilmProperty);
typedef std::pair<std::shared_ptr<dcp::CPL>, boost::filesystem::path> CPL;
void
-DCPPanel::film_changed (Film::Property p)
+DCPPanel::film_changed(FilmProperty p)
{
switch (p) {
- case Film::Property::NONE:
+ case FilmProperty::NONE:
break;
- case Film::Property::CONTAINER:
+ case FilmProperty::CONTAINER:
setup_container ();
break;
- case Film::Property::NAME:
+ case FilmProperty::NAME:
checked_set (_name, _film->name());
setup_dcp_name ();
break;
- case Film::Property::DCP_CONTENT_TYPE:
+ case FilmProperty::DCP_CONTENT_TYPE:
{
auto index = DCPContentType::as_index(_film->dcp_content_type());
DCPOMATIC_ASSERT (index);
setup_dcp_name ();
break;
}
- case Film::Property::ENCRYPTED:
+ case FilmProperty::ENCRYPTED:
checked_set (_encrypted, _film->encrypted ());
break;
- case Film::Property::RESOLUTION:
+ case FilmProperty::RESOLUTION:
checked_set (_resolution, _film->resolution() == Resolution::TWO_K ? 0 : 1);
setup_container ();
setup_dcp_name ();
break;
- case Film::Property::J2K_BANDWIDTH:
+ case FilmProperty::J2K_BANDWIDTH:
checked_set (_j2k_bandwidth, _film->j2k_bandwidth() / 1000000);
break;
- case Film::Property::USE_ISDCF_NAME:
+ case FilmProperty::USE_ISDCF_NAME:
{
checked_set (_use_isdcf_name, _film->use_isdcf_name());
if (_film->use_isdcf_name()) {
setup_dcp_name ();
break;
}
- case Film::Property::VIDEO_FRAME_RATE:
+ case FilmProperty::VIDEO_FRAME_RATE:
{
bool done = false;
for (unsigned int i = 0; i < _frame_rate_choice->GetCount(); ++i) {
setup_dcp_name ();
break;
}
- case Film::Property::AUDIO_CHANNELS:
+ case FilmProperty::AUDIO_CHANNELS:
if (_film->audio_channels() < minimum_allowed_audio_channels()) {
_film->set_audio_channels (minimum_allowed_audio_channels());
} else {
setup_dcp_name ();
}
break;
- case Film::Property::THREE_D:
+ case FilmProperty::THREE_D:
checked_set (_three_d, _film->three_d());
setup_dcp_name ();
break;
- case Film::Property::REENCODE_J2K:
+ case FilmProperty::REENCODE_J2K:
checked_set (_reencode_j2k, _film->reencode_j2k());
break;
- case Film::Property::INTEROP:
+ case FilmProperty::INTEROP:
set_standard();
setup_dcp_name ();
_markers->Enable (!_film->interop());
break;
- case Film::Property::LIMIT_TO_SMPTE_BV20:
+ case FilmProperty::LIMIT_TO_SMPTE_BV20:
set_standard();
break;
- case Film::Property::AUDIO_PROCESSOR:
+ case FilmProperty::AUDIO_PROCESSOR:
if (_film->audio_processor()) {
checked_set (_audio_processor, _film->audio_processor()->id());
} else {
checked_set (_audio_processor, 0);
}
setup_audio_channels_choice (_audio_channels, minimum_allowed_audio_channels());
- film_changed (Film::Property::AUDIO_CHANNELS);
+ film_changed (FilmProperty::AUDIO_CHANNELS);
break;
- case Film::Property::REEL_TYPE:
+ case FilmProperty::REEL_TYPE:
checked_set (_reel_type, static_cast<int>(_film->reel_type()));
_reel_length->Enable (_film->reel_type() == ReelType::BY_LENGTH);
break;
- case Film::Property::REEL_LENGTH:
+ case FilmProperty::REEL_LENGTH:
checked_set (_reel_length, _film->reel_length() / 1000000000LL);
break;
- case Film::Property::CONTENT:
+ case FilmProperty::CONTENT:
setup_dcp_name ();
setup_sensitivity ();
break;
- case Film::Property::AUDIO_LANGUAGE:
+ case FilmProperty::AUDIO_LANGUAGE:
{
auto al = _film->audio_language();
checked_set (_enable_audio_language, static_cast<bool>(al));
setup_sensitivity ();
break;
}
- case Film::Property::AUDIO_FRAME_RATE:
+ case FilmProperty::AUDIO_FRAME_RATE:
if (_audio_sample_rate) {
checked_set (_audio_sample_rate, _film->audio_frame_rate() == 48000 ? 0 : 1);
}
break;
- case Film::Property::CONTENT_VERSIONS:
- case Film::Property::VERSION_NUMBER:
- case Film::Property::RELEASE_TERRITORY:
- case Film::Property::RATINGS:
- case Film::Property::FACILITY:
- case Film::Property::STUDIO:
- case Film::Property::TEMP_VERSION:
- case Film::Property::PRE_RELEASE:
- case Film::Property::RED_BAND:
- case Film::Property::TWO_D_VERSION_OF_THREE_D:
- case Film::Property::CHAIN:
- case Film::Property::LUMINANCE:
+ case FilmProperty::CONTENT_VERSIONS:
+ case FilmProperty::VERSION_NUMBER:
+ case FilmProperty::RELEASE_TERRITORY:
+ case FilmProperty::RATINGS:
+ case FilmProperty::FACILITY:
+ case FilmProperty::STUDIO:
+ case FilmProperty::TEMP_VERSION:
+ case FilmProperty::PRE_RELEASE:
+ case FilmProperty::RED_BAND:
+ case FilmProperty::TWO_D_VERSION_OF_THREE_D:
+ case FilmProperty::CHAIN:
+ case FilmProperty::LUMINANCE:
setup_dcp_name ();
break;
default:
_standard->Clear();
add_standards();
- film_changed (Film::Property::NAME);
- film_changed (Film::Property::USE_ISDCF_NAME);
- film_changed (Film::Property::CONTENT);
- film_changed (Film::Property::DCP_CONTENT_TYPE);
- film_changed (Film::Property::CONTAINER);
- film_changed (Film::Property::RESOLUTION);
- film_changed (Film::Property::ENCRYPTED);
- film_changed (Film::Property::J2K_BANDWIDTH);
- film_changed (Film::Property::VIDEO_FRAME_RATE);
- film_changed (Film::Property::AUDIO_CHANNELS);
- film_changed (Film::Property::SEQUENCE);
- film_changed (Film::Property::THREE_D);
- film_changed (Film::Property::INTEROP);
- film_changed (Film::Property::AUDIO_PROCESSOR);
- film_changed (Film::Property::REEL_TYPE);
- film_changed (Film::Property::REEL_LENGTH);
- film_changed (Film::Property::REENCODE_J2K);
- film_changed (Film::Property::AUDIO_LANGUAGE);
- film_changed (Film::Property::AUDIO_FRAME_RATE);
- film_changed (Film::Property::LIMIT_TO_SMPTE_BV20);
+ film_changed(FilmProperty::NAME);
+ film_changed(FilmProperty::USE_ISDCF_NAME);
+ film_changed(FilmProperty::CONTENT);
+ film_changed(FilmProperty::DCP_CONTENT_TYPE);
+ film_changed(FilmProperty::CONTAINER);
+ film_changed(FilmProperty::RESOLUTION);
+ film_changed(FilmProperty::ENCRYPTED);
+ film_changed(FilmProperty::J2K_BANDWIDTH);
+ film_changed(FilmProperty::VIDEO_FRAME_RATE);
+ film_changed(FilmProperty::AUDIO_CHANNELS);
+ film_changed(FilmProperty::SEQUENCE);
+ film_changed(FilmProperty::THREE_D);
+ film_changed(FilmProperty::INTEROP);
+ film_changed(FilmProperty::AUDIO_PROCESSOR);
+ film_changed(FilmProperty::REEL_TYPE);
+ film_changed(FilmProperty::REEL_LENGTH);
+ film_changed(FilmProperty::REENCODE_J2K);
+ film_changed(FilmProperty::AUDIO_LANGUAGE);
+ film_changed(FilmProperty::AUDIO_FRAME_RATE);
+ film_changed(FilmProperty::LIMIT_TO_SMPTE_BV20);
set_general_sensitivity(static_cast<bool>(_film));
}
_audio_processor->Clear ();
add_audio_processors ();
if (_film) {
- film_changed (Film::Property::AUDIO_PROCESSOR);
+ film_changed(FilmProperty::AUDIO_PROCESSOR);
}
} else if (p == Config::ALLOW_SMPTE_BV20) {
_standard->Clear();
add_standards();
if (_film) {
- film_changed(Film::Property::INTEROP);
- film_changed(Film::Property::LIMIT_TO_SMPTE_BV20);
+ film_changed(FilmProperty::INTEROP);
+ film_changed(FilmProperty::LIMIT_TO_SMPTE_BV20);
}
} else if (p == Config::ISDCF_NAME_PART_LENGTH) {
setup_dcp_name();
#include "wx_ptr.h"
#include "lib/config.h"
-#include "lib/film.h"
+#include "lib/film_property.h"
class Button;
void set_film (std::shared_ptr<Film>);
void set_general_sensitivity (bool);
- void film_changed (Film::Property);
+ void film_changed(FilmProperty);
void film_content_changed (int);
wxPanel* panel () const {
* @param p Property of the Film that has changed.
*/
void
-FilmEditor::film_change (ChangeType type, Film::Property p)
+FilmEditor::film_change(ChangeType type, FilmProperty p)
{
if (type != ChangeType::DONE) {
return;
_content_panel->film_changed (p);
_dcp_panel->film_changed (p);
- if (p == Film::Property::CONTENT && !_film->content().empty()) {
+ if (p == FilmProperty::CONTENT && !_film->content().empty()) {
/* Select newly-added content */
_content_panel->set_selection (_film->content().back ());
}
*/
-#include "lib/film.h"
+#include "lib/film_property.h"
#include <dcp/warnings.h>
LIBDCP_DISABLE_WARNINGS
#include <wx/wx.h>
private:
/* Handle changes to the model */
- void film_change (ChangeType, Film::Property);
+ void film_change(ChangeType, FilmProperty);
void film_content_change (ChangeType type, int);
void set_general_sensitivity (bool);
_film->LengthChange.connect (boost::bind(&FilmViewer::film_length_change, this));
_player->Change.connect (boost::bind (&FilmViewer::player_change, this, _1, _2, _3));
- film_change (ChangeType::DONE, Film::Property::VIDEO_FRAME_RATE);
- film_change (ChangeType::DONE, Film::Property::THREE_D);
+ film_change(ChangeType::DONE, FilmProperty::VIDEO_FRAME_RATE);
+ film_change(ChangeType::DONE, FilmProperty::THREE_D);
film_length_change ();
/* Keep about 1 second's worth of history samples */
void
-FilmViewer::film_change (ChangeType type, Film::Property p)
+FilmViewer::film_change(ChangeType type, FilmProperty p)
{
if (type != ChangeType::DONE) {
return;
}
- if (p == Film::Property::AUDIO_CHANNELS) {
+ if (p == FilmProperty::AUDIO_CHANNELS) {
destroy_and_maybe_create_butler();
- } else if (p == Film::Property::VIDEO_FRAME_RATE) {
+ } else if (p == FilmProperty::VIDEO_FRAME_RATE) {
_video_view->set_video_frame_rate (_film->video_frame_rate());
- } else if (p == Film::Property::THREE_D) {
+ } else if (p == FilmProperty::THREE_D) {
_video_view->set_three_d (_film->three_d());
- } else if (p == Film::Property::CONTENT) {
+ } else if (p == FilmProperty::CONTENT) {
_closed_captions_dialog->update_tracks (_film);
}
}
#include "video_view.h"
#include "lib/config.h"
-#include "lib/film.h"
+#include "lib/film_property.h"
#include "lib/player_text.h"
#include "lib/signaller.h"
#include "lib/timer.h"
void player_change (std::vector<int> properties);
void idle_handler ();
void request_idle_display_next_frame ();
- void film_change (ChangeType, Film::Property);
+ void film_change(ChangeType, FilmProperty);
void destroy_butler();
void create_butler();
void destroy_and_maybe_create_butler();
#include <wx/wx.h>
LIBDCP_ENABLE_WARNINGS
+#undef None
+#undef Success
+#undef Status
+
/* The OpenGL API in wxWidgets 3.0.x is sufficiently different to make it awkward to support,
* and I think it may even have things missing that we require (e.g. the attributes parameter
*/
#if wxCHECK_VERSION(3,1,0)
+
#include "video_view.h"
#include "lib/signaller.h"
#include "lib/position.h"
#include <boost/atomic.hpp>
#include <boost/thread.hpp>
#include <boost/thread/condition.hpp>
-#undef None
-#undef Success
-#undef Status
class Texture
#include "markers.h"
#include "markers_panel.h"
#include "wx_util.h"
+#include "lib/film.h"
#include <dcp/warnings.h>
LIBDCP_DISABLE_WARNINGS
#include <wx/graphics.h>
void
-MarkersPanel::film_changed (ChangeType type, Film::Property property)
+MarkersPanel::film_changed(ChangeType type, FilmProperty property)
{
if (type != ChangeType::DONE) {
return;
return;
}
- if (property == Film::Property::MARKERS || property == Film::Property::CONTENT || property == Film::Property::CONTENT_ORDER || property == Film::Property::VIDEO_FRAME_RATE) {
+ if (property == FilmProperty::MARKERS || property == FilmProperty::CONTENT || property == FilmProperty::CONTENT_ORDER || property == FilmProperty::VIDEO_FRAME_RATE) {
update_from_film (film);
}
}
#include "lib/dcpomatic_time.h"
-#include "lib/film.h"
+#include "lib/film_property.h"
#include <dcp/warnings.h>
LIBDCP_DISABLE_WARNINGS
#include <wx/wx.h>
void move_marker_to_current_position ();
void remove_marker ();
void add_marker (wxCommandEvent& ev);
- void film_changed (ChangeType type, Film::Property property);
+ void film_changed(ChangeType type, FilmProperty property);
void update_from_film (std::shared_ptr<Film> film);
wxTipWindow* _tip = nullptr;
#include "region_subtag_widget.h"
#include "wx_util.h"
#include "lib/film.h"
+#include "lib/film_property.h"
#include <dcp/warnings.h>
LIBDCP_DISABLE_WARNINGS
#include <wx/notebook.h>
_film_changed_connection = film()->Change.connect(boost::bind(&MetadataDialog::film_changed, this, _1, _2));
- film_changed (ChangeType::DONE, Film::Property::RELEASE_TERRITORY);
- film_changed (ChangeType::DONE, Film::Property::SIGN_LANGUAGE_VIDEO_LANGUAGE);
- film_changed (ChangeType::DONE, Film::Property::FACILITY);
- film_changed (ChangeType::DONE, Film::Property::STUDIO);
- film_changed (ChangeType::DONE, Film::Property::TEMP_VERSION);
- film_changed (ChangeType::DONE, Film::Property::PRE_RELEASE);
- film_changed (ChangeType::DONE, Film::Property::RED_BAND);
- film_changed (ChangeType::DONE, Film::Property::TWO_D_VERSION_OF_THREE_D);
- film_changed (ChangeType::DONE, Film::Property::CHAIN);
- film_changed (ChangeType::DONE, Film::Property::LUMINANCE);
+ film_changed(ChangeType::DONE, FilmProperty::RELEASE_TERRITORY);
+ film_changed(ChangeType::DONE, FilmProperty::SIGN_LANGUAGE_VIDEO_LANGUAGE);
+ film_changed(ChangeType::DONE, FilmProperty::FACILITY);
+ film_changed(ChangeType::DONE, FilmProperty::STUDIO);
+ film_changed(ChangeType::DONE, FilmProperty::TEMP_VERSION);
+ film_changed(ChangeType::DONE, FilmProperty::PRE_RELEASE);
+ film_changed(ChangeType::DONE, FilmProperty::RED_BAND);
+ film_changed(ChangeType::DONE, FilmProperty::TWO_D_VERSION_OF_THREE_D);
+ film_changed(ChangeType::DONE, FilmProperty::CHAIN);
+ film_changed(ChangeType::DONE, FilmProperty::LUMINANCE);
setup_sensitivity ();
}
void
-MetadataDialog::film_changed (ChangeType type, Film::Property property)
+MetadataDialog::film_changed(ChangeType type, FilmProperty property)
{
if (type != ChangeType::DONE) {
return;
}
- if (property == Film::Property::SIGN_LANGUAGE_VIDEO_LANGUAGE) {
+ if (property == FilmProperty::SIGN_LANGUAGE_VIDEO_LANGUAGE) {
_sign_language_video_language->set (film()->sign_language_video_language());
- } else if (property == Film::Property::RELEASE_TERRITORY) {
+ } else if (property == FilmProperty::RELEASE_TERRITORY) {
auto rt = film()->release_territory();
checked_set (_enable_release_territory, static_cast<bool>(rt));
if (rt) {
_release_territory_copy = *rt;
checked_set(_release_territory, *_release_territory_copy);
}
- } else if (property == Film::Property::FACILITY) {
+ } else if (property == FilmProperty::FACILITY) {
checked_set (_enable_facility, static_cast<bool>(film()->facility()));
if (film()->facility()) {
checked_set (_facility, *film()->facility());
}
- } else if (property == Film::Property::STUDIO) {
+ } else if (property == FilmProperty::STUDIO) {
checked_set (_enable_studio, static_cast<bool>(film()->studio()));
if (film()->studio()) {
checked_set (_studio, *film()->studio());
}
- } else if (property == Film::Property::CHAIN) {
+ } else if (property == FilmProperty::CHAIN) {
checked_set (_enable_chain, static_cast<bool>(film()->chain()));
if (film()->chain()) {
checked_set (_chain, *film()->chain());
}
- } else if (property == Film::Property::TEMP_VERSION) {
+ } else if (property == FilmProperty::TEMP_VERSION) {
checked_set (_temp_version, film()->temp_version());
- } else if (property == Film::Property::PRE_RELEASE) {
+ } else if (property == FilmProperty::PRE_RELEASE) {
checked_set (_pre_release, film()->pre_release());
- } else if (property == Film::Property::RED_BAND) {
+ } else if (property == FilmProperty::RED_BAND) {
checked_set (_red_band, film()->red_band());
- } else if (property == Film::Property::TWO_D_VERSION_OF_THREE_D) {
+ } else if (property == FilmProperty::TWO_D_VERSION_OF_THREE_D) {
checked_set (_two_d_version_of_three_d, film()->two_d_version_of_three_d());
- } else if (property == Film::Property::LUMINANCE) {
+ } else if (property == FilmProperty::LUMINANCE) {
auto lum = film()->luminance();
checked_set (_enable_luminance, static_cast<bool>(lum));
if (lum) {
#include "editable_list.h"
#include "lib/change_signaller.h"
-#include "lib/film.h"
+#include "lib/film_property.h"
#include "lib/weak_film.h"
+#include <dcp/rating.h>
#include <dcp/warnings.h>
LIBDCP_DISABLE_WARNINGS
#include <wx/wx.h>
protected:
virtual void setup_standard (wxPanel*, wxSizer*);
virtual void setup_advanced (wxPanel*, wxSizer*);
- virtual void film_changed (ChangeType type, Film::Property property);
+ virtual void film_changed(ChangeType type, FilmProperty property);
virtual void setup_sensitivity ();
EditableList<dcp::Rating, RatingDialog>* _ratings;
#include "lib/cross.h"
#include "lib/dcp_content.h"
#include "lib/ffmpeg_content.h"
+#include "lib/film.h"
#include "lib/internet.h"
#include "lib/player_video.h"
#include "lib/scoped_temporary.h"
_enable_distributor->bind(&SMPTEMetadataDialog::enable_distributor_changed, this);
_distributor->Bind (wxEVT_TEXT, boost::bind(&SMPTEMetadataDialog::distributor_changed, this));
- film_changed (ChangeType::DONE, Film::Property::NAME_LANGUAGE);
- film_changed (ChangeType::DONE, Film::Property::VERSION_NUMBER);
- film_changed (ChangeType::DONE, Film::Property::STATUS);
- film_changed (ChangeType::DONE, Film::Property::DISTRIBUTOR);
- film_changed (ChangeType::DONE, Film::Property::CONTENT_VERSIONS);
+ film_changed(ChangeType::DONE, FilmProperty::NAME_LANGUAGE);
+ film_changed(ChangeType::DONE, FilmProperty::VERSION_NUMBER);
+ film_changed(ChangeType::DONE, FilmProperty::STATUS);
+ film_changed(ChangeType::DONE, FilmProperty::DISTRIBUTOR);
+ film_changed(ChangeType::DONE, FilmProperty::CONTENT_VERSIONS);
setup_sensitivity ();
}
void
-SMPTEMetadataDialog::film_changed (ChangeType type, Film::Property property)
+SMPTEMetadataDialog::film_changed(ChangeType type, FilmProperty property)
{
MetadataDialog::film_changed (type, property);
return;
}
- if (property == Film::Property::NAME_LANGUAGE) {
+ if (property == FilmProperty::NAME_LANGUAGE) {
_name_language->set (film()->name_language());
- } else if (property == Film::Property::VERSION_NUMBER) {
+ } else if (property == FilmProperty::VERSION_NUMBER) {
checked_set (_version_number, film()->version_number());
- } else if (property == Film::Property::STATUS) {
+ } else if (property == FilmProperty::STATUS) {
switch (film()->status()) {
case dcp::Status::TEMP:
checked_set (_status, 0);
checked_set (_status, 2);
break;
}
- } else if (property == Film::Property::DISTRIBUTOR) {
+ } else if (property == FilmProperty::DISTRIBUTOR) {
checked_set (_enable_distributor, static_cast<bool>(film()->distributor()));
if (film()->distributor()) {
checked_set (_distributor, *film()->distributor());
#include "editable_list.h"
#include "full_language_tag_dialog.h"
#include "metadata_dialog.h"
-#include "lib/film.h"
-#include "lib/weak_film.h"
+#include "lib/film_property.h"
#include <dcp/language_tag.h>
#include <dcp/types.h>
#include <dcp/warnings.h>
private:
void setup_standard (wxPanel* parent, wxSizer* sizer) override;
void setup_advanced (wxPanel* parent, wxSizer* sizer) override;
- void film_changed (ChangeType type, Film::Property property) override;
+ void film_changed(ChangeType type, FilmProperty property) override;
void setup_sensitivity () override;
std::vector<std::string> content_versions () const;
#include "film_viewer.h"
#include "standard_controls.h"
+#include "lib/film.h"
#include <dcp/warnings.h>
LIBDCP_DISABLE_WARNINGS
#include <wx/tglbtn.h>
#include "lib/decoder_factory.h"
#include "lib/ffmpeg_content.h"
#include "lib/ffmpeg_subtitle_stream.h"
+#include "lib/film.h"
#include "lib/job_manager.h"
#include "lib/scope_guard.h"
#include "lib/string_text_file_content.h"
void
-TextPanel::film_changed (Film::Property property)
+TextPanel::film_changed(FilmProperty property)
{
- if (property == Film::Property::CONTENT || property == Film::Property::REEL_TYPE || property == Film::Property::INTEROP) {
+ if (property == FilmProperty::CONTENT || property == FilmProperty::REEL_TYPE || property == FilmProperty::INTEROP) {
setup_sensitivity ();
}
}
*/
+#include "lib/job.h"
#include "content_sub_panel.h"
#include "wx_ptr.h"
TextPanel (ContentPanel *, TextType t);
void create () override;
- void film_changed (Film::Property) override;
+ void film_changed(FilmProperty) override;
void film_content_changed (int) override;
void content_selection_changed () override;
_main_canvas->Bind (wxEVT_SCROLLWIN_PAGEDOWN, boost::bind (&Timeline::scrolled, this, _1));
_main_canvas->Bind (wxEVT_SCROLLWIN_THUMBTRACK, boost::bind (&Timeline::scrolled, this, _1));
- film_change (ChangeType::DONE, Film::Property::CONTENT);
+ film_change(ChangeType::DONE, FilmProperty::CONTENT);
SetMinSize (wxSize (640, 4 * pixels_per_track() + 96));
void
-Timeline::film_change (ChangeType type, Film::Property p)
+Timeline::film_change(ChangeType type, FilmProperty p)
{
if (type != ChangeType::DONE) {
return;
}
- if (p == Film::Property::CONTENT || p == Film::Property::REEL_TYPE || p == Film::Property::REEL_LENGTH) {
+ if (p == FilmProperty::CONTENT || p == FilmProperty::REEL_TYPE || p == FilmProperty::REEL_LENGTH) {
ensure_ui_thread ();
recreate_views ();
- } else if (p == Film::Property::CONTENT_ORDER) {
+ } else if (p == FilmProperty::CONTENT_ORDER) {
Refresh ();
}
}
#include "content_menu.h"
#include "timeline_content_view.h"
-#include "lib/film.h"
+#include "lib/film_property.h"
#include "lib/rect.h"
#include <dcp/warnings.h>
LIBDCP_DISABLE_WARNINGS
void mouse_moved (wxMouseEvent &);
void mouse_moved_select (wxMouseEvent &);
void mouse_moved_zoom (wxMouseEvent &);
- void film_change (ChangeType type, Film::Property);
+ void film_change(ChangeType type, FilmProperty);
void film_content_change (ChangeType type, int, bool frequent);
void resized ();
void assign_tracks ();
#include "wx_util.h"
#include "lib/compose.hpp"
#include "lib/cross.h"
+#include "lib/film.h"
#include "lib/playlist.h"
#include <dcp/warnings.h>
LIBDCP_DISABLE_WARNINGS
Bind(wxEVT_CHAR_HOOK, boost::bind(&TimelineDialog::keypress, this, _1));
_toolbar->ToggleTool ((int) Timeline::SNAP, _timeline.snap ());
- film_change (ChangeType::DONE, Film::Property::SEQUENCE);
+ film_change(ChangeType::DONE, FilmProperty::SEQUENCE);
_film_changed_connection = film->Change.connect (bind (&TimelineDialog::film_change, this, _1, _2));
}
void
-TimelineDialog::film_change (ChangeType type, Film::Property p)
+TimelineDialog::film_change(ChangeType type, FilmProperty p)
{
if (type != ChangeType::DONE) {
return;
return;
}
- if (p == Film::Property::SEQUENCE) {
+ if (p == FilmProperty::SEQUENCE) {
_toolbar->ToggleTool ((int) Timeline::SEQUENCE, film->sequence ());
}
}
void set_selection (ContentList selection);
private:
- void film_change (ChangeType type, Film::Property);
+ void film_change(ChangeType type, FilmProperty);
void tool_clicked (wxCommandEvent& id);
void keypress(wxKeyEvent const& event);
#include "timeline.h"
#include "timeline_reels_view.h"
#include "wx_util.h"
+#include "lib/film.h"
#include <dcp/warnings.h>
LIBDCP_DISABLE_WARNINGS
#include <wx/graphics.h>
#include "lib/dcp_content.h"
#include "lib/dcp_subtitle_content.h"
#include "lib/ffmpeg_content.h"
+#include "lib/film.h"
#include "lib/image_content.h"
#include "lib/scope_guard.h"
#include "lib/string_text_file_content.h"
}
void
-TimingPanel::film_changed (Film::Property p)
+TimingPanel::film_changed(FilmProperty p)
{
- if (p == Film::Property::VIDEO_FRAME_RATE) {
+ if (p == FilmProperty::VIDEO_FRAME_RATE) {
update_full_length ();
update_play_length ();
}
TimingPanel(ContentPanel *, FilmViewer& viewer);
void create () override;
- void film_changed (Film::Property) override;
+ void film_changed(FilmProperty) override;
void film_content_changed (int) override;
void content_selection_changed () override;
#include "lib/config.h"
#include "lib/dcp_content.h"
#include "lib/ffmpeg_content.h"
+#include "lib/film.h"
#include "lib/filter.h"
#include "lib/frame_rate_change.h"
#include "lib/ratio.h"
void
-VideoPanel::film_changed (Film::Property property)
+VideoPanel::film_changed(FilmProperty property)
{
switch (property) {
- case Film::Property::VIDEO_FRAME_RATE:
- case Film::Property::CONTAINER:
- case Film::Property::RESOLUTION:
+ case FilmProperty::VIDEO_FRAME_RATE:
+ case FilmProperty::CONTAINER:
+ case FilmProperty::RESOLUTION:
setup_description ();
setup_sensitivity ();
break;
- case Film::Property::REEL_TYPE:
- case Film::Property::INTEROP:
+ case FilmProperty::REEL_TYPE:
+ case FilmProperty::INTEROP:
setup_sensitivity ();
break;
default:
#include "content_sub_panel.h"
#include "content_widget.h"
#include "timecode.h"
-#include "lib/film.h"
+#include "lib/film_property.h"
#include "lib/video_frame_type.h"
explicit VideoPanel (ContentPanel *);
void create () override;
- void film_changed (Film::Property) override;
+ void film_changed(FilmProperty) override;
void film_content_changed (int) override;
void content_selection_changed () override;
#include "lib/content.h"
#include "lib/content_factory.h"
#include "lib/dcpomatic_time.h"
+#include "lib/film.h"
#include "lib/player.h"
#include "test.h"
#include <boost/test/unit_test.hpp>