projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Basics of front-end 3D (as far as viewer, at least).
[dcpomatic.git]
/
src
/
lib
/
film.h
diff --git
a/src/lib/film.h
b/src/lib/film.h
index 497320c5e0bbb9c3cb8f218fff1fabc791138eab..5aff6f0be31ef1c00176c1e67d7b2aa6de93953b 100644
(file)
--- a/
src/lib/film.h
+++ b/
src/lib/film.h
@@
-55,8
+55,8
@@
public:
Film (std::string d);
std::string info_dir () const;
Film (std::string d);
std::string info_dir () const;
- std::string j2c_path (int
f, bool t
) const;
- std::string info_path (int
f
) const;
+ std::string j2c_path (int
, Eyes, bool
) const;
+ std::string info_path (int
, Eyes
) const;
std::string internal_video_mxf_dir () const;
std::string internal_video_mxf_filename () const;
boost::filesystem::path audio_analysis_path (boost::shared_ptr<const AudioContent>) const;
std::string internal_video_mxf_dir () const;
std::string internal_video_mxf_filename () const;
boost::filesystem::path audio_analysis_path (boost::shared_ptr<const AudioContent>) const;
@@
-106,14
+106,12
@@
public:
/* Proxies for some Playlist methods */
/* Proxies for some Playlist methods */
-
Playlist::
ContentList content () const;
+ ContentList content () const;
Time length () const;
bool has_subtitles () const;
OutputVideoFrame best_dcp_video_frame_rate () const;
Time length () const;
bool has_subtitles () const;
OutputVideoFrame best_dcp_video_frame_rate () const;
- void set_sequence_video (bool);
-
/** Identifiers for the parts of our state;
used for signalling changes.
*/
/** Identifiers for the parts of our state;
used for signalling changes.
*/
@@
-131,7
+129,10
@@
public:
J2K_BANDWIDTH,
DCI_METADATA,
DCP_VIDEO_FRAME_RATE,
J2K_BANDWIDTH,
DCI_METADATA,
DCP_VIDEO_FRAME_RATE,
- DCP_AUDIO_CHANNELS
+ DCP_AUDIO_CHANNELS,
+ /** The setting of _dcp_3d has been changed */
+ DCP_3D,
+ SEQUENCE_VIDEO,
};
};
@@
-198,6
+199,17
@@
public:
return _dcp_audio_channels;
}
return _dcp_audio_channels;
}
+ bool dcp_3d () const {
+ boost::mutex::scoped_lock lm (_state_mutex);
+ return _dcp_3d;
+ }
+
+ bool sequence_video () const {
+ boost::mutex::scoped_lock lm (_state_mutex);
+ return _sequence_video;
+ }
+
+
/* SET */
void set_directory (std::string);
/* SET */
void set_directory (std::string);
@@
-215,7
+227,9
@@
public:
void set_dci_metadata (DCIMetadata);
void set_dcp_video_frame_rate (int);
void set_dcp_audio_channels (int);
void set_dci_metadata (DCIMetadata);
void set_dcp_video_frame_rate (int);
void set_dcp_audio_channels (int);
+ void set_dcp_3d (bool);
void set_dci_date_today ();
void set_dci_date_today ();
+ void set_sequence_video (bool);
/** Emitted when some property has of the Film has changed */
mutable boost::signals2::signal<void (Property)> Changed;
/** Emitted when some property has of the Film has changed */
mutable boost::signals2::signal<void (Property)> Changed;
@@
-233,7
+247,7
@@
private:
void playlist_changed ();
void playlist_content_changed (boost::weak_ptr<Content>, int);
std::string filename_safe_name () const;
void playlist_changed ();
void playlist_content_changed (boost::weak_ptr<Content>, int);
std::string filename_safe_name () const;
- void
add_content_weak (
boost::weak_ptr<Content>);
+ void
maybe_add_content (boost::weak_ptr<Job>,
boost::weak_ptr<Content>);
/** Log to write to */
boost::shared_ptr<Log> _log;
/** Log to write to */
boost::shared_ptr<Log> _log;
@@
-269,6
+283,11
@@
private:
/** The date that we should use in a DCI name */
boost::gregorian::date _dci_date;
int _dcp_audio_channels;
/** The date that we should use in a DCI name */
boost::gregorian::date _dci_date;
int _dcp_audio_channels;
+ /** If true, the DCP will be written in 3D mode; otherwise in 2D.
+ This will be regardless of what content is on the playlist.
+ */
+ bool _dcp_3d;
+ bool _sequence_video;
/** true if our state has changed since we last saved it */
mutable bool _dirty;
/** true if our state has changed since we last saved it */
mutable bool _dirty;