Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
Loading...
Searching...
No Matches

Data structure with available recordings data
With this, recordings related data are transferred between addon and Kodi and can also be used by the addon itself. More...

Topics

 Value Help
 
 class PVRRecordingsResultSet
 PVR add-on recording transfer class
To transfer the content of kodi::addon::CInstancePVRClient::GetRecordings().
 

Classes

class  kodi::addon::PVRRecording
 

Macros

#define PVR_RECORDING_INVALID_SERIES_EPISODE   EPG_TAG_INVALID_SERIES_EPISODE
 Special kodi::addon::PVRRecording::SetSeriesNumber() and kodi::addon::PVRRecording::SetEpisodeNumber() value to indicate it is not to be used.
 
#define PVR_RECORDING_VALUE_NOT_AVAILABLE   -1
 Value where set in background to inform that related part not used.
 

Functions

void kodi::addon::PVRRecording::SetRecordingId (const std::string &recordingId)
 required
Unique identifier of the recording on the client.
 
std::string kodi::addon::PVRRecording::GetRecordingId () const
 To get with SetRecordingId changed values.
 
void kodi::addon::PVRRecording::SetTitle (const std::string &title)
 required
The title of this recording.
 
std::string kodi::addon::PVRRecording::GetTitle () const
 To get with SetTitle changed values.
 
void kodi::addon::PVRRecording::SetEpisodeName (const std::string &episodeName)
 optional
Episode name (also known as subtitle).
 
std::string kodi::addon::PVRRecording::GetEpisodeName () const
 To get with SetEpisodeName changed values.
 
void kodi::addon::PVRRecording::SetSeriesNumber (int seriesNumber)
 optional
Series number (usually called season).
 
int kodi::addon::PVRRecording::GetSeriesNumber () const
 To get with SetSeriesNumber changed values.
 
void kodi::addon::PVRRecording::SetEpisodeNumber (int episodeNumber)
 optional
Eepisode number within the "iSeriesNumber" season.
 
int kodi::addon::PVRRecording::GetEpisodeNumber () const
 To get with SetEpisodeNumber changed values.
 
void kodi::addon::PVRRecording::SetYear (int year)
 optional
Year of first release (use to identify a specific movie re-make) / first airing for TV shows.
 
int kodi::addon::PVRRecording::GetYear () const
 To get with SetYear changed values.
 
void kodi::addon::PVRRecording::SetDirectory (const std::string &directory)
 optional

 
std::string kodi::addon::PVRRecording::GetDirectory () const
 To get with SetDirectory changed values.
 
void kodi::addon::PVRRecording::SetPlotOutline (const std::string &plotOutline)
 optional
Plot outline name.
 
std::string kodi::addon::PVRRecording::GetPlotOutline () const
 To get with SetPlotOutline changed values.
 
void kodi::addon::PVRRecording::SetPlot (const std::string &plot)
 optional
Plot name.
 
std::string kodi::addon::PVRRecording::GetPlot () const
 To get with SetPlot changed values.
 
void kodi::addon::PVRRecording::SetChannelName (const std::string &channelName)
 optional
Channel name.
 
std::string kodi::addon::PVRRecording::GetChannelName () const
 To get with SetChannelName changed values.
 
void kodi::addon::PVRRecording::SetIconPath (const std::string &iconPath)
 optional
Channel logo (icon) path.
 
std::string kodi::addon::PVRRecording::GetIconPath () const
 To get with SetIconPath changed values.
 
void kodi::addon::PVRRecording::SetThumbnailPath (const std::string &thumbnailPath)
 optional
Thumbnail path.
 
std::string kodi::addon::PVRRecording::GetThumbnailPath () const
 To get with SetThumbnailPath changed values.
 
void kodi::addon::PVRRecording::SetFanartPath (const std::string &fanartPath)
 optional
Fanart path.
 
std::string kodi::addon::PVRRecording::GetFanartPath () const
 To get with SetFanartPath changed values.
 
void kodi::addon::PVRRecording::SetRecordingTime (time_t recordingTime)
 optional
Start time of the recording.
 
time_t kodi::addon::PVRRecording::GetRecordingTime () const
 To get with SetRecordingTime changed values.
 
void kodi::addon::PVRRecording::SetDuration (int duration)
 optional
Duration of the recording in seconds.
 
int kodi::addon::PVRRecording::GetDuration () const
 To get with SetDuration changed values.
 
void kodi::addon::PVRRecording::SetPriority (int priority)
 optional
Priority of this recording (from 0 - 100).
 
int kodi::addon::PVRRecording::GetPriority () const
 To get with SetPriority changed values.
 
void kodi::addon::PVRRecording::SetLifetime (int lifetime)
 optional
Life time in days of this recording.
 
int kodi::addon::PVRRecording::GetLifetime () const
 To get with SetLifetime changed values.
 
void kodi::addon::PVRRecording::SetGenreType (int genreType)
 optional
Genre type.
 
int kodi::addon::PVRRecording::GetGenreType () const
 To get with SetGenreType changed values.
 
void kodi::addon::PVRRecording::SetGenreSubType (int genreSubType)
 optional
Genre sub type.
 
int kodi::addon::PVRRecording::GetGenreSubType () const
 To get with SetGenreSubType changed values.
 
void kodi::addon::PVRRecording::SetGenreDescription (const std::string &genreDescription)
 optional
To set own genre description name.
 
std::string kodi::addon::PVRRecording::GetGenreDescription () const
 To get with SetGenreDescription changed values.
 
void kodi::addon::PVRRecording::SetPlayCount (int playCount)
 optional
Play count of this recording on the client.
 
int kodi::addon::PVRRecording::GetPlayCount () const
 To get with SetPlayCount changed values.
 
void kodi::addon::PVRRecording::SetLastPlayedPosition (int lastPlayedPosition)
 optional
Last played position of this recording on the client.
 
int kodi::addon::PVRRecording::GetLastPlayedPosition () const
 To get with SetLastPlayedPosition changed values.
 
void kodi::addon::PVRRecording::SetIsDeleted (int isDeleted)
 optional
Shows this recording is deleted and can be undelete.
 
int kodi::addon::PVRRecording::GetIsDeleted () const
 To get with SetIsDeleted changed values.
 
void kodi::addon::PVRRecording::SetEPGEventId (unsigned int epgEventId)
 optional
EPG event id associated with this recording. Valid ids must be greater than EPG_TAG_INVALID_UID.
 
unsigned int kodi::addon::PVRRecording::GetEPGEventId () const
 To get with SetEPGEventId changed values.
 
void kodi::addon::PVRRecording::SetChannelUid (int channelUid)
 optional
Unique identifier of the channel for this recording. PVR_CHANNEL_INVALID_UID denotes that channel uid is not available.
 
int kodi::addon::PVRRecording::GetChannelUid () const
 To get with SetChannelUid changed values.
 
void kodi::addon::PVRRecording::SetChannelType (PVR_RECORDING_CHANNEL_TYPE channelType)
 optional
Channel type.
 
PVR_RECORDING_CHANNEL_TYPE kodi::addon::PVRRecording::GetChannelType () const
 To get with SetChannelType changed values.
 
void kodi::addon::PVRRecording::SetFirstAired (const std::string &firstAired)
 optional
First aired date of this recording.
 
std::string kodi::addon::PVRRecording::GetFirstAired () const
 To get with SetFirstAired changed values.
 
void kodi::addon::PVRRecording::SetFlags (unsigned int flags)
 optional
Bit field of independent flags associated with the recording.
 
unsigned int kodi::addon::PVRRecording::GetFlags () const
 To get with SetFlags changed values.
 
void kodi::addon::PVRRecording::SetSizeInBytes (int64_t sizeInBytes)
 optional
Size of the recording in bytes.
 
int64_t kodi::addon::PVRRecording::GetSizeInBytes () const
 To get with SetSizeInBytes changed values.
 

Detailed Description

Data structure with available recordings data
With this, recordings related data are transferred between addon and Kodi and can also be used by the addon itself.

The related values here are automatically initiated to defaults and need only be set if supported and used.


The following table contains values that can be set with class PVRRecording :

Name Type Set call Get call Usage
Recording id std::string SetRecordingId GetRecordingId required to set
Title std::string SetTitle GetTitle required to set
Episode name std::string SetEpisodeName GetEpisodeName optional
Series number int SetSeriesNumber GetSeriesNumber optional
Episode number int SetEpisodeNumber GetEpisodeNumber optional
Year int SetYear GetYear optional
Directory std::string SetDirectory GetDirectory optional
Plot outline std::string SetPlotOutline GetPlotOutline optional
Plot std::string SetPlot GetPlot optional
Genre description std::string SetGenreDescription GetGenreDescription optional
Channel name std::string SetChannelName GetChannelName optional
Icon path std::string SetIconPath GetIconPath optional
Thumbnail path std::string SetThumbnailPath GetThumbnailPath optional
Fanart path std::string SetFanartPath GetFanartPath optional
Recording time time_t SetRecordingTime GetRecordingTime optional
Duration int SetDuration GetDuration optional
Priority int SetPriority GetPriority optional
Lifetime int SetLifetime GetLifetime optional
Genre type int SetGenreType GetGenreType optional
Genre sub type int SetGenreSubType GetGenreSubType optional
Play count int SetPlayCount GetPlayCount optional
Last played position int SetLastPlayedPosition GetLastPlayedPosition optional
Is deleted bool SetIsDeleted GetIsDeleted optional
EPG event id unsigned int SetEPGEventId GetEPGEventId optional
Channel unique id int SetChannelUid GetChannelUid optional
Channel type PVR_RECORDING_CHANNEL_TYPE SetChannelType GetChannelType optional
First aired std::string SetFirstAired GetFirstAired optional
Flags std::string SetFlags GetFlags optional
Size in bytes std::string SetSizeInBytes GetSizeInBytes optional
Client provider unique identifier int SetClientProviderUid GetClientProviderUid optional
Provider name std::string SetProviderlName GetProviderName optional

Macro Definition Documentation

◆ PVR_RECORDING_INVALID_SERIES_EPISODE

#define PVR_RECORDING_INVALID_SERIES_EPISODE   EPG_TAG_INVALID_SERIES_EPISODE

Special kodi::addon::PVRRecording::SetSeriesNumber() and kodi::addon::PVRRecording::SetEpisodeNumber() value to indicate it is not to be used.

Used if recording has no valid season and/or episode info.

◆ PVR_RECORDING_VALUE_NOT_AVAILABLE

#define PVR_RECORDING_VALUE_NOT_AVAILABLE   -1

Value where set in background to inform that related part not used.

Normally this related parts need not to set by this as it is default.

Function Documentation

◆ GetChannelName()

std::string kodi::addon::PVRRecording::GetChannelName ( ) const
inline

To get with SetChannelName changed values.

◆ GetChannelType()

PVR_RECORDING_CHANNEL_TYPE kodi::addon::PVRRecording::GetChannelType ( ) const
inline

To get with SetChannelType changed values.

◆ GetChannelUid()

int kodi::addon::PVRRecording::GetChannelUid ( ) const
inline

To get with SetChannelUid changed values.

◆ GetDirectory()

std::string kodi::addon::PVRRecording::GetDirectory ( ) const
inline

To get with SetDirectory changed values.

◆ GetDuration()

int kodi::addon::PVRRecording::GetDuration ( ) const
inline

To get with SetDuration changed values.

◆ GetEPGEventId()

unsigned int kodi::addon::PVRRecording::GetEPGEventId ( ) const
inline

To get with SetEPGEventId changed values.

◆ GetEpisodeName()

std::string kodi::addon::PVRRecording::GetEpisodeName ( ) const
inline

To get with SetEpisodeName changed values.

◆ GetEpisodeNumber()

int kodi::addon::PVRRecording::GetEpisodeNumber ( ) const
inline

To get with SetEpisodeNumber changed values.

◆ GetFanartPath()

std::string kodi::addon::PVRRecording::GetFanartPath ( ) const
inline

To get with SetFanartPath changed values.

◆ GetFirstAired()

std::string kodi::addon::PVRRecording::GetFirstAired ( ) const
inline

To get with SetFirstAired changed values.

◆ GetFlags()

unsigned int kodi::addon::PVRRecording::GetFlags ( ) const
inline

To get with SetFlags changed values.

◆ GetGenreDescription()

std::string kodi::addon::PVRRecording::GetGenreDescription ( ) const
inline

To get with SetGenreDescription changed values.

◆ GetGenreSubType()

int kodi::addon::PVRRecording::GetGenreSubType ( ) const
inline

To get with SetGenreSubType changed values.

◆ GetGenreType()

int kodi::addon::PVRRecording::GetGenreType ( ) const
inline

To get with SetGenreType changed values.

◆ GetIconPath()

std::string kodi::addon::PVRRecording::GetIconPath ( ) const
inline

To get with SetIconPath changed values.

◆ GetIsDeleted()

int kodi::addon::PVRRecording::GetIsDeleted ( ) const
inline

To get with SetIsDeleted changed values.

◆ GetLastPlayedPosition()

int kodi::addon::PVRRecording::GetLastPlayedPosition ( ) const
inline

To get with SetLastPlayedPosition changed values.

◆ GetLifetime()

int kodi::addon::PVRRecording::GetLifetime ( ) const
inline

To get with SetLifetime changed values.

◆ GetPlayCount()

int kodi::addon::PVRRecording::GetPlayCount ( ) const
inline

To get with SetPlayCount changed values.

◆ GetPlot()

std::string kodi::addon::PVRRecording::GetPlot ( ) const
inline

To get with SetPlot changed values.

◆ GetPlotOutline()

std::string kodi::addon::PVRRecording::GetPlotOutline ( ) const
inline

To get with SetPlotOutline changed values.

◆ GetPriority()

int kodi::addon::PVRRecording::GetPriority ( ) const
inline

To get with SetPriority changed values.

◆ GetRecordingId()

std::string kodi::addon::PVRRecording::GetRecordingId ( ) const
inline

To get with SetRecordingId changed values.

◆ GetRecordingTime()

time_t kodi::addon::PVRRecording::GetRecordingTime ( ) const
inline

To get with SetRecordingTime changed values.

◆ GetSeriesNumber()

int kodi::addon::PVRRecording::GetSeriesNumber ( ) const
inline

To get with SetSeriesNumber changed values.

◆ GetSizeInBytes()

int64_t kodi::addon::PVRRecording::GetSizeInBytes ( ) const
inline

To get with SetSizeInBytes changed values.

◆ GetThumbnailPath()

std::string kodi::addon::PVRRecording::GetThumbnailPath ( ) const
inline

To get with SetThumbnailPath changed values.

◆ GetTitle()

std::string kodi::addon::PVRRecording::GetTitle ( ) const
inline

To get with SetTitle changed values.

◆ GetYear()

int kodi::addon::PVRRecording::GetYear ( ) const
inline

To get with SetYear changed values.

◆ SetChannelName()

void kodi::addon::PVRRecording::SetChannelName ( const std::string & channelName)
inline

optional
Channel name.

◆ SetChannelType()

void kodi::addon::PVRRecording::SetChannelType ( PVR_RECORDING_CHANNEL_TYPE channelType)
inline

optional
Channel type.

Set to PVR_RECORDING_CHANNEL_TYPE_UNKNOWN if the type cannot be determined.


Example:

const char struct KODI_ADDON_AUDIODECODER_INFO_TAG * tag
Definition addons/kodi-dev-kit/include/kodi/c-api/addon-instance/audiodecoder.h:122
Definition Recordings.h:39
@ PVR_RECORDING_CHANNEL_TYPE_TV
1 : TV channel.
Definition pvr_recordings.h:94

◆ SetChannelUid()

void kodi::addon::PVRRecording::SetChannelUid ( int channelUid)
inline

optional
Unique identifier of the channel for this recording. PVR_CHANNEL_INVALID_UID denotes that channel uid is not available.

◆ SetDirectory()

void kodi::addon::PVRRecording::SetDirectory ( const std::string & directory)
inline

optional

Directory of this recording on the client.

◆ SetDuration()

void kodi::addon::PVRRecording::SetDuration ( int duration)
inline

optional
Duration of the recording in seconds.

◆ SetEPGEventId()

void kodi::addon::PVRRecording::SetEPGEventId ( unsigned int epgEventId)
inline

optional
EPG event id associated with this recording. Valid ids must be greater than EPG_TAG_INVALID_UID.

◆ SetEpisodeName()

void kodi::addon::PVRRecording::SetEpisodeName ( const std::string & episodeName)
inline

optional
Episode name (also known as subtitle).

◆ SetEpisodeNumber()

void kodi::addon::PVRRecording::SetEpisodeNumber ( int episodeNumber)
inline

optional
Eepisode number within the "iSeriesNumber" season.

For 'invalid' set to -1 or seriesNumber=episodeNumber=0 to show both are invalid.

◆ SetFanartPath()

void kodi::addon::PVRRecording::SetFanartPath ( const std::string & fanartPath)
inline

optional
Fanart path.

◆ SetFirstAired()

void kodi::addon::PVRRecording::SetFirstAired ( const std::string & firstAired)
inline

optional
First aired date of this recording.

Used only for display purposes. Specify in W3C date format "YYYY-MM-DD".


Example:

tag.SetFirstAired(1982-10-22);

◆ SetFlags()

void kodi::addon::PVRRecording::SetFlags ( unsigned int flags)
inline

optional
Bit field of independent flags associated with the recording.

See enum PVR_RECORDING_FLAG for available bit flags.


Here's example about the use of this:

@ PVR_RECORDING_FLAG_IS_SERIES
0000 0001 : This recording is part of a series.
Definition pvr_recordings.h:44
@ PVR_RECORDING_FLAG_IS_PREMIERE
0000 0100 : This recording will be flagged as a premiere.
Definition pvr_recordings.h:50

◆ SetGenreDescription()

void kodi::addon::PVRRecording::SetGenreDescription ( const std::string & genreDescription)
inline

optional
To set own genre description name.

Will be used only when genreType == EPG_GENRE_USE_STRING or genreSubType == EPG_GENRE_USE_STRING.

Use EPG_STRING_TOKEN_SEPARATOR to separate different genres.

In case of other, not ETSI EN 300 468 conform genre types or something special.


Example:

tag.SetGenreType(EPG_GENRE_USE_STRING);
tag.SetGenreDescription("Action" + EPG_STRING_TOKEN_SEPARATOR + "Thriller");
@ EPG_GENRE_USE_STRING
Used to override standard genre types with a own name about. Set to this value EPG_GENRE_USE_STRING ...
Definition pvr_epg.h:138
#define EPG_STRING_TOKEN_SEPARATOR
Separator to use in strings containing different tokens, for example writers, directors,...
Definition pvr_epg.h:527

◆ SetGenreSubType()

void kodi::addon::PVRRecording::SetGenreSubType ( int genreSubType)
inline

optional
Genre sub type.

Subtypes groups related to set by SetGenreType:

Main genre type List with available sub genre types
EPG_EVENT_CONTENTMASK_UNDEFINED Nothing, should be 0
EPG_EVENT_CONTENTMASK_MOVIEDRAMA EPG_EVENT_CONTENTSUBMASK_MOVIEDRAMA
EPG_EVENT_CONTENTMASK_NEWSCURRENTAFFAIRS EPG_EVENT_CONTENTSUBMASK_NEWSCURRENTAFFAIRS
EPG_EVENT_CONTENTMASK_SHOW EPG_EVENT_CONTENTSUBMASK_SHOW
EPG_EVENT_CONTENTMASK_SPORTS EPG_EVENT_CONTENTSUBMASK_SPORTS
EPG_EVENT_CONTENTMASK_CHILDRENYOUTH EPG_EVENT_CONTENTSUBMASK_CHILDRENYOUTH
EPG_EVENT_CONTENTMASK_MUSICBALLETDANCE EPG_EVENT_CONTENTSUBMASK_MUSICBALLETDANCE
EPG_EVENT_CONTENTMASK_ARTSCULTURE EPG_EVENT_CONTENTSUBMASK_ARTSCULTURE
EPG_EVENT_CONTENTMASK_SOCIALPOLITICALECONOMICS EPG_EVENT_CONTENTSUBMASK_SOCIALPOLITICALECONOMICS
EPG_EVENT_CONTENTMASK_EDUCATIONALSCIENCE EPG_EVENT_CONTENTSUBMASK_EDUCATIONALSCIENCE
EPG_EVENT_CONTENTMASK_LEISUREHOBBIES EPG_EVENT_CONTENTSUBMASK_LEISUREHOBBIES
EPG_EVENT_CONTENTMASK_SPECIAL EPG_EVENT_CONTENTSUBMASK_SPECIAL
EPG_EVENT_CONTENTMASK_USERDEFINED Can be defined by you
EPG_GENRE_USE_STRING Kodi's own value, which declares that the type with SetGenreDescription is given.

Example:

@ EPG_EVENT_CONTENTMASK_MUSICBALLETDANCE
0x60 : Music/Ballet/Dance. See EPG_EVENT_CONTENTSUBMASK_MUSICBALLETDANCE about related sub types.
Definition pvr_epg.h:94
@ EPG_EVENT_CONTENTSUBMASK_MUSICBALLETDANCE_JAZZ
0x4 : Jazz.
Definition pvr_epg.h:333

◆ SetGenreType()

void kodi::addon::PVRRecording::SetGenreType ( int genreType)
inline

optional
Genre type.

Use EPG_GENRE_USE_STRING if type becomes given by SetGenreDescription.

Note
If confirmed that backend brings the types in ETSI EN 300 468 conform values, can be EPG_EVENT_CONTENTMASK ignored and to set here with backend value.

Example 1:

@ EPG_EVENT_CONTENTMASK_MOVIEDRAMA
0x10 : Movie/Drama. See EPG_EVENT_CONTENTSUBMASK_MOVIEDRAMA about related sub types.
Definition pvr_epg.h:69

Example 2 (in case of other, not ETSI EN 300 468 conform genre types):

tag.SetGenreType(EPG_GENRE_USE_STRING);
tag.SetGenreDescription("My special genre name"); // Should use (if possible) kodi::GetLocalizedString(...) to have match user language.

◆ SetIconPath()

void kodi::addon::PVRRecording::SetIconPath ( const std::string & iconPath)
inline

optional
Channel logo (icon) path.

◆ SetIsDeleted()

void kodi::addon::PVRRecording::SetIsDeleted ( int isDeleted)
inline

optional
Shows this recording is deleted and can be undelete.

◆ SetLastPlayedPosition()

void kodi::addon::PVRRecording::SetLastPlayedPosition ( int lastPlayedPosition)
inline

optional
Last played position of this recording on the client.

◆ SetLifetime()

void kodi::addon::PVRRecording::SetLifetime ( int lifetime)
inline

optional
Life time in days of this recording.

◆ SetPlayCount()

void kodi::addon::PVRRecording::SetPlayCount ( int playCount)
inline

optional
Play count of this recording on the client.

◆ SetPlot()

void kodi::addon::PVRRecording::SetPlot ( const std::string & plot)
inline

optional
Plot name.

◆ SetPlotOutline()

void kodi::addon::PVRRecording::SetPlotOutline ( const std::string & plotOutline)
inline

optional
Plot outline name.

◆ SetPriority()

void kodi::addon::PVRRecording::SetPriority ( int priority)
inline

optional
Priority of this recording (from 0 - 100).

◆ SetRecordingId()

void kodi::addon::PVRRecording::SetRecordingId ( const std::string & recordingId)
inline

required
Unique identifier of the recording on the client.

◆ SetRecordingTime()

void kodi::addon::PVRRecording::SetRecordingTime ( time_t recordingTime)
inline

optional
Start time of the recording.

◆ SetSeriesNumber()

void kodi::addon::PVRRecording::SetSeriesNumber ( int seriesNumber)
inline

optional
Series number (usually called season).

Set to "0" for specials/pilot. For 'invalid' see SetEpisodeNumber or set to -1.

◆ SetSizeInBytes()

void kodi::addon::PVRRecording::SetSizeInBytes ( int64_t sizeInBytes)
inline

optional
Size of the recording in bytes.

◆ SetThumbnailPath()

void kodi::addon::PVRRecording::SetThumbnailPath ( const std::string & thumbnailPath)
inline

optional
Thumbnail path.

◆ SetTitle()

void kodi::addon::PVRRecording::SetTitle ( const std::string & title)
inline

required
The title of this recording.

◆ SetYear()

void kodi::addon::PVRRecording::SetYear ( int year)
inline

optional
Year of first release (use to identify a specific movie re-make) / first airing for TV shows.

Set to '0' for invalid.