ProgramInfo Class Reference

Holds information on recordings and videos. More...

#include <programinfo.h>

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

List of all members.

Public Types

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

Public Member Functions

 ProgramInfo (void)
 Null constructor.
 ProgramInfo (const ProgramInfo &other)
 Copy constructor.
 ProgramInfo (uint chanid, const QDateTime &recstartts)
 Constructs a ProgramInfo from data in 'recorded' table.
 ProgramInfo (const QString &title, const QString &subtitle, const QString &description, uint season, uint episode, 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, 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, RecStatusType recstatus, uint recordid, RecordingDupInType dupin, RecordingDupMethodType dupmethod, uint findid, uint programflags, uint audioproperties, uint videoproperties, uint subtitleType)
 Constructs a ProgramInfo from data in 'recorded' table.
 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, RecStatusType recstatus, uint recordid, RecordingType rectype, uint findid, bool duplicate)
 Constructs a ProgramInfo from data in 'oldrecorded' table.
 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, RecStatusType recstatus, uint recordid, RecordingType rectype, uint findid, bool commfree, bool repeat, uint videoprops, uint audioprops, uint subtitletype, const ProgramList &schedList)
 Constructs a ProgramInfo from listings data in 'program' table.
 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 &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).
 ProgramInfo (const QString &pathname)
 Constructs a ProgramInfo for a pathname.
 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.
 ProgramInfo (const QString &_title, uint _chanid, const QDateTime &_startts, const QDateTime &_endts)
 Constructs a manual record ProgramInfo.
 ProgramInfo (const QString &_title, const QString &_category, const QDateTime &_startts, const QDateTime &_endts)
 Constructs a Dummy ProgramInfo (used by GuideGrid).
 ProgramInfo (QStringList::const_iterator &it, QStringList::const_iterator end)
 ProgramInfo (const QStringList &list)
ProgramInfooperator= (const ProgramInfo &other)
 Copies important fields from other ProgramInfo.
virtual void clone (const ProgramInfo &other, bool ignore_non_serialized_data=false)
 Copies important fields from other ProgramInfo.
virtual void clear (void)
virtual ~ProgramInfo ()
 Destructor deletes "record" if it exists.
void ToStringList (QStringList &list) const
 Serializes ProgramInfo into a QStringList which can be passed over a socket.
virtual void ToMap (QHash< QString, QString > &progMap, bool showrerecord=false, uint star_range=10) const
 Converts ProgramInfo into QString QHash containing each field in ProgramInfo converted into localized strings.
virtual void SubstituteMatches (QString &str)
 Subsitute MATCH% type variable names in the given string.
bool IsSameProgram (const ProgramInfo &other) const
 Checks for duplicates according to dupmethod.
bool IsSameTimeslot (const ProgramInfo &other) const
 Checks chanid, start/end times for equality.
bool IsSameProgramTimeslot (const ProgramInfo &other) const
 Checks chanid or chansign, start/end times, cardid, inputid for fully inclusive overlap.
bool IsSameProgramWeakCheck (const ProgramInfo &other) const
 Checks for duplicate using only title, chanid and startts.
bool IsSameRecording (const ProgramInfo &other) const
QString MakeUniqueKey (void) const
 Creates a unique string that can be used to identify an existing recording.
uint GetSecondsInRecording (void) const
 Returns length of program/recording in seconds.
QString ChannelText (const QString &) const
 Returns channel info using "format".
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.
QString GetTitle (void) const
QString GetSubtitle (void) const
QString GetDescription (void) const
uint GetSeason (void) const
uint GetEpisode (void) const
QString GetCategory (void) const
uint GetChanID (void) const
 This is the unique key used in the database to locate tuning information.
QString GetChanNum (void) const
 This is the channel "number", in the form 1, 1_2, 1-2, 1#1, etc.
QString GetChannelSchedulingID (void) const
 This is the unique programming identifier of a channel.
QString GetChannelName (void) const
 This is the channel name in the local market, i.e.
QString GetChannelPlaybackFilters (void) const
QDateTime GetScheduledStartTime (void) const
 The scheduled start time of program.
QString GetScheduledStartTime (MythDate::Format fmt) const
 The scheduled start time of program (with formatting).
QDateTime GetScheduledEndTime (void) const
 The scheduled end time of the program.
QString GetScheduledEndTime (MythDate::Format fmt) const
 The scheduled end time of the program (with formatting).
QDateTime GetRecordingStartTime (void) const
 Approximate time the recording started.
QString GetRecordingStartTime (MythDate::Format fmt) const
 Approximate time the recording started (with formatting).
QDateTime GetRecordingEndTime (void) const
 Approximate time the recording should have ended, did end, or is intended to end.
QString GetRecordingEndTime (MythDate::Format fmt) const
 Approximate time the recording should have ended, did end, or is intended to end (with formatting).
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
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.
int GetRecordingPriority (void) const
int GetRecordingPriority2 (void) const
float GetStars (void) const
uint GetStars (uint range_max) const
RecStatusType GetRecordingStatus (void) const
RecStatusType GetOldRecordingStatus (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?
RecordingDupMethodType GetDuplicateCheckMethod (void) const
 What should be compared to determine if two programs are the same?
uint GetSourceID (void) const
uint GetInputID (void) const
uint GetCardID (void) const
uint GetFindID (void) const
uint32_t GetProgramFlags (void) const
ProgramInfoType GetProgramInfoType (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)
void SetFilesize (uint64_t sz)
void SetSeriesID (const QString &id)
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 SetCardID (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.
void SetRecordingStatus (RecStatusType status)
void SetRecordingRuleType (RecordingType type)
void SetPositionMapDBReplacement (PMapDBReplacement *pmap)
QString QueryBasename (void) const
 Gets the basename, from the DB if necessary.
uint64_t QueryFilesize (void) const
 Gets recording file size from database.
uint QueryMplexID (void) const
 Queries multiplex any recording would be made on, zero if unknown.
QDateTime QueryBookmarkTimeStamp (void) const
 Queries Latest bookmark timestamp from the database.
uint64_t QueryBookmark (void) const
 Gets any bookmark position in database, unless the ignore bookmark flag is set.
CategoryType QueryCategoryType (void) const
 Queries recordedprogram to get the category_type of the recording.
QStringList QueryDVDBookmark (const QString &serialid) const
 Queries "dvdbookmark" table for bookmarking DVD serial number.
bool QueryIsEditing (void) const
 Queries "recorded" table for its "editing" field and returns true if it is set to true.
bool QueryIsInUse (QStringList &byWho) const
 Returns true if Program is in use.
bool QueryIsInUse (QString &byWho) const
 Returns true if Program is in use.
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.
AutoExpireType QueryAutoExpire (void) const
 Returns "autoexpire" field from "recorded" table.
TranscodingStatus QueryTranscodeStatus (void) const
 Returns the "transcoded" field in "recorded" table.
bool QueryTuningInfo (QString &channum, QString &input) const
 Returns the channel and input needed to record the program.
QString QueryInputDisplayName (void) const
 Returns the display name of the card input for this program.
uint QueryAverageWidth (void) const
 If present in recording this loads average width of the main video stream from database's stream markup table.
uint QueryAverageHeight (void) const
 If present in recording this loads average height of the main video stream from database's stream markup table.
uint QueryAverageFrameRate (void) const
 If present in recording this loads average frame rate of the main video stream from database's stream markup table.
MarkTypes QueryAverageAspectRatio (void) const
int64_t QueryTotalDuration (void) const
 If present in recording this loads total duration of the main video stream from database's stream markup table.
int64_t QueryTotalFrames (void) const
 If present in recording this loads total frames of the main video stream from database's stream markup table.
QString QueryRecordingGroup (void) const
 Query recgroup from recorded.
bool QueryMarkupFlag (MarkTypes type) const
 Returns true iff the speficied mark type is set on frame 0.
uint QueryTranscoderID (void) const
uint64_t QueryLastFrameInPosMap (void) const
 Returns last frame in position map or 0.
bool Reload (void)
void SaveFilesize (uint64_t fsize)
 Sets recording file size in database, and sets "filesize" field.
void SaveBookmark (uint64_t frame)
 Clears any existing bookmark in DB and if frame is greater than 0 sets a new bookmark.
void SaveDVDBookmark (const QStringList &fields) const
void SaveEditing (bool edit)
 Sets "editing" field in "recorded" table to "edit".
void SaveTranscodeStatus (TranscodingStatus transFlag)
 Set "transcoded" field in "recorded" table to "trans".
void SaveWatched (bool watchedFlag)
 Set "watched" field in recorded/videometadata to "watchedFlag".
void SaveDeletePendingFlag (bool deleteFlag)
 Set "deletepending" field in "recorded" table to "deleteFlag".
void SaveCommFlagged (CommFlagStatus flag)
 Set "commflagged" field in "recorded" table to "flag".
void SaveAutoExpire (AutoExpireType autoExpire, bool updateDelete=false)
 Set "autoexpire" field in "recorded" table to "autoExpire".
void SavePreserve (bool preserveEpisode)
 Set "preserve" field in "recorded" table to "preserveEpisode".
bool SaveBasename (const QString &basename)
 Sets a recording's basename in the database.
void SaveAspect (uint64_t frame, MarkTypes type, uint customAspect)
 Store aspect ratio of a frame in the recordedmark table.
void SaveResolution (uint64_t frame, uint width, uint height)
 Store the Resolution at frame in the recordedmarkup table.
void SaveFrameRate (uint64_t frame, uint framerate)
 Store the Frame Rate at frame in the recordedmarkup table.
void SaveTotalDuration (int64_t duration)
 Store the Total Duration at frame 0 in the recordedmarkup table.
void SaveTotalFrames (int64_t frames)
 Store the Total Frames at frame 0 in the recordedmarkup table.
void SaveVideoProperties (uint mask, uint video_property_flags)
void SaveMarkupFlag (MarkTypes type) const
 Clears the specified flag, then if sets it.
void ClearMarkupFlag (MarkTypes type) const
void UpdateLastDelete (bool setTime) const
 Set or unset the record.last_delete field.
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.
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.
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
void SendUpdateEvent (void)
 Sends event out that the ProgramInfo should be reloaded.
void SendAddedEvent (void) const
 Sends event out that the ProgramInfo should be added to lists.
void SendDeletedEvent (void) const
 Sends event out that the ProgramInfo should be delete from lists.
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 +.
static QString MakeUniqueKey (uint chanid, const QDateTime &recstartts)
 Creates a unique string that can be used to identify a recording.
static bool ExtractKey (const QString &uniquekey, uint &chanid, QDateTime &recstartts)
 Extracts chanid and recstartts from a unique key generated by MakeUniqueKey().
static bool ExtractKeyFromPathname (const QString &pathname, uint &chanid, QDateTime &recstartts)
static bool QueryKeyFromPathname (const QString &pathname, uint &chanid, QDateTime &recstartts)
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

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
QString CreateRecordBasename (const QString &ext) const
 Returns a filename for a recording based on the recording channel and date.
bool LoadProgramFromRecorded (const uint chanid, const QDateTime &recstarttime)
 Loads ProgramInfo for an existing recording.
bool FromStringList (QStringList::const_iterator &it, QStringList::const_iterator end)
 Uses a QStringList to initialize this ProgramInfo instance.

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
QString syndicatedepisode
QString category
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].
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 cardid
uint32_t findid
uint32_t programflags
 ProgramFlag.
uint16_t properties
 SubtitleType,VideoProperty,AudioProperty.
uint16_t year
uint16_t partnumber
uint16_t parttotal
int8_t recstatus
int8_t oldrecstatus
uint8_t rectype
uint8_t dupin
uint8_t dupmethod
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 72 of file programinfo.h.


Member Enumeration Documentation

Enumerator:
kCategoryNone 
kCategoryMovie 
kCategorySeries 
kCategorySports 
kCategoryTVShow 

Definition at line 76 of file programinfo.h.

Enumerator:
kLongDescription 
kTitleSubtitle 
kRecordingKey 
kSchedulingKey 

Definition at line 465 of file programinfo.h.


Constructor & Destructor Documentation

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

ProgramInfo::ProgramInfo ( const ProgramInfo other  ) 

Copy constructor.

Definition at line 194 of file programinfo.cpp.

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

Constructs a ProgramInfo from data in 'recorded' table.

Definition at line 274 of file programinfo.cpp.

ProgramInfo::ProgramInfo ( const QString &  title,
const QString &  subtitle,
const QString &  description,
uint  season,
uint  episode,
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,
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,
RecStatusType  recstatus,
uint  recordid,
RecordingDupInType  dupin,
RecordingDupMethodType  dupmethod,
uint  findid,
uint  programflags,
uint  audioproperties,
uint  videoproperties,
uint  subtitleType 
)

Constructs a ProgramInfo from data in 'recorded' table.

Definition at line 284 of file programinfo.cpp.

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,
RecStatusType  recstatus,
uint  recordid,
RecordingType  rectype,
uint  findid,
bool  duplicate 
)

Constructs a ProgramInfo from data in 'oldrecorded' table.

Definition at line 427 of file programinfo.cpp.

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,
RecStatusType  recstatus,
uint  recordid,
RecordingType  rectype,
uint  findid,
bool  commfree,
bool  repeat,
uint  videoprops,
uint  audioprops,
uint  subtitletype,
const ProgramList schedList 
)

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

Definition at line 537 of file programinfo.cpp.

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

ProgramInfo::ProgramInfo ( const QString &  pathname  ) 

Constructs a ProgramInfo for a pathname.

Definition at line 810 of file programinfo.cpp.

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

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

Constructs a manual record ProgramInfo.

Definition at line 902 of file programinfo.cpp.

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

Constructs a Dummy ProgramInfo (used by GuideGrid).

Definition at line 946 of file programinfo.cpp.

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

Definition at line 260 of file programinfo.h.

ProgramInfo::ProgramInfo ( const QStringList &  list  )  [inline]

Definition at line 268 of file programinfo.h.

ProgramInfo::~ProgramInfo (  )  [virtual]

Destructor deletes "record" if it exists.

Definition at line 1165 of file programinfo.cpp.


Member Function Documentation

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

Copies important fields from other ProgramInfo.

Reimplemented in RecordingInfo, and ProgramRecPriorityInfo.

Definition at line 962 of file programinfo.cpp.

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

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

void ProgramInfo::clear ( void   )  [virtual]

Reimplemented in RecordingInfo, and ProgramRecPriorityInfo.

Definition at line 1082 of file programinfo.cpp.

Referenced by LoadProgramFromRecorded(), ProgramInfo(), and SavePositionMap().

void ProgramInfo::ToStringList ( QStringList &  list  )  const
void ProgramInfo::ToMap ( QHash< QString, QString > &  progMap,
bool  showrerecord = false,
uint  star_range = 10 
) const [virtual]
void ProgramInfo::SubstituteMatches ( QString &  str  )  [virtual]

Subsitute MATCH% type variable names in the given string.

Parameters:
str QString 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 4508 of file programinfo.cpp.

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

bool ProgramInfo::IsSameProgram ( const ProgramInfo other  )  const

Checks for duplicates according to dupmethod.

Parameters:
other ProgramInfo to compare this one with.

Definition at line 2017 of file programinfo.cpp.

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

bool ProgramInfo::IsSameTimeslot ( const ProgramInfo other  )  const

Checks chanid, start/end times for equality.

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

Definition at line 2085 of file programinfo.cpp.

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

bool ProgramInfo::IsSameProgramTimeslot ( const ProgramInfo other  )  const

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

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

Definition at line 2104 of file programinfo.cpp.

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

static bool ProgramInfo::UsingProgramIDAuthority ( void   )  [inline, static]

Definition at line 297 of file programinfo.h.

Referenced by Scheduler::UpdateDuplicates().

void ProgramInfo::CheckProgramIDAuthorities ( void   )  [static]

Definition at line 2118 of file programinfo.cpp.

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

bool ProgramInfo::IsSameProgramWeakCheck ( const ProgramInfo other  )  const

Checks for duplicate using only title, chanid and startts.

Parameters:
other ProgramInfo to compare this one with.

Definition at line 2006 of file programinfo.cpp.

Referenced by TVRec::StartRecording().

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

Definition at line 305 of file programinfo.h.

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

QString ProgramInfo::MakeUniqueKey ( void   )  const [inline]
uint ProgramInfo::GetSecondsInRecording ( void   )  const

Returns length of program/recording in seconds.

Definition at line 1730 of file programinfo.cpp.

Referenced by PlayerContext::SetPlayingInfo().

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:
format formatting string.
Returns:
formatted string.

Definition at line 3961 of file programinfo.cpp.

Referenced by ProgramInfo(), and ToMap().

QString ProgramInfo::GetPathname ( void   )  const [inline]
QString ProgramInfo::GetBasename ( void   )  const [inline]
bool ProgramInfo::IsVideoFile ( void   )  const [inline]

Definition at line 317 of file programinfo.h.

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

bool ProgramInfo::IsVideoDVD ( void   )  const [inline]
bool ProgramInfo::IsVideoBD ( void   )  const [inline]
bool ProgramInfo::IsLocal ( void   )  const [inline]
bool ProgramInfo::IsMythStream ( void   )  const [inline]

Definition at line 328 of file programinfo.h.

Referenced by IsFileReadable().

bool ProgramInfo::IsPathSet ( void   )  const [inline]

Definition at line 329 of file programinfo.h.

Referenced by PlaybackBox::Play().

bool ProgramInfo::HasPathname ( void   )  const [inline]
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 4032 of file programinfo.cpp.

Referenced by TV::timerEvent().

QString ProgramInfo::GetTitle ( void   )  const [inline]

Definition at line 333 of file programinfo.h.

Referenced by RecordingInfo::AddHistory(), Scheduler::AddRecording(), TV::AskAllowRecording(), RecordingRule::AssignProgramInfo(), ScheduledRecording::BuildCheckRequest(), Scheduler::BuildListMaps(), comp_overlap(), comp_redundant(), LookerUpper::CopyRuleInetrefsToRecordings(), RecMetadataEdit::Create(), PlaybackBox::CreateProgramInfoString(), CustomEdit::CustomEdit(), StatusBox::customEvent(), ProgFinder::customEvent(), LookerUpper::customEvent(), ProgramRecPriority::deactivate(), ProgLister::DeleteOldSeries(), GuideGrid::details(), StatusBox::doAutoExpireList(), MainServer::DoHandleDeleteRecording(), StatusBox::doJobQueueStatus(), StatusBox::doTunerStatus(), ProgFinder::edit(), GuideGrid::editRecSchedule(), GuideGrid::editSchedule(), CustomEdit::evaluate(), MythDVDPlayer::EventStart(), MythBDPlayer::EventStart(), AutoExpire::ExpireRecordings(), extract_subtitle(), ProgLister::FillItemList(), TV::FillOSDMenuJumpRec(), FillProgramInfo(), HttpStatus::FillProgramInfo(), GuideGrid::fillProgramRowInfos(), Scheduler::FindNextConflict(), TVRec::FinishedRecording(), FlagCommercials(), Dvr::GetFilteredRecordedList(), ProgFinder::getInfo(), PlayGroup::GetInitialName(), RecordingSelector::getRecordingList(), TV::GetStatus(), LookerUpper::HandleAllArtwork(), LookerUpper::HandleAllRecordingRules(), LookerUpper::HandleAllRecordings(), Scheduler::HandleRecording(), Scheduler::HandleTuning(), 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(), Scheduler::PutInactiveSlavesToSleep(), TV::QuickRecord(), GuideGrid::quickRecord(), RebuildSeekTable(), CustomEdit::recordClicked(), RemoteGetRecordingStatus(), PlaybackBox::saveRecMetadata(), PlayerContext::SetPseudoLiveTV(), ProgLister::ShowDeleteOldEpisodeMenu(), ProgLister::ShowDeleteOldSeriesMenu(), TV::ShowLCDChannelInfo(), TV::ShowOSDPromptDeleteRecording(), ScheduleEditor::showPrevious(), ScheduleCommon::ShowUpcoming(), ScheduleCommon::ShowUpcomingScheduled(), Scheduler::SlaveConnected(), Scheduler::SlaveDisconnected(), TVRec::StartRecording(), TV::timerEvent(), RecordingSelector::titleChanged(), Scheduler::TryAnotherShowing(), TVRec::TuningRestartRecorder(), GuideGrid::upcoming(), RecordingSelector::updateRecordingList(), PlaybackBox::UpdateUIListItem(), and PlaybackBox::UpdateUILists().

QString ProgramInfo::GetSubtitle ( void   )  const [inline]
QString ProgramInfo::GetDescription ( void   )  const [inline]
uint ProgramInfo::GetSeason ( void   )  const [inline]
uint ProgramInfo::GetEpisode ( void   )  const [inline]
QString ProgramInfo::GetCategory ( void   )  const [inline]
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 341 of file programinfo.h.

Referenced by ProgramInfoCache::Add(), Content::AddRecordingLiveStream(), LiveTVChain::AppendNewProgram(), TV::AskAllowRecording(), RecordingRule::AssignProgramInfo(), TVBrowseHelper::BrowseStart(), TV::ChangeChannel(), ClearSkipList(), RecordingInfo::clone(), comp_overlap(), comp_recstart(), CompleteJob(), CopySkipListToCutList(), PlaybackBox::createJobMenu(), PlaybackBox::createPlaylistJobMenu(), TV::customEvent(), StatusBox::customEvent(), ScheduleCommon::customEvent(), PlaybackBox::customEvent(), MainServer::customEvent(), ProgLister::DeleteOldEpisode(), LiveTVChain::DeleteProgram(), MainServer::DoDeleteThread(), TV::DoEditSchedule(), DoFlagCommercials(), MainServer::DoHandleDeleteRecording(), PlaybackBox::doJobQueueJob(), StatusBox::doJobQueueStatus(), PlaybackBox::doPlaylistJobQueueJob(), TV::DoQueueTranscode(), StatusBox::doTunerStatus(), LiveTVChain::EntryToProgram(), CustomEdit::evaluate(), MythPlayer::EventLoop(), extract_commflag_state(), extract_job_state(), FillChannelInfo(), HttpStatus::FillChannelInfo(), AutoExpire::FillDBOrdered(), PlaybackSock::FillProgramInfo(), Scheduler::FillRecordingDir(), HttpStatus::FillStatusXML(), Scheduler::FindNextConflict(), PlaybackBox::FindProgramInUILists(), TVRec::FinishedRecording(), LiveTVChain::FinishedRecording(), FlagCommercials(), GetMarkupList(), GetPlaybackURL(), PlayerContext::GetPlayingInfoMap(), Content::GetPreviewImage(), Guide::GetProgramGuide(), GetProgramInfo(), getProgramInfoForFile(), RemoteEncoder::GetRecording(), PlaybackSock::GetRecording(), Content::GetRecording(), JobQueue::GetRunningJobID(), TV::GetStatus(), MainServer::HandleAnnounce(), TV::HandlePseudoLiveTVTimerEvent(), MainServer::HandleQueryRecording(), Scheduler::HandleRecording(), Scheduler::HandleRecordingStatusChange(), Scheduler::HandleTuning(), MainServer::HandleUndeleteRecording(), PlaybackBox::HandleUpdateProgramInfoEvent(), incomingCustomEvent(), init_jobs(), RecordingInfo::InsertProgram(), TVRec::IsBusy(), JobQueue::IsJobRunning(), EncoderLink::IsRecording(), TV::ITVRestart(), ProgDetails::loadPage(), MainServer::LocalFilePath(), FileServerHandler::LocalFilePath(), LookupFromProgramInfo(), main(), MythPlayer::OpenFile(), plTimeSort::operator()(), PlaybackBox::Play(), TV::PlaybackMenuInit(), PlaybackBox::PlaylistDelete(), preview_helper(), print_comm_flag_output(), JobQueue::ProcessJob(), TV::ProcessNetworkControlCommand(), PlaybackBox::processNetworkControlCommand(), LiveTVChain::ProgramIsAt(), push_onto_del(), QueueCommFlagJob(), QueueJob(), JobQueue::QueueRecordingJobs(), QueueTranscodeJob(), TV::QuickRecord(), Reload(), ReloadBookmark(), RemoteFillProgramInfo(), PlaybackBox::RemoveProgram(), TVBrowseHelper::run(), PreviewGenerator::Run(), SendMythSystemPlayEvent(), SendMythSystemRecEvent(), SetCutList(), TVRec::SetLiveRecording(), LiveTVChain::SetProgram(), ViewScheduled::showGuide(), ProgLister::ShowGuide(), ProgFinder::showGuide(), TVRec::StartRecording(), EncoderLink::StartRecording(), TV::StartTV(), PlaybackBox::stopPlaylistJobQueueJob(), MythSystemEventHandler::SubstituteMatches(), TVRec::SwitchRecordingRingBuffer(), toString(), Scheduler::TryAnotherShowing(), TVRec::TuningRestartRecorder(), TVRec::TuningSignalCheck(), ProgramInfoCache::Update(), Scheduler::UpdateRecStatus(), and WaitToDelete().

QString ProgramInfo::GetChanNum ( void   )  const [inline]
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 352 of file programinfo.h.

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

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

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

QString ProgramInfo::GetChannelPlaybackFilters ( void   )  const [inline]
QDateTime ProgramInfo::GetScheduledStartTime ( void   )  const [inline]
QString ProgramInfo::GetScheduledStartTime ( MythDate::Format  fmt  )  const [inline]

The scheduled start time of program (with formatting).

Definition at line 361 of file programinfo.h.

QDateTime ProgramInfo::GetScheduledEndTime ( void   )  const [inline]
QString ProgramInfo::GetScheduledEndTime ( MythDate::Format  fmt  )  const [inline]

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

Definition at line 368 of file programinfo.h.

QDateTime ProgramInfo::GetRecordingStartTime ( void   )  const [inline]

Approximate time the recording started.

Definition at line 373 of file programinfo.h.

Referenced by ProgramInfoCache::Add(), LiveTVChain::AppendNewProgram(), 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(), PlaybackBox::CreateProgramInfoString(), TV::customEvent(), StatusBox::customEvent(), ScheduleCommon::customEvent(), PlaybackBox::customEvent(), LiveTVChain::DeleteProgram(), StatusBox::doAutoExpireList(), DoFlagCommercials(), MainServer::DoHandleDeleteRecording(), PlaybackBox::doJobQueueJob(), StatusBox::doJobQueueStatus(), PlaybackBox::doPlaylistJobQueueJob(), TV::DoQueueTranscode(), ScheduleCommon::EditRecording(), extract_commflag_state(), extract_job_state(), ViewScheduled::FillList(), FillProgramInfo(), HttpStatus::FillProgramInfo(), Scheduler::FillRecordingDir(), Scheduler::FindNextConflict(), PlaybackBox::FindProgramInUILists(), TVRec::FinishedRecording(), LiveTVChain::FinishedRecording(), PreviewGeneratorQueue::GeneratePreviewImage(), GetPlaybackURL(), TVRec::GetProgramRingBufferForLiveTV(), JobQueue::GetRunningJobID(), TV::GetStatus(), Scheduler::HandleRecording(), Scheduler::HandleRecordingStatusChange(), Scheduler::HandleReschedule(), Scheduler::HandleTuning(), PlaybackBox::HandleUpdateProgramInfoEvent(), Scheduler::HandleWakeSlave(), incomingCustomEvent(), init_jobs(), JobQueue::IsJobRunning(), EncoderLink::IsRecording(), ViewScheduled::LoadList(), ProgDetails::loadPage(), PreviewGenerator::LocalPreviewRun(), LookupFromProgramInfo(), Scheduler::MarkShowingsList(), Scheduler::MoveHigherRecords(), PlaybackBox::Play(), PlaybackBox::PlaylistDelete(), print_comm_flag_output(), AutoExpire::PrintExpireList(), Scheduler::PrintList(), Scheduler::PrintRec(), TV::ProcessNetworkControlCommand(), LiveTVChain::ProgramIsAt(), push_onto_del(), Scheduler::PutInactiveSlavesToSleep(), QueueCommFlagJob(), QueueJob(), JobQueue::QueueRecordingJobs(), QueueTranscodeJob(), ReloadBookmark(), PlaybackBox::RemoveProgram(), PreviewGenerator::Run(), Scheduler::SchedNewRecords(), SendMythSystemPlayEvent(), SendMythSystemRecEvent(), LiveTVChain::SetProgram(), PlayerContext::SetPseudoLiveTV(), MythPlayer::SetWatched(), ViewScheduleDiff::showStatus(), Scheduler::ShutdownServer(), TVRec::StartRecording(), EncoderLink::StartRecording(), TV::StartTV(), PlaybackBox::stopPlaylistJobQueueJob(), ToMap(), toString(), Scheduler::TryAnotherShowing(), TVRec::TuningRestartRecorder(), ProgramInfoCache::Update(), Scheduler::UpdateNextRecord(), WaitToDelete(), and EncoderLink::WouldConflict().

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

Approximate time the recording started (with formatting).

Definition at line 375 of file programinfo.h.

QDateTime ProgramInfo::GetRecordingEndTime ( void   )  const [inline]
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 384 of file programinfo.h.

QString ProgramInfo::GetRecordingGroup ( void   )  const [inline]
QString ProgramInfo::GetPlaybackGroup ( void   )  const [inline]
QString ProgramInfo::GetHostname ( void   )  const [inline]
QString ProgramInfo::GetStorageGroup ( void   )  const [inline]
uint ProgramInfo::GetYearOfInitialRelease ( void   )  const [inline]
QDate ProgramInfo::GetOriginalAirDate ( void   )  const [inline]
QDateTime ProgramInfo::GetLastModifiedTime ( void   )  const [inline]
QString ProgramInfo::GetLastModifiedTime ( MythDate::Format  fmt  )  const [inline]

Definition at line 399 of file programinfo.h.

uint64_t ProgramInfo::GetFilesize ( void   )  const [inline]
QString ProgramInfo::GetSeriesID ( void   )  const [inline]
QString ProgramInfo::GetProgramID ( void   )  const [inline]
QString ProgramInfo::GetInetRef ( void   )  const [inline]
CategoryType ProgramInfo::GetCategoryType ( void   )  const [inline]

Definition at line 407 of file programinfo.h.

Referenced by ScheduleCommon::EditRecording(), and GuessLookupType().

QString ProgramInfo::GetCategoryTypeString ( void   )  const
int ProgramInfo::GetRecordingPriority ( void   )  const [inline]
int ProgramInfo::GetRecordingPriority2 ( void   )  const [inline]
float ProgramInfo::GetStars ( void   )  const [inline]
uint ProgramInfo::GetStars ( uint  range_max  )  const [inline]

Definition at line 412 of file programinfo.h.

RecStatusType ProgramInfo::GetRecordingStatus ( void   )  const [inline]

Definition at line 415 of file programinfo.h.

Referenced by RecordingInfo::AddHistory(), Scheduler::AddNewRecords(), Scheduler::AddRecording(), Scheduler::BackupRecStatus(), ScheduledRecording::BuildCheckRequest(), Scheduler::BuildListMaps(), Scheduler::BuildWorkList(), comp_overlap(), comp_priority(), comp_recstart(), comp_redundant(), comp_retry(), StatusBox::doScheduleStatus(), ScheduleCommon::EditRecording(), extract_job_state(), extract_main_state(), ViewScheduleDiff::fillList(), ViewScheduled::FillList(), FillProgramInfo(), HttpStatus::FillProgramInfo(), GuideGrid::fillProgramRowInfos(), Scheduler::FillRecordingDir(), TVRec::FinishedRecording(), Scheduler::GetRecStatus(), Scheduler::HandleRecording(), Scheduler::HandleRecordingStatusChange(), Scheduler::HandleReschedule(), Scheduler::HandleTuning(), ProgLister::HandleVisible(), ViewScheduled::LoadList(), ProgDetails::loadPage(), Scheduler::MarkShowingsList(), Scheduler::MoveHigherRecords(), plTitleSort::operator()(), Scheduler::PrintRec(), Scheduler::PruneRedundants(), Scheduler::PutInactiveSlavesToSleep(), Recording(), RemoteGetCurrentlyRecordingList(), Scheduler::SchedNewRecords(), SendMythSystemRecEvent(), TVRec::SetLiveRecording(), PlaybackBox::ShowActionPopup(), ViewScheduleDiff::showStatus(), Scheduler::SlaveConnected(), Scheduler::SlaveDisconnected(), TVRec::StartRecording(), ToMap(), Scheduler::TryAnotherShowing(), TVRec::TuningShutdowns(), PlaybackBox::updateGroupInfo(), ProgramRecPriority::updateInfo(), ProgramRecPriority::UpdateList(), Scheduler::UpdateNextRecord(), Scheduler::UpdateRecStatus(), and ViewScheduleDiff::updateUIList().

RecStatusType ProgramInfo::GetOldRecordingStatus ( void   )  const [inline]

Definition at line 417 of file programinfo.h.

uint ProgramInfo::GetPreferedInputID ( void   )  const [inline]

Definition at line 419 of file programinfo.h.

uint ProgramInfo::GetRecordingRuleID ( void   )  const [inline]
uint ProgramInfo::GetParentRecordingRuleID ( void   )  const [inline]
RecordingType ProgramInfo::GetRecordingRuleType ( void   )  const [inline]
RecordingDupInType ProgramInfo::GetDuplicateCheckSource ( void   )  const [inline]

Where should we check for duplicates?

Definition at line 426 of file programinfo.h.

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

RecordingDupMethodType ProgramInfo::GetDuplicateCheckMethod ( void   )  const [inline]

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

Definition at line 430 of file programinfo.h.

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

uint ProgramInfo::GetSourceID ( void   )  const [inline]
uint ProgramInfo::GetInputID ( void   )  const [inline]
uint ProgramInfo::GetCardID ( void   )  const [inline]
uint ProgramInfo::GetFindID ( void   )  const [inline]
uint32_t ProgramInfo::GetProgramFlags ( void   )  const [inline]
ProgramInfoType ProgramInfo::GetProgramInfoType ( void   )  const [inline]

Definition at line 440 of file programinfo.h.

Referenced by ToMap().

bool ProgramInfo::IsGeneric ( void   )  const

Definition at line 1764 of file programinfo.cpp.

Referenced by ScheduleCommon::EditRecording().

bool ProgramInfo::IsInUsePlaying ( void   )  const [inline]

Definition at line 443 of file programinfo.h.

Referenced by PlaybackBox::SetItemIcons().

bool ProgramInfo::IsCommercialFree ( void   )  const [inline]
bool ProgramInfo::HasCutlist ( void   )  const [inline]
bool ProgramInfo::IsBookmarkSet ( void   )  const [inline]

Definition at line 446 of file programinfo.h.

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

bool ProgramInfo::IsWatched ( void   )  const [inline]
bool ProgramInfo::IsAutoExpirable ( void   )  const [inline]
bool ProgramInfo::IsPreserved ( void   )  const [inline]
bool ProgramInfo::IsVideo ( void   )  const [inline]
bool ProgramInfo::IsRecording ( void   )  const [inline]
bool ProgramInfo::IsRepeat ( void   )  const [inline]
bool ProgramInfo::IsDuplicate ( void   )  const [inline]

Definition at line 453 of file programinfo.h.

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

bool ProgramInfo::IsReactivated ( void   )  const [inline]
bool ProgramInfo::IsDeletePending ( void   )  const [inline]

Definition at line 455 of file programinfo.h.

uint ProgramInfo::GetSubtitleType ( void   )  const [inline]
uint ProgramInfo::GetVideoProperties ( void   )  const [inline]
uint ProgramInfo::GetAudioProperties ( void   )  const [inline]
QString ProgramInfo::toString ( Verbosity  v = kLongDescription,
QString  sep = ":",
QString  grp = "\"" 
) const
void ProgramInfo::SetTitle ( const QString &  t  )  [inline]
void ProgramInfo::SetProgramInfoType ( ProgramInfoType  t  )  [inline]

Definition at line 477 of file programinfo.h.

Referenced by internal_play_media(), and SetPathname().

void ProgramInfo::SetPathname ( const QString &  pn  )  const
void ProgramInfo::SetChanID ( uint  _chanid  )  [inline]

Definition at line 480 of file programinfo.h.

Referenced by TVRec::GetProgramRingBufferForLiveTV().

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

Definition at line 481 of file programinfo.h.

Referenced by ScheduleCommon::customEvent().

void ProgramInfo::SetScheduledEndTime ( const QDateTime &  dt  )  [inline]
void ProgramInfo::SetRecordingStartTime ( const QDateTime &  dt  )  [inline]
void ProgramInfo::SetRecordingEndTime ( const QDateTime &  dt  )  [inline]
void ProgramInfo::SetRecordingGroup ( const QString &  group  )  [inline]
void ProgramInfo::SetPlaybackGroup ( const QString &  group  )  [inline]

Definition at line 486 of file programinfo.h.

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

Definition at line 487 of file programinfo.h.

Referenced by AutoExpire::ExpireRecordings().

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

Definition at line 488 of file programinfo.h.

Referenced by TVRec::GetProgramRingBufferForLiveTV().

void ProgramInfo::SetFilesize ( uint64_t  sz  )  [inline]
void ProgramInfo::SetSeriesID ( const QString &  id  )  [inline]

Definition at line 490 of file programinfo.h.

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

Definition at line 491 of file programinfo.h.

Referenced by ProgLister::DeleteOldSeries().

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

Definition at line 492 of file programinfo.h.

Referenced by ProgramRecPriority::scheduleChanged().

void ProgramInfo::SetCategoryType ( const CategoryType  type  )  [inline]

Definition at line 493 of file programinfo.h.

void ProgramInfo::SetRecordingPriority ( int  priority  )  [inline]

Definition at line 494 of file programinfo.h.

Referenced by ProgramRecPriority::scheduleChanged().

void ProgramInfo::SetRecordingPriority2 ( int  priority  )  [inline]
void ProgramInfo::SetRecordingRuleID ( uint  id  )  [inline]
void ProgramInfo::SetSourceID ( uint  id  )  [inline]

Definition at line 497 of file programinfo.h.

void ProgramInfo::SetInputID ( uint  id  )  [inline]
void ProgramInfo::SetCardID ( uint  id  )  [inline]
void ProgramInfo::SetReactivated ( bool  reactivate  )  [inline]

Definition at line 500 of file programinfo.h.

Referenced by RecordingInfo::AddHistory().

void ProgramInfo::SetEditing ( bool  editing  )  [inline]
void ProgramInfo::SetFlagging ( bool  flagging  )  [inline]
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 517 of file programinfo.h.

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

void ProgramInfo::SetRecordingStatus ( RecStatusType  status  )  [inline]
void ProgramInfo::SetRecordingRuleType ( RecordingType  type  )  [inline]
void ProgramInfo::SetPositionMapDBReplacement ( PMapDBReplacement pmap  )  [inline]

Definition at line 524 of file programinfo.h.

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 chanid and recstartts.

Definition at line 2263 of file programinfo.cpp.

Referenced by CompleteJob(), and GetPlaybackURL().

uint64_t ProgramInfo::QueryFilesize ( void   )  const

Gets recording file size from database.

Definition at line 2423 of file programinfo.cpp.

Referenced by TVRec::FinishedRecording(), and PlaybackBox::updateGroupInfo().

uint ProgramInfo::QueryMplexID ( void   )  const

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

Definition at line 2442 of file programinfo.cpp.

Referenced by Scheduler::FindNextConflict(), and TVRec::StartRecording().

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

Referenced by PreviewGeneratorQueue::GeneratePreviewImage().

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

Referenced by MythPlayer::GetBookmark(), MainServer::HandleBookmarkQuery(), internal_play_media(), and PreviewGenerator::LocalPreviewRun().

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

Queries recordedprogram to get the category_type of the recording.

Returns:
string category_type

Definition at line 2639 of file programinfo.cpp.

Referenced by GuessLookupType().

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

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

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

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

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

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

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

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_allowed iff true still returns true if there is one playback in progress and all other checks pass.

Definition at line 2871 of file programinfo.cpp.

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

AutoExpireType ProgramInfo::QueryAutoExpire ( void   )  const

Returns "autoexpire" field from "recorded" table.

Definition at line 3058 of file programinfo.cpp.

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

TranscodingStatus ProgramInfo::QueryTranscodeStatus ( void   )  const

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

Definition at line 2904 of file programinfo.cpp.

Referenced by MythPlayer::SetWatched().

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

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

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

Referenced by ToMap().

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

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

Referenced by TVRec::FinishedRecording().

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

MarkTypes ProgramInfo::QueryAverageAspectRatio ( void   )  const

Definition at line 3867 of file programinfo.cpp.

Referenced by TVRec::FinishedRecording().

int64_t ProgramInfo::QueryTotalDuration ( void   )  const

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

Definition at line 3906 of file programinfo.cpp.

Referenced by AvFormatDecoder::OpenFile().

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

QString ProgramInfo::QueryRecordingGroup ( void   )  const

Query recgroup from recorded.

Definition at line 4066 of file programinfo.cpp.

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

bool ProgramInfo::QueryMarkupFlag ( MarkTypes  type  )  const

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

Definition at line 3356 of file programinfo.cpp.

Referenced by Transcode::TranscodeFile().

uint ProgramInfo::QueryTranscoderID ( void   )  const

Definition at line 4082 of file programinfo.cpp.

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

uint64_t ProgramInfo::QueryLastFrameInPosMap ( void   )  const

Returns last frame in position map or 0.

Definition at line 1744 of file programinfo.cpp.

Referenced by GetMarkupList().

bool ProgramInfo::Reload ( void   ) 

Definition at line 1810 of file programinfo.cpp.

Referenced by JobQueue::DoTranscodeThread().

void ProgramInfo::SaveFilesize ( uint64_t  fsize  ) 
void ProgramInfo::SaveBookmark ( uint64_t  frame  ) 

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

Definition at line 2467 of file programinfo.cpp.

Referenced by CompleteJob(), and MythPlayer::SetBookmark().

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

Definition at line 2596 of file programinfo.cpp.

Referenced by MythDVDPlayer::SetDVDBookmark().

void ProgramInfo::SaveEditing ( bool  edit  ) 

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

Parameters:
edit Editing state to set.

Definition at line 2739 of file programinfo.cpp.

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

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:
transFlag value to set transcoded field to.

Definition at line 2924 of file programinfo.cpp.

Referenced by JobQueue::DoTranscodeThread().

void ProgramInfo::SaveWatched ( bool  watchedFlag  ) 

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

Definition at line 2662 of file programinfo.cpp.

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

void ProgramInfo::SaveDeletePendingFlag ( bool  deleteFlag  ) 

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

Parameters:
deleteFlag value to set delete pending field to.

Definition at line 2764 of file programinfo.cpp.

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

void ProgramInfo::SaveCommFlagged ( CommFlagStatus  flag  ) 

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

Parameters:
flag value to set commercial flagging field to.

Definition at line 2947 of file programinfo.cpp.

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

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

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

Parameters:
autoExpire value to set auto expire field to.
updateDelete iff true, call UpdateLastDelete(true)

Definition at line 3000 of file programinfo.cpp.

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

void ProgramInfo::SavePreserve ( bool  preserveEpisode  ) 

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

Parameters:
preserveEpisode value to set preserve field to.

Definition at line 2973 of file programinfo.cpp.

Referenced by PlaybackBox::togglePreserveEpisode().

bool ProgramInfo::SaveBasename ( const QString &  basename  ) 

Sets a recording's basename in the database.

Definition at line 2233 of file programinfo.cpp.

Referenced by CompleteJob().

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

Referenced by RecorderBase::AspectChange().

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

Referenced by RecorderBase::ResolutionChange().

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

Referenced by RecorderBase::FrameRateChange().

void ProgramInfo::SaveTotalDuration ( int64_t  duration  ) 

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

Definition at line 3705 of file programinfo.cpp.

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

void ProgramInfo::SaveTotalFrames ( int64_t  frames  ) 

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

Definition at line 3737 of file programinfo.cpp.

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

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

Definition at line 3923 of file programinfo.cpp.

Referenced by TVRec::FinishedRecording().

void ProgramInfo::SaveMarkupFlag ( MarkTypes  type  )  const

Clears the specified flag, then if sets it.

Definition at line 3366 of file programinfo.cpp.

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

void ProgramInfo::ClearMarkupFlag ( MarkTypes  type  )  const [inline]

Definition at line 574 of file programinfo.h.

Referenced by Transcode::TranscodeFile().

void ProgramInfo::UpdateLastDelete ( bool  setTime  )  const

Set or unset the record.last_delete field.

Parameters:
setTime to set or clear the time stamp.

Definition at line 3026 of file programinfo.cpp.

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

void ProgramInfo::MarkAsInUse ( bool  inuse,
QString  usedFor = "" 
)
void ProgramInfo::UpdateInUseMark ( bool  force = false  ) 
void ProgramInfo::SaveSeasonEpisode ( uint  seas,
uint  ep 
)

Definition at line 3987 of file programinfo.cpp.

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

void ProgramInfo::SaveInetRef ( const QString &  inet  ) 
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 4102 of file programinfo.cpp.

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

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

Referenced by CompleteJob(), 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(), SubstituteMatches(), TV::SwitchCards(), MythPlayer::SwitchToProgram(), and RecordingSelector::updateSelectedList().

ProgramInfoType ProgramInfo::DiscoverProgramInfoType ( void   )  const

Definition at line 2212 of file programinfo.cpp.

Referenced by internal_play_media().

bool ProgramInfo::QueryCutList ( frm_dir_map_t delMap,
bool  loadAutosave = false 
) const
void ProgramInfo::SaveCutList ( frm_dir_map_t delMap,
bool  isAutoSave = false 
) const
void ProgramInfo::QueryCommBreakList ( frm_dir_map_t frames  )  const

Definition at line 3160 of file programinfo.cpp.

Referenced by CopySkipListToCutList(), GetMarkupList(), and CommBreakMap::LoadMap().

void ProgramInfo::SaveCommBreakList ( frm_dir_map_t frames  )  const

Definition at line 3153 of file programinfo.cpp.

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

void ProgramInfo::QueryPositionMap ( frm_pos_map_t posMap,
MarkTypes  type 
) const
void ProgramInfo::ClearPositionMap ( MarkTypes  type  )  const
void ProgramInfo::SavePositionMap ( frm_pos_map_t posMap,
MarkTypes  type,
int64_t  min_frm = -1,
int64_t  max_frm = -1 
) const

Definition at line 3458 of file programinfo.cpp.

Referenced by UpdatePositionMap().

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

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

Definition at line 2507 of file programinfo.cpp.

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

void ProgramInfo::SendDeletedEvent ( void   )  const

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

Definition at line 2512 of file programinfo.cpp.

Referenced by MainServer::DoHandleDeleteRecording().

QString ProgramInfo::i18n ( const QString &  msg  )  [static]
QString ProgramInfo::MakeUniqueKey ( uint  chanid,
const QDateTime &  recstartts 
) [static]

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

Definition at line 1170 of file programinfo.cpp.

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

Referenced by TV::customEvent(), PlaybackBox::FindProgramInUILists(), ProgramInfoCache::GetProgramInfo(), and incomingCustomEvent().

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

Definition at line 1190 of file programinfo.cpp.

Referenced by QueryKeyFromPathname().

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

Definition at line 1212 of file programinfo.cpp.

Referenced by preview_helper(), and ProgramInfo().

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

Definition at line 4049 of file programinfo.cpp.

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

Definition at line 2558 of file programinfo.cpp.

QMap< QString, uint32_t > ProgramInfo::QueryInUseMap ( void   )  [static]
QMap< QString, bool > ProgramInfo::QueryJobsRunning ( int  type  )  [static]
QStringList ProgramInfo::LoadFromScheduler ( const QString &  altTable,
int  recordid 
) [static]

Definition at line 4619 of file programinfo.cpp.

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

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

Definition at line 3275 of file programinfo.cpp.

Referenced by QueryBookmark(), QueryCommBreakList(), QueryCutList(), and QueryMarkupFlag().

void ProgramInfo::SaveMarkupMap ( const frm_dir_map_t marks,
MarkTypes  type = MARK_ALL,
int64_t  min_frm = -1,
int64_t  max_frm = -1 
) const [protected]

Definition at line 3207 of file programinfo.cpp.

Referenced by SaveBookmark(), SaveCommBreakList(), SaveCutList(), and SaveMarkupFlag().

void ProgramInfo::ClearMarkupMap ( MarkTypes  type = MARK_ALL,
int64_t  min_frm = -1,
int64_t  max_frm = -1 
) const [protected]

Definition at line 3166 of file programinfo.cpp.

Referenced by SaveBookmark(), SaveCommBreakList(), SaveCutList(), and SaveMarkupFlag().

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

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

Definition at line 2153 of file programinfo.cpp.

Referenced by RecordingInfo::StartedRecording().

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

Loads ProgramInfo for an existing recording.

Returns:
true iff sucessful

Definition at line 1824 of file programinfo.cpp.

Referenced by ProgramInfo().

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

Uses a QStringList to initialize this ProgramInfo instance.

Parameters:
beg Iterator pointing to first item in list to treat as beginning of serialized ProgramInfo.
end Iterator 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 1343 of file programinfo.cpp.

void ProgramInfo::QueryMarkupMap ( const QString &  video_pathname,
frm_dir_map_t marks,
MarkTypes  type,
bool  merge = false 
) [static, protected]

Definition at line 3292 of file programinfo.cpp.

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

Definition at line 3323 of file programinfo.cpp.

int ProgramInfo::InitStatics ( void   )  [static, protected]

Definition at line 4484 of file programinfo.cpp.

Referenced by pginfo_init_statics().

void ProgramInfo::SetAvailableStatus ( AvailableStatusType  status,
const QString &  where 
)
AvailableStatusType ProgramInfo::GetAvailableStatus ( void   )  const [inline]

Friends And Related Function Documentation

int pginfo_init_statics ( void   )  [friend]

Definition at line 43 of file programinfo.cpp.


Member Data Documentation

QString ProgramInfo::title [protected]
QString ProgramInfo::subtitle [protected]
QString ProgramInfo::description [protected]
QString ProgramInfo::syndicatedepisode [protected]
QString ProgramInfo::category [protected]
int32_t ProgramInfo::recpriority [protected]
uint32_t ProgramInfo::chanid [protected]

Definition at line 664 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(), IsSameProgramTimeslot(), IsSameProgramWeakCheck(), IsSameRecording(), IsSameTimeslot(), LoadProgramFromRecorded(), MarkAsInUse(), ProgramInfo(), QueryAutoExpire(), QueryAverageAspectRatio(), QueryAverageFrameRate(), QueryAverageHeight(), QueryAverageWidth(), QueryBasename(), QueryBookmarkTimeStamp(), QueryCategoryType(), QueryFilesize(), QueryIsEditing(), QueryIsInUse(), QueryJobsRunning(), QueryMarkupMap(), QueryMplexID(), QueryPositionMap(), QueryRecordingGroup(), QueryTotalDuration(), QueryTotalFrames(), QueryTranscoderID(), QueryTranscodeStatus(), QueryTuningInfo(), RecordingInfo::RecordingInfo(), Reload(), SaveAspect(), SaveAutoExpire(), SaveBasename(), SaveBookmark(), SaveCommFlagged(), SaveCutList(), SaveDeletePendingFlag(), SaveEditing(), SaveFilesize(), SaveFrameRate(), SaveInetRef(), SaveMarkupMap(), SavePositionMap(), SavePositionMapDelta(), SavePreserve(), SaveResolution(), SaveSeasonEpisode(), SaveTotalDuration(), SaveTotalFrames(), SaveTranscodeStatus(), SaveVideoProperties(), SaveWatched(), SendAddedEvent(), SendDeletedEvent(), SendUpdateEvent(), SetPathname(), RecordingInfo::StartedRecording(), SubstituteMatches(), ToMap(), ToStringList(), and RecordingInfo::UpdateRecordingEnd().

QString ProgramInfo::chanstr [protected]
QString ProgramInfo::chansign [protected]
QString ProgramInfo::channame [protected]
QString ProgramInfo::chanplaybackfilters [protected]
QString ProgramInfo::recgroup [protected]
QString ProgramInfo::playgroup [protected]
QString ProgramInfo::pathname [mutable, protected]
QString ProgramInfo::hostname [protected]
QString ProgramInfo::storagegroup [protected]
QString ProgramInfo::seriesid [protected]
QString ProgramInfo::programid [protected]
QString ProgramInfo::inetref [protected]
uint64_t ProgramInfo::filesize [protected]
QDateTime ProgramInfo::startts [protected]
QDateTime ProgramInfo::endts [protected]
QDateTime ProgramInfo::recstartts [protected]

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

QDateTime ProgramInfo::recendts [protected]
float ProgramInfo::stars [protected]
QDate ProgramInfo::originalAirDate [protected]
QDateTime ProgramInfo::lastmodified [protected]
QDateTime ProgramInfo::lastInUseTime [protected]

Definition at line 693 of file programinfo.h.

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

uint32_t ProgramInfo::prefinput [protected]

Definition at line 695 of file programinfo.h.

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

int32_t ProgramInfo::recpriority2 [protected]
uint32_t ProgramInfo::recordid [protected]
uint32_t ProgramInfo::parentid [protected]
uint32_t ProgramInfo::sourceid [protected]
uint32_t ProgramInfo::inputid [protected]
uint32_t ProgramInfo::cardid [protected]
uint32_t ProgramInfo::findid [protected]
uint32_t ProgramInfo::programflags [protected]

SubtitleType,VideoProperty,AudioProperty.

Definition at line 707 of file programinfo.h.

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

int8_t ProgramInfo::recstatus [protected]
int8_t ProgramInfo::oldrecstatus [protected]

Reimplemented in RecordingInfo.

Definition at line 713 of file programinfo.h.

Referenced by LoadProgramFromRecorded().

uint8_t ProgramInfo::rectype [protected]
uint8_t ProgramInfo::dupin [protected]
uint8_t ProgramInfo::dupmethod [protected]
uint8_t ProgramInfo::availableStatus [protected]
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   "
    "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 728 of file programinfo.h.

Referenced by LoadFromRecorded(), and LoadProgramFromRecorded().

QString ProgramInfo::inUseForWhat [protected]
QMutex ProgramInfo::staticDataLock [static, protected]

Definition at line 734 of file programinfo.h.

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

bool ProgramInfo::usingProgIDAuth = true [static, protected]

Definition at line 736 of file programinfo.h.

Referenced by CheckProgramIDAuthorities(), and IsSameProgram().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends
Generated on Thu May 23 06:43:47 2013 for MythTV by  doxygen 1.6.3