MythTV  master
Macros | Typedefs | Enumerations | Functions | Variables
programtypes.h File Reference
#include <cstdint>
#include <deque>
#include <QString>
#include <QMap>
#include <QHash>
#include <QtCore>
#include "mythexp.h"
#include "recordingtypes.h"
Include dependency graph for programtypes.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define kAudioPropertyBits   6
 
#define kAudioPropertyOffset   0
 
#define kAudioPropertyMask   (0x3f<<kAudioPropertyOffset)
 
#define kVideoPropertyBits   7
 
#define kVideoPropertyOffset   kAudioPropertyBits
 
#define kVideoPropertyMask   (0x7f<<kVideoPropertyOffset)
 
#define kSubtitlePropertyBits   4
 
#define kSubtitlePropertyOffset   (kAudioPropertyBits+kVideoPropertyBits)
 
#define kSubtitlePropertyMask   (0x0f<<kSubtitlePropertyOffset)
 

Typedefs

using frm_pos_map_t = QMap< long long, long long >
 Frame # -> File offset map. More...
 
using frm_dir_map_t = QMap< uint64_t, MarkTypes >
 Frame # -> Mark map. More...
 

Enumerations

enum  MarkTypes {
  MARK_ALL = -100, MARK_UNSET = -10, MARK_TMP_CUT_END = -5, MARK_TMP_CUT_START = -4,
  MARK_UPDATED_CUT = -3, MARK_PLACEHOLDER = -2, MARK_CUT_END = 0, MARK_CUT_START = 1,
  MARK_BOOKMARK = 2, MARK_BLANK_FRAME = 3, MARK_COMM_START = 4, MARK_COMM_END = 5,
  MARK_GOP_START = 6, MARK_KEYFRAME = 7, MARK_SCENE_CHANGE = 8, MARK_GOP_BYFRAME = 9,
  MARK_ASPECT_1_1 = 10, MARK_ASPECT_4_3 = 11, MARK_ASPECT_16_9 = 12, MARK_ASPECT_2_21_1 = 13,
  MARK_ASPECT_CUSTOM = 14, MARK_VIDEO_WIDTH = 30, MARK_VIDEO_HEIGHT = 31, MARK_VIDEO_RATE = 32,
  MARK_DURATION_MS = 33, MARK_TOTAL_FRAMES = 34, MARK_UTIL_PROGSTART = 40, MARK_UTIL_LASTPLAYPOS = 41
}
 
enum  CommFlagStatus { COMM_FLAG_NOT_FLAGGED = 0, COMM_FLAG_DONE = 1, COMM_FLAG_PROCESSING = 2, COMM_FLAG_COMMFREE = 3 }
 
enum  SkipType {
  COMM_DETECT_COMMFREE = -2, COMM_DETECT_UNINIT = -1, COMM_DETECT_OFF = 0x00000000, COMM_DETECT_BLANK = 0x00000001,
  COMM_DETECT_BLANKS = COMM_DETECT_BLANK, COMM_DETECT_SCENE = 0x00000002, COMM_DETECT_LOGO = 0x00000004, COMM_DETECT_BLANK_SCENE = (COMM_DETECT_BLANKS | COMM_DETECT_SCENE),
  COMM_DETECT_ALL, COMM_DETECT_2 = 0x00000100, COMM_DETECT_2_LOGO = COMM_DETECT_2 | COMM_DETECT_LOGO, COMM_DETECT_2_BLANK = COMM_DETECT_2 | COMM_DETECT_BLANKS,
  COMM_DETECT_2_SCENE = COMM_DETECT_2 | COMM_DETECT_SCENE, COMM_DETECT_2_ALL = (COMM_DETECT_2_LOGO | COMM_DETECT_2_BLANK), COMM_DETECT_PREPOSTROLL = 0x00000200, COMM_DETECT_PREPOSTROLL_ALL
}
 This is used as a bitmask. More...
 
enum  TranscodingStatus { TRANSCODING_NOT_TRANSCODED = 0, TRANSCODING_COMPLETE = 1, TRANSCODING_RUNNING = 2 }
 
enum  ProgramFlag {
  FL_NONE = 0x00000000, FL_COMMFLAG = 0x00000001, FL_CUTLIST = 0x00000002, FL_AUTOEXP = 0x00000004,
  FL_EDITING = 0x00000008, FL_BOOKMARK = 0x00000010, FL_REALLYEDITING = 0x00000020, FL_COMMPROCESSING = 0x00000040,
  FL_DELETEPENDING = 0x00000080, FL_TRANSCODED = 0x00000100, FL_WATCHED = 0x00000200, FL_PRESERVED = 0x00000400,
  FL_CHANCOMMFREE = 0x00000800, FL_REPEAT = 0x00001000, FL_DUPLICATE = 0x00002000, FL_REACTIVATE = 0x00004000,
  FL_IGNOREBOOKMARK = 0x00008000, FL_IGNOREPROGSTART = 0x00010000, FL_ALLOWLASTPLAYPOS = 0x00020000, FL_TYPEMASK = 0x00F00000,
  FL_INUSERECORDING = 0x01000000, FL_INUSEPLAYING = 0x02000000, FL_INUSEOTHER = 0x04000000
}
 If you change these please update: mythplugins/mythweb/modules/tv/classes/Program.php mythtv/bindings/perl/MythTV/Program.pm (search for "Assign the program flags" in both) More...
 
enum  ProgramInfoType {
  kProgramInfoTypeRecording = 0, kProgramInfoTypeVideoFile, kProgramInfoTypeVideoDVD, kProgramInfoTypeVideoStreamingHTML,
  kProgramInfoTypeVideoStreamingRTSP, kProgramInfoTypeVideoBD
}
 
enum  AudioProps {
  AUD_UNKNOWN = 0x00, AUD_STEREO = 0x01, AUD_MONO = 0x02, AUD_SURROUND = 0x04,
  AUD_DOLBY = 0x08, AUD_HARDHEAR = 0x10, AUD_VISUALIMPAIR = 0x20
}
 if AudioProps changes, the audioprop column in program and recordedprogram has to changed accordingly More...
 
enum  VideoProps {
  VID_UNKNOWN = 0x00, VID_HDTV = 0x01, VID_WIDESCREEN = 0x02, VID_AVC = 0x04,
  VID_720 = 0x08, VID_1080 = 0x10, VID_DAMAGED = 0x20, VID_3DTV = 0x40
}
 if VideoProps changes, the videoprop column in program and recordedprogram has to changed accordingly More...
 
enum  SubtitleType {
  SUB_UNKNOWN = 0x00, SUB_HARDHEAR = 0x01, SUB_NORMAL = 0x02, SUB_ONSCREEN = 0x04,
  SUB_SIGNED = 0x08
}
 if SubtitleTypes changes, the subtitletypes column in program and recordedprogram has to changed accordingly More...
 
enum  AvailableStatusType {
  asAvailable = 0, asNotYetAvailable, asPendingDelete, asFileNotFound,
  asZeroByte, asDeleted
}
 
enum  WatchListStatus { wlDeleted = -4, wlEarlier = -3, wlWatched = -2, wlExpireOff = -1 }
 
enum  AutoExpireType { kDisableAutoExpire = 0, kNormalAutoExpire = 1, kDeletedAutoExpire = 9999, kLiveTVAutoExpire = 10000 }
 

Functions

MPUBLIC QString toString (MarkTypes type)
 
MPUBLIC QString SkipTypeToString (int)
 
MPUBLIC std::deque< int > GetPreferredSkipTypeCombinations (void)
 
MPUBLIC QString toString (AvailableStatusType)
 

Variables

MPUBLIC const char * kPlayerInUseID
 
MPUBLIC const char * kPIPPlayerInUseID
 
MPUBLIC const char * kPBPPlayerInUseID
 
MPUBLIC const char * kImportRecorderInUseID
 
MPUBLIC const char * kRecorderInUseID
 
MPUBLIC const char * kFileTransferInUseID
 
MPUBLIC const char * kTruncatingDeleteInUseID
 
MPUBLIC const char * kFlaggerInUseID
 
MPUBLIC const char * kTranscoderInUseID
 
MPUBLIC const char * kPreviewGeneratorInUseID
 
MPUBLIC const char * kJobQueueInUseID
 
MPUBLIC const char * kCCExtractorInUseID
 

Macro Definition Documentation

◆ kAudioPropertyBits

#define kAudioPropertyBits   6

Definition at line 177 of file programtypes.h.

◆ kAudioPropertyOffset

#define kAudioPropertyOffset   0

Definition at line 178 of file programtypes.h.

◆ kAudioPropertyMask

#define kAudioPropertyMask   (0x3f<<kAudioPropertyOffset)

Definition at line 179 of file programtypes.h.

◆ kVideoPropertyBits

#define kVideoPropertyBits   7

Definition at line 194 of file programtypes.h.

◆ kVideoPropertyOffset

#define kVideoPropertyOffset   kAudioPropertyBits

Definition at line 195 of file programtypes.h.

◆ kVideoPropertyMask

#define kVideoPropertyMask   (0x7f<<kVideoPropertyOffset)

Definition at line 196 of file programtypes.h.

◆ kSubtitlePropertyBits

#define kSubtitlePropertyBits   4

Definition at line 208 of file programtypes.h.

◆ kSubtitlePropertyOffset

#define kSubtitlePropertyOffset   (kAudioPropertyBits+kVideoPropertyBits)

Definition at line 209 of file programtypes.h.

◆ kSubtitlePropertyMask

#define kSubtitlePropertyMask   (0x0f<<kSubtitlePropertyOffset)

Definition at line 210 of file programtypes.h.

Typedef Documentation

◆ frm_pos_map_t

using frm_pos_map_t = QMap<long long, long long>

Frame # -> File offset map.

Definition at line 46 of file programtypes.h.

◆ frm_dir_map_t

using frm_dir_map_t = QMap<uint64_t, MarkTypes>

Frame # -> Mark map.

Definition at line 81 of file programtypes.h.

Enumeration Type Documentation

◆ MarkTypes

enum MarkTypes
Enumerator
MARK_ALL 
MARK_UNSET 
MARK_TMP_CUT_END 
MARK_TMP_CUT_START 
MARK_UPDATED_CUT 
MARK_PLACEHOLDER 
MARK_CUT_END 
MARK_CUT_START 
MARK_BOOKMARK 
MARK_BLANK_FRAME 
MARK_COMM_START 
MARK_COMM_END 
MARK_GOP_START 
MARK_KEYFRAME 
MARK_SCENE_CHANGE 
MARK_GOP_BYFRAME 
MARK_ASPECT_1_1 

deprecated, it is only 1:1 sample aspect ratio

MARK_ASPECT_4_3 
MARK_ASPECT_16_9 
MARK_ASPECT_2_21_1 
MARK_ASPECT_CUSTOM 
MARK_VIDEO_WIDTH 
MARK_VIDEO_HEIGHT 
MARK_VIDEO_RATE 
MARK_DURATION_MS 
MARK_TOTAL_FRAMES 
MARK_UTIL_PROGSTART 
MARK_UTIL_LASTPLAYPOS 

Definition at line 48 of file programtypes.h.

◆ CommFlagStatus

Enumerator
COMM_FLAG_NOT_FLAGGED 
COMM_FLAG_DONE 
COMM_FLAG_PROCESSING 
COMM_FLAG_COMMFREE 

Definition at line 83 of file programtypes.h.

◆ SkipType

enum SkipType

This is used as a bitmask.

Enumerator
COMM_DETECT_COMMFREE 
COMM_DETECT_UNINIT 
COMM_DETECT_OFF 
COMM_DETECT_BLANK 
COMM_DETECT_BLANKS 
COMM_DETECT_SCENE 
COMM_DETECT_LOGO 
COMM_DETECT_BLANK_SCENE 
COMM_DETECT_ALL 
COMM_DETECT_2 
COMM_DETECT_2_LOGO 
COMM_DETECT_2_BLANK 
COMM_DETECT_2_SCENE 
COMM_DETECT_2_ALL 
COMM_DETECT_PREPOSTROLL 
COMM_DETECT_PREPOSTROLL_ALL 

Definition at line 91 of file programtypes.h.

◆ TranscodingStatus

Enumerator
TRANSCODING_NOT_TRANSCODED 
TRANSCODING_COMPLETE 
TRANSCODING_RUNNING 

Definition at line 120 of file programtypes.h.

◆ ProgramFlag

If you change these please update: mythplugins/mythweb/modules/tv/classes/Program.php mythtv/bindings/perl/MythTV/Program.pm (search for "Assign the program flags" in both)

Enumerator
FL_NONE 
FL_COMMFLAG 
FL_CUTLIST 
FL_AUTOEXP 
FL_EDITING 
FL_BOOKMARK 
FL_REALLYEDITING 
FL_COMMPROCESSING 
FL_DELETEPENDING 
FL_TRANSCODED 
FL_WATCHED 
FL_PRESERVED 
FL_CHANCOMMFREE 
FL_REPEAT 
FL_DUPLICATE 
FL_REACTIVATE 
FL_IGNOREBOOKMARK 
FL_IGNOREPROGSTART 
FL_ALLOWLASTPLAYPOS 
FL_TYPEMASK 
FL_INUSERECORDING 
FL_INUSEPLAYING 
FL_INUSEOTHER 

Definition at line 130 of file programtypes.h.

◆ ProgramInfoType

Enumerator
kProgramInfoTypeRecording 
kProgramInfoTypeVideoFile 
kProgramInfoTypeVideoDVD 
kProgramInfoTypeVideoStreamingHTML 
kProgramInfoTypeVideoStreamingRTSP 
kProgramInfoTypeVideoBD 

Definition at line 157 of file programtypes.h.

◆ AudioProps

enum AudioProps

if AudioProps changes, the audioprop column in program and recordedprogram has to changed accordingly

Enumerator
AUD_UNKNOWN 
AUD_STEREO 
AUD_MONO 
AUD_SURROUND 
AUD_DOLBY 
AUD_HARDHEAR 
AUD_VISUALIMPAIR 

Definition at line 168 of file programtypes.h.

◆ VideoProps

enum VideoProps

if VideoProps changes, the videoprop column in program and recordedprogram has to changed accordingly

Enumerator
VID_UNKNOWN 
VID_HDTV 
VID_WIDESCREEN 
VID_AVC 
VID_720 
VID_1080 
VID_DAMAGED 
VID_3DTV 

Definition at line 183 of file programtypes.h.

◆ SubtitleType

if SubtitleTypes changes, the subtitletypes column in program and recordedprogram has to changed accordingly

Enumerator
SUB_UNKNOWN 
SUB_HARDHEAR 
SUB_NORMAL 
SUB_ONSCREEN 
SUB_SIGNED 

Definition at line 200 of file programtypes.h.

◆ AvailableStatusType

Enumerator
asAvailable 
asNotYetAvailable 
asPendingDelete 
asFileNotFound 
asZeroByte 
asDeleted 

Definition at line 213 of file programtypes.h.

◆ WatchListStatus

Enumerator
wlDeleted 
wlEarlier 
wlWatched 
wlExpireOff 

Definition at line 223 of file programtypes.h.

◆ AutoExpireType

Enumerator
kDisableAutoExpire 
kNormalAutoExpire 
kDeletedAutoExpire 
kLiveTVAutoExpire 

Definition at line 230 of file programtypes.h.

Function Documentation

◆ toString() [1/2]

MPUBLIC QString toString ( MarkTypes  type)

Definition at line 26 of file programtypes.cpp.

Referenced by TV::ActiveHandleAction(), AdjustFill(), AspectOverride(), ImageManagerFe::CreateImport(), PlayerContext::CreatePIPWindow(), ProgramData::DeleteOverlaps(), ViewScheduled::deleteRule(), GuideGrid::deleteRule(), TV::DoChangePictureAttribute(), LCDProcClient::dostdclock(), TV::DoTogglePictureAttribute(), Dvr::DupInToString(), Dvr::DupMethodToString(), ServerSideScripting::EvaluatePage(), IPTVTuningData::GetDeviceName(), MythAirplayServer::GetPlayerStatus(), GetSettingValueList(), AvFormatDecoder::GetTrackDesc(), ProgLister::HandleSelected(), MythVideoOutputNull::Init(), VideoOutputD3D::Init(), MythVAAPIContext::InitialiseContext(), MythVideoOutputOpenGL::InputChanged(), VideoOutputD3D::InputChanged(), ChannelImporter::InsertChannels(), LetterboxingColour(), NetworkControl::listRecordings(), NetworkControl::listSchedule(), ProgDetails::loadPage(), UPnpCDSMusic::LoadTracks(), UPnpCDSVideo::LoadVideos(), TV::MenuItemDisplayPlayback(), MythNVDECContext::NVDECCheck(), TV::OSDDialogEvent(), PIPLocationComboBox(), MythVAAPIContext::PostProcessFrame(), ClassicCommDetector::PrintFullMap(), JobQueue::ProcessQueue(), Dvr::RecTypeToString(), ProgramRecPriority::remove(), AvFormatDecoder::ScanStreams(), MythAirplayServer::SendResponse(), TV::SetAutoCommercialSkip(), VideoOutWindow::SetPIPState(), VideoColourSpace::SetSupportedAttributes(), ProgLister::ShowDeleteRuleMenu(), DetectLetterbox::SwitchTo(), VideoOutWindow::ToggleAdjustFill(), TV::ToggleAdjustFill(), VideoOutWindow::ToggleAspectOverride(), TV::ToggleAspectOverride(), RecordingRule::ToMap(), ComponentNameDescriptor::toString(), VirtualChannelMapSubtable::toStringXML(), ProgLister::UpdateButtonList(), UPnpCDS::UPnpCDS(), and wait_for_backend().

◆ SkipTypeToString()

MPUBLIC QString SkipTypeToString ( int  )

Definition at line 78 of file programtypes.cpp.

Referenced by CommercialSkipMethod(), and CommMethod::CommMethod().

◆ GetPreferredSkipTypeCombinations()

MPUBLIC std::deque<int> GetPreferredSkipTypeCombinations ( void  )

Definition at line 116 of file programtypes.cpp.

Referenced by CommercialSkipMethod(), and CommMethod::CommMethod().

◆ toString() [2/2]

MPUBLIC QString toString ( AvailableStatusType  )

Definition at line 63 of file programtypes.cpp.

Variable Documentation

◆ kPlayerInUseID

MPUBLIC const char* kPlayerInUseID

◆ kPIPPlayerInUseID

MPUBLIC const char* kPIPPlayerInUseID

Definition at line 14 of file programtypes.cpp.

Referenced by TV::CreatePIP(), and ProgramInfo::QueryIsInUse().

◆ kPBPPlayerInUseID

MPUBLIC const char* kPBPPlayerInUseID

Definition at line 15 of file programtypes.cpp.

Referenced by TV::CreatePBP(), and ProgramInfo::QueryIsInUse().

◆ kImportRecorderInUseID

MPUBLIC const char* kImportRecorderInUseID

Definition at line 16 of file programtypes.cpp.

Referenced by ProgramInfo::QueryIsInUse(), and ImportRecorder::run().

◆ kRecorderInUseID

MPUBLIC const char* kRecorderInUseID

◆ kFileTransferInUseID

MPUBLIC const char* kFileTransferInUseID

◆ kTruncatingDeleteInUseID

MPUBLIC const char* kTruncatingDeleteInUseID

Definition at line 19 of file programtypes.cpp.

Referenced by ProgramInfo::QueryIsInUse(), and MainServer::TruncateAndClose().

◆ kFlaggerInUseID

MPUBLIC const char* kFlaggerInUseID

◆ kTranscoderInUseID

MPUBLIC const char* kTranscoderInUseID

◆ kPreviewGeneratorInUseID

MPUBLIC const char* kPreviewGeneratorInUseID

◆ kJobQueueInUseID

MPUBLIC const char* kJobQueueInUseID

◆ kCCExtractorInUseID

MPUBLIC const char* kCCExtractorInUseID

Definition at line 24 of file programtypes.cpp.

Referenced by RunCCExtract().