DVR_AUTOREC_RECORD_DIFFERENT_SUBTITLE = 2,
DVR_AUTOREC_RECORD_DIFFERENT_DESCRIPTION = 3,
DVR_AUTOREC_RECORD_ONCE_PER_WEEK = 4,
- DVR_AUTOREC_RECORD_ONCE_PER_DAY = 5
+ DVR_AUTOREC_RECORD_ONCE_PER_DAY = 5,
+ DVR_AUTOREC_RECORD_DIFFERENT_TITLE = 6,
} dvr_autorec_dedup_t;
DVR_AUTOREC_RECORD_ALL },
{ N_("Record if different episode number"),
DVR_AUTOREC_RECORD_DIFFERENT_EPISODE_NUMBER },
+ { N_("Record if different title"),
+ DVR_AUTOREC_RECORD_DIFFERENT_TITLE },
{ N_("Record if different subtitle"),
DVR_AUTOREC_RECORD_DIFFERENT_SUBTITLE },
{ N_("Record if different description"),
/**
*
*/
-static dvr_entry_t *_dvr_duplicate_event(dvr_entry_t* de)
+static dvr_entry_t *_dvr_duplicate_event(dvr_entry_t *de)
{
dvr_entry_t *de2;
int record;
if (strempty(de->de_episode))
return NULL;
break;
+ case DVR_AUTOREC_RECORD_DIFFERENT_TITLE:
+ break;
case DVR_AUTOREC_RECORD_DIFFERENT_SUBTITLE:
if (lang_str_empty(de->de_subtitle))
return NULL;
continue;
// if titles are not defined or do not match, don't dedup
- if (lang_str_compare(de->de_title, de2->de_title))
+ if (record != DVR_AUTOREC_RECORD_DIFFERENT_TITLE &&
+ lang_str_compare(de->de_title, de2->de_title))
continue;
switch (record) {
if (!strempty(de2->de_episode) && !strcmp(de->de_episode, de2->de_episode))
return de2;
break;
+ case DVR_AUTOREC_RECORD_DIFFERENT_TITLE:
+ if (!lang_str_compare(de->de_title, de2->de_title))
+ return de2;
+ break;
case DVR_AUTOREC_RECORD_DIFFERENT_SUBTITLE:
if (!lang_str_compare(de->de_subtitle, de2->de_subtitle))
return de2;