dae->dae_start = -1;
dae->dae_start_window = -1;
dae->dae_enabled = 1;
+ dae->dae_record = DVR_AUTOREC_RECORD_DVR_PROFILE;
dae->dae_config = dvr_config_find_by_name_default(NULL);
LIST_INSERT_HEAD(&dae->dae_config->dvr_autorec_entries, dae, dae_config_link);
return m;
}
-htsmsg_t *
+static htsmsg_t *
dvr_autorec_entry_class_dedup_list ( void *o, const char *lang )
{
static const struct strtab tab[] = {
+ { N_("Use DVR configuration"),
+ DVR_AUTOREC_RECORD_DVR_PROFILE },
{ N_("Record all"),
DVR_AUTOREC_RECORD_ALL },
{ N_("All: Record if EPG/XMLTV indicates it is a unique programme"),
.type = PT_U32,
.id = "record",
.name = N_("Duplicate handling"),
- .desc = N_("Duplicate recording handling."),
- .def.i = DVR_AUTOREC_RECORD_ALL,
+ .desc = N_("How to handle duplicate recordings. The 'Use DVR "
+ "Configuration' value (the default) inherits the "
+ "settings from the assigned DVR configuration"),
+ .def.i = DVR_AUTOREC_RECORD_DVR_PROFILE,
.doc = prop_doc_duplicate_handling,
.off = offsetof(dvr_autorec_entry_t, dae_record),
.list = dvr_autorec_entry_class_dedup_list,
cfg->dvr_autorec_max_count = 50;
cfg->dvr_format_tvmovies_subdir = strdup("tvmovies");
cfg->dvr_format_tvshows_subdir = strdup("tvshows");
- cfg->dvr_autorec_dedup = 0;
+ cfg->dvr_autorec_dedup = DVR_AUTOREC_RECORD_ALL;
/* Muxer config */
cfg->dvr_muxcnf.m_cache = MC_CACHE_SYSTEM;
24*3600, 60, lang);
}
+static htsmsg_t *
+dvr_autorec_entry_class_record_list ( void *o, const char *lang )
+{
+ static const struct strtab tab[] = {
+ { N_("Record all"),
+ DVR_AUTOREC_RECORD_ALL },
+ { N_("All: Record if EPG/XMLTV indicates it is a unique programme"),
+ DVR_AUTOREC_RECORD_UNIQUE },
+ { N_("All: Record if different episode number"),
+ DVR_AUTOREC_RECORD_DIFFERENT_EPISODE_NUMBER },
+ { N_("All: Record if different subtitle"),
+ DVR_AUTOREC_RECORD_DIFFERENT_SUBTITLE },
+ { N_("All: Record if different description"),
+ DVR_AUTOREC_RECORD_DIFFERENT_DESCRIPTION },
+ { N_("All: Record once per month"),
+ DVR_AUTOREC_RECORD_ONCE_PER_MONTH },
+ { N_("All: Record once per week"),
+ DVR_AUTOREC_RECORD_ONCE_PER_WEEK },
+ { N_("All: Record once per day"),
+ DVR_AUTOREC_RECORD_ONCE_PER_DAY },
+ { N_("Local: Record if different episode number"),
+ DVR_AUTOREC_LRECORD_DIFFERENT_EPISODE_NUMBER },
+ { N_("Local: Record if different title"),
+ DVR_AUTOREC_LRECORD_DIFFERENT_TITLE },
+ { N_("Local: Record if different subtitle"),
+ DVR_AUTOREC_LRECORD_DIFFERENT_SUBTITLE },
+ { N_("Local: Record if different description"),
+ DVR_AUTOREC_LRECORD_DIFFERENT_DESCRIPTION },
+ { N_("Local: Record once per month"),
+ DVR_AUTOREC_LRECORD_ONCE_PER_MONTH },
+ { N_("Local: Record once per week"),
+ DVR_AUTOREC_LRECORD_ONCE_PER_WEEK },
+ { N_("Local: Record once per day"),
+ DVR_AUTOREC_LRECORD_ONCE_PER_DAY },
+ };
+ return strtab2htsmsg(tab, 1, lang);
+}
+
static int
dvr_config_class_pathname_set(void *o, const void *v)
{
.type = PT_U32,
.id = "record",
.name = N_("Duplicate handling"),
- .desc = N_("Duplicate recording handling."),
+ .desc = N_("How to handle duplicate recordings."),
.def.i = DVR_AUTOREC_RECORD_ALL,
.doc = prop_doc_duplicate_handling,
.off = offsetof(dvr_config_t, dvr_autorec_dedup),
- .list = dvr_autorec_entry_class_dedup_list,
+ .list = dvr_autorec_entry_class_record_list,
.opts = PO_ADVANCED | PO_DOC_NLIST | PO_HIDDEN,
.group = 6,
},