ProgramInfo Class Reference

Holds information on recordings and videos. More...

#include <programinfo.h>

Inheritance diagram for ProgramInfo:
RecordingInfo ProgramRecPriorityInfo

List of all members.

Public Types

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, 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, int recpriority, uint64_t filesize, const QDateTime &startts, const QDateTime &endts, const QDateTime &recstartts, const QDateTime &recendts, float stars, uint year, 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, const QString &category, uint chanid, const QString &channum, const QString &chansign, const QString &channame, const QString &seriesid, const QString &programid, 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 &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 QString &catType, float stars, uint year, const QDate &originalAirDate, RecStatusType recstatus, uint recordid, RecordingType rectype, uint findid, bool commfree, bool repeat, const ProgramList &schedList, bool oneChanid)
 Constructs a ProgramInfo from listings data in 'program' table.
 ProgramInfo (const QString &title, const QString &subtitle, const QString &description, 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)
 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, uint length_in_minutes, uint year)
 Constructs a ProgramInfo for a pathname.
 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
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 (MythDateFormat fmt) const
 The scheduled start time of program (with formatting).
QDateTime GetScheduledEndTime (void) const
 The scheduled end time of the program.
QString GetScheduledEndTime (MythDateFormat fmt) const
 The scheduled end time of the program (with formatting).
QDateTime GetRecordingStartTime (void) const
 Approximate time the recording started.
QString GetRecordingStartTime (MythDateFormat 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 (MythDateFormat 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 (MythDateFormat fmt) const
uint64_t GetFilesize (void) const
QString GetSeriesID (void) const
QString GetProgramID (void) const
QString GetCategoryType (void) const
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 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 SetCategoryType (const QString &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.
QStringList QueryDVDBookmark (const QString &serialid, bool delbookmark) 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.
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.
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
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 SaveResolutionProperty (VideoProperty vid_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)
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.
void QueryCutList (frm_dir_map_t &) const
void SaveCutList (frm_dir_map_t &) 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 int GetRecordingTypeRecPriority (RecordingType type)
 Returns recording priority change needed due to RecordingType.
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 QString QueryRecordingGroupPassword (const QString &group)
static uint64_t QueryBookmark (uint chanid, const QDateTime &recstartts)
static QMap< QString, uint32_tQueryInUseMap (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
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 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
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

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


Member Enumeration Documentation

Enumerator:
kLongDescription 
kTitleSubtitle 
kRecordingKey 
kSchedulingKey 

Definition at line 425 of file programinfo.h.


Constructor & Destructor Documentation

ProgramInfo::ProgramInfo ( void   ) 

Null constructor.

Definition at line 83 of file programinfo.cpp.

ProgramInfo::ProgramInfo ( const ProgramInfo other  ) 

Copy constructor.

Definition at line 159 of file programinfo.cpp.

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

Constructs a ProgramInfo from data in 'recorded' table.

Definition at line 230 of file programinfo.cpp.

ProgramInfo::ProgramInfo ( const QString &  title,
const QString &  subtitle,
const QString &  description,
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,
int  recpriority,
uint64_t  filesize,
const QDateTime &  startts,
const QDateTime &  endts,
const QDateTime &  recstartts,
const QDateTime &  recendts,
float  stars,
uint  year,
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 237 of file programinfo.cpp.

ProgramInfo::ProgramInfo ( const QString &  title,
const QString &  subtitle,
const QString &  description,
const QString &  category,
uint  chanid,
const QString &  channum,
const QString &  chansign,
const QString &  channame,
const QString &  seriesid,
const QString &  programid,
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 363 of file programinfo.cpp.

ProgramInfo::ProgramInfo ( const QString &  title,
const QString &  subtitle,
const QString &  description,
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 QString &  catType,
float  stars,
uint  year,
const QDate &  originalAirDate,
RecStatusType  recstatus,
uint  recordid,
RecordingType  rectype,
uint  findid,
bool  commfree,
bool  repeat,
const ProgramList schedList,
bool  oneChanid 
)

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

Definition at line 462 of file programinfo.cpp.

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

Constructs a basic ProgramInfo (used by RecordingInfo).

Definition at line 606 of file programinfo.cpp.

ProgramInfo::ProgramInfo ( const QString &  pathname  ) 

Constructs a ProgramInfo for a pathname.

Definition at line 699 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,
uint  length_in_minutes,
uint  year 
)

Constructs a ProgramInfo for a pathname.

Definition at line 732 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 786 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 829 of file programinfo.cpp.

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

Definition at line 231 of file programinfo.h.

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

Definition at line 239 of file programinfo.h.

ProgramInfo::~ProgramInfo (  )  [virtual]

Destructor deletes "record" if it exists.

Definition at line 1035 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 845 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.

Definition at line 852 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 958 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 3878 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 1772 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 1824 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 1842 of file programinfo.cpp.

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

int ProgramInfo::GetRecordingTypeRecPriority ( RecordingType  type  )  [static]

Returns recording priority change needed due to RecordingType.

Definition at line 1731 of file programinfo.cpp.

Referenced by Scheduler::AddNewRecords().

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

Referenced by TVRec::StartRecording().

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

Definition at line 272 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 1499 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 3407 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 284 of file programinfo.h.

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

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

Referenced by BuildVideoMarkup(), IsFileReadable(), and TV::PlayFromRecorder().

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

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

Referenced by TV::timerEvent().

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

Definition at line 296 of file programinfo.h.

Referenced by Scheduler::AddRecording(), TV::AskAllowRecording(), RecordingRule::AssignProgramInfo(), Scheduler::BuildListMaps(), comp_overlap(), comp_redundant(), RecMetadataEdit::Create(), PlaybackBox::CreateProgramInfoString(), ProgFinder::customEvent(), ProgLister::DeleteOldSeries(), GuideGrid::details(), StatusBox::doAutoExpireList(), MainServer::DoHandleDeleteRecording(), StatusBox::doJobQueueStatus(), StatusBox::doTunerStatus(), ProgFinder::edit(), GuideGrid::editRecSchedule(), GuideGrid::editSchedule(), MythDVDPlayer::EventStart(), AutoExpire::ExpireRecordings(), extract_subtitle(), ProgLister::FillItemList(), TV::FillOSDMenuJumpRec(), TV::FillOSDMenuSource(), MythXML::FillProgramInfo(), GuideGrid::fillProgramRowInfos(), Scheduler::FindConflict(), Scheduler::FindNextConflict(), TVRec::FinishedRecording(), FlagCommercials(), ProgFinder::getInfo(), PlayGroup::GetInitialName(), RecordingSelector::getRecordingList(), GuideGrid::keyPressEvent(), CustomEdit::loadClauses(), CustomPriority::loadData(), CustomEdit::loadData(), ProgDetails::loadPage(), Scheduler::MarkOtherShowings(), RecordingSelector::OKPressed(), TV::Playback(), print_comm_flag_output(), Scheduler::PutInactiveSlavesToSleep(), GuideGrid::quickRecord(), RemoteGetRecordingStatus(), Scheduler::RunScheduler(), PlaybackBox::saveRecMetadata(), PlayerContext::SetPseudoLiveTV(), ProgLister::ShowDeleteOldEpisodeMenu(), ProgLister::ShowDeleteOldSeriesMenu(), TV::ShowLCDChannelInfo(), TV::ShowOSDPromptDeleteRecording(), ScheduleEditor::showPrevious(), ScheduleCommon::ShowUpcoming(), Scheduler::SlaveConnected(), Scheduler::SlaveDisconnected(), TVRec::StartRecording(), TV::StartTV(), TV::timerEvent(), RecordingSelector::titleChanged(), TV::ToggleOSD(), TV::ToggleRecord(), 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]
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 302 of file programinfo.h.

Referenced by ProgramInfoCache::Add(), LiveTVChain::AppendNewProgram(), TV::AskAllowRecording(), RecordingRule::AssignProgramInfo(), TVBrowseHelper::BrowseStart(), TV::ChangeChannel(), RecordingInfo::clone(), comp_overlap(), comp_recstart(), CompleteJob(), TV::customEvent(), StatusBox::customEvent(), ScheduleCommon::customEvent(), PlaybackBox::customEvent(), MainServer::customEvent(), ProgLister::DeleteOldEpisode(), LiveTVChain::DeleteProgram(), PlaybackBox::deleteSelected(), MainServer::DoDeleteThread(), TV::DoEditSchedule(), DoFlagCommercials(), MainServer::DoHandleDeleteRecording(), PlaybackBox::doJobQueueJob(), StatusBox::doJobQueueStatus(), PlaybackBox::doPlaylistJobQueueJob(), TV::DoQueueTranscode(), StatusBox::doTunerStatus(), LiveTVChain::EntryToProgram(), MythPlayer::EventLoop(), extract_job_state(), MythXML::FillChannelInfo(), AutoExpire::FillDBOrdered(), TV::FillOSDMenuJobs(), PlaybackSock::FillProgramInfo(), Scheduler::FillRecordingDir(), HttpStatus::FillStatusXML(), Scheduler::FindNextConflict(), PlaybackBox::FindProgramInUILists(), TVRec::FinishedRecording(), LiveTVChain::FinishedRecording(), FlagCommercials(), GetPlaybackURL(), PlayerContext::GetPlayingInfoMap(), MythXML::GetProgramGuide(), getProgramInfoForFile(), RemoteEncoder::GetRecording(), PlaybackSock::GetRecording(), JobQueue::GetRunningJobID(), MainServer::HandleAnnounce(), TV::HandlePseudoLiveTVTimerEvent(), MainServer::HandleQueryRecording(), MainServer::HandleUndeleteRecording(), PlaybackBox::HandleUpdateProgramInfoEvent(), incomingCustomEvent(), init_jobs(), RecordingInfo::InsertProgram(), TVRec::IsBusy(), JobQueue::IsJobRunning(), EncoderLink::IsRecording(), TV::ITVRestart(), ProgDetails::loadPage(), MainServer::LocalFilePath(), main(), MythPlayer::OpenFile(), plTimeSort::operator()(), PlaybackBox::Play(), PlaybackBox::PlaylistDelete(), preview_helper(), print_comm_flag_output(), JobQueue::ProcessJob(), TV::ProcessNetworkControlCommand(), PlaybackBox::processNetworkControlCommand(), LiveTVChain::ProgramIsAt(), push_onto_del(), QueueCommFlagJob(), JobQueue::QueueRecordingJobs(), Reload(), ReloadBookmark(), RemoteFillProgramInfo(), PlaybackBox::RemoveProgram(), TVBrowseHelper::run(), PreviewGenerator::Run(), Scheduler::RunScheduler(), NetworkControl::saveScreenshot(), TV::ScreenShot(), MythPlayer::SeekForScreenGrab(), SendMythSystemPlayEvent(), SendMythSystemRecEvent(), TVRec::SetLiveRecording(), LiveTVChain::SetProgram(), PlaybackBox::showJobPopup(), PlaybackBox::showPlaylistJobPopup(), TVRec::StartRecording(), EncoderLink::StartRecording(), TV::StartTV(), PlaybackBox::stopPlaylistJobQueueJob(), MythSystemEventHandler::SubstituteMatches(), TV::ToggleRecord(), toString(), Scheduler::TryAnotherShowing(), TVRec::TuningRestartRecorder(), TVRec::TuningSignalCheck(), ProgramInfoCache::Update(), Scheduler::UpdateRecStatus(), and WaitToDelete().

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

Referenced by TVBrowseHelper::BrowseStart(), comp_recstart(), TV::DoEditSchedule(), StatusBox::doJobQueueStatus(), MythXML::FillChannelInfo(), TV::HandlePseudoLiveTVTimerEvent(), Scheduler::PrintRec(), PlayerContext::SetPseudoLiveTV(), and TV::StartTV().

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

Referenced by RecordingRule::AssignProgramInfo(), comp_recstart(), comp_redundant(), MythXML::FillChannelInfo(), CustomEdit::loadClauses(), ViewScheduled::LoadList(), 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 316 of file programinfo.h.

Referenced by StatusBox::doJobQueueStatus(), MythXML::FillChannelInfo(), and RemoteGetRecordingStatus().

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

Definition at line 317 of file programinfo.h.

Referenced by MythXML::FillChannelInfo(), and PlayerContext::GetFilters().

QDateTime ProgramInfo::GetScheduledStartTime ( void   )  const [inline]
QString ProgramInfo::GetScheduledStartTime ( MythDateFormat  fmt  )  const [inline]

The scheduled start time of program (with formatting).

Definition at line 322 of file programinfo.h.

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

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

Definition at line 330 of file programinfo.h.

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

Approximate time the recording started.

Definition at line 336 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(), CompleteJob(), PlaybackBox::CreateProgramInfoString(), TV::customEvent(), StatusBox::customEvent(), ScheduleCommon::customEvent(), PlaybackBox::customEvent(), LiveTVChain::DeleteProgram(), PlaybackBox::deleteSelected(), StatusBox::doAutoExpireList(), DoFlagCommercials(), MainServer::DoHandleDeleteRecording(), PlaybackBox::doJobQueueJob(), StatusBox::doJobQueueStatus(), PlaybackBox::doPlaylistJobQueueJob(), TV::DoQueueTranscode(), extract_job_state(), ViewScheduled::FillList(), MythXML::FillProgramInfo(), Scheduler::FillRecordingDir(), Scheduler::FindNextConflict(), PlaybackBox::FindProgramInUILists(), TVRec::FinishedRecording(), LiveTVChain::FinishedRecording(), FlagCommercials(), PreviewGeneratorQueue::GeneratePreviewImage(), GetPlaybackURL(), TVRec::GetProgramRingBufferForLiveTV(), JobQueue::GetRunningJobID(), PlaybackBox::HandleUpdateProgramInfoEvent(), incomingCustomEvent(), init_jobs(), JobQueue::IsJobRunning(), EncoderLink::IsRecording(), ViewScheduled::LoadList(), ProgDetails::loadPage(), PreviewGenerator::LocalPreviewRun(), Scheduler::MarkShowingsList(), PlaybackBox::Play(), PlaybackBox::PlaylistDelete(), print_comm_flag_output(), AutoExpire::PrintExpireList(), Scheduler::PrintList(), Scheduler::PrintRec(), TV::ProcessNetworkControlCommand(), LiveTVChain::ProgramIsAt(), push_onto_del(), Scheduler::PutInactiveSlavesToSleep(), QueueCommFlagJob(), JobQueue::QueueRecordingJobs(), ReloadBookmark(), PlaybackBox::RemoveProgram(), PreviewGenerator::Run(), Scheduler::RunScheduler(), TVRec::RunTV(), Scheduler::SchedNewRecords(), TV::ScreenShot(), MythPlayer::SeekForScreenGrab(), SendMythSystemPlayEvent(), SendMythSystemRecEvent(), LiveTVChain::SetProgram(), PlayerContext::SetPseudoLiveTV(), MythPlayer::SetWatched(), PlaybackBox::showJobPopup(), ScheduleCommon::ShowNotRecordingDialog(), PlaybackBox::showPlaylistJobPopup(), ScheduleCommon::ShowRecordingDialog(), ViewScheduleDiff::showStatus(), Scheduler::ShutdownServer(), TVRec::StartRecording(), EncoderLink::StartRecording(), TV::StartTV(), PlaybackBox::stopPlaylistJobQueueJob(), TVRec::TeardownRecorder(), toString(), Scheduler::TryAnotherShowing(), TVRec::TuningRestartRecorder(), ProgramInfoCache::Update(), Scheduler::UpdateNextRecord(), PlaybackBox::UpdateUIListItem(), WaitToDelete(), and EncoderLink::WouldConflict().

QString ProgramInfo::GetRecordingStartTime ( MythDateFormat  fmt  )  const [inline]

Approximate time the recording started (with formatting).

Definition at line 338 of file programinfo.h.

QDateTime ProgramInfo::GetRecordingEndTime ( void   )  const [inline]
QString ProgramInfo::GetRecordingEndTime ( MythDateFormat  fmt  )  const [inline]

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

Definition at line 348 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]

Definition at line 356 of file programinfo.h.

Referenced by ProgDetails::loadPage(), Scheduler::RunScheduler(), and transUnlink().

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

Definition at line 357 of file programinfo.h.

QDate ProgramInfo::GetOriginalAirDate ( void   )  const [inline]
QDateTime ProgramInfo::GetLastModifiedTime ( void   )  const [inline]
QString ProgramInfo::GetLastModifiedTime ( MythDateFormat  fmt  )  const [inline]

Definition at line 364 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::GetCategoryType ( void   )  const [inline]
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 376 of file programinfo.h.

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

Definition at line 379 of file programinfo.h.

Referenced by RecordingInfo::AddHistory(), Scheduler::AddNewRecords(), Scheduler::AddRecording(), Scheduler::BackupRecStatus(), Scheduler::BuildListMaps(), Scheduler::BuildWorkList(), comp_overlap(), comp_priority(), comp_recstart(), comp_redundant(), MainServer::DoHandleDeleteRecording(), MainServer::DoHandleStopRecording(), StatusBox::doScheduleStatus(), ScheduleCommon::EditRecording(), extract_job_state(), extract_main_state(), ViewScheduleDiff::fillList(), ViewScheduled::FillList(), MythXML::FillProgramInfo(), GuideGrid::fillProgramRowInfos(), Scheduler::FillRecordingDir(), TVRec::FinishedRecording(), Scheduler::GetRecStatus(), ViewScheduled::LoadList(), ProgDetails::loadPage(), Scheduler::MarkShowingsList(), Scheduler::MoveHigherRecords(), plTitleSort::operator()(), Scheduler::PrintRec(), Scheduler::PruneRedundants(), Scheduler::PutInactiveSlavesToSleep(), Recording(), RemoteGetCurrentlyRecordingList(), Scheduler::RunScheduler(), Scheduler::SchedNewRecords(), TVRec::SetLiveRecording(), PlaybackBox::ShowActionPopup(), ScheduleCommon::ShowNotRecordingDialog(), ScheduleCommon::ShowRecordingDialog(), ViewScheduleDiff::showStatus(), Scheduler::SlaveConnected(), Scheduler::SlaveDisconnected(), TVRec::StartRecording(), TV::StartTV(), ToMap(), Scheduler::TryAnotherShowing(), TVRec::TuningShutdowns(), TVRec::TuningSignalCheck(), PlaybackBox::updateGroupInfo(), ProgramRecPriority::updateInfo(), Scheduler::UpdateNextRecord(), Scheduler::UpdateRecStatus(), and ViewScheduleDiff::updateUIList().

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

Definition at line 381 of file programinfo.h.

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

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

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

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

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

Definition at line 394 of file programinfo.h.

Referenced by Scheduler::AddNewRecords(), MythXML::FillProgramInfo(), ScheduleCommon::ShowNotRecordingDialog(), and ScheduleCommon::ShowRecordingDialog().

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

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

Definition at line 406 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 409 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 416 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 418 of file programinfo.h.

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

Definition at line 421 of file programinfo.h.

Referenced by ToMap(), ToStringList(), and PlaybackBox::updateIcons().

uint ProgramInfo::GetVideoProperties ( void   )  const [inline]
uint ProgramInfo::GetAudioProperties ( void   )  const [inline]

Definition at line 423 of file programinfo.h.

Referenced by ToMap(), ToStringList(), and PlaybackBox::updateIcons().

QString ProgramInfo::toString ( Verbosity  v = kLongDescription,
QString  sep = ":",
QString  grp = "\"" 
) const
void ProgramInfo::SetTitle ( const QString &  t  )  [inline]

Definition at line 436 of file programinfo.h.

Referenced by MythDVDPlayer::EventStart(), and PlaybackBox::UpdateUILists().

void ProgramInfo::SetProgramInfoType ( ProgramInfoType  t  )  [inline]

Definition at line 437 of file programinfo.h.

Referenced by SetPathname().

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

Definition at line 440 of file programinfo.h.

Referenced by TVRec::GetProgramRingBufferForLiveTV().

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

Definition at line 441 of file programinfo.h.

Referenced by ScheduleCommon::customEvent().

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

Definition at line 443 of file programinfo.h.

Referenced by TVRec::GetProgramRingBufferForLiveTV(), and Scheduler::RunScheduler().

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

Definition at line 446 of file programinfo.h.

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

Definition at line 447 of file programinfo.h.

Referenced by AutoExpire::ExpireRecordings().

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

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

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

Definition at line 451 of file programinfo.h.

void ProgramInfo::SetCategoryType ( const QString &  type  )  [inline]

Definition at line 452 of file programinfo.h.

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

Definition at line 453 of file programinfo.h.

Referenced by Scheduler::AddNewRecords(), and ProgramRecPriority::scheduleChanged().

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

Definition at line 454 of file programinfo.h.

Referenced by Scheduler::PruneRedundants(), and PlaybackBox::UpdateUILists().

void ProgramInfo::SetRecordingRuleID ( uint  id  )  [inline]

Definition at line 455 of file programinfo.h.

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

void ProgramInfo::SetSourceID ( uint  id  )  [inline]

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

Referenced by RecordingInfo::AddHistory(), and Scheduler::RunScheduler().

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

Referenced by main().

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

Referenced by CompleteJob(), and GetPlaybackURL().

uint64_t ProgramInfo::QueryFilesize ( void   )  const

Gets recording file size from database.

Definition at line 2059 of file programinfo.cpp.

Referenced by PlaybackBox::updateGroupInfo().

uint ProgramInfo::QueryMplexID ( void   )  const

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

Definition at line 2078 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 2156 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 2183 of file programinfo.cpp.

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

QStringList ProgramInfo::QueryDVDBookmark ( const QString &  serialid,
bool  delbookmark 
) 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 2209 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 2334 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 2412 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 2474 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 2491 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 2674 of file programinfo.cpp.

Referenced by TV::FillOSDMenuJobs(), TV::IsBookmarkAllowed(), MythPlayer::OpenFile(), PlaybackBox::ShowDeletePopup(), TV::ToggleAutoExpire(), and TV::ToggleRecord().

TranscodingStatus ProgramInfo::QueryTranscodeStatus ( void   )  const

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

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

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

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

Referenced by TVRec::TeardownRecorder().

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

QString ProgramInfo::QueryRecordingGroup ( void   )  const

Query recgroup from recorded.

Definition at line 3473 of file programinfo.cpp.

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

bool ProgramInfo::QueryMarkupFlag ( MarkTypes  type  )  const

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

Definition at line 2926 of file programinfo.cpp.

Referenced by Transcode::TranscodeFile().

uint ProgramInfo::QueryTranscoderID ( void   )  const

Definition at line 3489 of file programinfo.cpp.

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

bool ProgramInfo::Reload ( void   ) 

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

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

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

Definition at line 2244 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 2360 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 2540 of file programinfo.cpp.

Referenced by JobQueue::DoTranscodeThread().

void ProgramInfo::SaveWatched ( bool  watchedFlag  ) 

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

Definition at line 2283 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 2385 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 2563 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 2616 of file programinfo.cpp.

Referenced by TVRec::CreateLiveTVRingBuffer(), StatusBox::customEvent(), MainServer::DoHandleDeleteRecording(), MainServer::DoHandleUndeleteRecording(), PlaybackBox::doPlaylistExpireSetting(), PlaybackBox::setRecGroup(), TVRec::SwitchLiveTVRingBuffer(), TV::ToggleAutoExpire(), PlaybackBox::toggleAutoExpire(), TV::ToggleRecord(), 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 2589 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 1904 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 3222 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 3277 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 3252 of file programinfo.cpp.

Referenced by RecorderBase::FrameRateChange().

void ProgramInfo::SaveResolutionProperty ( VideoProperty  vid_flags  ) 

Definition at line 3373 of file programinfo.cpp.

Referenced by TVRec::TeardownRecorder().

void ProgramInfo::SaveMarkupFlag ( MarkTypes  type  )  const

Clears the specified flag, then if sets it.

Definition at line 2936 of file programinfo.cpp.

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

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

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

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

void ProgramInfo::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.

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

Definition at line 3565 of file programinfo.cpp.

Referenced by TVRec::CreateLiveTVRingBuffer(), FileTransfer::FileTransfer(), PreviewGenerator::LocalPreviewRun(), JobQueue::ProcessJob(), JobQueue::RemoveRunningJob(), TVRec::RingBufferChanged(), PlayerContext::SetPlayingInfo(), TVRec::StartRecording(), TVRec::SwitchLiveTVRingBuffer(), TVRec::TeardownRecorder(), MainServer::TruncateAndClose(), TVRec::TuningNewRecorder(), TVRec::TuningRestartRecorder(), TVRec::TuningShutdowns(), UpdateInUseMark(), and FileTransfer::~FileTransfer().

void ProgramInfo::UpdateInUseMark ( bool  force = false  ) 
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 3509 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 1974 of file programinfo.cpp.

Referenced by CompleteJob(), DiscoverRecordingDirectory(), JobQueue::DoFlagCommercialsThread(), JobQueue::DoTranscodeThread(), get_filename(), GetPlaybackURL(), getProgramInfoForFile(), RecordingSelector::getRecordingList(), TV::HandleStateChange(), IsFileReadable(), MythPlayer::JumpToProgram(), main(), MarkAsInUse(), RecordingSelector::OKPressed(), TV::PlayFromRecorder(), preview_helper(), JobQueue::ProcessJob(), PlaybackBox::processNetworkControlCommand(), SubstituteMatches(), TV::SwitchCards(), TVRec::SwitchLiveTVRingBuffer(), MythPlayer::SwitchToProgram(), and RecordingSelector::updateSelectedList().

void ProgramInfo::QueryCutList ( frm_dir_map_t delMap  )  const
void ProgramInfo::SaveCutList ( frm_dir_map_t delMap  )  const

Definition at line 2697 of file programinfo.cpp.

Referenced by DeleteMap::SaveMap().

void ProgramInfo::QueryCommBreakList ( frm_dir_map_t frames  )  const

Definition at line 2730 of file programinfo.cpp.

Referenced by FlagCommercials(), and CommBreakMap::LoadMap().

void ProgramInfo::SaveCommBreakList ( frm_dir_map_t frames  )  const

Definition at line 2723 of file programinfo.cpp.

Referenced by DoFlagCommercials().

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

Definition at line 2944 of file programinfo.cpp.

Referenced by getFrameCount(), and DecoderBase::PosMapFromDb().

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 3028 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 2143 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 2148 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 1040 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 1049 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 1060 of file programinfo.cpp.

Referenced by preview_helper(), and ProgramInfo().

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

Definition at line 3456 of file programinfo.cpp.

Referenced by TV::PromptRecGroupPassword().

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

Definition at line 2194 of file programinfo.cpp.

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

Definition at line 3917 of file programinfo.cpp.

Referenced by MythXML::GetRecorded(), and MainServer::HandleQueryRecordings().

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

Definition at line 3952 of file programinfo.cpp.

Referenced by MythXML::GetRecorded(), and MainServer::HandleQueryRecordings().

QStringList ProgramInfo::LoadFromScheduler ( const QString &  altTable,
int  recordid 
) [static]

Definition at line 3980 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 2845 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 2777 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 2736 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 1859 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 1557 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 1198 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 2862 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 2893 of file programinfo.cpp.

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

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


Member Data Documentation

QString ProgramInfo::title [protected]
QString ProgramInfo::subtitle [protected]
QString ProgramInfo::description [protected]
QString ProgramInfo::category [protected]

Definition at line 609 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(), RecordingInfo::FinishedRecording(), RecordingInfo::ForgetHistory(), FromStringList(), RecordingInfo::InsertProgram(), IsSameProgramTimeslot(), IsSameProgramWeakCheck(), IsSameRecording(), IsSameTimeslot(), LoadProgramFromRecorded(), MarkAsInUse(), ProgramInfo(), QueryAutoExpire(), QueryAverageFrameRate(), QueryAverageHeight(), QueryAverageWidth(), QueryBasename(), QueryBookmarkTimeStamp(), QueryFilesize(), QueryIsEditing(), QueryIsInUse(), QueryJobsRunning(), QueryMarkupMap(), QueryMplexID(), QueryPositionMap(), QueryRecordingGroup(), QueryTranscoderID(), QueryTranscodeStatus(), QueryTuningInfo(), RecordingInfo::RecordingInfo(), Reload(), SaveAspect(), SaveAutoExpire(), SaveBasename(), SaveBookmark(), SaveCommFlagged(), SaveCutList(), SaveDeletePendingFlag(), SaveEditing(), SaveFilesize(), SaveFrameRate(), SaveMarkupMap(), SavePositionMap(), SavePositionMapDelta(), SavePreserve(), SaveResolution(), SaveResolutionProperty(), SaveTranscodeStatus(), 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::catType [protected]
QDateTime ProgramInfo::startts [protected]
QDateTime ProgramInfo::endts [protected]
QDateTime ProgramInfo::recstartts [protected]

Definition at line 631 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(), QueryAverageFrameRate(), QueryAverageHeight(), QueryAverageWidth(), QueryBasename(), QueryBookmarkTimeStamp(), QueryFilesize(), QueryIsEditing(), QueryIsInUse(), QueryJobsRunning(), QueryMarkupMap(), QueryPositionMap(), QueryRecordingGroup(), QueryTranscoderID(), QueryTranscodeStatus(), RecordingInfo::RecordingInfo(), Reload(), SaveAspect(), SaveAutoExpire(), SaveBasename(), SaveBookmark(), SaveCommFlagged(), SaveCutList(), SaveDeletePendingFlag(), SaveEditing(), SaveFilesize(), SaveFrameRate(), SaveMarkupMap(), SavePositionMap(), SavePositionMapDelta(), SavePreserve(), SaveResolution(), 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 637 of file programinfo.h.

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

Definition at line 639 of file programinfo.h.

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

SubtitleType,VideoProperty,AudioProperty.

Definition at line 651 of file programinfo.h.

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

Reimplemented in RecordingInfo.

Definition at line 655 of file programinfo.h.

Referenced by LoadProgramFromRecorded().

const QString ProgramInfo::kFromRecordedQuery [static]
Initial value:
    "SELECT r.title,            r.subtitle,     r.description,     "
    "       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.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      "
    "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 670 of file programinfo.h.

Referenced by LoadFromRecorded(), and LoadProgramFromRecorded().

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

Definition at line 676 of file programinfo.h.

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


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends
Generated on Sat May 26 05:17:02 2012 for MythTV by  doxygen 1.6.3