MythTV  master
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | Friends | List of all members
ProgramInfo Class Reference

Holds information on recordings and videos. More...

#include <programinfo.h>

Inheritance diagram for ProgramInfo:
Inheritance graph
[legend]
Collaboration diagram for ProgramInfo:
Collaboration graph
[legend]

Classes

struct  MarkupEntry
 

Public Types

enum  CategoryType {
  kCategoryNone, kCategoryMovie, kCategorySeries, kCategorySports,
  kCategoryTVShow
}
 
enum  Verbosity { kLongDescription, kTitleSubtitle, kRecordingKey, kSchedulingKey }
 

Public Member Functions

 ProgramInfo (void)
 Null constructor. More...
 
 ProgramInfo (const ProgramInfo &other)
 Copy constructor. More...
 
 ProgramInfo (uint recordedid)
 Constructs a ProgramInfo from data in 'recorded' table. More...
 
 ProgramInfo (uint chanid, const QDateTime &recstartts)
 Constructs a ProgramInfo from data in 'recorded' table. More...
 
 ProgramInfo (uint recordedid, const QString &title, const QString &sortTitle, const QString &subtitle, const QString &sortSubtitle, const QString &description, uint season, uint episode, uint totalepisodes, const QString &syndicatedepisode, const QString &category, uint chanid, const QString &channum, const QString &chansign, const QString &channame, const QString &chanplaybackfilters, const QString &recgroup, const QString &playgroup, const QString &pathname, const QString &hostname, const QString &storagegroup, const QString &seriesid, const QString &programid, const QString &inetref, CategoryType catType, int recpriority, uint64_t filesize, const QDateTime &startts, const QDateTime &endts, const QDateTime &recstartts, const QDateTime &recendts, float stars, uint year, uint partnumber, uint parttotal, const QDate &originalAirDate, const QDateTime &lastmodified, RecStatus::Type recstatus, uint recordid, RecordingDupInType dupin, RecordingDupMethodType dupmethod, uint findid, uint programflags, uint audioproperties, uint videoproperties, uint subtitleType, const QString &inputname, const QDateTime &bookmarkupdate)
 Constructs a ProgramInfo from data in 'recorded' table. More...
 
 ProgramInfo (const QString &title, const QString &sortTitle, const QString &subtitle, const QString &sortSubtitle, const QString &description, uint season, uint episode, const QString &category, uint chanid, const QString &channum, const QString &chansign, const QString &channame, const QString &seriesid, const QString &programid, const QString &inetref, const QDateTime &startts, const QDateTime &endts, const QDateTime &recstartts, const QDateTime &recendts, RecStatus::Type recstatus, uint recordid, RecordingType rectype, uint findid, bool duplicate)
 Constructs a ProgramInfo from data in 'oldrecorded' table. More...
 
 ProgramInfo (const QString &title, const QString &sortTitle, const QString &subtitle, const QString &sortSubtitle, const QString &description, const QString &syndicatedepisode, const QString &category, uint chanid, const QString &channum, const QString &chansign, const QString &channame, const QString &chanplaybackfilters, const QDateTime &startts, const QDateTime &endts, const QDateTime &recstartts, const QDateTime &recendts, const QString &seriesid, const QString &programid, const CategoryType catType, float stars, uint year, uint partnumber, uint parttotal, const QDate &originalAirDate, RecStatus::Type recstatus, uint recordid, RecordingType rectype, uint findid, bool commfree, bool repeat, uint videoproperties, uint audioproperties, uint subtitletype, uint season, uint episode, uint totalepisodes, const ProgramList &schedList)
 Constructs a ProgramInfo from listings data in 'program' table. More...
 
 ProgramInfo (const QString &title, const QString &sortTitle, const QString &subtitle, const QString &sortSubtitle, const QString &description, uint season, uint episode, uint totalepisodes, const QString &category, uint chanid, const QString &channum, const QString &chansign, const QString &channame, const QString &chanplaybackfilters, const QString &recgroup, const QString &playgroup, const QDateTime &startts, const QDateTime &endts, const QDateTime &recstartts, const QDateTime &recendts, const QString &seriesid, const QString &programid, const QString &inetref, const QString &inputname)
 Constructs a basic ProgramInfo (used by RecordingInfo) More...
 
 ProgramInfo (const QString &pathname)
 Constructs a ProgramInfo for a pathname. More...
 
 ProgramInfo (const QString &pathname, const QString &plot, const QString &title, const QString &sortTitle, const QString &subtitle, const QString &sortSubtitle, const QString &director, int season, int episode, const QString &inetref, uint length_in_minutes, uint year, const QString &programid)
 Constructs a ProgramInfo for a video. More...
 
 ProgramInfo (const QString &_title, uint _chanid, const QDateTime &_startts, const QDateTime &_endts)
 Constructs a manual record ProgramInfo. More...
 
 ProgramInfo (const QString &_title, const QString &_category, const QDateTime &_startts, const QDateTime &_endts)
 Constructs a Dummy ProgramInfo (used by GuideGrid) More...
 
 ProgramInfo (QStringList::const_iterator &it, QStringList::const_iterator end)
 
 ProgramInfo (const QStringList &list)
 
bool operator== (const ProgramInfo &rhs)
 
ProgramInfooperator= (const ProgramInfo &other)
 Copies important fields from other ProgramInfo. More...
 
virtual void clone (const ProgramInfo &other, bool ignore_non_serialized_data=false)
 Copies important fields from other ProgramInfo. More...
 
void ensureSortFields (void)
 Ensure that the sortTitle and sortSubtitle fields are set. More...
 
virtual void clear (void)
 
virtual ~ProgramInfo ()=default
 
void ToStringList (QStringList &list) const
 Serializes ProgramInfo into a QStringList which can be passed over a socket. More...
 
virtual void ToMap (InfoMap &progMap, bool showrerecord=false, uint star_range=10) const
 Converts ProgramInfo into QString QHash containing each field in ProgramInfo converted into localized strings. More...
 
virtual void SubstituteMatches (QString &str)
 Subsitute MATCH% type variable names in the given string. More...
 
bool IsSameProgram (const ProgramInfo &other) const
 Checks whether this is the same program as "other", which may or may not be a repeat or on another channel. More...
 
bool IsDuplicateProgram (const ProgramInfo &other) const
 Checks for duplicates according to dupmethod. More...
 
bool IsSameProgramAndStartTime (const ProgramInfo &other) const
 Match same program, with same starttime (channel may be different) More...
 
bool IsSameTitleStartTimeAndChannel (const ProgramInfo &other) const
 Checks title, chanid or callsign and start times for equality. More...
 
bool IsSameTitleTimeslotAndChannel (const ProgramInfo &other) const
 Checks title, chanid or chansign, start/end times, cardid, inputid for fully inclusive overlap. More...
 
bool IsSameProgramWeakCheck (const ProgramInfo &other) const
 Checks for duplicate using only title, chanid and startts. More...
 
bool IsSameRecording (const ProgramInfo &other) const
 
bool IsSameChannel (const ProgramInfo &other) const
 Checks whether channel id or callsign are identical. More...
 
QString MakeUniqueKey (void) const
 Creates a unique string that can be used to identify an existing recording. More...
 
uint GetSecondsInRecording (void) const
 Returns length of program/recording in seconds. More...
 
QString ChannelText (const QString &) const
 Returns channel info using "format". More...
 
QString GetPathname (void) const
 
QString GetBasename (void) const
 
bool IsVideoFile (void) const
 
bool IsVideoDVD (void) const
 
bool IsVideoBD (void) const
 
bool IsLocal (void) const
 
bool IsMythStream (void) const
 
bool IsPathSet (void) const
 
bool HasPathname (void) const
 
bool IsFileReadable (void) const
 Attempts to ascertain if the main file for this ProgramInfo is readable. More...
 
QString GetTitle (void) const
 
QString GetSortTitle (void) const
 
QString GetSubtitle (void) const
 
QString GetSortSubtitle (void) const
 
QString GetDescription (void) const
 
uint GetSeason (void) const
 
uint GetEpisode (void) const
 
uint GetEpisodeTotal (void) const
 
QString GetCategory (void) const
 
uint GetChanID (void) const
 This is the unique key used in the database to locate tuning information. More...
 
QString GetChanNum (void) const
 This is the channel "number", in the form 1, 1_2, 1-2, 1#1, etc. More...
 
QString GetChannelSchedulingID (void) const
 This is the unique programming identifier of a channel. More...
 
QString GetChannelName (void) const
 This is the channel name in the local market, i.e. More...
 
QString GetChannelPlaybackFilters (void) const
 
QDateTime GetScheduledStartTime (void) const
 The scheduled start time of program. More...
 
QString GetScheduledStartTime (MythDate::Format fmt) const
 The scheduled start time of program (with formatting). More...
 
QDateTime GetScheduledEndTime (void) const
 The scheduled end time of the program. More...
 
QString GetScheduledEndTime (MythDate::Format fmt) const
 The scheduled end time of the program (with formatting). More...
 
QDateTime GetRecordingStartTime (void) const
 Approximate time the recording started. More...
 
QString GetRecordingStartTime (MythDate::Format fmt) const
 Approximate time the recording started (with formatting). More...
 
QDateTime GetRecordingEndTime (void) const
 Approximate time the recording should have ended, did end, or is intended to end. More...
 
QString GetRecordingEndTime (MythDate::Format fmt) const
 Approximate time the recording should have ended, did end, or is intended to end (with formatting). More...
 
QString GetRecordingGroup (void) const
 
QString GetPlaybackGroup (void) const
 
QString GetHostname (void) const
 
QString GetStorageGroup (void) const
 
uint GetYearOfInitialRelease (void) const
 
QDate GetOriginalAirDate (void) const
 
QDateTime GetLastModifiedTime (void) const
 
QString GetLastModifiedTime (MythDate::Format fmt) const
 
virtual uint64_t GetFilesize (void) const
 
QString GetSeriesID (void) const
 
QString GetProgramID (void) const
 
QString GetInetRef (void) const
 
CategoryType GetCategoryType (void) const
 
QString GetCategoryTypeString (void) const
 Returns catType as a string. More...
 
int GetRecordingPriority (void) const
 
int GetRecordingPriority2 (void) const
 
float GetStars (void) const
 
uint GetStars (uint range_max) const
 
uint GetRecordingID (void) const
 
RecStatus::Type GetRecordingStatus (void) const
 
uint GetRecordingRuleID (void) const
 
uint GetParentRecordingRuleID (void) const
 
RecordingType GetRecordingRuleType (void) const
 
RecordingDupInType GetDuplicateCheckSource (void) const
 Where should we check for duplicates? More...
 
RecordingDupMethodType GetDuplicateCheckMethod (void) const
 What should be compared to determine if two programs are the same? More...
 
uint GetSourceID (void) const
 
uint GetInputID (void) const
 
QString GetInputName (void) const
 
QString GetShortInputName (void) const
 
void ClearInputName (void)
 
uint GetFindID (void) const
 
uint32_t GetProgramFlags (void) const
 
ProgramInfoType GetProgramInfoType (void) const
 
QDateTime GetBookmarkUpdate (void) const
 
bool IsGeneric (void) const
 
bool IsInUsePlaying (void) const
 
bool IsCommercialFree (void) const
 
bool HasCutlist (void) const
 
bool IsBookmarkSet (void) const
 
bool IsWatched (void) const
 
bool IsAutoExpirable (void) const
 
bool IsPreserved (void) const
 
bool IsVideo (void) const
 
bool IsRecording (void) const
 
bool IsRepeat (void) const
 
bool IsDuplicate (void) const
 
bool IsReactivated (void) const
 
bool IsDeletePending (void) const
 
uint GetSubtitleType (void) const
 
uint GetVideoProperties (void) const
 
uint GetAudioProperties (void) const
 
QString toString (Verbosity v=kLongDescription, const QString &sep=":", const QString &grp="\) const
 
void SetTitle (const QString &t, const QString &st=nullptr)
 
void SetSubtitle (const QString &st, const QString &sst=nullptr)
 
void SetProgramInfoType (ProgramInfoType t)
 
void SetPathname (const QString &) const
 
void SetChanID (uint _chanid)
 
void SetScheduledStartTime (const QDateTime &dt)
 
void SetScheduledEndTime (const QDateTime &dt)
 
void SetRecordingStartTime (const QDateTime &dt)
 
void SetRecordingEndTime (const QDateTime &dt)
 
void SetRecordingGroup (const QString &group)
 
void SetPlaybackGroup (const QString &group)
 
void SetHostname (const QString &host)
 
void SetStorageGroup (const QString &group)
 
virtual void SetFilesize (uint64_t sz)
 
void SetSeriesID (const QString &id)
 TODO Move to RecordingInfo. More...
 
void SetProgramID (const QString &id)
 
void SetCategory (const QString &cat)
 
void SetCategoryType (const CategoryType type)
 
void SetRecordingPriority (int priority)
 
void SetRecordingPriority2 (int priority)
 
void SetRecordingRuleID (uint id)
 
void SetSourceID (uint id)
 
void SetInputID (uint id)
 
void SetReactivated (bool reactivate)
 
void SetEditing (bool editing)
 
void SetFlagging (bool flagging)
 
void SetIgnoreBookmark (bool ignore)
 If "ignore" is true GetBookmark() will return 0, otherwise GetBookmark() will return the bookmark position if it exists. More...
 
void SetIgnoreProgStart (bool ignore)
 If "ignore" is true QueryProgStart() will return 0, otherwise QueryProgStart() will return the progstart position if it exists. More...
 
void SetAllowLastPlayPos (bool allow)
 If "ignore" is true QueryLastPlayPos() will return 0, otherwise QueryLastPlayPos() will return the last playback position if it exists. More...
 
virtual void SetRecordingID (uint _recordedid)
 
void SetRecordingStatus (RecStatus::Type status)
 
void SetRecordingRuleType (RecordingType type)
 
void SetPositionMapDBReplacement (PMapDBReplacement *pmap)
 
QString QueryBasename (void) const
 Gets the basename, from the DB if necessary. More...
 
uint QueryMplexID (void) const
 Queries multiplex any recording would be made on, zero if unknown. More...
 
QDateTime QueryBookmarkTimeStamp (void) const
 Queries Latest bookmark timestamp from the database. More...
 
uint64_t QueryBookmark (void) const
 Gets any bookmark position in database, unless the ignore bookmark flag is set. More...
 
uint64_t QueryProgStart (void) const
 Gets any progstart position in database, unless the ignore progstart flag is set. More...
 
uint64_t QueryLastPlayPos (void) const
 Gets any lastplaypos position in database, unless the ignore lastplaypos flag is set. More...
 
CategoryType QueryCategoryType (void) const
 Queries recordedprogram to get the category_type of the recording. More...
 
QStringList QueryDVDBookmark (const QString &serialid) const
 Queries "dvdbookmark" table for bookmarking DVD serial number. More...
 
QStringList QueryBDBookmark (const QString &serialid) const
 Queries "bdbookmark" table for bookmarking BD serial number. More...
 
bool QueryIsEditing (void) const
 Queries "recorded" table for its "editing" field and returns true if it is set to true. More...
 
bool QueryIsInUse (QStringList &byWho) const
 Returns true if Program is in use. More...
 
bool QueryIsInUse (QString &byWho) const
 Returns true if Program is in use. More...
 
bool QueryIsDeleteCandidate (bool one_playback_allowed=false) const
 Returns true iff this is a recording, it is not in use (except by the recorder), and at most one player iff one_playback_allowed is set. More...
 
AutoExpireType QueryAutoExpire (void) const
 Returns "autoexpire" field from "recorded" table. More...
 
TranscodingStatus QueryTranscodeStatus (void) const
 Returns the "transcoded" field in "recorded" table. More...
 
bool QueryTuningInfo (QString &channum, QString &input) const
 Returns the channel and input needed to record the program. More...
 
QString QueryInputDisplayName (void) const
 
uint QueryAverageWidth (void) const
 If present in recording this loads average width of the main video stream from database's stream markup table. More...
 
uint QueryAverageHeight (void) const
 If present in recording this loads average height of the main video stream from database's stream markup table. More...
 
uint QueryAverageFrameRate (void) const
 If present in recording this loads average frame rate of the main video stream from database's stream markup table. More...
 
MarkTypes QueryAverageAspectRatio (void) const
 
uint32_t QueryTotalDuration (void) const
 If present this loads the total duration in milliseconds of the main video stream from recordedmarkup table in the database. More...
 
int64_t QueryTotalFrames (void) const
 If present in recording this loads total frames of the main video stream from database's stream markup table. More...
 
QString QueryRecordingGroup (void) const
 Query recgroup from recorded. More...
 
bool QueryMarkupFlag (MarkTypes type) const
 Returns true iff the speficied mark type is set on frame 0. More...
 
uint QueryTranscoderID (void) const
 
uint64_t QueryLastFrameInPosMap (void) const
 Returns last frame in position map or 0. More...
 
bool Reload (void)
 
virtual void SaveFilesize (uint64_t fsize)
 Sets recording file size in database, and sets "filesize" field. More...
 
void SaveBookmark (uint64_t frame)
 TODO Move to RecordingInfo. More...
 
void SaveDVDBookmark (const QStringList &fields) const
 
void SaveBDBookmark (const QStringList &fields) const
 
void SaveEditing (bool edit)
 Sets "editing" field in "recorded" table to "edit". More...
 
void SaveTranscodeStatus (TranscodingStatus trans)
 Set "transcoded" field in "recorded" table to "trans". More...
 
void SaveWatched (bool watchedFlag)
 Set "watched" field in recorded/videometadata to "watchedFlag". More...
 
void SaveDeletePendingFlag (bool deleteFlag)
 Set "deletepending" field in "recorded" table to "deleteFlag". More...
 
void SaveCommFlagged (CommFlagStatus flag)
 Set "commflagged" field in "recorded" table to "flag". More...
 
void SaveAutoExpire (AutoExpireType autoExpire, bool updateDelete=false)
 Set "autoexpire" field in "recorded" table to "autoExpire". More...
 
void SavePreserve (bool preserveEpisode)
 Set "preserve" field in "recorded" table to "preserveEpisode". More...
 
bool SaveBasename (const QString &basename)
 Sets a recording's basename in the database. More...
 
void SaveAspect (uint64_t frame, MarkTypes type, uint customAspect)
 Store aspect ratio of a frame in the recordedmark table. More...
 
void SaveResolution (uint64_t frame, uint width, uint height)
 Store the Resolution at frame in the recordedmarkup table. More...
 
void SaveFrameRate (uint64_t frame, uint framerate)
 Store the Frame Rate at frame in the recordedmarkup table. More...
 
void SaveTotalDuration (int64_t duration)
 Store the Total Duration at frame 0 in the recordedmarkup table. More...
 
void SaveTotalFrames (int64_t frames)
 Store the Total Frames at frame 0 in the recordedmarkup table. More...
 
void SaveVideoProperties (uint mask, uint video_property_flags)
 
void SaveMarkupFlag (MarkTypes type) const
 Clears the specified flag, then if sets it. More...
 
void ClearMarkupFlag (MarkTypes type) const
 
void UpdateLastDelete (bool setTime) const
 Set or unset the record.last_delete field. More...
 
void MarkAsInUse (bool inuse, const QString &usedFor="")
 Tracks a recording's in use status, to prevent deletion and to allow the storage scheduler to perform IO load balancing. More...
 
void UpdateInUseMark (bool force=false)
 
void SaveSeasonEpisode (uint seas, uint ep)
 
void SaveInetRef (const QString &inet)
 
QString DiscoverRecordingDirectory (void) const
 
QString GetPlaybackURL (bool checkMaster=false, bool forceCheckLocal=false) const
 Returns filename or URL to be used to play back this recording. More...
 
ProgramInfoType DiscoverProgramInfoType (void) const
 
bool QueryCutList (frm_dir_map_t &, bool loadAutosave=false) const
 
void SaveCutList (frm_dir_map_t &, bool isAutoSave=false) const
 
void QueryCommBreakList (frm_dir_map_t &) const
 
void SaveCommBreakList (frm_dir_map_t &) const
 
void QueryPositionMap (frm_pos_map_t &, MarkTypes type) const
 
void ClearPositionMap (MarkTypes type) const
 
void SavePositionMap (frm_pos_map_t &, MarkTypes type, int64_t min_frame=-1, int64_t max_frame=-1) const
 
void SavePositionMapDelta (frm_pos_map_t &, MarkTypes type) const
 
bool QueryKeyFrameInfo (uint64_t *, uint64_t position_or_keyframe, bool backwards, MarkTypes type, const char *from_filemarkup_asc, const char *from_filemarkup_desc, const char *from_recordedseek_asc, const char *from_recordedseek_desc) const
 
bool QueryKeyFramePosition (uint64_t *, uint64_t keyframe, bool backwards) const
 
bool QueryPositionKeyFrame (uint64_t *, uint64_t position, bool backwards) const
 
bool QueryKeyFrameDuration (uint64_t *, uint64_t keyframe, bool backwards) const
 
bool QueryDurationKeyFrame (uint64_t *, uint64_t duration, bool backwards) const
 
void QueryMarkup (QVector< MarkupEntry > &mapMark, QVector< MarkupEntry > &mapSeek) const
 
void SaveMarkup (const QVector< MarkupEntry > &mapMark, const QVector< MarkupEntry > &mapSeek) const
 
void SendUpdateEvent (void)
 Sends event out that the ProgramInfo should be reloaded. More...
 
void SendAddedEvent (void) const
 Sends event out that the ProgramInfo should be added to lists. More...
 
void SendDeletedEvent (void) const
 Sends event out that the ProgramInfo should be delete from lists. More...
 
void QueryMarkupMap (frm_dir_map_t &, MarkTypes type, bool merge=false) const
 
void SaveMarkupMap (const frm_dir_map_t &, MarkTypes type=MARK_ALL, int64_t min_frame=-1, int64_t max_frame=-1) const
 
void ClearMarkupMap (MarkTypes type=MARK_ALL, int64_t min_frame=-1, int64_t max_frame=-1) const
 
void SetAvailableStatus (AvailableStatusType status, const QString &where)
 
AvailableStatusType GetAvailableStatus (void) const
 

Static Public Member Functions

static bool UsingProgramIDAuthority (void)
 
static void CheckProgramIDAuthorities (void)
 
static QString i18n (const QString &)
 Translations for play,recording, & storage groups +. More...
 
static QString MakeUniqueKey (uint chanid, const QDateTime &recstartts)
 Creates a unique string that can be used to identify a recording. More...
 
static bool ExtractKey (const QString &uniquekey, uint &chanid, QDateTime &recstartts)
 Extracts chanid and recstartts from a unique key generated by MakeUniqueKey(). More...
 
static bool ExtractKeyFromPathname (const QString &pathname, uint &chanid, QDateTime &recstartts)
 
static bool QueryKeyFromPathname (const QString &pathname, uint &chanid, QDateTime &recstartts)
 
static bool QueryRecordedIdFromPathname (const QString &pathname, uint &recordedid)
 
static QString QueryRecordingGroupPassword (const QString &group)
 
static uint64_t QueryBookmark (uint chanid, const QDateTime &recstartts)
 
static QMap< QString, uint32_t > QueryInUseMap (void)
 
static QMap< QString, boolQueryJobsRunning (int type)
 
static QStringList LoadFromScheduler (const QString &tmptable, int recordid)
 

Public Attributes

int8_t m_spread {-1}
 
int8_t m_startCol {-1}
 

Static Public Attributes

static const QString kFromRecordedQuery
 

Protected Member Functions

QString CreateRecordBasename (const QString &ext) const
 Returns a filename for a recording based on the recording channel and date. More...
 
bool LoadProgramFromRecorded (const uint chanid, const QDateTime &recstartts)
 Loads ProgramInfo for an existing recording. More...
 
bool FromStringList (QStringList::const_iterator &it, const QStringList::const_iterator &end)
 Uses a QStringList to initialize this ProgramInfo instance. More...
 

Static Protected Member Functions

static void QueryMarkupMap (const QString &video_pathname, frm_dir_map_t &, MarkTypes type, bool merge=false)
 
static void QueryMarkupMap (uint chanid, const QDateTime &recstartts, frm_dir_map_t &, MarkTypes type, bool merge=false)
 
static int InitStatics (void)
 

Protected Attributes

QString m_title
 
QString m_sortTitle
 
QString m_subtitle
 
QString m_sortSubtitle
 
QString m_description
 
uint m_season {0}
 
uint m_episode {0}
 
uint m_totalepisodes {0}
 
QString m_syndicatedepisode
 
QString m_category
 
QString m_director
 
int32_t m_recpriority {0}
 
uint32_t m_chanid {0}
 
QString m_chanstr
 
QString m_chansign
 
QString m_channame
 
QString m_chanplaybackfilters
 
QString m_recgroup {"Default"}
 
QString m_playgroup {"Default"}
 
QString m_pathname
 
QString m_hostname
 
QString m_storagegroup {"Default"}
 
QString m_seriesid
 
QString m_programid
 
QString m_inetref
 
CategoryType m_catType {kCategoryNone}
 
uint64_t m_filesize {0ULL}
 
QDateTime m_startts {MythDate::current(true)}
 
QDateTime m_endts {m_startts}
 
QDateTime m_recstartts {m_startts}
 
QDateTime m_recendts {m_startts}
 
float m_stars {0.0F}
 Rating, range [0..1]. More...
 
QDate m_originalAirDate
 
QDateTime m_lastmodified {m_startts}
 
QDateTime m_lastInUseTime {m_startts.addSecs(-4 * 60 * 60)}
 
int32_t m_recpriority2 {0}
 
uint32_t m_recordid {0}
 
uint32_t m_parentid {0}
 
uint32_t m_sourceid {0}
 
uint32_t m_inputid {0}
 
uint32_t m_findid {0}
 
uint32_t m_programflags {FL_NONE}
 ProgramFlag. More...
 
uint16_t m_properties {0}
 SubtitleType,VideoProperty,AudioProperty. More...
 
uint16_t m_year {0}
 
uint16_t m_partnumber {0}
 
uint16_t m_parttotal {0}
 
int8_t m_recstatus {RecStatus::Unknown}
 
uint8_t m_rectype {kNotRecording}
 
uint8_t m_dupin {kDupsInAll}
 
uint8_t m_dupmethod {kDupCheckSubThenDesc}
 
uint m_recordedid {0}
 
QString m_inputname
 
QDateTime m_bookmarkupdate
 
uint8_t m_availableStatus {asAvailable}
 
QString m_inUseForWhat
 
PMapDBReplacementm_positionMapDBReplacement {nullptr}
 

Static Protected Attributes

static QMutex s_staticDataLock
 
static ProgramInfoUpdaters_updater
 
static bool s_usingProgIDAuth = true
 

Friends

int pginfo_init_statics (void)
 

Detailed Description

Holds information on recordings and videos.

ProgramInfo can also contain partial information for a program we wish to find in the schedule, and may also contain information on a video we wish to view. This class is serializable from frontend to backend and back and is the basic unit of information on anything we may wish to view or record.

Any method that begins with "Is", "Get" or "Set" will run quickly and the results from "Is" or "Get" do not need to be cached.

Any method beginning with "Make" or "Extract" will run quickly, but it may be prudent to cache the results if they are to be used frequently.

Any method that begins with "Query", "Save" or "Update" will touch the database and so may take some time to complete.

Any method beginning with another verb needs to be examined to determine its expected run time.

There is one exception to this set of rules, GetPlaybackURL() is a very complex beast which not only touches the database but also may query remote backends about the files visible to them. It blocks until this task is complete and may need to wake up remote hosts that are currently powered off to complete it's task. It should not be called from the UI thread and its result should be cached.

Definition at line 66 of file programinfo.h.

Member Enumeration Documentation

◆ CategoryType

Enumerator
kCategoryNone 
kCategoryMovie 
kCategorySeries 
kCategorySports 
kCategoryTVShow 

Definition at line 70 of file programinfo.h.

◆ Verbosity

Enumerator
kLongDescription 
kTitleSubtitle 
kRecordingKey 
kSchedulingKey 

Definition at line 491 of file programinfo.h.

Constructor & Destructor Documentation

◆ ProgramInfo() [1/14]

ProgramInfo::ProgramInfo ( void  )
inline

Null constructor.

Constructs a manual record ProgramInfo.

Constructs a ProgramInfo for a video.

Constructs a basic ProgramInfo (used by RecordingInfo)

Constructs a ProgramInfo from listings data in 'program' table.

Constructs a ProgramInfo from data in 'oldrecorded' table.

Constructs a ProgramInfo from data in 'recorded' table.

Definition at line 74 of file programinfo.h.

Referenced by LoadFromOldRecorded(), LoadFromProgram(), LoadFromRecorded(), and LoadProgramFromProgram().

◆ ProgramInfo() [2/14]

ProgramInfo::ProgramInfo ( const ProgramInfo other)

Copy constructor.

Definition at line 154 of file programinfo.cpp.

◆ ProgramInfo() [3/14]

ProgramInfo::ProgramInfo ( uint  recordedid)
explicit

Constructs a ProgramInfo from data in 'recorded' table.

Definition at line 238 of file programinfo.cpp.

◆ ProgramInfo() [4/14]

ProgramInfo::ProgramInfo ( uint  chanid,
const QDateTime &  recstartts 
)

Constructs a ProgramInfo from data in 'recorded' table.

Definition at line 269 of file programinfo.cpp.

◆ ProgramInfo() [5/14]

ProgramInfo::ProgramInfo ( uint  recordedid,
const QString &  title,
const QString &  sortTitle,
const QString &  subtitle,
const QString &  sortSubtitle,
const QString &  description,
uint  season,
uint  episode,
uint  totalepisodes,
const QString &  syndicatedepisode,
const QString &  category,
uint  chanid,
const QString &  channum,
const QString &  chansign,
const QString &  channame,
const QString &  chanplaybackfilters,
const QString &  recgroup,
const QString &  playgroup,
const QString &  pathname,
const QString &  hostname,
const QString &  storagegroup,
const QString &  seriesid,
const QString &  programid,
const QString &  inetref,
CategoryType  catType,
int  recpriority,
uint64_t  filesize,
const QDateTime &  startts,
const QDateTime &  endts,
const QDateTime &  recstartts,
const QDateTime &  recendts,
float  stars,
uint  year,
uint  partnumber,
uint  parttotal,
const QDate &  originalAirDate,
const QDateTime &  lastmodified,
RecStatus::Type  recstatus,
uint  recordid,
RecordingDupInType  dupin,
RecordingDupMethodType  dupmethod,
uint  findid,
uint  programflags,
uint  audioproperties,
uint  videoproperties,
uint  subtitleType,
const QString &  inputname,
const QDateTime &  bookmarkupdate 
)

Constructs a ProgramInfo from data in 'recorded' table.

Definition at line 280 of file programinfo.cpp.

◆ ProgramInfo() [6/14]

ProgramInfo::ProgramInfo ( const QString &  title,
const QString &  sortTitle,
const QString &  subtitle,
const QString &  sortSubtitle,
const QString &  description,
uint  season,
uint  episode,
const QString &  category,
uint  chanid,
const QString &  channum,
const QString &  chansign,
const QString &  channame,
const QString &  seriesid,
const QString &  programid,
const QString &  inetref,
const QDateTime &  startts,
const QDateTime &  endts,
const QDateTime &  recstartts,
const QDateTime &  recendts,
RecStatus::Type  recstatus,
uint  recordid,
RecordingType  rectype,
uint  findid,
bool  duplicate 
)

Constructs a ProgramInfo from data in 'oldrecorded' table.

Definition at line 418 of file programinfo.cpp.

◆ ProgramInfo() [7/14]

ProgramInfo::ProgramInfo ( const QString &  title,
const QString &  sortTitle,
const QString &  subtitle,
const QString &  sortSubtitle,
const QString &  description,
const QString &  syndicatedepisode,
const QString &  category,
uint  chanid,
const QString &  channum,
const QString &  chansign,
const QString &  channame,
const QString &  chanplaybackfilters,
const QDateTime &  startts,
const QDateTime &  endts,
const QDateTime &  recstartts,
const QDateTime &  recendts,
const QString &  seriesid,
const QString &  programid,
const CategoryType  catType,
float  stars,
uint  year,
uint  partnumber,
uint  parttotal,
const QDate &  originalAirDate,
RecStatus::Type  recstatus,
uint  recordid,
RecordingType  rectype,
uint  findid,
bool  commfree,
bool  repeat,
uint  videoproperties,
uint  audioproperties,
uint  subtitletype,
uint  season,
uint  episode,
uint  totalepisodes,
const ProgramList schedList 
)

Constructs a ProgramInfo from listings data in 'program' table.

Definition at line 493 of file programinfo.cpp.

◆ ProgramInfo() [8/14]

ProgramInfo::ProgramInfo ( const QString &  title,
const QString &  sortTitle,
const QString &  subtitle,
const QString &  sortSubtitle,
const QString &  description,
uint  season,
uint  episode,
uint  totalepisodes,
const QString &  category,
uint  chanid,
const QString &  channum,
const QString &  chansign,
const QString &  channame,
const QString &  chanplaybackfilters,
const QString &  recgroup,
const QString &  playgroup,
const QDateTime &  startts,
const QDateTime &  endts,
const QDateTime &  recstartts,
const QDateTime &  recendts,
const QString &  seriesid,
const QString &  programid,
const QString &  inetref,
const QString &  inputname 
)

Constructs a basic ProgramInfo (used by RecordingInfo)

Definition at line 639 of file programinfo.cpp.

◆ ProgramInfo() [9/14]

ProgramInfo::ProgramInfo ( const QString &  pathname)
explicit

Constructs a ProgramInfo for a pathname.

Definition at line 707 of file programinfo.cpp.

◆ ProgramInfo() [10/14]

ProgramInfo::ProgramInfo ( const QString &  pathname,
const QString &  plot,
const QString &  title,
const QString &  sortTitle,
const QString &  subtitle,
const QString &  sortSubtitle,
const QString &  director,
int  season,
int  episode,
const QString &  inetref,
uint  length_in_minutes,
uint  year,
const QString &  programid 
)

Constructs a ProgramInfo for a video.

Definition at line 743 of file programinfo.cpp.

◆ ProgramInfo() [11/14]

ProgramInfo::ProgramInfo ( const QString &  _title,
uint  _chanid,
const QDateTime &  _startts,
const QDateTime &  _endts 
)

Constructs a manual record ProgramInfo.

Definition at line 787 of file programinfo.cpp.

◆ ProgramInfo() [12/14]

ProgramInfo::ProgramInfo ( const QString &  _title,
const QString &  _category,
const QDateTime &  _startts,
const QDateTime &  _endts 
)
inline

Constructs a Dummy ProgramInfo (used by GuideGrid)

Definition at line 275 of file programinfo.h.

◆ ProgramInfo() [13/14]

ProgramInfo::ProgramInfo ( QStringList::const_iterator &  it,
QStringList::const_iterator  end 
)
inline

Definition at line 279 of file programinfo.h.

◆ ProgramInfo() [14/14]

ProgramInfo::ProgramInfo ( const QStringList &  list)
inlineexplicit

Definition at line 285 of file programinfo.h.

◆ ~ProgramInfo()

virtual ProgramInfo::~ProgramInfo ( )
virtualdefault

Member Function Documentation

◆ operator==()

bool ProgramInfo::operator== ( const ProgramInfo rhs)

Compare two ProgramInfo instances to see if they are equal. Equal is defined as all parameters that are serialized and passed across the myth protocol are the same.

Parameters
rhsThe ProgramInfo instance to compare to the current instance.
Returns
True if all the serialized fields match, False otherwise.

Definition at line 1042 of file programinfo.cpp.

◆ operator=()

ProgramInfo & ProgramInfo::operator= ( const ProgramInfo other)

Copies important fields from other ProgramInfo.

Definition at line 831 of file programinfo.cpp.

◆ clone()

void ProgramInfo::clone ( const ProgramInfo other,
bool  ignore_non_serialized_data = false 
)
virtual

Copies important fields from other ProgramInfo.

Reimplemented in RecordingInfo, and ProgramRecPriorityInfo.

Definition at line 838 of file programinfo.cpp.

Referenced by RecordingInfo::clone(), PlaybackSock::FillProgramInfo(), operator=(), and Reload().

◆ ensureSortFields()

void ProgramInfo::ensureSortFields ( void  )

Ensure that the sortTitle and sortSubtitle fields are set.

Definition at line 1139 of file programinfo.cpp.

Referenced by FromStringList(), ProgramInfo(), SetSubtitle(), and SetTitle().

◆ clear()

void ProgramInfo::clear ( void  )
virtual

◆ ToStringList()

void ProgramInfo::ToStringList ( QStringList &  list) const

◆ ToMap()

void ProgramInfo::ToMap ( InfoMap progMap,
bool  showrerecord = false,
uint  star_range = 10 
) const
virtual

◆ SubstituteMatches()

void ProgramInfo::SubstituteMatches ( QString &  str)
virtual

Subsitute MATCH% type variable names in the given string.

Parameters
strQString to substitute matches in
Note
This method sometimes initiates a QUERY_CHECKFILE MythProto call and so should not be called from the UI thread.

Reimplemented in RecordingInfo.

Definition at line 5193 of file programinfo.cpp.

Referenced by JobQueue::GetJobCommand(), and RecordingInfo::SubstituteMatches().

◆ IsSameProgram()

bool ProgramInfo::IsSameProgram ( const ProgramInfo other) const

Checks whether this is the same program as "other", which may or may not be a repeat or on another channel.

Matches based on programid with a fallback to dupmethod

Parameters
otherProgramInfo to compare this one with.

Definition at line 2162 of file programinfo.cpp.

Referenced by PlayerContext::IsSameProgram(), and IsSameProgramAndStartTime().

◆ IsDuplicateProgram()

bool ProgramInfo::IsDuplicateProgram ( const ProgramInfo other) const

Checks for duplicates according to dupmethod.

Parameters
otherProgramInfo to compare this one with.

Definition at line 2093 of file programinfo.cpp.

Referenced by Scheduler::IsSameProgram().

◆ IsSameProgramAndStartTime()

bool ProgramInfo::IsSameProgramAndStartTime ( const ProgramInfo other) const

Match same program, with same starttime (channel may be different)

Parameters
otherProgramInfo to compare this one with.
Returns
true if this program is the same and shares same start time as "other" program.

Definition at line 2220 of file programinfo.cpp.

Referenced by ProgramInfo().

◆ IsSameTitleStartTimeAndChannel()

bool ProgramInfo::IsSameTitleStartTimeAndChannel ( const ProgramInfo other) const

Checks title, chanid or callsign and start times for equality.

Parameters
otherProgramInfo to compare this one with.
Returns
true if this program shares same time slot as "other" program.

Definition at line 2236 of file programinfo.cpp.

Referenced by Scheduler::AddNewRecords(), Scheduler::ChangeRecordingEnd(), Scheduler::MarkShowingsList(), Scheduler::PruneOverlaps(), Scheduler::PruneRedundants(), and Scheduler::TryAnotherShowing().

◆ IsSameTitleTimeslotAndChannel()

bool ProgramInfo::IsSameTitleTimeslotAndChannel ( const ProgramInfo other) const

Checks title, chanid or chansign, start/end times, cardid, inputid for fully inclusive overlap.

Parameters
otherProgramInfo to compare this one with.
Returns
true if this program is contained in time slot of "other" program.

Definition at line 2250 of file programinfo.cpp.

Referenced by Scheduler::AddRecording(), and Scheduler::UpdateRecStatus().

◆ UsingProgramIDAuthority()

static bool ProgramInfo::UsingProgramIDAuthority ( void  )
inlinestatic

Definition at line 316 of file programinfo.h.

Referenced by Scheduler::UpdateDuplicates().

◆ CheckProgramIDAuthorities()

void ProgramInfo::CheckProgramIDAuthorities ( void  )
static

Definition at line 2272 of file programinfo.cpp.

Referenced by handle_command(), and Scheduler::Scheduler().

◆ IsSameProgramWeakCheck()

bool ProgramInfo::IsSameProgramWeakCheck ( const ProgramInfo other) const

Checks for duplicate using only title, chanid and startts.

Parameters
otherProgramInfo to compare this one with.

Definition at line 2082 of file programinfo.cpp.

Referenced by TVRec::StartRecording().

◆ IsSameRecording()

bool ProgramInfo::IsSameRecording ( const ProgramInfo other) const
inline

Definition at line 324 of file programinfo.h.

Referenced by Scheduler::GetRecStatus(), and EncoderLink::MatchesRecording().

◆ IsSameChannel()

bool ProgramInfo::IsSameChannel ( const ProgramInfo other) const

Checks whether channel id or callsign are identical.

Parameters
otherProgramInfo to compare this one with.
Returns
true if this program's channel is likely to be the same as the "other" program's channel

Definition at line 2265 of file programinfo.cpp.

Referenced by IsSameProgramAndStartTime(), IsSameTitleStartTimeAndChannel(), IsSameTitleTimeslotAndChannel(), and ProgramInfo().

◆ MakeUniqueKey() [1/2]

QString ProgramInfo::MakeUniqueKey ( void  ) const
inline

◆ GetSecondsInRecording()

uint ProgramInfo::GetSecondsInRecording ( void  ) const

Returns length of program/recording in seconds.

Definition at line 1803 of file programinfo.cpp.

Referenced by PlayerContext::SetPlayingInfo().

◆ ChannelText()

QString ProgramInfo::ChannelText ( const QString &  format) const

Returns channel info using "format".

There are three tags in "format" that will be replaced with the appropriate info. These tags are "<num>", "<sign>", and "<name>", they replaced with the channel number, channel call sign, and channel name, respectively.

Parameters
formatformatting string.
Returns
formatted string.

Definition at line 4674 of file programinfo.cpp.

Referenced by ProgramInfo(), and ToMap().

◆ GetPathname()

QString ProgramInfo::GetPathname ( void  ) const
inline

◆ GetBasename()

QString ProgramInfo::GetBasename ( void  ) const
inline

◆ IsVideoFile()

bool ProgramInfo::IsVideoFile ( void  ) const
inline

Definition at line 337 of file programinfo.h.

Referenced by PlayerContext::GetPlayingInfoMap(), TV::QuickRecord(), and SaveWatched().

◆ IsVideoDVD()

bool ProgramInfo::IsVideoDVD ( void  ) const
inline

◆ IsVideoBD()

bool ProgramInfo::IsVideoBD ( void  ) const
inline

◆ IsLocal()

bool ProgramInfo::IsLocal ( void  ) const
inline

◆ IsMythStream()

bool ProgramInfo::IsMythStream ( void  ) const
inline

Definition at line 348 of file programinfo.h.

Referenced by IsFileReadable().

◆ IsPathSet()

bool ProgramInfo::IsPathSet ( void  ) const
inline

Definition at line 349 of file programinfo.h.

Referenced by PlaybackBox::Play().

◆ HasPathname()

bool ProgramInfo::HasPathname ( void  ) const
inline

◆ IsFileReadable()

bool ProgramInfo::IsFileReadable ( void  ) const

Attempts to ascertain if the main file for this ProgramInfo is readable.

Note
This method often initiates a QUERY_CHECKFILE MythProto call and so should not be called from the UI thread.
Returns
true iff file is readable

Definition at line 4749 of file programinfo.cpp.

◆ GetTitle()

QString ProgramInfo::GetTitle ( void  ) const
inline

Definition at line 353 of file programinfo.h.

Referenced by RecordingInfo::AddHistory(), Scheduler::AddNewRecords(), Scheduler::AddRecording(), TV::AskAllowRecording(), Scheduler::AssignGroupInput(), RecordingRule::AssignProgramInfo(), ScheduledRecording::BuildCheckRequest(), Scheduler::BuildListMaps(), comp_overlap(), comp_priority(), comp_redundant(), comp_retry(), LookerUpper::CopyRuleInetrefsToRecordings(), RecMetadataEdit::Create(), CreateProgramInfoString(), PlaybackBox::CreateProgramInfoString(), CustomEdit::CustomEdit(), StatusBox::customEvent(), LookerUpper::customEvent(), ProgFinder::customEvent(), ProgramRecPriority::deactivate(), PrevRecordedList::DeleteOldSeries(), ProgLister::DeleteOldSeries(), StatusBox::doAutoExpireList(), MainServer::DoHandleDeleteRecording(), StatusBox::doJobQueueStatus(), StatusBox::doTunerStatus(), CustomEdit::evaluate(), MythBDPlayer::EventStart(), MythDVDPlayer::EventStart(), AutoExpire::ExpireRecordings(), extract_subtitle(), TV::FillOSDMenuJumpRec(), FillProgramInfo(), HttpStatus::FillProgramInfo(), GuideUpdateProgramRow::fillProgramRowInfosWith(), Scheduler::FindNextConflict(), TVRec::FinishedRecording(), FlagCommercials(), GuideGrid::gestureEvent(), PlayGroup::GetInitialName(), Dvr::GetRecordedList(), RecordingSelector::getRecordingList(), TV::GetStatus(), LookerUpper::HandleAllArtwork(), LookerUpper::HandleAllRecordingRules(), LookerUpper::HandleAllRecordings(), Scheduler::HandleRecording(), ProgLister::HandleVisible(), Scheduler::HandleWakeSlave(), PlaybackBox::ItemLoaded(), GuideGrid::keyPressEvent(), CustomEdit::loadClauses(), CustomPriority::loadData(), ProgDetails::loadPage(), MetadataFactory::Lookup(), LookupFromProgramInfo(), Scheduler::MarkOtherShowings(), RecordingSelector::OKPressed(), TV::Playback(), print_comm_flag_output(), Scheduler::PutInactiveSlavesToSleep(), TV::QuickRecord(), RebuildSeekTable(), CustomEdit::recordClicked(), RemoteGetExistingRecorder(), RemoteGetRecordingStatus(), PlaybackBox::saveRecMetadata(), Scheduler::SchedNewFirstPass(), PlayerContext::SetPseudoLiveTV(), PrevRecordedList::ShowDeleteOldEpisodeMenu(), ProgLister::ShowDeleteOldEpisodeMenu(), PrevRecordedList::ShowDeleteOldSeriesMenu(), ProgLister::ShowDeleteOldSeriesMenu(), TV::ShowLCDChannelInfo(), TV::ShowOSDPromptDeleteRecording(), ScheduleCommon::ShowPrevious(), PlaybackBox::ShowRecordedEpisodes(), ScheduleCommon::ShowUpcoming(), ScheduleCommon::ShowUpcomingScheduled(), Scheduler::SlaveConnected(), Scheduler::SlaveDisconnected(), TVRec::StartRecording(), RecordingSelector::titleChanged(), Scheduler::TryAnotherShowing(), TVRec::TuningRestartRecorder(), TVRec::TuningSignalCheck(), RecordingSelector::updateRecordingList(), PlaybackBox::UpdateUIListItem(), and PlaybackBox::UpdateUILists().

◆ GetSortTitle()

QString ProgramInfo::GetSortTitle ( void  ) const
inline

◆ GetSubtitle()

QString ProgramInfo::GetSubtitle ( void  ) const
inline

◆ GetSortSubtitle()

QString ProgramInfo::GetSortSubtitle ( void  ) const
inline

◆ GetDescription()

QString ProgramInfo::GetDescription ( void  ) const
inline

◆ GetSeason()

uint ProgramInfo::GetSeason ( void  ) const
inline

◆ GetEpisode()

uint ProgramInfo::GetEpisode ( void  ) const
inline

◆ GetEpisodeTotal()

uint ProgramInfo::GetEpisodeTotal ( void  ) const
inline

Definition at line 360 of file programinfo.h.

Referenced by FillProgramInfo(), and ProgDetails::loadPage().

◆ GetCategory()

QString ProgramInfo::GetCategory ( void  ) const
inline

◆ GetChanID()

uint ProgramInfo::GetChanID ( void  ) const
inline

This is the unique key used in the database to locate tuning information.

[1..2^32] are valid keys, 0 is not.

Definition at line 364 of file programinfo.h.

Referenced by Content::AddRecordingLiveStream(), LiveTVChain::AppendNewProgram(), TV::AskAllowRecording(), Scheduler::AssignGroupInput(), RecordingRule::AssignProgramInfo(), TVBrowseHelper::BrowseStart(), TV::ChangeChannel(), CheckRecordings(), ClearBookmarks(), ClearSeekTable(), ClearSkipList(), RecordingInfo::clone(), comp_overlap(), comp_priority(), comp_recstart(), comp_retry(), CompleteJob(), CopySkipListToCutList(), PlaybackBox::createJobMenu(), PlaybackBox::createPlaylistJobMenu(), PlaybackBox::customEvent(), MainServer::customEvent(), TV::customEvent(), commDetector2::debugDirectory(), PrevRecordedList::DeleteOldEpisode(), ProgLister::DeleteOldEpisode(), LiveTVChain::DeleteProgram(), Dvr::DeleteRecording(), MainServer::DoDeleteThread(), TV::DoEditSchedule(), DoFlagCommercials(), MainServer::DoHandleDeleteRecording(), PlaybackBox::doJobQueueJob(), StatusBox::doJobQueueStatus(), PlaybackBox::doPlaylistJobQueueJob(), TV::DoQueueTranscode(), StatusBox::doTunerStatus(), LiveTVChain::EntryToProgram(), CustomEdit::evaluate(), MythPlayer::EventLoop(), PlaybackBox::extract_commflag_state(), PlaybackBox::extract_job_state(), FillCastMemberList(), HttpStatus::FillChannelInfo(), FillCommBreak(), FillCutList(), AutoExpire::FillDBOrdered(), FillProgramInfo(), Scheduler::FillRecordingDir(), FillSeek(), HttpStatus::FillStatusXML(), Scheduler::FindNextConflict(), LiveTVChain::FinishedRecording(), TVRec::FinishedRecording(), FlagCommercials(), GetMarkupList(), GetPlaybackURL(), PlayerContext::GetPlayingInfoMap(), Content::GetPreviewImage(), GetProgramInfo(), getProgramInfoForFile(), RemoteEncoder::GetRecording(), Content::GetRecording(), PlaybackSock::GetRecording(), JobQueue::GetRunningJobID(), TV::GetStatus(), MainServer::HandleAnnounce(), TV::HandlePseudoLiveTVTimerEvent(), MainServer::HandleQueryRecording(), Scheduler::HandleRecording(), Scheduler::HandleRecordingStatusChange(), MainServer::HandleStopRecording(), MainServer::HandleUndeleteRecording(), incomingCustomEvent(), init_jobs(), RecordingInfo::InsertProgram(), TVRec::IsBusy(), Scheduler::IsBusyRecording(), JobQueue::IsJobRunning(), EncoderLink::IsRecording(), TV::ITVRestart(), ProgDetails::loadPage(), FileServerHandler::LocalFilePath(), MainServer::LocalFilePath(), LookupFromProgramInfo(), main(), Dvr::ManageJobQueue(), MythPlayer::OpenFile(), TV::PlaybackMenuInit(), Frontend::PlayRecording(), ProgDetails::PowerPriorities(), preview_helper(), print_comm_flag_output(), JobQueue::ProcessJob(), PlaybackBox::processNetworkControlCommand(), TV::ProcessNetworkControlCommand(), LiveTVChain::ProgramIsAt(), QueueCommFlagJob(), QueueJob(), JobQueue::QueueRecordingJobs(), QueueTranscodeJob(), TV::QuickRecord(), Dvr::ReactivateRecording(), Reload(), ReloadBookmark(), RemoteDeleteRecording(), RemoteUndeleteRecording(), PreviewGenerator::Run(), TVBrowseHelper::run(), SendMythSystemPlayEvent(), SendMythSystemRecEvent(), SetCutList(), TVRec::SetLiveRecording(), LiveTVChain::SetProgram(), RecorderBase::SetRecordingStatus(), ScheduleCommon::ShowChannelSearch(), ScheduleCommon::ShowGuide(), ProgFinder::ShowGuide(), ScheduleCommon::ShowUpcoming(), EncoderLink::StartRecording(), TVRec::StartRecording(), TV::StartTV(), PlaybackBox::stopPlaylistJobQueueJob(), Dvr::StopRecording(), MythSystemEventHandler::SubstituteMatches(), TVRec::SwitchRecordingRingBuffer(), toString(), Scheduler::TryAnotherShowing(), TVRec::TuningNewRecorder(), TVRec::TuningRestartRecorder(), TVRec::TuningSignalCheck(), Dvr::UnDeleteRecording(), Dvr::UpdateRecordedWatchedStatus(), Scheduler::UpdateRecStatus(), and WaitToDelete().

◆ GetChanNum()

QString ProgramInfo::GetChanNum ( void  ) const
inline

◆ GetChannelSchedulingID()

QString ProgramInfo::GetChannelSchedulingID ( void  ) const
inline

This is the unique programming identifier of a channel.

For example "BBC1 Crystal Palace". The channel may be broadcast over satelite, cable and terrestrially – but will almost always contain the same programming. This is used when determining if two channels can be treated as the same channel in recording rules. In the DB this is called 'callsign' for historic reasons.

Definition at line 375 of file programinfo.h.

Referenced by Scheduler::AssignGroupInput(), RecordingRule::AssignProgramInfo(), comp_recstart(), comp_redundant(), CustomEdit::evaluate(), HttpStatus::FillChannelInfo(), CustomEdit::loadClauses(), ViewScheduled::LoadList(), LookupFromProgramInfo(), MythPlayer::OpenFile(), TV::Playback(), Scheduler::PrintRec(), TV::ShowLCDChannelInfo(), Scheduler::SlaveConnected(), and Scheduler::SlaveDisconnected().

◆ GetChannelName()

QString ProgramInfo::GetChannelName ( void  ) const
inline

This is the channel name in the local market, i.e.

BBC1. This is purely for use in the user interface.

Definition at line 378 of file programinfo.h.

Referenced by Scheduler::AddNewRecords(), StatusBox::doJobQueueStatus(), CustomEdit::evaluate(), HttpStatus::FillChannelInfo(), LookupFromProgramInfo(), and RemoteGetRecordingStatus().

◆ GetChannelPlaybackFilters()

QString ProgramInfo::GetChannelPlaybackFilters ( void  ) const
inline

◆ GetScheduledStartTime() [1/2]

QDateTime ProgramInfo::GetScheduledStartTime ( void  ) const
inline

The scheduled start time of program.

Definition at line 382 of file programinfo.h.

Referenced by RecordingInfo::AddHistory(), Scheduler::AddNewRecords(), RecordingRule::AssignProgramInfo(), TVBrowseHelper::BrowseStart(), ClearBookmarks(), ClearSeekTable(), RecordingInfo::clone(), comp_originalAirDate(), comp_originalAirDate_rev(), comp_overlap(), comp_recordDate(), comp_recordDate_rev(), comp_redundant(), PrevRecordedList::DeleteOldEpisode(), ProgLister::DeleteOldEpisode(), DoFlagCommercials(), CustomEdit::evaluate(), FillCastMemberList(), FillProgramInfo(), HttpStatus::FillProgramInfo(), GuideUpdateProgramRow::fillProgramRowInfosWith(), TVRec::FinishedRecording(), GuideGrid::gestureEvent(), get_start(), TVBrowseHelper::GetNextProgramDB(), GuideGrid::keyPressEvent(), RecordingRule::LoadBySearch(), ViewScheduled::LoadList(), ProgDetails::loadPage(), PreviewGenerator::LocalPreviewRun(), LookupFromProgramInfo(), RecordingSelector::OKPressed(), TV::PlaybackMenuInit(), ProgDetails::PowerPriorities(), TV::ProcessNetworkControlCommand(), RecordingInfo::RecordingInfo(), RemoteGetRecordingStatus(), TVRec::SetLiveRecording(), RecorderBase::SetRecording(), RecorderBase::SetRecordingStatus(), ScheduleCommon::ShowChannelSearch(), ScheduleCommon::ShowGuide(), ProgFinder::ShowGuide(), Scheduler::SlaveConnected(), RecordingSelector::titleChanged(), toString(), Scheduler::TryAnotherShowing(), TVRec::TuningNewRecorder(), TVRec::TuningSignalCheck(), RecordingSelector::updateRecordingList(), and Scheduler::UpdateRecStatus().

◆ GetScheduledStartTime() [2/2]

QString ProgramInfo::GetScheduledStartTime ( MythDate::Format  fmt) const
inline

The scheduled start time of program (with formatting).

Definition at line 384 of file programinfo.h.

◆ GetScheduledEndTime() [1/2]

QDateTime ProgramInfo::GetScheduledEndTime ( void  ) const
inline

◆ GetScheduledEndTime() [2/2]

QString ProgramInfo::GetScheduledEndTime ( MythDate::Format  fmt) const
inline

The scheduled end time of the program (with formatting).

Definition at line 391 of file programinfo.h.

◆ GetRecordingStartTime() [1/2]

QDateTime ProgramInfo::GetRecordingStartTime ( void  ) const
inline

Approximate time the recording started.

Definition at line 396 of file programinfo.h.

Referenced by LiveTVChain::AppendNewProgram(), RecordingInfo::ApplyNeverRecord(), Scheduler::AssignGroupInput(), CheckRecordings(), RecordingInfo::clone(), comp_originalAirDate(), comp_originalAirDate_rev(), comp_priority(), comp_programid(), comp_programid_rev(), comp_recordDate(), comp_recordDate_rev(), comp_recpriority2(), comp_recstart(), comp_retry(), comp_sortdate_lt(), comp_sortdate_lt_rev(), CompleteJob(), PlaybackBox::createJobMenu(), PlaybackBox::createPlaylistJobMenu(), CreateProgramInfoString(), PlaybackBox::CreateProgramInfoString(), ScheduleCommon::customEvent(), TV::customEvent(), LiveTVChain::DeleteProgram(), Dvr::DeleteRecording(), StatusBox::doAutoExpireList(), DoFlagCommercials(), MainServer::DoHandleDeleteRecording(), PlaybackBox::doJobQueueJob(), StatusBox::doJobQueueStatus(), PlaybackBox::doPlaylistJobQueueJob(), TV::DoQueueTranscode(), ScheduleCommon::EditRecording(), PlaybackBox::extract_commflag_state(), PlaybackBox::extract_job_state(), ViewScheduled::FillList(), FillProgramInfo(), HttpStatus::FillProgramInfo(), Scheduler::FillRecordingDir(), Scheduler::FindNextConflict(), LiveTVChain::FinishedRecording(), TVRec::FinishedRecording(), PreviewGeneratorQueue::GeneratePreviewImage(), GetPlaybackURL(), TVRec::GetProgramRingBufferForLiveTV(), JobQueue::GetRunningJobID(), TV::GetStatus(), Scheduler::HandleRecording(), Scheduler::HandleRecordingStatusChange(), Scheduler::HandleReschedule(), Scheduler::HandleWakeSlave(), incomingCustomEvent(), init_jobs(), JobQueue::IsJobRunning(), EncoderLink::IsRecording(), ViewScheduled::LoadList(), ProgDetails::loadPage(), PreviewGenerator::LocalPreviewRun(), LookupFromProgramInfo(), Dvr::ManageJobQueue(), Scheduler::MarkShowingsList(), Frontend::PlayRecording(), print_comm_flag_output(), AutoExpire::PrintExpireList(), Scheduler::PrintList(), Scheduler::PrintRec(), TV::ProcessNetworkControlCommand(), LiveTVChain::ProgramIsAt(), Scheduler::PutInactiveSlavesToSleep(), QueueCommFlagJob(), QueueJob(), JobQueue::QueueRecordingJobs(), QueueTranscodeJob(), ReloadBookmark(), RemoteDeleteRecording(), RemoteUndeleteRecording(), PreviewGenerator::Run(), Scheduler::SchedNewFirstPass(), Scheduler::SchedNewRetryPass(), SendMythSystemPlayEvent(), SendMythSystemRecEvent(), LiveTVChain::SetProgram(), PlayerContext::SetPseudoLiveTV(), MythPlayer::SetWatched(), ViewScheduleDiff::showStatus(), Scheduler::ShutdownServer(), EncoderLink::StartRecording(), TVRec::StartRecording(), PlaybackBox::stopPlaylistJobQueueJob(), Dvr::StopRecording(), ToMap(), toString(), Scheduler::TryAnotherShowing(), TVRec::TuningRestartRecorder(), Dvr::UnDeleteRecording(), Scheduler::UpdateNextRecord(), WaitToDelete(), and EncoderLink::WouldConflict().

◆ GetRecordingStartTime() [2/2]

QString ProgramInfo::GetRecordingStartTime ( MythDate::Format  fmt) const
inline

Approximate time the recording started (with formatting).

Definition at line 398 of file programinfo.h.

◆ GetRecordingEndTime() [1/2]

QDateTime ProgramInfo::GetRecordingEndTime ( void  ) const
inline

Approximate time the recording should have ended, did end, or is intended to end.

Definition at line 404 of file programinfo.h.

Referenced by Scheduler::AddNewRecords(), LiveTVChain::AppendNewProgram(), Scheduler::AssignGroupInput(), Scheduler::ChangeRecordingEnd(), comp_recstart(), CreateProgramInfoString(), PlaybackBox::CreateProgramInfoString(), MainServer::customEvent(), StatusBox::doAutoExpireList(), DoFlagCommercials(), MainServer::DoHandleDeleteRecording(), ScheduleCommon::EditRecording(), FillProgramInfo(), HttpStatus::FillProgramInfo(), Scheduler::FillRecordingDir(), Scheduler::FindNextConflict(), LiveTVChain::FinishedRecording(), TVRec::FinishedRecording(), FlagCommercials(), PreviewGeneratorQueue::GeneratePreviewImage(), TVRec::GetProgramRingBufferForLiveTV(), TVRec::GetRecordEndTime(), TVRec::HandlePendingRecordings(), MainServer::HandleQueryRecordings(), Scheduler::HandleRecording(), Scheduler::HandleReschedule(), ViewScheduled::LoadList(), LookupFromProgramInfo(), Scheduler::PrintList(), Scheduler::PrintRec(), Scheduler::PruneRedundants(), RunCCExtract(), Scheduler::SchedLiveTV(), PlayerContext::SetInitialTVState(), TVRec::SetLiveRecording(), PlayerContext::SetPseudoLiveTV(), RecorderBase::SetRecordingStatus(), MythPlayer::SetWatched(), ViewScheduleDiff::showStatus(), EncoderLink::StartRecording(), TVRec::StartRecording(), Transcode::TranscodeFile(), TVRec::TuningFrequency(), TVRec::TuningNewRecorder(), TVRec::TuningRestartRecorder(), and TVRec::TuningSignalCheck().

◆ GetRecordingEndTime() [2/2]

QString ProgramInfo::GetRecordingEndTime ( MythDate::Format  fmt) const
inline

Approximate time the recording should have ended, did end, or is intended to end (with formatting).

Definition at line 407 of file programinfo.h.

◆ GetRecordingGroup()

QString ProgramInfo::GetRecordingGroup ( void  ) const
inline

◆ GetPlaybackGroup()

QString ProgramInfo::GetPlaybackGroup ( void  ) const
inline

◆ GetHostname()

QString ProgramInfo::GetHostname ( void  ) const
inline

◆ GetStorageGroup()

QString ProgramInfo::GetStorageGroup ( void  ) const
inline

◆ GetYearOfInitialRelease()

uint ProgramInfo::GetYearOfInitialRelease ( void  ) const
inline

◆ GetOriginalAirDate()

QDate ProgramInfo::GetOriginalAirDate ( void  ) const
inline

◆ GetLastModifiedTime() [1/2]

QDateTime ProgramInfo::GetLastModifiedTime ( void  ) const
inline

◆ GetLastModifiedTime() [2/2]

QString ProgramInfo::GetLastModifiedTime ( MythDate::Format  fmt) const
inline

Definition at line 422 of file programinfo.h.

◆ GetFilesize()

uint64_t ProgramInfo::GetFilesize ( void  ) const
virtual

◆ GetSeriesID()

QString ProgramInfo::GetSeriesID ( void  ) const
inline

◆ GetProgramID()

QString ProgramInfo::GetProgramID ( void  ) const
inline

◆ GetInetRef()

QString ProgramInfo::GetInetRef ( void  ) const
inline

◆ GetCategoryType()

CategoryType ProgramInfo::GetCategoryType ( void  ) const
inline

◆ GetCategoryTypeString()

QString ProgramInfo::GetCategoryTypeString ( void  ) const

◆ GetRecordingPriority()

int ProgramInfo::GetRecordingPriority ( void  ) const
inline

◆ GetRecordingPriority2()

int ProgramInfo::GetRecordingPriority2 ( void  ) const
inline

◆ GetStars() [1/2]

float ProgramInfo::GetStars ( void  ) const
inline

◆ GetStars() [2/2]

uint ProgramInfo::GetStars ( uint  range_max) const
inline

Definition at line 435 of file programinfo.h.

◆ GetRecordingID()

uint ProgramInfo::GetRecordingID ( void  ) const
inline

◆ GetRecordingStatus()

RecStatus::Type ProgramInfo::GetRecordingStatus ( void  ) const
inline

Definition at line 439 of file programinfo.h.

Referenced by RecordingInfo::AddHistory(), Scheduler::AddNewRecords(), Scheduler::AddRecording(), Scheduler::AssignGroupInput(), Scheduler::BackupRecStatus(), DTVRecorder::BufferedWrite(), ScheduledRecording::BuildCheckRequest(), Scheduler::BuildListMaps(), Scheduler::BuildWorkList(), Scheduler::ChangeRecordingEnd(), comp_overlap(), comp_priority(), comp_recstart(), comp_redundant(), comp_retry(), StatusBox::doScheduleStatus(), ScheduleCommon::EditRecording(), PlaybackBox::extract_job_state(), extract_main_state(), ViewScheduleDiff::fillList(), ViewScheduled::FillList(), FillProgramInfo(), HttpStatus::FillProgramInfo(), GuideUpdateProgramRow::fillProgramRowInfosWith(), Scheduler::FillRecordingDir(), TVRec::FinishedRecording(), Scheduler::GetRecStatus(), Scheduler::HandleRecording(), Scheduler::HandleRecordingStatusChange(), Scheduler::HandleReschedule(), MainServer::HandleStopRecording(), DTVRecorder::HandleTimestamps(), ProgLister::HandleVisible(), Scheduler::IsBusyRecording(), ViewScheduled::LoadList(), ProgDetails::loadPage(), Scheduler::MarkShowingsList(), Scheduler::PrintRec(), Scheduler::PruneRedundants(), Scheduler::PutInactiveSlavesToSleep(), Recording(), RemoteGetCurrentlyRecordingList(), Scheduler::SchedNewRetryPass(), SendMythSystemRecEvent(), TVRec::SetLiveRecording(), RecorderBase::SetRecordingStatus(), PlaybackBox::ShowActionPopup(), ViewScheduleDiff::showStatus(), Scheduler::SlaveConnected(), Scheduler::SlaveDisconnected(), TVRec::StartRecording(), ToMap(), Scheduler::TryAnotherShowing(), TVRec::TuningShutdowns(), ProgramRecPriority::updateInfo(), ProgramRecPriority::UpdateList(), Scheduler::UpdateNextRecord(), Scheduler::UpdateRecStatus(), IdleScreen::UpdateScreen(), and ViewScheduleDiff::updateUIList().

◆ GetRecordingRuleID()

uint ProgramInfo::GetRecordingRuleID ( void  ) const
inline

Definition at line 441 of file programinfo.h.

Referenced by Scheduler::AddNewRecords(), Scheduler::AddRecording(), ScheduledRecording::BuildCheckRequest(), Scheduler::BuildListMaps(), Scheduler::ChangeRecordingEnd(), comp_overlap(), comp_priority(), comp_redundant(), comp_retry(), LookerUpper::CopyRuleInetrefsToRecordings(), ProgramRecPriority::deactivate(), GuideGrid::deleteRule(), ProgramRecPriority::edit(), ProgramRecPriority::FillList(), FillProgramInfo(), HttpStatus::FillProgramInfo(), GuessLookupType(), Scheduler::HandleRecordingStatusChange(), RecordingRule::LoadByProgram(), CustomEdit::loadData(), ViewScheduled::LoadList(), ProgDetails::loadPage(), ScheduleCommon::MakeOverride(), Scheduler::MarkOtherShowings(), TitleSort::operator()(), ProgramRecPrioritySort::operator()(), ProgramRecTypeSort::operator()(), ProgDetails::PowerPriorities(), Scheduler::PruneOverlaps(), Scheduler::PruneRedundants(), ScheduleCommon::QuickRecord(), ProgramRecPriority::remove(), ProgramRecPriority::RemoveItemFromList(), ProgramRecPriority::saveRecPriority(), Scheduler::SchedNewFirstPass(), ProgramRecPriority::scheduleChanged(), ScheduleEditor::ScheduleEditor(), ProgLister::ShowDeleteRuleMenu(), ProgLister::ShowMenu(), ScheduleCommon::ShowPrevious(), GuideGrid::ShowRecordingMenu(), ScheduleCommon::ShowUpcoming(), ScheduleCommon::ShowUpcomingScheduled(), TVRec::StartRecording(), Scheduler::TryAnotherShowing(), ProgramRecPriority::updateInfo(), ProgramRecPriority::UpdateList(), Scheduler::UpdateNextRecord(), and PlaybackBox::UpdateUILists().

◆ GetParentRecordingRuleID()

uint ProgramInfo::GetParentRecordingRuleID ( void  ) const
inline

◆ GetRecordingRuleType()

RecordingType ProgramInfo::GetRecordingRuleType ( void  ) const
inline

◆ GetDuplicateCheckSource()

RecordingDupInType ProgramInfo::GetDuplicateCheckSource ( void  ) const
inline

Where should we check for duplicates?

Definition at line 447 of file programinfo.h.

Referenced by Scheduler::AddNewRecords(), FillProgramInfo(), and HttpStatus::FillProgramInfo().

◆ GetDuplicateCheckMethod()

RecordingDupMethodType ProgramInfo::GetDuplicateCheckMethod ( void  ) const
inline

What should be compared to determine if two programs are the same?

Definition at line 451 of file programinfo.h.

Referenced by Scheduler::AddNewRecords(), ScheduleCommon::EditRecording(), FillProgramInfo(), and HttpStatus::FillProgramInfo().

◆ GetSourceID()

uint ProgramInfo::GetSourceID ( void  ) const
inline

◆ GetInputID()

uint ProgramInfo::GetInputID ( void  ) const
inline

◆ GetInputName()

QString ProgramInfo::GetInputName ( void  ) const
inline

◆ GetShortInputName()

QString ProgramInfo::GetShortInputName ( void  ) const
inline

Definition at line 457 of file programinfo.h.

Referenced by Scheduler::PrintRec(), and ToMap().

◆ ClearInputName()

void ProgramInfo::ClearInputName ( void  )
inline

Definition at line 460 of file programinfo.h.

Referenced by Scheduler::PruneRedundants().

◆ GetFindID()

uint ProgramInfo::GetFindID ( void  ) const
inline

◆ GetProgramFlags()

uint32_t ProgramInfo::GetProgramFlags ( void  ) const
inline

◆ GetProgramInfoType()

ProgramInfoType ProgramInfo::GetProgramInfoType ( void  ) const
inline

Definition at line 465 of file programinfo.h.

Referenced by ToMap().

◆ GetBookmarkUpdate()

QDateTime ProgramInfo::GetBookmarkUpdate ( void  ) const
inline

Definition at line 467 of file programinfo.h.

Referenced by PreviewGeneratorQueue::GeneratePreviewImage().

◆ IsGeneric()

bool ProgramInfo::IsGeneric ( void  ) const

Definition at line 1837 of file programinfo.cpp.

Referenced by RecordingInfo::AddHistory(), and ScheduleCommon::EditRecording().

◆ IsInUsePlaying()

bool ProgramInfo::IsInUsePlaying ( void  ) const
inline

Definition at line 469 of file programinfo.h.

Referenced by PlaybackBox::SetItemIcons().

◆ IsCommercialFree()

bool ProgramInfo::IsCommercialFree ( void  ) const
inline

◆ HasCutlist()

bool ProgramInfo::HasCutlist ( void  ) const
inline

◆ IsBookmarkSet()

bool ProgramInfo::IsBookmarkSet ( void  ) const
inline

◆ IsWatched()

bool ProgramInfo::IsWatched ( void  ) const
inline

◆ IsAutoExpirable()

bool ProgramInfo::IsAutoExpirable ( void  ) const
inline

◆ IsPreserved()

bool ProgramInfo::IsPreserved ( void  ) const
inline

◆ IsVideo()

bool ProgramInfo::IsVideo ( void  ) const
inline

◆ IsRecording()

bool ProgramInfo::IsRecording ( void  ) const
inline

◆ IsRepeat()

bool ProgramInfo::IsRepeat ( void  ) const
inline

◆ IsDuplicate()

bool ProgramInfo::IsDuplicate ( void  ) const
inline

◆ IsReactivated()

bool ProgramInfo::IsReactivated ( void  ) const
inline

◆ IsDeletePending()

bool ProgramInfo::IsDeletePending ( void  ) const
inline

Definition at line 481 of file programinfo.h.

Referenced by Dvr::GetRecordedList(), and PlaybackBox::UpdateUILists().

◆ GetSubtitleType()

uint ProgramInfo::GetSubtitleType ( void  ) const
inline

◆ GetVideoProperties()

uint ProgramInfo::GetVideoProperties ( void  ) const
inline

◆ GetAudioProperties()

uint ProgramInfo::GetAudioProperties ( void  ) const
inline

◆ toString()

QString ProgramInfo::toString ( Verbosity  v = kLongDescription,
const QString &  sep = ":",
const QString &  grp = "\"" 
) const

◆ SetTitle()

void ProgramInfo::SetTitle ( const QString &  t,
const QString &  st = nullptr 
)

◆ SetSubtitle()

void ProgramInfo::SetSubtitle ( const QString &  st,
const QString &  sst = nullptr 
)

Definition at line 1156 of file programinfo.cpp.

Referenced by ProgramRecPriority::scheduleChanged().

◆ SetProgramInfoType()

void ProgramInfo::SetProgramInfoType ( ProgramInfoType  t)
inline

Definition at line 504 of file programinfo.h.

Referenced by internal_play_media(), and SetPathname().

◆ SetPathname()

void ProgramInfo::SetPathname ( const QString &  pn) const

◆ SetChanID()

void ProgramInfo::SetChanID ( uint  _chanid)
inline

◆ SetScheduledStartTime()

void ProgramInfo::SetScheduledStartTime ( const QDateTime &  dt)
inline

Definition at line 508 of file programinfo.h.

Referenced by RecordingInfo::ApplyNeverRecord().

◆ SetScheduledEndTime()

void ProgramInfo::SetScheduledEndTime ( const QDateTime &  dt)
inline

◆ SetRecordingStartTime()

void ProgramInfo::SetRecordingStartTime ( const QDateTime &  dt)
inline

◆ SetRecordingEndTime()

void ProgramInfo::SetRecordingEndTime ( const QDateTime &  dt)
inline

◆ SetRecordingGroup()

void ProgramInfo::SetRecordingGroup ( const QString &  group)
inline

◆ SetPlaybackGroup()

void ProgramInfo::SetPlaybackGroup ( const QString &  group)
inline

Definition at line 513 of file programinfo.h.

◆ SetHostname()

void ProgramInfo::SetHostname ( const QString &  host)
inline

Definition at line 514 of file programinfo.h.

Referenced by AutoExpire::ExpireRecordings().

◆ SetStorageGroup()

void ProgramInfo::SetStorageGroup ( const QString &  group)
inline

Definition at line 515 of file programinfo.h.

Referenced by TVRec::GetProgramRingBufferForLiveTV().

◆ SetFilesize()

void ProgramInfo::SetFilesize ( uint64_t  sz)
virtual

◆ SetSeriesID()

void ProgramInfo::SetSeriesID ( const QString &  id)
inline

TODO Move to RecordingInfo.

Definition at line 517 of file programinfo.h.

◆ SetProgramID()

void ProgramInfo::SetProgramID ( const QString &  id)
inline

◆ SetCategory()

void ProgramInfo::SetCategory ( const QString &  cat)
inline

Definition at line 519 of file programinfo.h.

Referenced by ProgramRecPriority::scheduleChanged().

◆ SetCategoryType()

void ProgramInfo::SetCategoryType ( const CategoryType  type)
inline

Definition at line 520 of file programinfo.h.

◆ SetRecordingPriority()

void ProgramInfo::SetRecordingPriority ( int  priority)
inline

Definition at line 521 of file programinfo.h.

Referenced by ProgramRecPriority::scheduleChanged().

◆ SetRecordingPriority2()

void ProgramInfo::SetRecordingPriority2 ( int  priority)
inline

◆ SetRecordingRuleID()

void ProgramInfo::SetRecordingRuleID ( uint  id)
inline

◆ SetSourceID()

void ProgramInfo::SetSourceID ( uint  id)
inline

Definition at line 524 of file programinfo.h.

Referenced by Scheduler::PruneRedundants().

◆ SetInputID()

void ProgramInfo::SetInputID ( uint  id)
inline

◆ SetReactivated()

void ProgramInfo::SetReactivated ( bool  reactivate)
inline

Definition at line 526 of file programinfo.h.

Referenced by RecordingInfo::AddHistory().

◆ SetEditing()

void ProgramInfo::SetEditing ( bool  editing)
inline

◆ SetFlagging()

void ProgramInfo::SetFlagging ( bool  flagging)
inline

◆ SetIgnoreBookmark()

void ProgramInfo::SetIgnoreBookmark ( bool  ignore)
inline

If "ignore" is true GetBookmark() will return 0, otherwise GetBookmark() will return the bookmark position if it exists.

Definition at line 543 of file programinfo.h.

Referenced by MythPlayer::EventStart(), and TV::StartTV().

◆ SetIgnoreProgStart()

void ProgramInfo::SetIgnoreProgStart ( bool  ignore)
inline

If "ignore" is true QueryProgStart() will return 0, otherwise QueryProgStart() will return the progstart position if it exists.

Definition at line 550 of file programinfo.h.

Referenced by MythPlayer::EventStart(), PreviewGenerator::LocalPreviewRun(), and TV::StartTV().

◆ SetAllowLastPlayPos()

void ProgramInfo::SetAllowLastPlayPos ( bool  allow)
inline

If "ignore" is true QueryLastPlayPos() will return 0, otherwise QueryLastPlayPos() will return the last playback position if it exists.

Definition at line 558 of file programinfo.h.

Referenced by MythPlayer::EventStart(), PreviewGenerator::LocalPreviewRun(), and TV::StartTV().

◆ SetRecordingID()

virtual void ProgramInfo::SetRecordingID ( uint  _recordedid)
inlinevirtual

Reimplemented in RecordingInfo.

Definition at line 563 of file programinfo.h.

Referenced by PlaybackSock::StartRecording(), and TVRec::StartRecording().

◆ SetRecordingStatus()

void ProgramInfo::SetRecordingStatus ( RecStatus::Type  status)
inline

◆ SetRecordingRuleType()

void ProgramInfo::SetRecordingRuleType ( RecordingType  type)
inline

◆ SetPositionMapDBReplacement()

void ProgramInfo::SetPositionMapDBReplacement ( PMapDBReplacement pmap)
inline

Definition at line 567 of file programinfo.h.

◆ QueryBasename()

QString ProgramInfo::QueryBasename ( void  ) const

Gets the basename, from the DB if necessary.

If the base part of pathname is not empty this will return that value otherwise this queries the recorded table in the DB for the basename stored there for this ProgramInfo's recordedid

Definition at line 2423 of file programinfo.cpp.

Referenced by CompleteJob(), and GetPlaybackURL().

◆ QueryMplexID()

uint ProgramInfo::QueryMplexID ( void  ) const

Queries multiplex any recording would be made on, zero if unknown.

Definition at line 2559 of file programinfo.cpp.

Referenced by Scheduler::AddRecording(), Scheduler::SchedLiveTV(), Scheduler::SlaveConnected(), and TVRec::StartRecording().

◆ QueryBookmarkTimeStamp()

QDateTime ProgramInfo::QueryBookmarkTimeStamp ( void  ) const

Queries Latest bookmark timestamp from the database.

If the timestamp has not been set this returns an invalid QDateTime.

Definition at line 2637 of file programinfo.cpp.

◆ QueryBookmark() [1/2]

uint64_t ProgramInfo::QueryBookmark ( void  ) const

Gets any bookmark position in database, unless the ignore bookmark flag is set.

Returns
Bookmark position in frames if the query is executed and succeeds, zero otherwise.

Definition at line 2664 of file programinfo.cpp.

Referenced by Dvr::GetSavedBookmark(), MainServer::HandleBookmarkQuery(), internal_play_media(), and PreviewGenerator::LocalPreviewRun().

◆ QueryProgStart()

uint64_t ProgramInfo::QueryProgStart ( void  ) const

Gets any progstart position in database, unless the ignore progstart flag is set.

Returns
Progstart position in frames if the query is executed and succeeds, zero otherwise.

Definition at line 2691 of file programinfo.cpp.

◆ QueryLastPlayPos()

uint64_t ProgramInfo::QueryLastPlayPos ( void  ) const

Gets any lastplaypos position in database, unless the ignore lastplaypos flag is set.

Returns
LastPlayPos position in frames if the query is executed and succeeds, zero otherwise.

Definition at line 2708 of file programinfo.cpp.

Referenced by PlaybackBox::createPlayFromMenu(), and PlaybackBox::ShowActionPopup().

◆ QueryCategoryType()

ProgramInfo::CategoryType ProgramInfo::QueryCategoryType ( void  ) const

Queries recordedprogram to get the category_type of the recording.

Returns
string category_type

Definition at line 2865 of file programinfo.cpp.

Referenced by GuessLookupType().

◆ QueryDVDBookmark()

QStringList ProgramInfo::QueryDVDBookmark ( const QString &  serialid) const

Queries "dvdbookmark" table for bookmarking DVD serial number.

Deletes old dvd bookmarks if "delbookmark" is set.

Returns
list containing title, audio track, subtitle, framenum

Definition at line 2724 of file programinfo.cpp.

Referenced by MythDVDPlayer::GetBookmark(), and internal_play_media().

◆ QueryBDBookmark()

QStringList ProgramInfo::QueryBDBookmark ( const QString &  serialid) const

Queries "bdbookmark" table for bookmarking BD serial number.

Returns
BD state string

Definition at line 2801 of file programinfo.cpp.

Referenced by MythBDPlayer::GetBookmark(), and internal_play_media().

◆ QueryIsEditing()

bool ProgramInfo::QueryIsEditing ( void  ) const

Queries "recorded" table for its "editing" field and returns true if it is set to true.

Returns
true if we have started, but not finished, editing.

Definition at line 2940 of file programinfo.cpp.

Referenced by DeleteMap::IsFileEditing(), TV::StartProgramEditMode(), and Transcode::TranscodeFile().

◆ QueryIsInUse() [1/2]

bool ProgramInfo::QueryIsInUse ( QStringList &  byWho) const

Returns true if Program is in use.

This is determined by the inuseprograms table which is updated automatically by NuppelVideoPlayer.

Definition at line 3019 of file programinfo.cpp.

Referenced by PlaybackBox::deleteSelected(), QueryIsDeleteCandidate(), QueryIsInUse(), PlaybackBox::ShowAvailabilityPopup(), and TV::ShowOSDPromptDeleteRecording().

◆ QueryIsInUse() [2/2]

bool ProgramInfo::QueryIsInUse ( QString &  byWho) const

Returns true if Program is in use.

This is determined by the inuseprograms table which is updated automatically by NuppelVideoPlayer.

Definition at line 3081 of file programinfo.cpp.

◆ QueryIsDeleteCandidate()

bool ProgramInfo::QueryIsDeleteCandidate ( bool  one_playback_allowed = false) const

Returns true iff this is a recording, it is not in use (except by the recorder), and at most one player iff one_playback_allowed is set.

Parameters
one_playback_allowediff true still returns true if there is one playback in progress and all other checks pass.

Definition at line 3098 of file programinfo.cpp.

Referenced by StatusBox::customEvent(), PlaybackBox::deleteSelected(), TV::IsDeleteAllowed(), PlaybackBox::PlaylistDelete(), PlaybackBox::RemoveProgram(), and TV::ShowOSDPromptDeleteRecording().

◆ QueryAutoExpire()

AutoExpireType ProgramInfo::QueryAutoExpire ( void  ) const

Returns "autoexpire" field from "recorded" table.

Definition at line 3285 of file programinfo.cpp.

Referenced by TV::IsBookmarkAllowed(), MythPlayer::OpenFile(), TV::PlaybackMenuInit(), TV::QuickRecord(), PlaybackBox::ShowDeletePopup(), and TV::ToggleAutoExpire().

◆ QueryTranscodeStatus()

TranscodingStatus ProgramInfo::QueryTranscodeStatus ( void  ) const

Returns the "transcoded" field in "recorded" table.

Definition at line 3131 of file programinfo.cpp.

Referenced by MythPlayer::SetWatched().

◆ QueryTuningInfo()

bool ProgramInfo::QueryTuningInfo ( QString &  channum,
QString &  input 
) const

Returns the channel and input needed to record the program.

Note
Ideally this would return a the chanid & input, since we do not enforce a uniqueness constraint on channum in the DB.
Returns
true on success, false on failure

Definition at line 5069 of file programinfo.cpp.

Referenced by TVRec::IsBusy(), and TVRec::TuningGetChanNum().

◆ QueryInputDisplayName()

QString ProgramInfo::QueryInputDisplayName ( void  ) const

◆ QueryAverageWidth()

uint ProgramInfo::QueryAverageWidth ( void  ) const

If present in recording this loads average width of the main video stream from database's stream markup table.

Note
Saves loaded value for future reference by GetWidth().

Definition at line 4274 of file programinfo.cpp.

Referenced by doUpgradeTVDatabaseSchema(), and RecorderBase::FinishRecording().

◆ QueryAverageHeight()

uint ProgramInfo::QueryAverageHeight ( void  ) const

If present in recording this loads average height of the main video stream from database's stream markup table.

Note
Saves loaded value for future reference by GetHeight().

Definition at line 4265 of file programinfo.cpp.

Referenced by doUpgradeTVDatabaseSchema(), TVRec::FinishedRecording(), and RecorderBase::FinishRecording().

◆ QueryAverageFrameRate()

uint ProgramInfo::QueryAverageFrameRate ( void  ) const

If present in recording this loads average frame rate of the main video stream from database's stream markup table.

Note
Saves loaded value for future reference by GetFrameRate().

Definition at line 4283 of file programinfo.cpp.

Referenced by doUpgradeTVDatabaseSchema(), and RecorderBase::FinishRecording().

◆ QueryAverageAspectRatio()

MarkTypes ProgramInfo::QueryAverageAspectRatio ( void  ) const

◆ QueryTotalDuration()

uint32_t ProgramInfo::QueryTotalDuration ( void  ) const

If present this loads the total duration in milliseconds of the main video stream from recordedmarkup table in the database.

Returns
Duration in milliseconds

Definition at line 4338 of file programinfo.cpp.

Referenced by UPnpCDSTv::LoadRecordings(), and AvFormatDecoder::OpenFile().

◆ QueryTotalFrames()

int64_t ProgramInfo::QueryTotalFrames ( void  ) const

If present in recording this loads total frames of the main video stream from database's stream markup table.

Definition at line 4358 of file programinfo.cpp.

◆ QueryRecordingGroup()

QString ProgramInfo::QueryRecordingGroup ( void  ) const

Query recgroup from recorded.

Definition at line 4783 of file programinfo.cpp.

Referenced by TVRec::CheckForRecGroupChange(), and TVRec::FinishedRecording().

◆ QueryMarkupFlag()

bool ProgramInfo::QueryMarkupFlag ( MarkTypes  type) const

Returns true iff the speficied mark type is set on frame 0.

Definition at line 3583 of file programinfo.cpp.

Referenced by Transcode::TranscodeFile().

◆ QueryTranscoderID()

uint ProgramInfo::QueryTranscoderID ( void  ) const

Definition at line 4799 of file programinfo.cpp.

Referenced by JobQueue::DoTranscodeThread(), and JobQueue::GetJobCommand().

◆ QueryLastFrameInPosMap()

uint64_t ProgramInfo::QueryLastFrameInPosMap ( void  ) const

Returns last frame in position map or 0.

Definition at line 1817 of file programinfo.cpp.

Referenced by GetMarkupList().

◆ Reload()

bool ProgramInfo::Reload ( void  )

Definition at line 1883 of file programinfo.cpp.

Referenced by JobQueue::DoTranscodeThread().

◆ SaveFilesize()

void ProgramInfo::SaveFilesize ( uint64_t  fsize)
virtual

Sets recording file size in database, and sets "filesize" field.

Reimplemented in RecordingInfo.

Definition at line 6104 of file programinfo.cpp.

Referenced by CompleteJob(), JobQueue::DoTranscodeThread(), MainServer::HandleQueryRecordings(), RecordingInfo::SaveFilesize(), and UpdateFileSize().

◆ SaveBookmark()

void ProgramInfo::SaveBookmark ( uint64_t  frame)

TODO Move to RecordingInfo.

Clears any existing bookmark in DB and if frame is greater than 0 sets a new bookmark.

Definition at line 2584 of file programinfo.cpp.

Referenced by PlaybackBox::ClearBookmark(), CompleteJob(), MainServer::HandleSetBookmark(), MythPlayer::SetBookmark(), and Dvr::SetSavedBookmark().

◆ SaveDVDBookmark()

void ProgramInfo::SaveDVDBookmark ( const QStringList &  fields) const

Definition at line 2757 of file programinfo.cpp.

Referenced by MythDVDPlayer::SetBookmark().

◆ SaveBDBookmark()

void ProgramInfo::SaveBDBookmark ( const QStringList &  fields) const

Definition at line 2819 of file programinfo.cpp.

Referenced by MythBDPlayer::SetBookmark().

◆ SaveEditing()

void ProgramInfo::SaveEditing ( bool  edit)

Sets "editing" field in "recorded" table to "edit".

Parameters
editEditing state to set.

Definition at line 2966 of file programinfo.cpp.

Referenced by MythPlayer::DisableEdit(), MythPlayer::EnableEdit(), and TV::HandleOSDAlreadyEditing().

◆ SaveTranscodeStatus()

void ProgramInfo::SaveTranscodeStatus ( TranscodingStatus  trans)

Set "transcoded" field in "recorded" table to "trans".

Note
Also sets the FL_TRANSCODED flag if the status is TRASCODING_COMPLETE and clears it otherwise.
Parameters
transvalue to set transcoded field to.

Definition at line 3151 of file programinfo.cpp.

Referenced by JobQueue::DoTranscodeThread().

◆ SaveWatched()

void ProgramInfo::SaveWatched ( bool  watchedFlag)

Set "watched" field in recorded/videometadata to "watchedFlag".

Definition at line 2888 of file programinfo.cpp.

Referenced by PlaybackBox::doPlaylistWatchedSetting(), MythPlayer::SetWatched(), PlaybackBox::toggleWatched(), and Dvr::UpdateRecordedWatchedStatus().

◆ SaveDeletePendingFlag()

void ProgramInfo::SaveDeletePendingFlag ( bool  deleteFlag)

Set "deletepending" field in "recorded" table to "deleteFlag".

Parameters
deleteFlagvalue to set delete pending field to.

Definition at line 2991 of file programinfo.cpp.

Referenced by MainServer::DoDeleteThread(), and MainServer::DoHandleDeleteRecording().

◆ SaveCommFlagged()

void ProgramInfo::SaveCommFlagged ( CommFlagStatus  flag)

Set "commflagged" field in "recorded" table to "flag".

Parameters
flagvalue to set commercial flagging field to.

Definition at line 3174 of file programinfo.cpp.

Referenced by CompleteJob(), DoFlagCommercials(), and TVRec::StartedRecording().

◆ SaveAutoExpire()

void ProgramInfo::SaveAutoExpire ( AutoExpireType  autoExpire,
bool  updateDelete = false 
)

Set "autoexpire" field in "recorded" table to "autoExpire".

Parameters
autoExpirevalue to set auto expire field to.
updateDeleteiff true, call UpdateLastDelete(true)

Definition at line 3227 of file programinfo.cpp.

Referenced by TVRec::CreateLiveTVRingBuffer(), StatusBox::customEvent(), MainServer::DoHandleDeleteRecording(), MainServer::DoHandleUndeleteRecording(), PlaybackBox::doPlaylistExpireSetting(), TV::QuickRecord(), PlaybackBox::setRecGroup(), TVRec::SwitchLiveTVRingBuffer(), PlaybackBox::toggleAutoExpire(), TV::ToggleAutoExpire(), and TVRec::TuningRestartRecorder().

◆ SavePreserve()

void ProgramInfo::SavePreserve ( bool  preserveEpisode)

Set "preserve" field in "recorded" table to "preserveEpisode".

Parameters
preserveEpisodevalue to set preserve field to.

Definition at line 3200 of file programinfo.cpp.

Referenced by PlaybackBox::togglePreserveEpisode().

◆ SaveBasename()

bool ProgramInfo::SaveBasename ( const QString &  basename)

Sets a recording's basename in the database.

Definition at line 2383 of file programinfo.cpp.

Referenced by CompleteJob().

◆ SaveAspect()

void ProgramInfo::SaveAspect ( uint64_t  frame,
MarkTypes  type,
uint  customAspect 
)

Store aspect ratio of a frame in the recordedmark table.

Note
All frames until the next one with a stored aspect ratio are assumed to have the same aspect ratio

Definition at line 4072 of file programinfo.cpp.

Referenced by RecorderBase::AspectChange().

◆ SaveResolution()

void ProgramInfo::SaveResolution ( uint64_t  frame,
uint  width,
uint  height 
)

Store the Resolution at frame in the recordedmarkup table.

Note
All frames until the next one with a stored resolution are assumed to have the same resolution

Definition at line 4191 of file programinfo.cpp.

Referenced by RecorderBase::ResolutionChange().

◆ SaveFrameRate()

void ProgramInfo::SaveFrameRate ( uint64_t  frame,
uint  framerate 
)

Store the Frame Rate at frame in the recordedmarkup table.

Note
All frames until the next one with a stored frame rate are assumed to have the same frame rate

Definition at line 4102 of file programinfo.cpp.

Referenced by RecorderBase::FrameRateChange().

◆ SaveTotalDuration()

void ProgramInfo::SaveTotalDuration ( int64_t  duration)

Store the Total Duration at frame 0 in the recordedmarkup table.

Definition at line 4125 of file programinfo.cpp.

Referenced by RecordingInfo::FinishedRecording(), DecoderBase::SaveTotalDuration(), and RecorderBase::SetDuration().

◆ SaveTotalFrames()

void ProgramInfo::SaveTotalFrames ( int64_t  frames)

Store the Total Frames at frame 0 in the recordedmarkup table.

Definition at line 4157 of file programinfo.cpp.

Referenced by DecoderBase::SaveTotalFrames(), and RecorderBase::SetTotalFrames().

◆ SaveVideoProperties()

void ProgramInfo::SaveVideoProperties ( uint  mask,
uint  video_property_flags 
)

◆ SaveMarkupFlag()

void ProgramInfo::SaveMarkupFlag ( MarkTypes  type) const

Clears the specified flag, then if sets it.

Definition at line 3593 of file programinfo.cpp.

Referenced by DoFlagCommercials(), and DeleteMap::SaveMap().

◆ ClearMarkupFlag()

void ProgramInfo::ClearMarkupFlag ( MarkTypes  type) const
inline

Definition at line 621 of file programinfo.h.

Referenced by ClearBookmarks(), ClearSeekTable(), and Transcode::TranscodeFile().

◆ UpdateLastDelete()

void ProgramInfo::UpdateLastDelete ( bool  setTime) const

Set or unset the record.last_delete field.

Parameters
setTimeto set or clear the time stamp.

Definition at line 3253 of file programinfo.cpp.

Referenced by MainServer::DoHandleUndeleteRecording(), PlaybackBox::RemoveProgram(), SaveAutoExpire(), SavePreserve(), and SaveWatched().

◆ MarkAsInUse()

void ProgramInfo::MarkAsInUse ( bool  inuse,
const QString &  usedFor = "" 
)

◆ UpdateInUseMark()

void ProgramInfo::UpdateInUseMark ( bool  force = false)

◆ SaveSeasonEpisode()

void ProgramInfo::SaveSeasonEpisode ( uint  seas,
uint  ep 
)

Definition at line 4700 of file programinfo.cpp.

Referenced by LookerUpper::customEvent(), and PlaybackBox::saveRecMetadata().

◆ SaveInetRef()

void ProgramInfo::SaveInetRef ( const QString &  inet)

◆ DiscoverRecordingDirectory()

QString ProgramInfo::DiscoverRecordingDirectory ( void  ) const
Note
This method sometimes initiates a QUERY_CHECKFILE MythProto call and so should not be called from the UI thread.

Definition at line 4819 of file programinfo.cpp.

Referenced by Scheduler::FillRecordingDir(), and MarkAsInUse().

◆ GetPlaybackURL()

QString ProgramInfo::GetPlaybackURL ( bool  checkMaster = false,
bool  forceCheckLocal = false 
) const

Returns filename or URL to be used to play back this recording.

If the file is accessible locally, the filename will be returned, otherwise a myth:// URL will be returned.

Note
This method sometimes initiates a QUERY_CHECKFILE MythProto call and so should not be called from the UI thread.

Definition at line 2461 of file programinfo.cpp.

Referenced by CheckRecordings(), CompleteJob(), commDetector2::debugDirectory(), DiscoverRecordingDirectory(), JobQueue::DoFlagCommercialsThread(), JobQueue::DoTranscodeThread(), get_filename(), GetPlaybackURL(), getProgramInfoForFile(), TV::HandleStateChange(), internal_play_media(), IsFileReadable(), MythPlayer::JumpToProgram(), main(), MarkAsInUse(), RecordingSelector::OKPressed(), preview_helper(), JobQueue::ProcessJob(), PlaybackBox::processNetworkControlCommand(), RunCCExtract(), SubstituteMatches(), TV::SwitchInputs(), MythPlayer::SwitchToProgram(), and RecordingSelector::updateSelectedList().

◆ DiscoverProgramInfoType()

ProgramInfoType ProgramInfo::DiscoverProgramInfoType ( void  ) const

Definition at line 2361 of file programinfo.cpp.

Referenced by internal_play_media().

◆ QueryCutList()

bool ProgramInfo::QueryCutList ( frm_dir_map_t delMap,
bool  loadAutosave = false 
) const

◆ SaveCutList()

void ProgramInfo::SaveCutList ( frm_dir_map_t delMap,
bool  isAutoSave = false 
) const

◆ QueryCommBreakList()

void ProgramInfo::QueryCommBreakList ( frm_dir_map_t frames) const

◆ SaveCommBreakList()

void ProgramInfo::SaveCommBreakList ( frm_dir_map_t frames) const

Definition at line 3380 of file programinfo.cpp.

Referenced by ClearSkipList(), DoFlagCommercials(), and SetMarkupList().

◆ QueryPositionMap()

void ProgramInfo::QueryPositionMap ( frm_pos_map_t posMap,
MarkTypes  type 
) const

◆ ClearPositionMap()

void ProgramInfo::ClearPositionMap ( MarkTypes  type) const

◆ SavePositionMap()

void ProgramInfo::SavePositionMap ( frm_pos_map_t posMap,
MarkTypes  type,
int64_t  min_frame = -1,
int64_t  max_frame = -1 
) const

Definition at line 3685 of file programinfo.cpp.

Referenced by UpdatePositionMap().

◆ SavePositionMapDelta()

void ProgramInfo::SavePositionMapDelta ( frm_pos_map_t posMap,
MarkTypes  type 
) const

◆ QueryKeyFrameInfo()

bool ProgramInfo::QueryKeyFrameInfo ( uint64_t *  result,
uint64_t  position_or_keyframe,
bool  backwards,
MarkTypes  type,
const char *  from_filemarkup_asc,
const char *  from_filemarkup_desc,
const char *  from_recordedseek_asc,
const char *  from_recordedseek_desc 
) const

◆ QueryKeyFramePosition()

bool ProgramInfo::QueryKeyFramePosition ( uint64_t *  position,
uint64_t  keyframe,
bool  backwards 
) const

Definition at line 4041 of file programinfo.cpp.

Referenced by FillCommBreak(), FillCutList(), and Dvr::GetSavedBookmark().

◆ QueryPositionKeyFrame()

bool ProgramInfo::QueryPositionKeyFrame ( uint64_t *  keyframe,
uint64_t  position,
bool  backwards 
) const

Definition at line 4032 of file programinfo.cpp.

Referenced by Dvr::SetSavedBookmark().

◆ QueryKeyFrameDuration()

bool ProgramInfo::QueryKeyFrameDuration ( uint64_t *  duration,
uint64_t  keyframe,
bool  backwards 
) const

Definition at line 4059 of file programinfo.cpp.

Referenced by FillCommBreak(), FillCutList(), and Dvr::GetSavedBookmark().

◆ QueryDurationKeyFrame()

bool ProgramInfo::QueryDurationKeyFrame ( uint64_t *  keyframe,
uint64_t  duration,
bool  backwards 
) const

Definition at line 4050 of file programinfo.cpp.

Referenced by Dvr::SetSavedBookmark().

◆ QueryMarkup()

void ProgramInfo::QueryMarkup ( QVector< MarkupEntry > &  mapMark,
QVector< MarkupEntry > &  mapSeek 
) const

Definition at line 4364 of file programinfo.cpp.

Referenced by GetMarkup().

◆ SaveMarkup()

void ProgramInfo::SaveMarkup ( const QVector< MarkupEntry > &  mapMark,
const QVector< MarkupEntry > &  mapSeek 
) const

Definition at line 4445 of file programinfo.cpp.

Referenced by SetMarkup().

◆ SendUpdateEvent()

void ProgramInfo::SendUpdateEvent ( void  )

◆ SendAddedEvent()

void ProgramInfo::SendAddedEvent ( void  ) const

Sends event out that the ProgramInfo should be added to lists.

Definition at line 2624 of file programinfo.cpp.

Referenced by SaveDeletePendingFlag(), and RecordingInfo::StartedRecording().

◆ SendDeletedEvent()

void ProgramInfo::SendDeletedEvent ( void  ) const

Sends event out that the ProgramInfo should be delete from lists.

Definition at line 2629 of file programinfo.cpp.

Referenced by MainServer::DoHandleDeleteRecording().

◆ i18n()

QString ProgramInfo::i18n ( const QString &  msg)
static

◆ MakeUniqueKey() [2/2]

QString ProgramInfo::MakeUniqueKey ( uint  chanid,
const QDateTime &  recstartts 
)
static

Creates a unique string that can be used to identify a recording.

Definition at line 1164 of file programinfo.cpp.

◆ ExtractKey()

bool ProgramInfo::ExtractKey ( const QString &  uniquekey,
uint chanid,
QDateTime &  recstartts 
)
static

Extracts chanid and recstartts from a unique key generated by MakeUniqueKey().

Returns
true iff a valid chanid and recstartts have been extracted.

Definition at line 1173 of file programinfo.cpp.

Referenced by TV::customEvent(), and incomingCustomEvent().

◆ ExtractKeyFromPathname()

bool ProgramInfo::ExtractKeyFromPathname ( const QString &  pathname,
uint chanid,
QDateTime &  recstartts 
)
static

Definition at line 1184 of file programinfo.cpp.

Referenced by QueryKeyFromPathname().

◆ QueryKeyFromPathname()

bool ProgramInfo::QueryKeyFromPathname ( const QString &  pathname,
uint chanid,
QDateTime &  recstartts 
)
static

Definition at line 1206 of file programinfo.cpp.

Referenced by preview_helper(), and ProgramInfo().

◆ QueryRecordedIdFromPathname()

bool ProgramInfo::QueryRecordedIdFromPathname ( const QString &  pathname,
uint recordedid 
)
static

Definition at line 1229 of file programinfo.cpp.

Referenced by Dvr::RecordedIdForPathname().

◆ QueryRecordingGroupPassword()

QString ProgramInfo::QueryRecordingGroupPassword ( const QString &  group)
static

Definition at line 4766 of file programinfo.cpp.

◆ QueryBookmark() [2/2]

uint64_t ProgramInfo::QueryBookmark ( uint  chanid,
const QDateTime &  recstartts 
)
static

Definition at line 2675 of file programinfo.cpp.

◆ QueryInUseMap()

QMap< QString, uint32_t > ProgramInfo::QueryInUseMap ( void  )
static

◆ QueryJobsRunning()

QMap< QString, bool > ProgramInfo::QueryJobsRunning ( int  type)
static

◆ LoadFromScheduler()

QStringList ProgramInfo::LoadFromScheduler ( const QString &  tmptable,
int  recordid 
)
static

◆ QueryMarkupMap() [1/3]

void ProgramInfo::QueryMarkupMap ( frm_dir_map_t marks,
MarkTypes  type,
bool  merge = false 
) const

◆ SaveMarkupMap()

void ProgramInfo::SaveMarkupMap ( const frm_dir_map_t marks,
MarkTypes  type = MARK_ALL,
int64_t  min_frame = -1,
int64_t  max_frame = -1 
) const

◆ ClearMarkupMap()

void ProgramInfo::ClearMarkupMap ( MarkTypes  type = MARK_ALL,
int64_t  min_frame = -1,
int64_t  max_frame = -1 
) const

◆ CreateRecordBasename()

QString ProgramInfo::CreateRecordBasename ( const QString &  ext) const
protected

Returns a filename for a recording based on the recording channel and date.

Definition at line 2307 of file programinfo.cpp.

Referenced by RecordingInfo::StartedRecording().

◆ LoadProgramFromRecorded()

bool ProgramInfo::LoadProgramFromRecorded ( const uint  _chanid,
const QDateTime &  _recstartts 
)
protected

Loads ProgramInfo for an existing recording.

Returns
true iff sucessful

Definition at line 1897 of file programinfo.cpp.

Referenced by ProgramInfo().

◆ FromStringList()

bool ProgramInfo::FromStringList ( QStringList::const_iterator &  it,
const QStringList::const_iterator &  end 
)
protected

Uses a QStringList to initialize this ProgramInfo instance.

Parameters
itIterator pointing to first item in list to treat as beginning of serialized ProgramInfo.
endIterator that will stop parsing of the ProgramInfo
Returns
true if it succeeds, false if it fails.
See also
FromStringList(const QStringList&,uint) ToStringList(QStringList&) const

Definition at line 1389 of file programinfo.cpp.

◆ QueryMarkupMap() [2/3]

void ProgramInfo::QueryMarkupMap ( const QString &  video_pathname,
frm_dir_map_t marks,
MarkTypes  type,
bool  merge = false 
)
staticprotected

Definition at line 3519 of file programinfo.cpp.

◆ QueryMarkupMap() [3/3]

void ProgramInfo::QueryMarkupMap ( uint  chanid,
const QDateTime &  recstartts,
frm_dir_map_t marks,
MarkTypes  type,
bool  merge = false 
)
staticprotected

Definition at line 3550 of file programinfo.cpp.

◆ InitStatics()

int ProgramInfo::InitStatics ( void  )
staticprotected

Definition at line 5169 of file programinfo.cpp.

Referenced by pginfo_init_statics().

◆ SetAvailableStatus()

void ProgramInfo::SetAvailableStatus ( AvailableStatusType  status,
const QString &  where 
)

◆ GetAvailableStatus()

AvailableStatusType ProgramInfo::GetAvailableStatus ( void  ) const
inline

Friends And Related Function Documentation

◆ pginfo_init_statics

int pginfo_init_statics ( void  )
friend

Definition at line 44 of file programinfo.cpp.

Member Data Documentation

◆ m_title

QString ProgramInfo::m_title
protected

◆ m_sortTitle

QString ProgramInfo::m_sortTitle
protected

Definition at line 737 of file programinfo.h.

Referenced by clear(), clone(), ensureSortFields(), ProgramInfo(), SetTitle(), and ToMap().

◆ m_subtitle

QString ProgramInfo::m_subtitle
protected

◆ m_sortSubtitle

QString ProgramInfo::m_sortSubtitle
protected

Definition at line 739 of file programinfo.h.

Referenced by clear(), clone(), ensureSortFields(), ProgramInfo(), SetSubtitle(), and ToMap().

◆ m_description

QString ProgramInfo::m_description
protected

◆ m_season

uint ProgramInfo::m_season {0}
protected

◆ m_episode

uint ProgramInfo::m_episode {0}
protected

◆ m_totalepisodes

uint ProgramInfo::m_totalepisodes {0}
protected

◆ m_syndicatedepisode

QString ProgramInfo::m_syndicatedepisode
protected

◆ m_category

QString ProgramInfo::m_category
protected

◆ m_director

QString ProgramInfo::m_director
protected

Definition at line 746 of file programinfo.h.

Referenced by clear(), clone(), operator==(), ProgramInfo(), and ToMap().

◆ m_recpriority

int32_t ProgramInfo::m_recpriority {0}
protected

◆ m_chanid

uint32_t ProgramInfo::m_chanid {0}
protected

Definition at line 750 of file programinfo.h.

Referenced by RecordingInfo::AddHistory(), RecordingInfo::ApplyRecordPlayGroupChange(), RecordingInfo::ApplyRecordRecGroupChange(), RecordingInfo::ApplyRecordRecID(), RecordingInfo::ApplyRecordRecTitleChange(), RecordingInfo::ApplyStorageGroupChange(), RecordingInfo::ApplyTranscoderProfileChange(), RecordingInfo::ApplyTranscoderProfileChangeById(), clear(), ClearMarkupMap(), ClearPositionMap(), RecordingInfo::clone(), clone(), CreateRecordBasename(), DiscoverProgramInfoType(), RecordingInfo::FinishedRecording(), RecordingInfo::ForgetHistory(), FromStringList(), GetFilesize(), RecordingInfo::InsertProgram(), IsSameChannel(), IsSameProgramWeakCheck(), IsSameRecording(), LoadProgramFromRecorded(), MarkAsInUse(), operator==(), ProgramInfo(), QueryAutoExpire(), QueryAverageAspectRatio(), QueryAverageFrameRate(), QueryAverageHeight(), QueryAverageWidth(), QueryBookmarkTimeStamp(), QueryCategoryType(), QueryIsEditing(), QueryIsInUse(), QueryKeyFrameInfo(), QueryMarkup(), QueryMarkupMap(), QueryMplexID(), QueryPositionMap(), QueryRecordingGroup(), QueryTotalDuration(), QueryTotalFrames(), QueryTranscoderID(), QueryTranscodeStatus(), QueryTuningInfo(), RecordingInfo::RecordingInfo(), Reload(), SaveAspect(), SaveAutoExpire(), SaveBookmark(), SaveCommFlagged(), SaveCutList(), SaveDeletePendingFlag(), SaveEditing(), SaveFilesize(), SaveFrameRate(), SaveInetRef(), SaveMarkup(), SaveMarkupMap(), SavePositionMap(), SavePositionMapDelta(), SavePreserve(), SaveResolution(), SaveSeasonEpisode(), SaveTotalDuration(), SaveTotalFrames(), SaveTranscodeStatus(), SaveVideoProperties(), SaveWatched(), SetPathname(), RecordingInfo::StartedRecording(), SubstituteMatches(), ToMap(), ToStringList(), and RecordingInfo::UpdateRecordingEnd().

◆ m_chanstr

QString ProgramInfo::m_chanstr
protected

◆ m_chansign

QString ProgramInfo::m_chansign
protected

◆ m_channame

QString ProgramInfo::m_channame
protected

◆ m_chanplaybackfilters

QString ProgramInfo::m_chanplaybackfilters
protected

◆ m_recgroup

QString ProgramInfo::m_recgroup {"Default"}
protected

◆ m_playgroup

QString ProgramInfo::m_playgroup {"Default"}
protected

◆ m_pathname

QString ProgramInfo::m_pathname
mutableprotected

◆ m_hostname

QString ProgramInfo::m_hostname
protected

◆ m_storagegroup

QString ProgramInfo::m_storagegroup {"Default"}
protected

◆ m_seriesid

QString ProgramInfo::m_seriesid
protected

◆ m_programid

QString ProgramInfo::m_programid
protected

◆ m_inetref

QString ProgramInfo::m_inetref
protected

◆ m_catType

CategoryType ProgramInfo::m_catType {kCategoryNone}
protected

◆ m_filesize

uint64_t ProgramInfo::m_filesize {0ULL}
protected

◆ m_startts

QDateTime ProgramInfo::m_startts {MythDate::current(true)}
protected

◆ m_endts

QDateTime ProgramInfo::m_endts {m_startts}
protected

◆ m_recstartts

QDateTime ProgramInfo::m_recstartts {m_startts}
protected

Definition at line 773 of file programinfo.h.

Referenced by RecordingInfo::ApplyRecordPlayGroupChange(), RecordingInfo::ApplyRecordRecGroupChange(), RecordingInfo::ApplyRecordRecID(), RecordingInfo::ApplyRecordRecTitleChange(), RecordingInfo::ApplyStorageGroupChange(), RecordingInfo::ApplyTranscoderProfileChange(), RecordingInfo::ApplyTranscoderProfileChangeById(), clear(), ClearMarkupMap(), ClearPositionMap(), RecordingInfo::clone(), clone(), CreateRecordBasename(), RecordingInfo::DeleteHistory(), RecordingInfo::FinishedRecording(), RecordingInfo::ForgetHistory(), FromStringList(), GetFilesize(), GetSecondsInRecording(), RecordingInfo::InsertProgram(), IsSameRecording(), LoadProgramFromRecorded(), MarkAsInUse(), operator==(), ProgramInfo(), QueryAutoExpire(), QueryAverageAspectRatio(), QueryAverageFrameRate(), QueryAverageHeight(), QueryAverageWidth(), QueryBookmarkTimeStamp(), QueryIsEditing(), QueryIsInUse(), QueryKeyFrameInfo(), QueryMarkup(), QueryMarkupMap(), QueryPositionMap(), QueryRecordingGroup(), QueryTotalDuration(), QueryTotalFrames(), QueryTranscoderID(), QueryTranscodeStatus(), RecordingInfo::RecordingInfo(), Reload(), SaveAspect(), SaveAutoExpire(), SaveBookmark(), SaveCommFlagged(), SaveCutList(), SaveDeletePendingFlag(), SaveEditing(), SaveFilesize(), SaveFrameRate(), SaveInetRef(), SaveMarkup(), SaveMarkupMap(), SavePositionMap(), SavePositionMapDelta(), SavePreserve(), SaveResolution(), SaveSeasonEpisode(), SaveTotalDuration(), SaveTotalFrames(), SaveTranscodeStatus(), SaveWatched(), RecordingInfo::StartedRecording(), SubstituteMatches(), ToMap(), toString(), ToStringList(), UpdateLastDelete(), and RecordingInfo::UpdateRecordingEnd().

◆ m_recendts

QDateTime ProgramInfo::m_recendts {m_startts}
protected

◆ m_stars

float ProgramInfo::m_stars {0.0F}
protected

◆ m_originalAirDate

QDate ProgramInfo::m_originalAirDate
protected

◆ m_lastmodified

QDateTime ProgramInfo::m_lastmodified {m_startts}
protected

◆ m_lastInUseTime

QDateTime ProgramInfo::m_lastInUseTime {m_startts.addSecs(-4 * 60 * 60)}
protected

◆ m_recpriority2

int32_t ProgramInfo::m_recpriority2 {0}
protected

◆ m_recordid

uint32_t ProgramInfo::m_recordid {0}
protected

◆ m_parentid

uint32_t ProgramInfo::m_parentid {0}
protected

◆ m_sourceid

uint32_t ProgramInfo::m_sourceid {0}
protected

◆ m_inputid

uint32_t ProgramInfo::m_inputid {0}
protected

◆ m_findid

uint32_t ProgramInfo::m_findid {0}
protected

◆ m_programflags

uint32_t ProgramInfo::m_programflags {FL_NONE}
protected

◆ m_properties

uint16_t ProgramInfo::m_properties {0}
protected

SubtitleType,VideoProperty,AudioProperty.

Definition at line 792 of file programinfo.h.

Referenced by clear(), clone(), FromStringList(), LoadProgramFromRecorded(), operator==(), RecordingInfo::RecordingInfo(), and SaveVideoProperties().

◆ m_year

uint16_t ProgramInfo::m_year {0}
protected

◆ m_partnumber

uint16_t ProgramInfo::m_partnumber {0}
protected

◆ m_parttotal

uint16_t ProgramInfo::m_parttotal {0}
protected

◆ m_recstatus

int8_t ProgramInfo::m_recstatus {RecStatus::Unknown}
protected

◆ m_rectype

uint8_t ProgramInfo::m_rectype {kNotRecording}
protected

◆ m_dupin

uint8_t ProgramInfo::m_dupin {kDupsInAll}
protected

◆ m_dupmethod

uint8_t ProgramInfo::m_dupmethod {kDupCheckSubThenDesc}
protected

◆ m_recordedid

uint ProgramInfo::m_recordedid {0}
protected

◆ m_inputname

QString ProgramInfo::m_inputname
protected

◆ m_bookmarkupdate

QDateTime ProgramInfo::m_bookmarkupdate
protected

◆ m_availableStatus

uint8_t ProgramInfo::m_availableStatus {asAvailable}
protected

◆ m_spread

int8_t ProgramInfo::m_spread {-1}

◆ m_startCol

int8_t ProgramInfo::m_startCol {-1}

◆ kFromRecordedQuery

const QString ProgramInfo::kFromRecordedQuery
static
Initial value:
=
"SELECT r.title, r.subtitle, r.description, "
" r.season, r.episode, r.category, "
" r.chanid, c.channum, c.callsign, "
" c.name, c.outputfilters,r.recgroup, "
" r.playgroup, r.storagegroup, r.basename, "
" r.hostname, r.recpriority, r.seriesid, "
" r.programid, r.inetref, r.filesize, "
" r.progstart, r.progend, r.stars, "
" r.starttime, r.endtime, p.airdate+0, "
" r.originalairdate, r.lastmodified, r.recordid, "
" c.commmethod, r.commflagged, r.previouslyshown, "
" r.transcoder, r.transcoded, r.deletepending, "
" r.preserve, r.cutlist, r.autoexpire, "
" r.editing, r.bookmark, r.watched, "
" p.audioprop+0, p.videoprop+0, p.subtitletypes+0, "
" r.findid, rec.dupin, rec.dupmethod, "
" p.syndicatedepisodenumber, p.partnumber, p.parttotal, "
" p.season, p.episode, p.totalepisodes, "
" p.category_type, r.recordedid, r.inputname, "
" r.bookmarkupdate "
"FROM recorded AS r "
"LEFT JOIN channel AS c "
"ON (r.chanid = c.chanid) "
"LEFT JOIN recordedprogram AS p "
"ON (r.chanid = p.chanid AND "
" r.progstart = p.starttime) "
"LEFT JOIN record AS rec "
"ON (r.recordid = rec.recordid) "

Definition at line 815 of file programinfo.h.

Referenced by LoadFromRecorded(), and LoadProgramFromRecorded().

◆ m_inUseForWhat

QString ProgramInfo::m_inUseForWhat
protected

◆ m_positionMapDBReplacement

PMapDBReplacement* ProgramInfo::m_positionMapDBReplacement {nullptr}
protected

◆ s_staticDataLock

QMutex ProgramInfo::s_staticDataLock
staticprotected

Definition at line 821 of file programinfo.h.

Referenced by InitStatics(), and RecordingInfo::RecordingInfo().

◆ s_updater

ProgramInfoUpdater * ProgramInfo::s_updater
staticprotected

◆ s_usingProgIDAuth

bool ProgramInfo::s_usingProgIDAuth = true
staticprotected

Definition at line 823 of file programinfo.h.

Referenced by CheckProgramIDAuthorities(), IsDuplicateProgram(), and IsSameProgram().


The documentation for this class was generated from the following files: