#include "export_config.h"
#include "rough_duration.h"
#include "state.h"
-#include "types.h"
#include <dcp/name_format.h>
#include <dcp/certificate_chain.h>
#include <dcp/encrypted_kdm.h>
return _default_still_length;
}
- Ratio const * default_container () const {
- return _default_container;
- }
-
DCPContentType const * default_dcp_content_type () const {
return _default_dcp_content_type;
}
return _default_interop;
}
+ boost::optional<dcp::LanguageTag> default_audio_language() const {
+ return _default_audio_language;
+ }
+
+ boost::optional<dcp::LanguageTag::RegionSubtag> default_territory() const {
+ return _default_territory;
+ }
+
std::map<std::string, std::string> default_metadata () const {
return _default_metadata;
}
return _custom_languages;
}
- boost::optional<boost::filesystem::path> add_files_path () const {
- return _add_files_path;
- }
+ boost::optional<boost::filesystem::path> initial_path(std::string id) const;
bool use_isdcf_name_by_default () const {
return _use_isdcf_name_by_default;
return _main_content_divider_sash_position;
}
+ enum class DefaultAddFileLocation {
+ SAME_AS_LAST_TIME,
+ SAME_AS_PROJECT
+ };
+
+ DefaultAddFileLocation default_add_file_location() const {
+ return _default_add_file_location;
+ }
+
/* SET (mostly) */
void set_master_encoding_threads (int n) {
maybe_set (_default_still_length, s);
}
- void set_default_container (Ratio const * c) {
- maybe_set (_default_container, c);
- }
-
void set_default_dcp_content_type (DCPContentType const * t) {
maybe_set (_default_dcp_content_type, t);
}
maybe_set (_default_interop, i);
}
+ void set_default_audio_language(dcp::LanguageTag tag) {
+ maybe_set(_default_audio_language, tag);
+ }
+
+ void unset_default_audio_language() {
+ maybe_set(_default_audio_language, boost::optional<dcp::LanguageTag>());
+ }
+
+ void set_default_territory(dcp::LanguageTag::RegionSubtag tag) {
+ maybe_set(_default_territory, tag);
+ }
+
+ void unset_default_territory() {
+ maybe_set(_default_territory, boost::optional<dcp::LanguageTag::RegionSubtag>());
+ }
+
void set_default_metadata (std::map<std::string, std::string> const& metadata) {
maybe_set (_default_metadata, metadata);
}
void add_custom_language (dcp::LanguageTag tag);
- void set_add_files_path (boost::filesystem::path p) {
- _add_files_path = p;
- changed ();
- }
+ void set_initial_path(std::string id, boost::filesystem::path path);
void set_use_isdcf_name_by_default (bool use) {
maybe_set (_use_isdcf_name_by_default, use);
maybe_set(_main_content_divider_sash_position, position);
}
+ void set_default_add_file_location(DefaultAddFileLocation location) {
+ maybe_set(_default_add_file_location, location);
+ }
+
void changed (Property p = OTHER);
boost::signals2::signal<void (Property)> Changed;
/** Emitted if read() failed on an existing Config file. There is nothing
boost::optional<std::string> _language;
/** Default length of still image content (seconds) */
int _default_still_length;
- Ratio const * _default_container;
DCPContentType const * _default_dcp_content_type;
int _default_dcp_audio_channels;
std::string _dcp_issuer;
int _default_j2k_bandwidth;
int _default_audio_delay;
bool _default_interop;
+ boost::optional<dcp::LanguageTag> _default_audio_language;
+ boost::optional<dcp::LanguageTag::RegionSubtag> _default_territory;
std::map<std::string, std::string> _default_metadata;
/** Default directory to offer to write KDMs to; if it's not set,
the home directory will be offered.
boost::optional<boost::filesystem::path> _player_kdm_directory;
boost::optional<AudioMapping> _audio_mapping;
std::vector<dcp::LanguageTag> _custom_languages;
- boost::optional<boost::filesystem::path> _add_files_path;
+ std::map<std::string, boost::optional<boost::filesystem::path>> _initial_paths;
bool _use_isdcf_name_by_default;
bool _write_kdms_to_disk;
bool _email_kdms;
boost::optional<std::string> _last_release_notes_version;
boost::optional<int> _main_divider_sash_position;
boost::optional<int> _main_content_divider_sash_position;
+ DefaultAddFileLocation _default_add_file_location;
ExportConfig _export;