MythTV  0.28pre
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 &subtitle, 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 &subtitle, 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 &subtitle, 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 videoprops, uint audioprops, 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 &subtitle, 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)
 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 &subtitle, 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)
 
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...
 
virtual void clear (void)
 
virtual ~ProgramInfo ()
 Destructor deletes "record" if it exists. More...
 
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 GetSubtitle (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 GetPreferedInputID (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
 
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, QString sep=":", QString grp="\) const
 
void SetTitle (const QString &t)
 
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_player_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
 Returns the display name of the card input for this program. More...
 
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 transFlag)
 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, 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_frm=-1, int64_t max_frm=-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_frm=-1, int64_t max_frm=-1) const
 
void ClearMarkupMap (MarkTypes type=MARK_ALL, int64_t min_frm=-1, int64_t max_frm=-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 &altTable, int recordid)
 

Public Attributes

int8_t spread
 
int8_t startCol
 
QString sortTitle
 

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 &recstarttime)
 Loads ProgramInfo for an existing recording. More...
 
bool FromStringList (QStringList::const_iterator &it, 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 title
 
QString subtitle
 
QString description
 
uint season
 
uint episode
 
uint totalepisodes
 
QString syndicatedepisode
 
QString category
 
QString director
 
int32_t recpriority
 
uint32_t chanid
 
QString chanstr
 
QString chansign
 
QString channame
 
QString chanplaybackfilters
 
QString recgroup
 
QString playgroup
 
QString pathname
 
QString hostname
 
QString storagegroup
 
QString seriesid
 
QString programid
 
QString inetref
 
CategoryType catType
 
uint64_t filesize
 
QDateTime startts
 
QDateTime endts
 
QDateTime recstartts
 
QDateTime recendts
 
float stars
 Rating, range [0..1]. More...
 
QDate originalAirDate
 
QDateTime lastmodified
 
QDateTime lastInUseTime
 
uint32_t prefinput
 
int32_t recpriority2
 
uint32_t recordid
 
uint32_t parentid
 
uint32_t sourceid
 
uint32_t inputid
 
uint32_t findid
 
uint32_t programflags
 ProgramFlag. More...
 
uint16_t properties
 SubtitleType,VideoProperty,AudioProperty. More...
 
uint16_t year
 
uint16_t partnumber
 
uint16_t parttotal
 
int8_t recstatus
 
uint8_t rectype
 
uint8_t dupin
 
uint8_t dupmethod
 
uint recordedid
 
QString inputname
 
QDateTime bookmarkupdate
 
uint8_t availableStatus
 
QString inUseForWhat
 
PMapDBReplacementpositionMapDBReplacement
 

Static Protected Attributes

static QMutex staticDataLock
 
static ProgramInfoUpdaterupdater
 
static bool 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 474 of file programinfo.h.

Constructor & Destructor Documentation

◆ ProgramInfo() [1/14]

ProgramInfo::ProgramInfo ( void  )

Null constructor.

Constructs a Dummy ProgramInfo (used by GuideGrid)

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 160 of file programinfo.cpp.

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

◆ ProgramInfo() [2/14]

ProgramInfo::ProgramInfo ( const ProgramInfo other)

Copy constructor.

Definition at line 246 of file programinfo.cpp.

◆ ProgramInfo() [3/14]

ProgramInfo::ProgramInfo ( uint  recordedid)

Constructs a ProgramInfo from data in 'recorded' table.

Definition at line 330 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 359 of file programinfo.cpp.

◆ ProgramInfo() [5/14]

ProgramInfo::ProgramInfo ( uint  recordedid,
const QString &  title,
const QString &  subtitle,
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 370 of file programinfo.cpp.

◆ ProgramInfo() [6/14]

ProgramInfo::ProgramInfo ( const QString &  title,
const QString &  subtitle,
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 522 of file programinfo.cpp.

◆ ProgramInfo() [7/14]

ProgramInfo::ProgramInfo ( const QString &  title,
const QString &  subtitle,
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  videoprops,
uint  audioprops,
uint  subtitletype,
uint  season,
uint  episode,
uint  totalepisodes,
const ProgramList schedList 
)

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

Definition at line 636 of file programinfo.cpp.

◆ ProgramInfo() [8/14]

ProgramInfo::ProgramInfo ( const QString &  title,
const QString &  subtitle,
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 
)

Constructs a basic ProgramInfo (used by RecordingInfo)

Definition at line 813 of file programinfo.cpp.

◆ ProgramInfo() [9/14]

ProgramInfo::ProgramInfo ( const QString &  pathname)

Constructs a ProgramInfo for a pathname.

Definition at line 922 of file programinfo.cpp.

◆ ProgramInfo() [10/14]

ProgramInfo::ProgramInfo ( const QString &  pathname,
const QString &  plot,
const QString &  title,
const QString &  subtitle,
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 958 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 998 of file programinfo.cpp.

◆ ProgramInfo() [12/14]

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

Constructs a Dummy ProgramInfo (used by GuideGrid)

Definition at line 1042 of file programinfo.cpp.

◆ ProgramInfo() [13/14]

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

Definition at line 266 of file programinfo.h.

◆ ProgramInfo() [14/14]

ProgramInfo::ProgramInfo ( const QStringList &  list)
inline

Definition at line 274 of file programinfo.h.

◆ ~ProgramInfo()

ProgramInfo::~ProgramInfo ( )
virtual

Destructor deletes "record" if it exists.

Definition at line 1272 of file programinfo.cpp.

Member Function Documentation

◆ operator=()

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

Copies important fields from other ProgramInfo.

Definition at line 1058 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 1065 of file programinfo.cpp.

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

◆ 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 5336 of file programinfo.cpp.

Referenced by JobQueue::GetJobCommand(), RecordingInfo::operator=(), MythSystemEventHandler::SubstituteMatches(), 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 2246 of file programinfo.cpp.

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

◆ IsDuplicateProgram()

bool ProgramInfo::IsDuplicateProgram ( const ProgramInfo other) const

Checks for duplicates according to dupmethod.

Parameters
otherProgramInfo to compare this one with.

Definition at line 2177 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 2304 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 2320 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 2337 of file programinfo.cpp.

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

◆ UsingProgramIDAuthority()

static bool ProgramInfo::UsingProgramIDAuthority ( void  )
inlinestatic

Definition at line 305 of file programinfo.h.

Referenced by Scheduler::UpdateDuplicates().

◆ CheckProgramIDAuthorities()

void ProgramInfo::CheckProgramIDAuthorities ( void  )
static

Definition at line 2365 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 2166 of file programinfo.cpp.

Referenced by TVRec::StartRecording().

◆ IsSameRecording()

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

Definition at line 313 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 2355 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 1883 of file programinfo.cpp.

Referenced by TestProgramInfo::programFromVideo_test(), and 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 4767 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 326 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 337 of file programinfo.h.

Referenced by IsFileReadable().

◆ IsPathSet()

bool ProgramInfo::IsPathSet ( void  ) const
inline

Definition at line 338 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 4842 of file programinfo.cpp.

Referenced by TV::timerEvent().

◆ GetTitle()

QString ProgramInfo::GetTitle ( void  ) const
inline

Definition at line 342 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(), ProgLister::DeleteOldSeries(), StatusBox::doAutoExpireList(), MainServer::DoHandleDeleteRecording(), StatusBox::doJobQueueStatus(), StatusBox::doTunerStatus(), CustomEdit::evaluate(), MythBDPlayer::EventStart(), AutoExpire::ExpireRecordings(), extract_subtitle(), ProgLister::FillItemList(), 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(), TV::MenuItemDisplayPlayback(), RecordingSelector::OKPressed(), TV::Playback(), print_comm_flag_output(), TestProgramInfo::programFromVideo_test(), Scheduler::PutInactiveSlavesToSleep(), TV::QuickRecord(), RebuildSeekTable(), CustomEdit::recordClicked(), RemoteGetExistingRecorder(), RemoteGetRecordingStatus(), PlaybackBox::saveRecMetadata(), Scheduler::SchedNewFirstPass(), PlayerContext::SetPseudoLiveTV(), ProgLister::ShowDeleteOldEpisodeMenu(), ProgLister::ShowDeleteOldSeriesMenu(), TV::ShowLCDChannelInfo(), TV::ShowOSDPromptDeleteRecording(), ScheduleCommon::ShowPrevious(), PlaybackBox::ShowRecordedEpisodes(), ScheduleCommon::ShowUpcoming(), ScheduleCommon::ShowUpcomingScheduled(), Scheduler::SlaveConnected(), Scheduler::SlaveDisconnected(), TVRec::StartRecording(), TV::timerEvent(), RecordingSelector::titleChanged(), Scheduler::TryAnotherShowing(), TVRec::TuningRestartRecorder(), TVRec::TuningSignalCheck(), RecordingSelector::updateRecordingList(), PlaybackBox::UpdateUIListItem(), and PlaybackBox::UpdateUILists().

◆ GetSubtitle()

QString ProgramInfo::GetSubtitle ( 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 347 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 351 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(), MainServer::customEvent(), PlaybackBox::customEvent(), TV::customEvent(), commDetector2::debugDirectory(), 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(), PlaybackSock::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(), MythPlayer::OpenFile(), plTimeSort::operator()(), TV::PlaybackMenuInit(), Frontend::PlayRecording(), preview_helper(), print_comm_flag_output(), JobQueue::ProcessJob(), PlaybackBox::processNetworkControlCommand(), TV::ProcessNetworkControlCommand(), LiveTVChain::ProgramIsAt(), QueueCommFlagJob(), QueueJob(), JobQueue::QueueRecordingJobs(), QueueTranscodeJob(), TV::QuickRecord(), Reload(), ReloadBookmark(), RemoteDeleteRecording(), RemoteFillProgramInfo(), RemoteUndeleteRecording(), ProgramInfoCache::Remove(), PreviewGenerator::Run(), TVBrowseHelper::run(), SendMythSystemPlayEvent(), SendMythSystemRecEvent(), SetCutList(), TVRec::SetLiveRecording(), LiveTVChain::SetProgram(), RecorderBase::SetRecordingStatus(), ScheduleCommon::ShowChannelSearch(), ProgFinder::ShowGuide(), ScheduleCommon::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

This is the channel "number", in the form 1, 1_2, 1-2, 1#1, etc.

i.e. this is what the user enters to tune to the channel. This is purely for use in the user interface.

Definition at line 355 of file programinfo.h.

Referenced by TVBrowseHelper::BrowseStart(), comp_recstart(), comp_redundant(), TV::DoEditSchedule(), StatusBox::doJobQueueStatus(), CustomEdit::evaluate(), HttpStatus::FillChannelInfo(), TV::HandlePseudoLiveTVTimerEvent(), LookupFromProgramInfo(), MythPlayer::OpenFile(), Scheduler::PrintRec(), PlayerContext::SetPseudoLiveTV(), ProgFinder::ShowGuide(), and ScheduleCommon::ShowGuide().

◆ 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 362 of file programinfo.h.

Referenced by Scheduler::AssignGroupInput(), RecordingRule::AssignProgramInfo(), comp_recstart(), comp_redundant(), CustomEdit::evaluate(), HttpStatus::FillChannelInfo(), CustomEdit::loadClauses(), ViewScheduled::LoadList(), LookupFromProgramInfo(), 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 365 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 369 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(), 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(), plTitleSort::operator()(), plPrevTitleSort::operator()(), plTimeSort::operator()(), TV::PlaybackMenuInit(), TV::ProcessNetworkControlCommand(), RecordingInfo::RecordingInfo(), RemoteGetRecordingStatus(), TVRec::SetLiveRecording(), RecorderBase::SetRecording(), RecorderBase::SetRecordingStatus(), ScheduleCommon::ShowChannelSearch(), ProgFinder::ShowGuide(), ScheduleCommon::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 371 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 378 of file programinfo.h.

◆ GetRecordingStartTime() [1/2]

QDateTime ProgramInfo::GetRecordingStartTime ( void  ) const
inline

Approximate time the recording started.

Definition at line 383 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(), 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(), 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(), ProgramInfoCache::Remove(), 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 385 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 391 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 394 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 409 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 422 of file programinfo.h.

◆ GetRecordingID()

uint ProgramInfo::GetRecordingID ( void  ) const
inline

◆ GetRecordingStatus()

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

Definition at line 426 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(), plTitleSort::operator()(), 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().

◆ GetPreferedInputID()

uint ProgramInfo::GetPreferedInputID ( void  ) const
inline

Definition at line 428 of file programinfo.h.

◆ GetRecordingRuleID()

uint ProgramInfo::GetRecordingRuleID ( void  ) const
inline

Definition at line 429 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()(), 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 435 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 439 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

◆ 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 448 of file programinfo.h.

Referenced by ToMap().

◆ GetBookmarkUpdate()

QDateTime ProgramInfo::GetBookmarkUpdate ( void  ) const
inline

Definition at line 450 of file programinfo.h.

Referenced by PreviewGeneratorQueue::GeneratePreviewImage().

◆ IsGeneric()

bool ProgramInfo::IsGeneric ( void  ) const

Definition at line 1917 of file programinfo.cpp.

Referenced by ScheduleCommon::EditRecording().

◆ IsInUsePlaying()

bool ProgramInfo::IsInUsePlaying ( void  ) const
inline

Definition at line 452 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

Definition at line 462 of file programinfo.h.

Referenced by ProgLister::customEvent(), ProgLister::ShowOldRecordedMenu(), and ToMap().

◆ IsReactivated()

bool ProgramInfo::IsReactivated ( void  ) const
inline

◆ IsDeletePending()

bool ProgramInfo::IsDeletePending ( void  ) const
inline

Definition at line 464 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,
QString  sep = ":",
QString  grp = "\"" 
) const

◆ SetTitle()

void ProgramInfo::SetTitle ( const QString &  t)
inline

◆ SetProgramInfoType()

void ProgramInfo::SetProgramInfoType ( ProgramInfoType  t)
inline

Definition at line 486 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 490 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 495 of file programinfo.h.

◆ SetHostname()

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

Definition at line 496 of file programinfo.h.

Referenced by AutoExpire::ExpireRecordings().

◆ SetStorageGroup()

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

Definition at line 497 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 499 of file programinfo.h.

◆ SetProgramID()

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

Definition at line 500 of file programinfo.h.

Referenced by ProgLister::DeleteOldSeries().

◆ SetCategory()

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

Definition at line 501 of file programinfo.h.

Referenced by ProgramRecPriority::scheduleChanged().

◆ SetCategoryType()

void ProgramInfo::SetCategoryType ( const CategoryType  type)
inline

Definition at line 502 of file programinfo.h.

◆ SetRecordingPriority()

void ProgramInfo::SetRecordingPriority ( int  priority)
inline

Definition at line 503 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 506 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 508 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 525 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 532 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 540 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 545 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 548 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 2516 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 2652 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 2730 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 2757 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 2784 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 2801 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 2958 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 2817 of file programinfo.cpp.

Referenced by 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 2894 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 3033 of file programinfo.cpp.

Referenced by 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 3112 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 3174 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 3191 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 3378 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 3224 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 5162 of file programinfo.cpp.

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

◆ QueryInputDisplayName()

QString ProgramInfo::QueryInputDisplayName ( void  ) const

Returns the display name of the card input for this program.

Note
Ideally this would call CardUtil::GetDisplayName(), but that's in libmythtv. Dupliacte code for now until a better solution can be found.

Definition at line 5195 of file programinfo.cpp.

Referenced by RecordingInfo::InsertProgram(), ProgDetails::loadPage(), and ToMap().

◆ 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 4367 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 4358 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 4376 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 4431 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 4451 of file programinfo.cpp.

◆ QueryRecordingGroup()

QString ProgramInfo::QueryRecordingGroup ( void  ) const

Query recgroup from recorded.

Definition at line 4876 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 3676 of file programinfo.cpp.

Referenced by Transcode::TranscodeFile().

◆ QueryTranscoderID()

uint ProgramInfo::QueryTranscoderID ( void  ) const

Definition at line 4892 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 1897 of file programinfo.cpp.

Referenced by GetMarkupList().

◆ Reload()

bool ProgramInfo::Reload ( void  )

Definition at line 1963 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 6110 of file programinfo.cpp.

Referenced by CompleteJob(), JobQueue::DoTranscodeThread(), RecordingInfo::GetRecordingFile(), 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 2677 of file programinfo.cpp.

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

◆ SaveDVDBookmark()

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

Definition at line 2850 of file programinfo.cpp.

◆ SaveBDBookmark()

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

Definition at line 2912 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 3059 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
transFlagvalue to set transcoded field to.

Definition at line 3244 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 2981 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 3084 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 3267 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 3320 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 3293 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 2476 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 4165 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 4284 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 4195 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 4218 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 4250 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 3686 of file programinfo.cpp.

Referenced by DoFlagCommercials().

◆ ClearMarkupFlag()

void ProgramInfo::ClearMarkupFlag ( MarkTypes  type) const
inline

Definition at line 602 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 3346 of file programinfo.cpp.

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

◆ MarkAsInUse()

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

◆ UpdateInUseMark()

void ProgramInfo::UpdateInUseMark ( bool  force = false)

◆ SaveSeasonEpisode()

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

Definition at line 4793 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 4912 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 2554 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 2455 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

Definition at line 3426 of file programinfo.cpp.

Referenced by CopySkipListToCutList(), SetCutList(), and SetMarkupList().

◆ QueryCommBreakList()

void ProgramInfo::QueryCommBreakList ( frm_dir_map_t frames) const

◆ SaveCommBreakList()

void ProgramInfo::SaveCommBreakList ( frm_dir_map_t frames) const

Definition at line 3473 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_frm = -1,
int64_t  max_frm = -1 
) const

Definition at line 3778 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 4134 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 4125 of file programinfo.cpp.

Referenced by Dvr::SetSavedBookmark().

◆ QueryKeyFrameDuration()

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

Definition at line 4152 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 4143 of file programinfo.cpp.

Referenced by Dvr::SetSavedBookmark().

◆ QueryMarkup()

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

Definition at line 4457 of file programinfo.cpp.

Referenced by GetMarkup().

◆ SaveMarkup()

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

Definition at line 4538 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 2717 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 2722 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 1277 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 1286 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 1297 of file programinfo.cpp.

Referenced by QueryKeyFromPathname().

◆ QueryKeyFromPathname()

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

Definition at line 1319 of file programinfo.cpp.

Referenced by preview_helper(), and ProgramInfo().

◆ QueryRecordedIdFromPathname()

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

Definition at line 1342 of file programinfo.cpp.

Referenced by Dvr::RecordedIdForPathname().

◆ QueryRecordingGroupPassword()

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

Definition at line 4859 of file programinfo.cpp.

◆ QueryBookmark() [2/2]

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

Definition at line 2768 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 &  altTable,
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_frm = -1,
int64_t  max_frm = -1 
) const

◆ ClearMarkupMap()

void ProgramInfo::ClearMarkupMap ( MarkTypes  type = MARK_ALL,
int64_t  min_frm = -1,
int64_t  max_frm = -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 2400 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 1977 of file programinfo.cpp.

Referenced by ProgramInfo().

◆ FromStringList()

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

Uses a QStringList to initialize this ProgramInfo instance.

Parameters
begIterator 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 1481 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 3612 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 3643 of file programinfo.cpp.

◆ InitStatics()

int ProgramInfo::InitStatics ( void  )
staticprotected

Definition at line 5312 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 43 of file programinfo.cpp.

Member Data Documentation

◆ title

QString ProgramInfo::title
protected

◆ subtitle

QString ProgramInfo::subtitle
protected

◆ description

QString ProgramInfo::description
protected

◆ season

uint ProgramInfo::season
protected

◆ episode

uint ProgramInfo::episode
protected

◆ totalepisodes

uint ProgramInfo::totalepisodes
protected

◆ syndicatedepisode

QString ProgramInfo::syndicatedepisode
protected

◆ category

QString ProgramInfo::category
protected

◆ director

QString ProgramInfo::director
protected

Definition at line 725 of file programinfo.h.

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

◆ recpriority

int32_t ProgramInfo::recpriority
protected

◆ chanid

uint32_t ProgramInfo::chanid
protected

Definition at line 729 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(), RecordingInfo::InsertProgram(), IsSameChannel(), IsSameProgramWeakCheck(), IsSameRecording(), LoadFromOldRecorded(), LoadFromRecorded(), LoadProgramFromProgram(), LoadProgramFromRecorded(), MarkAsInUse(), ProgramInfo(), QueryAutoExpire(), QueryAverageAspectRatio(), QueryAverageFrameRate(), QueryAverageHeight(), QueryAverageWidth(), QueryBookmarkTimeStamp(), QueryCategoryType(), QueryIsEditing(), QueryIsInUse(), QueryJobsRunning(), QueryKeyFrameInfo(), QueryMarkup(), QueryMarkupMap(), QueryMplexID(), QueryPositionMap(), QueryRecordingGroup(), QueryTotalDuration(), QueryTotalFrames(), QueryTranscoderID(), QueryTranscodeStatus(), QueryTuningInfo(), RecordingInfo::RecordingInfo(), Reload(), SaveAspect(), SaveAutoExpire(), SaveBookmark(), SaveCommFlagged(), SaveCutList(), SaveDeletePendingFlag(), SaveEditing(), SaveFrameRate(), SaveInetRef(), SaveMarkup(), SaveMarkupMap(), SavePositionMap(), SavePositionMapDelta(), SavePreserve(), SaveResolution(), SaveSeasonEpisode(), SaveTotalDuration(), SaveTotalFrames(), SaveTranscodeStatus(), SaveVideoProperties(), SaveWatched(), SetPathname(), RecordingInfo::StartedRecording(), SubstituteMatches(), ToMap(), ToStringList(), and RecordingInfo::UpdateRecordingEnd().

◆ chanstr

QString ProgramInfo::chanstr
protected

◆ chansign

QString ProgramInfo::chansign
protected

◆ channame

QString ProgramInfo::channame
protected

◆ chanplaybackfilters

QString ProgramInfo::chanplaybackfilters
protected

◆ recgroup

QString ProgramInfo::recgroup
protected

◆ playgroup

QString ProgramInfo::playgroup
protected

◆ pathname

QString ProgramInfo::pathname
mutableprotected

◆ hostname

QString ProgramInfo::hostname
protected

◆ storagegroup

QString ProgramInfo::storagegroup
protected

◆ seriesid

QString ProgramInfo::seriesid
protected

◆ programid

QString ProgramInfo::programid
protected

◆ inetref

QString ProgramInfo::inetref
protected

◆ catType

CategoryType ProgramInfo::catType
protected

◆ filesize

uint64_t ProgramInfo::filesize
protected

◆ startts

QDateTime ProgramInfo::startts
protected

◆ endts

QDateTime ProgramInfo::endts
protected

◆ recstartts

QDateTime ProgramInfo::recstartts
protected

Definition at line 752 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(), GetSecondsInRecording(), RecordingInfo::InsertProgram(), IsSameRecording(), LoadFromRecorded(), LoadProgramFromRecorded(), MarkAsInUse(), ProgramInfo(), QueryAutoExpire(), QueryAverageAspectRatio(), QueryAverageFrameRate(), QueryAverageHeight(), QueryAverageWidth(), QueryBookmarkTimeStamp(), QueryIsEditing(), QueryIsInUse(), QueryJobsRunning(), QueryKeyFrameInfo(), QueryMarkup(), QueryMarkupMap(), QueryPositionMap(), QueryRecordingGroup(), QueryTotalDuration(), QueryTotalFrames(), QueryTranscoderID(), QueryTranscodeStatus(), RecordingInfo::RecordingInfo(), Reload(), SaveAspect(), SaveAutoExpire(), SaveBookmark(), SaveCommFlagged(), SaveCutList(), SaveDeletePendingFlag(), SaveEditing(), SaveFrameRate(), SaveInetRef(), SaveMarkup(), SaveMarkupMap(), SavePositionMap(), SavePositionMapDelta(), SavePreserve(), SaveResolution(), SaveSeasonEpisode(), SaveTotalDuration(), SaveTotalFrames(), SaveTranscodeStatus(), SaveWatched(), RecordingInfo::StartedRecording(), SubstituteMatches(), ToMap(), toString(), ToStringList(), UpdateLastDelete(), and RecordingInfo::UpdateRecordingEnd().

◆ recendts

QDateTime ProgramInfo::recendts
protected

◆ stars

float ProgramInfo::stars
protected

◆ originalAirDate

QDate ProgramInfo::originalAirDate
protected

◆ lastmodified

QDateTime ProgramInfo::lastmodified
protected

◆ lastInUseTime

QDateTime ProgramInfo::lastInUseTime
protected

Definition at line 758 of file programinfo.h.

Referenced by clear(), clone(), LoadProgramFromRecorded(), MarkAsInUse(), and UpdateInUseMark().

◆ prefinput

uint32_t ProgramInfo::prefinput
protected

Definition at line 760 of file programinfo.h.

Referenced by clear(), clone(), and LoadProgramFromRecorded().

◆ recpriority2

int32_t ProgramInfo::recpriority2
protected

◆ recordid

uint32_t ProgramInfo::recordid
protected

◆ parentid

uint32_t ProgramInfo::parentid
protected

◆ sourceid

uint32_t ProgramInfo::sourceid
protected

◆ inputid

uint32_t ProgramInfo::inputid
protected

◆ findid

uint32_t ProgramInfo::findid
protected

◆ programflags

uint32_t ProgramInfo::programflags
protected

◆ properties

uint16_t ProgramInfo::properties
protected

SubtitleType,VideoProperty,AudioProperty.

Definition at line 771 of file programinfo.h.

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

◆ year

uint16_t ProgramInfo::year
protected

◆ partnumber

uint16_t ProgramInfo::partnumber
protected

◆ parttotal

uint16_t ProgramInfo::parttotal
protected

◆ recstatus

int8_t ProgramInfo::recstatus
protected

◆ rectype

uint8_t ProgramInfo::rectype
protected

◆ dupin

uint8_t ProgramInfo::dupin
protected

◆ dupmethod

uint8_t ProgramInfo::dupmethod
protected

◆ recordedid

uint ProgramInfo::recordedid
protected

◆ inputname

QString ProgramInfo::inputname
protected

◆ bookmarkupdate

QDateTime ProgramInfo::bookmarkupdate
protected

Definition at line 783 of file programinfo.h.

Referenced by clear(), clone(), FromStringList(), LoadProgramFromRecorded(), and ToStringList().

◆ availableStatus

uint8_t ProgramInfo::availableStatus
protected

◆ spread

int8_t ProgramInfo::spread

◆ startCol

int8_t ProgramInfo::startCol

◆ sortTitle

QString ProgramInfo::sortTitle

◆ 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 795 of file programinfo.h.

Referenced by LoadFromRecorded(), and LoadProgramFromRecorded().

◆ inUseForWhat

QString ProgramInfo::inUseForWhat
protected

◆ positionMapDBReplacement

PMapDBReplacement* ProgramInfo::positionMapDBReplacement
protected

◆ staticDataLock

QMutex ProgramInfo::staticDataLock
staticprotected

Definition at line 801 of file programinfo.h.

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

◆ updater

ProgramInfoUpdater * ProgramInfo::updater
staticprotected

◆ usingProgIDAuth

bool ProgramInfo::usingProgIDAuth = true
staticprotected

Definition at line 803 of file programinfo.h.

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


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