Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
Loading...
Searching...
No Matches
VideoDatabase.h File Reference
#include "Bookmark.h"
#include "VideoInfoTag.h"
#include "addons/Scraper.h"
#include "dbwrappers/Database.h"
#include "utils/Artwork.h"
#include "utils/SortUtils.h"
#include "utils/UrlOptions.h"
#include <array>
#include <functional>
#include <memory>
#include <set>
#include <stdexcept>
#include <string>
#include <string_view>
#include <unordered_map>
#include <utility>
#include <vector>
#include <fmt/format.h>

Classes

struct  fmt::formatter< VideoDbContentType >
 
struct  SDbTableOffsets
 
class  CVideoDatabase
 
class  CVideoDatabase::CActor
 
class  CVideoDatabase::CSeason
 
class  CVideoDatabase::CSetInfo
 
struct  CVideoDatabase::PlaylistInfo
 
struct  CVideoDatabase::StringHash
 

Namespaces

namespace  dbiplus
 
namespace  KODI
 
namespace  KODI::VIDEO
 

Macros

#define my_offsetof(TYPE, MEMBER)   offsetof(TYPE, MEMBER)
 
#define COMPARE_PERCENTAGE   0.90f
 
#define COMPARE_PERCENTAGE_MIN   0.50f
 

Enumerations

enum  VideoDbDetails {
  VideoDbDetailsNone = 0x00 , VideoDbDetailsRating = 0x01 , VideoDbDetailsTag = 0x02 , VideoDbDetailsShowLink = 0x04 ,
  VideoDbDetailsStream = 0x08 , VideoDbDetailsCast = 0x10 , VideoDbDetailsBookmark = 0x20 , VideoDbDetailsUniqueID = 0x40 ,
  VideoDbDetailsAll = 0xFF
}
 
enum class  VideoDbContentType {
  UNKNOWN = -1 , MOVIES = 1 , TVSHOWS = 2 , MUSICVIDEOS = 3 ,
  EPISODES = 4 , MOVIE_SETS = 5 , MUSICALBUMS = 6
}
 
enum  VIDEODB_IDS {
  VIDEODB_ID_MIN = -1 , VIDEODB_ID_TITLE = 0 , VIDEODB_ID_PLOT = 1 , VIDEODB_ID_PLOTOUTLINE = 2 ,
  VIDEODB_ID_TAGLINE = 3 , VIDEODB_ID_VOTES = 4 , VIDEODB_ID_RATING_ID = 5 , VIDEODB_ID_CREDITS = 6 ,
  VIDEODB_ID_YEAR = 7 , VIDEODB_ID_THUMBURL = 8 , VIDEODB_ID_IDENT_ID = 9 , VIDEODB_ID_SORTTITLE = 10 ,
  VIDEODB_ID_RUNTIME = 11 , VIDEODB_ID_MPAA = 12 , VIDEODB_ID_TOP250 = 13 , VIDEODB_ID_GENRE = 14 ,
  VIDEODB_ID_DIRECTOR = 15 , VIDEODB_ID_ORIGINALTITLE = 16 , VIDEODB_ID_THUMBURL_SPOOF = 17 , VIDEODB_ID_STUDIOS = 18 ,
  VIDEODB_ID_TRAILER = 19 , VIDEODB_ID_FANART = 20 , VIDEODB_ID_COUNTRY = 21 , VIDEODB_ID_BASEPATH = 22 ,
  VIDEODB_ID_PARENTPATHID = 23 , VIDEODB_ID_MAX
}
 
enum  VIDEODB_SET_IDS {
  VIDEODB_ID_SET_MIN = -1 , VIDEODB_ID_SET_TITLE = 0 , VIDEODB_ID_SET_OVERVIEW = 1 , VIDEODB_ID_SET_ORIGINALTITLE = 2 ,
  VIDEODB_ID_SET_MAX
}
 
enum  VIDEODB_TV_IDS {
  VIDEODB_ID_TV_MIN = -1 , VIDEODB_ID_TV_TITLE = 0 , VIDEODB_ID_TV_PLOT = 1 , VIDEODB_ID_TV_STATUS = 2 ,
  VIDEODB_ID_TV_VOTES = 3 , VIDEODB_ID_TV_RATING_ID = 4 , VIDEODB_ID_TV_PREMIERED = 5 , VIDEODB_ID_TV_THUMBURL = 6 ,
  VIDEODB_ID_TV_THUMBURL_SPOOF = 7 , VIDEODB_ID_TV_GENRE = 8 , VIDEODB_ID_TV_ORIGINALTITLE = 9 , VIDEODB_ID_TV_EPISODEGUIDE = 10 ,
  VIDEODB_ID_TV_FANART = 11 , VIDEODB_ID_TV_IDENT_ID = 12 , VIDEODB_ID_TV_MPAA = 13 , VIDEODB_ID_TV_STUDIOS = 14 ,
  VIDEODB_ID_TV_SORTTITLE = 15 , VIDEODB_ID_TV_TRAILER = 16 , VIDEODB_ID_TV_MAX
}
 
enum  VIDEODB_SEASON_IDS {
  VIDEODB_ID_SEASON_MIN = -1 , VIDEODB_ID_SEASON_ID = 0 , VIDEODB_ID_SEASON_TVSHOW_ID = 1 , VIDEODB_ID_SEASON_NUMBER = 2 ,
  VIDEODB_ID_SEASON_NAME = 3 , VIDEODB_ID_SEASON_USER_RATING = 4 , VIDEODB_ID_SEASON_TVSHOW_PATH = 5 , VIDEODB_ID_SEASON_TVSHOW_TITLE = 6 ,
  VIDEODB_ID_SEASON_TVSHOW_PLOT = 7 , VIDEODB_ID_SEASON_TVSHOW_PREMIERED = 8 , VIDEODB_ID_SEASON_TVSHOW_GENRE = 9 , VIDEODB_ID_SEASON_TVSHOW_STUDIO = 10 ,
  VIDEODB_ID_SEASON_TVSHOW_MPAA = 11 , VIDEODB_ID_SEASON_EPISODES_TOTAL = 12 , VIDEODB_ID_SEASON_EPISODES_WATCHED = 13 , VIDEODB_ID_SEASON_PREMIERED = 14 ,
  VIDEODB_ID_SEASON_EPISODES_INPROGRESS = 15 , VIDEODB_ID_SEASON_MAX
}
 
enum  VIDEODB_EPISODE_IDS {
  VIDEODB_ID_EPISODE_MIN = -1 , VIDEODB_ID_EPISODE_TITLE = 0 , VIDEODB_ID_EPISODE_PLOT = 1 , VIDEODB_ID_EPISODE_VOTES = 2 ,
  VIDEODB_ID_EPISODE_RATING_ID = 3 , VIDEODB_ID_EPISODE_CREDITS = 4 , VIDEODB_ID_EPISODE_AIRED = 5 , VIDEODB_ID_EPISODE_THUMBURL = 6 ,
  VIDEODB_ID_EPISODE_THUMBURL_SPOOF = 7 , VIDEODB_ID_EPISODE_PLAYCOUNT = 8 , VIDEODB_ID_EPISODE_RUNTIME = 9 , VIDEODB_ID_EPISODE_DIRECTOR = 10 ,
  VIDEODB_ID_EPISODE_PRODUCTIONCODE = 11 , VIDEODB_ID_EPISODE_SEASON = 12 , VIDEODB_ID_EPISODE_EPISODE = 13 , VIDEODB_ID_EPISODE_ORIGINALTITLE = 14 ,
  VIDEODB_ID_EPISODE_SORTSEASON = 15 , VIDEODB_ID_EPISODE_SORTEPISODE = 16 , VIDEODB_ID_EPISODE_BOOKMARK = 17 , VIDEODB_ID_EPISODE_BASEPATH = 18 ,
  VIDEODB_ID_EPISODE_PARENTPATHID = 19 , VIDEODB_ID_EPISODE_IDENT_ID = 20 , VIDEODB_ID_EPISODE_MAX
}
 
enum  VIDEODB_MUSICVIDEO_IDS {
  VIDEODB_ID_MUSICVIDEO_MIN = -1 , VIDEODB_ID_MUSICVIDEO_TITLE = 0 , VIDEODB_ID_MUSICVIDEO_THUMBURL = 1 , VIDEODB_ID_MUSICVIDEO_THUMBURL_SPOOF = 2 ,
  VIDEODB_ID_MUSICVIDEO_PLAYCOUNT = 3 , VIDEODB_ID_MUSICVIDEO_RUNTIME = 4 , VIDEODB_ID_MUSICVIDEO_DIRECTOR = 5 , VIDEODB_ID_MUSICVIDEO_STUDIOS = 6 ,
  VIDEODB_ID_MUSICVIDEO_YEAR = 7 , VIDEODB_ID_MUSICVIDEO_PLOT = 8 , VIDEODB_ID_MUSICVIDEO_ALBUM = 9 , VIDEODB_ID_MUSICVIDEO_ARTIST = 10 ,
  VIDEODB_ID_MUSICVIDEO_GENRE = 11 , VIDEODB_ID_MUSICVIDEO_TRACK = 12 , VIDEODB_ID_MUSICVIDEO_BASEPATH = 13 , VIDEODB_ID_MUSICVIDEO_PARENTPATHID = 14 ,
  VIDEODB_ID_MUSICVIDEO_IDENT_ID = 15 , VIDEODB_ID_MUSICVIDEO_MAX
}
 
enum class  ArtFallbackOptions { NONE , PARENT }
 
enum class  DeleteMovieCascadeAction { DEFAULT_VERSION , ALL_ASSETS }
 
enum class  DeleteMovieHashAction { HASH_DELETE , HASH_PRESERVE }
 

Variables

constexpr int VIDEODB_MAX_COLUMNS = 24
 
constexpr int VIDEODB_DETAILS_FILEID = 1
 
constexpr int VIDEODB_DETAILS_MOVIE_SET_ID = VIDEODB_MAX_COLUMNS + 2
 
constexpr int VIDEODB_DETAILS_MOVIE_USER_RATING = VIDEODB_MAX_COLUMNS + 3
 
constexpr int VIDEODB_DETAILS_MOVIE_PREMIERED = VIDEODB_MAX_COLUMNS + 4
 
constexpr int VIDEODB_DETAILS_MOVIE_SET_NAME = VIDEODB_MAX_COLUMNS + 5
 
constexpr int VIDEODB_DETAILS_MOVIE_SET_OVERVIEW = VIDEODB_MAX_COLUMNS + 6
 
constexpr int VIDEODB_DETAILS_MOVIE_SET_ORIGINALNAME = VIDEODB_MAX_COLUMNS + 7
 
constexpr int VIDEODB_DETAILS_MOVIE_FILE = VIDEODB_MAX_COLUMNS + 8
 
constexpr int VIDEODB_DETAILS_MOVIE_PATH = VIDEODB_MAX_COLUMNS + 9
 
constexpr int VIDEODB_DETAILS_MOVIE_PLAYCOUNT = VIDEODB_MAX_COLUMNS + 10
 
constexpr int VIDEODB_DETAILS_MOVIE_LASTPLAYED = VIDEODB_MAX_COLUMNS + 11
 
constexpr int VIDEODB_DETAILS_MOVIE_DATEADDED = VIDEODB_MAX_COLUMNS + 12
 
constexpr int VIDEODB_DETAILS_MOVIE_RESUME_TIME = VIDEODB_MAX_COLUMNS + 13
 
constexpr int VIDEODB_DETAILS_MOVIE_TOTAL_TIME = VIDEODB_MAX_COLUMNS + 14
 
constexpr int VIDEODB_DETAILS_MOVIE_PLAYER_STATE = VIDEODB_MAX_COLUMNS + 15
 
constexpr int VIDEODB_DETAILS_MOVIE_RATING = VIDEODB_MAX_COLUMNS + 16
 
constexpr int VIDEODB_DETAILS_MOVIE_VOTES = VIDEODB_MAX_COLUMNS + 17
 
constexpr int VIDEODB_DETAILS_MOVIE_RATING_TYPE = VIDEODB_MAX_COLUMNS + 18
 
constexpr int VIDEODB_DETAILS_MOVIE_UNIQUEID_VALUE = VIDEODB_MAX_COLUMNS + 19
 
constexpr int VIDEODB_DETAILS_MOVIE_UNIQUEID_TYPE = VIDEODB_MAX_COLUMNS + 20
 
constexpr int VIDEODB_DETAILS_MOVIE_HASVERSIONS = VIDEODB_MAX_COLUMNS + 21
 
constexpr int VIDEODB_DETAILS_MOVIE_HASEXTRAS = VIDEODB_MAX_COLUMNS + 22
 
constexpr int VIDEODB_DETAILS_MOVIE_ISDEFAULTVERSION = VIDEODB_MAX_COLUMNS + 23
 
constexpr int VIDEODB_DETAILS_MOVIE_VERSION_FILEID = VIDEODB_MAX_COLUMNS + 24
 
constexpr int VIDEODB_DETAILS_MOVIE_VERSION_TYPEID = VIDEODB_MAX_COLUMNS + 25
 
constexpr int VIDEODB_DETAILS_MOVIE_VERSION_TYPENAME = VIDEODB_MAX_COLUMNS + 26
 
constexpr int VIDEODB_DETAILS_MOVIE_VERSION_ITEMTYPE = VIDEODB_MAX_COLUMNS + 27
 
constexpr int VIDEODB_DETAILS_EPISODE_TVSHOW_ID = VIDEODB_MAX_COLUMNS + 2
 
constexpr int VIDEODB_DETAILS_EPISODE_USER_RATING = VIDEODB_MAX_COLUMNS + 3
 
constexpr int VIDEODB_DETAILS_EPISODE_SEASON_ID = VIDEODB_MAX_COLUMNS + 4
 
constexpr int VIDEODB_DETAILS_EPISODE_FILE = VIDEODB_MAX_COLUMNS + 5
 
constexpr int VIDEODB_DETAILS_EPISODE_PATH = VIDEODB_MAX_COLUMNS + 6
 
constexpr int VIDEODB_DETAILS_EPISODE_PLAYCOUNT = VIDEODB_MAX_COLUMNS + 7
 
constexpr int VIDEODB_DETAILS_EPISODE_LASTPLAYED = VIDEODB_MAX_COLUMNS + 8
 
constexpr int VIDEODB_DETAILS_EPISODE_DATEADDED = VIDEODB_MAX_COLUMNS + 9
 
constexpr int VIDEODB_DETAILS_EPISODE_TVSHOW_NAME = VIDEODB_MAX_COLUMNS + 10
 
constexpr int VIDEODB_DETAILS_EPISODE_TVSHOW_GENRE = VIDEODB_MAX_COLUMNS + 11
 
constexpr int VIDEODB_DETAILS_EPISODE_TVSHOW_STUDIO = VIDEODB_MAX_COLUMNS + 12
 
constexpr int VIDEODB_DETAILS_EPISODE_TVSHOW_AIRED = VIDEODB_MAX_COLUMNS + 13
 
constexpr int VIDEODB_DETAILS_EPISODE_TVSHOW_MPAA = VIDEODB_MAX_COLUMNS + 14
 
constexpr int VIDEODB_DETAILS_EPISODE_RESUME_TIME = VIDEODB_MAX_COLUMNS + 15
 
constexpr int VIDEODB_DETAILS_EPISODE_TOTAL_TIME = VIDEODB_MAX_COLUMNS + 16
 
constexpr int VIDEODB_DETAILS_EPISODE_PLAYER_STATE = VIDEODB_MAX_COLUMNS + 17
 
constexpr int VIDEODB_DETAILS_EPISODE_RATING = VIDEODB_MAX_COLUMNS + 18
 
constexpr int VIDEODB_DETAILS_EPISODE_VOTES = VIDEODB_MAX_COLUMNS + 19
 
constexpr int VIDEODB_DETAILS_EPISODE_RATING_TYPE = VIDEODB_MAX_COLUMNS + 20
 
constexpr int VIDEODB_DETAILS_EPISODE_UNIQUEID_VALUE = VIDEODB_MAX_COLUMNS + 21
 
constexpr int VIDEODB_DETAILS_EPISODE_UNIQUEID_TYPE = VIDEODB_MAX_COLUMNS + 22
 
constexpr int VIDEODB_DETAILS_TVSHOW_USER_RATING = VIDEODB_MAX_COLUMNS + 1
 
constexpr int VIDEODB_DETAILS_TVSHOW_DURATION = VIDEODB_MAX_COLUMNS + 2
 
constexpr int VIDEODB_DETAILS_TVSHOW_PARENTPATHID = VIDEODB_MAX_COLUMNS + 3
 
constexpr int VIDEODB_DETAILS_TVSHOW_PATH = VIDEODB_MAX_COLUMNS + 4
 
constexpr int VIDEODB_DETAILS_TVSHOW_DATEADDED = VIDEODB_MAX_COLUMNS + 5
 
constexpr int VIDEODB_DETAILS_TVSHOW_LASTPLAYED = VIDEODB_MAX_COLUMNS + 6
 
constexpr int VIDEODB_DETAILS_TVSHOW_NUM_EPISODES = VIDEODB_MAX_COLUMNS + 7
 
constexpr int VIDEODB_DETAILS_TVSHOW_NUM_WATCHED = VIDEODB_MAX_COLUMNS + 8
 
constexpr int VIDEODB_DETAILS_TVSHOW_NUM_SEASONS = VIDEODB_MAX_COLUMNS + 9
 
constexpr int VIDEODB_DETAILS_TVSHOW_RATING = VIDEODB_MAX_COLUMNS + 10
 
constexpr int VIDEODB_DETAILS_TVSHOW_VOTES = VIDEODB_MAX_COLUMNS + 11
 
constexpr int VIDEODB_DETAILS_TVSHOW_RATING_TYPE = VIDEODB_MAX_COLUMNS + 12
 
constexpr int VIDEODB_DETAILS_TVSHOW_UNIQUEID_VALUE = VIDEODB_MAX_COLUMNS + 13
 
constexpr int VIDEODB_DETAILS_TVSHOW_UNIQUEID_TYPE = VIDEODB_MAX_COLUMNS + 14
 
constexpr int VIDEODB_DETAILS_TVSHOW_NUM_INPROGRESS = VIDEODB_MAX_COLUMNS + 15
 
constexpr int VIDEODB_DETAILS_MUSICVIDEO_USER_RATING = VIDEODB_MAX_COLUMNS + 2
 
constexpr int VIDEODB_DETAILS_MUSICVIDEO_PREMIERED = VIDEODB_MAX_COLUMNS + 3
 
constexpr int VIDEODB_DETAILS_MUSICVIDEO_FILE = VIDEODB_MAX_COLUMNS + 4
 
constexpr int VIDEODB_DETAILS_MUSICVIDEO_PATH = VIDEODB_MAX_COLUMNS + 5
 
constexpr int VIDEODB_DETAILS_MUSICVIDEO_PLAYCOUNT = VIDEODB_MAX_COLUMNS + 6
 
constexpr int VIDEODB_DETAILS_MUSICVIDEO_LASTPLAYED = VIDEODB_MAX_COLUMNS + 7
 
constexpr int VIDEODB_DETAILS_MUSICVIDEO_DATEADDED = VIDEODB_MAX_COLUMNS + 8
 
constexpr int VIDEODB_DETAILS_MUSICVIDEO_RESUME_TIME = VIDEODB_MAX_COLUMNS + 9
 
constexpr int VIDEODB_DETAILS_MUSICVIDEO_TOTAL_TIME = VIDEODB_MAX_COLUMNS + 10
 
constexpr int VIDEODB_DETAILS_MUSICVIDEO_PLAYER_STATE = VIDEODB_MAX_COLUMNS + 11
 
constexpr int VIDEODB_DETAILS_MUSICVIDEO_UNIQUEID_VALUE = VIDEODB_MAX_COLUMNS + 12
 
constexpr int VIDEODB_DETAILS_MUSICVIDEO_UNIQUEID_TYPE = VIDEODB_MAX_COLUMNS + 13
 
constexpr int VIDEODB_TYPE_UNUSED = 0
 
constexpr int VIDEODB_TYPE_STRING = 1
 
constexpr int VIDEODB_TYPE_INT = 2
 
constexpr int VIDEODB_TYPE_FLOAT = 3
 
constexpr int VIDEODB_TYPE_BOOL = 4
 
constexpr int VIDEODB_TYPE_COUNT = 5
 
constexpr int VIDEODB_TYPE_STRINGARRAY = 6
 
constexpr int VIDEODB_TYPE_DATE = 7
 
constexpr int VIDEODB_TYPE_DATETIME = 8
 
const std::array< SDbTableOffsets, 24 > DbMovieOffsets
 
const std::array< SDbTableOffsets, 3 > DbSetOffsets
 
const std::array< SDbTableOffsets, 17 > DbTvShowOffsets
 
const std::array< SDbTableOffsets, 21 > DbEpisodeOffsets
 
const std::array< SDbTableOffsets, 16 > DbMusicVideoOffsets
 

Macro Definition Documentation

◆ COMPARE_PERCENTAGE

#define COMPARE_PERCENTAGE   0.90f

◆ COMPARE_PERCENTAGE_MIN

#define COMPARE_PERCENTAGE_MIN   0.50f

◆ my_offsetof

#define my_offsetof (   TYPE,
  MEMBER 
)    offsetof(TYPE, MEMBER)

Enumeration Type Documentation

◆ ArtFallbackOptions

enum class ArtFallbackOptions
strong
Enumerator
NONE 
PARENT 

◆ DeleteMovieCascadeAction

enum class DeleteMovieCascadeAction
strong
Enumerator
DEFAULT_VERSION 
ALL_ASSETS 

◆ DeleteMovieHashAction

enum class DeleteMovieHashAction
strong
Enumerator
HASH_DELETE 
HASH_PRESERVE 

◆ VIDEODB_EPISODE_IDS

Enumerator
VIDEODB_ID_EPISODE_MIN 
VIDEODB_ID_EPISODE_TITLE 
VIDEODB_ID_EPISODE_PLOT 
VIDEODB_ID_EPISODE_VOTES 
VIDEODB_ID_EPISODE_RATING_ID 
VIDEODB_ID_EPISODE_CREDITS 
VIDEODB_ID_EPISODE_AIRED 
VIDEODB_ID_EPISODE_THUMBURL 
VIDEODB_ID_EPISODE_THUMBURL_SPOOF 
VIDEODB_ID_EPISODE_PLAYCOUNT 
VIDEODB_ID_EPISODE_RUNTIME 
VIDEODB_ID_EPISODE_DIRECTOR 
VIDEODB_ID_EPISODE_PRODUCTIONCODE 
VIDEODB_ID_EPISODE_SEASON 
VIDEODB_ID_EPISODE_EPISODE 
VIDEODB_ID_EPISODE_ORIGINALTITLE 
VIDEODB_ID_EPISODE_SORTSEASON 
VIDEODB_ID_EPISODE_SORTEPISODE 
VIDEODB_ID_EPISODE_BOOKMARK 
VIDEODB_ID_EPISODE_BASEPATH 
VIDEODB_ID_EPISODE_PARENTPATHID 
VIDEODB_ID_EPISODE_IDENT_ID 
VIDEODB_ID_EPISODE_MAX 

◆ VIDEODB_IDS

Enumerator
VIDEODB_ID_MIN 
VIDEODB_ID_TITLE 
VIDEODB_ID_PLOT 
VIDEODB_ID_PLOTOUTLINE 
VIDEODB_ID_TAGLINE 
VIDEODB_ID_VOTES 
VIDEODB_ID_RATING_ID 
VIDEODB_ID_CREDITS 
VIDEODB_ID_YEAR 
VIDEODB_ID_THUMBURL 
VIDEODB_ID_IDENT_ID 
VIDEODB_ID_SORTTITLE 
VIDEODB_ID_RUNTIME 
VIDEODB_ID_MPAA 
VIDEODB_ID_TOP250 
VIDEODB_ID_GENRE 
VIDEODB_ID_DIRECTOR 
VIDEODB_ID_ORIGINALTITLE 
VIDEODB_ID_THUMBURL_SPOOF 
VIDEODB_ID_STUDIOS 
VIDEODB_ID_TRAILER 
VIDEODB_ID_FANART 
VIDEODB_ID_COUNTRY 
VIDEODB_ID_BASEPATH 
VIDEODB_ID_PARENTPATHID 
VIDEODB_ID_MAX 

◆ VIDEODB_MUSICVIDEO_IDS

Enumerator
VIDEODB_ID_MUSICVIDEO_MIN 
VIDEODB_ID_MUSICVIDEO_TITLE 
VIDEODB_ID_MUSICVIDEO_THUMBURL 
VIDEODB_ID_MUSICVIDEO_THUMBURL_SPOOF 
VIDEODB_ID_MUSICVIDEO_PLAYCOUNT 
VIDEODB_ID_MUSICVIDEO_RUNTIME 
VIDEODB_ID_MUSICVIDEO_DIRECTOR 
VIDEODB_ID_MUSICVIDEO_STUDIOS 
VIDEODB_ID_MUSICVIDEO_YEAR 
VIDEODB_ID_MUSICVIDEO_PLOT 
VIDEODB_ID_MUSICVIDEO_ALBUM 
VIDEODB_ID_MUSICVIDEO_ARTIST 
VIDEODB_ID_MUSICVIDEO_GENRE 
VIDEODB_ID_MUSICVIDEO_TRACK 
VIDEODB_ID_MUSICVIDEO_BASEPATH 
VIDEODB_ID_MUSICVIDEO_PARENTPATHID 
VIDEODB_ID_MUSICVIDEO_IDENT_ID 
VIDEODB_ID_MUSICVIDEO_MAX 

◆ VIDEODB_SEASON_IDS

Todo:
is this comment valid for seasons? There is no offset structure or am I wrong?
Enumerator
VIDEODB_ID_SEASON_MIN 
VIDEODB_ID_SEASON_ID 
VIDEODB_ID_SEASON_TVSHOW_ID 
VIDEODB_ID_SEASON_NUMBER 
VIDEODB_ID_SEASON_NAME 
VIDEODB_ID_SEASON_USER_RATING 
VIDEODB_ID_SEASON_TVSHOW_PATH 
VIDEODB_ID_SEASON_TVSHOW_TITLE 
VIDEODB_ID_SEASON_TVSHOW_PLOT 
VIDEODB_ID_SEASON_TVSHOW_PREMIERED 
VIDEODB_ID_SEASON_TVSHOW_GENRE 
VIDEODB_ID_SEASON_TVSHOW_STUDIO 
VIDEODB_ID_SEASON_TVSHOW_MPAA 
VIDEODB_ID_SEASON_EPISODES_TOTAL 
VIDEODB_ID_SEASON_EPISODES_WATCHED 
VIDEODB_ID_SEASON_PREMIERED 
VIDEODB_ID_SEASON_EPISODES_INPROGRESS 
VIDEODB_ID_SEASON_MAX 

◆ VIDEODB_SET_IDS

Enumerator
VIDEODB_ID_SET_MIN 
VIDEODB_ID_SET_TITLE 
VIDEODB_ID_SET_OVERVIEW 
VIDEODB_ID_SET_ORIGINALTITLE 
VIDEODB_ID_SET_MAX 

◆ VIDEODB_TV_IDS

Enumerator
VIDEODB_ID_TV_MIN 
VIDEODB_ID_TV_TITLE 
VIDEODB_ID_TV_PLOT 
VIDEODB_ID_TV_STATUS 
VIDEODB_ID_TV_VOTES 
VIDEODB_ID_TV_RATING_ID 
VIDEODB_ID_TV_PREMIERED 
VIDEODB_ID_TV_THUMBURL 
VIDEODB_ID_TV_THUMBURL_SPOOF 
VIDEODB_ID_TV_GENRE 
VIDEODB_ID_TV_ORIGINALTITLE 
VIDEODB_ID_TV_EPISODEGUIDE 
VIDEODB_ID_TV_FANART 
VIDEODB_ID_TV_IDENT_ID 
VIDEODB_ID_TV_MPAA 
VIDEODB_ID_TV_STUDIOS 
VIDEODB_ID_TV_SORTTITLE 
VIDEODB_ID_TV_TRAILER 
VIDEODB_ID_TV_MAX 

◆ VideoDbContentType

enum class VideoDbContentType
strong
Enumerator
UNKNOWN 
MOVIES 
TVSHOWS 
MUSICVIDEOS 
EPISODES 
MOVIE_SETS 
MUSICALBUMS 

◆ VideoDbDetails

Enumerator
VideoDbDetailsNone 
VideoDbDetailsRating 
VideoDbDetailsTag 
VideoDbDetailsShowLink 
VideoDbDetailsStream 
VideoDbDetailsCast 
VideoDbDetailsBookmark 
VideoDbDetailsUniqueID 
VideoDbDetailsAll 

Variable Documentation

◆ DbEpisodeOffsets

const std::array<SDbTableOffsets, 21> DbEpisodeOffsets
Initial value:
= {{
{ VIDEODB_TYPE_STRING, my_offsetof(CVideoInfoTag,m_strPictureURL.m_data) },
{ VIDEODB_TYPE_STRING, my_offsetof(CVideoInfoTag,m_strProductionCode) },
{ VIDEODB_TYPE_INT, my_offsetof(CVideoInfoTag,m_iSpecialSortSeason) },
{ VIDEODB_TYPE_INT, my_offsetof(CVideoInfoTag,m_iSpecialSortEpisode) },
}}
constexpr int VIDEODB_TYPE_DATE
Definition VideoDatabase.h:178
constexpr int VIDEODB_TYPE_INT
Definition VideoDatabase.h:173
constexpr int VIDEODB_TYPE_STRINGARRAY
Definition VideoDatabase.h:177
constexpr int VIDEODB_TYPE_STRING
Definition VideoDatabase.h:172
constexpr int VIDEODB_TYPE_UNUSED
Definition VideoDatabase.h:171
#define my_offsetof(TYPE, MEMBER)
Definition VideoDatabase.h:53
Definition VideoInfoTag.h:56

◆ DbMovieOffsets

const std::array<SDbTableOffsets, 24> DbMovieOffsets
Initial value:

◆ DbMusicVideoOffsets

◆ DbSetOffsets

const std::array<SDbTableOffsets, 3> DbSetOffsets
Initial value:
= {{
}}
Definition SetInfoTag.h:20

◆ DbTvShowOffsets

◆ VIDEODB_DETAILS_EPISODE_DATEADDED

constexpr int VIDEODB_DETAILS_EPISODE_DATEADDED = VIDEODB_MAX_COLUMNS + 9
constexpr

◆ VIDEODB_DETAILS_EPISODE_FILE

constexpr int VIDEODB_DETAILS_EPISODE_FILE = VIDEODB_MAX_COLUMNS + 5
constexpr

◆ VIDEODB_DETAILS_EPISODE_LASTPLAYED

constexpr int VIDEODB_DETAILS_EPISODE_LASTPLAYED = VIDEODB_MAX_COLUMNS + 8
constexpr

◆ VIDEODB_DETAILS_EPISODE_PATH

constexpr int VIDEODB_DETAILS_EPISODE_PATH = VIDEODB_MAX_COLUMNS + 6
constexpr

◆ VIDEODB_DETAILS_EPISODE_PLAYCOUNT

constexpr int VIDEODB_DETAILS_EPISODE_PLAYCOUNT = VIDEODB_MAX_COLUMNS + 7
constexpr

◆ VIDEODB_DETAILS_EPISODE_PLAYER_STATE

constexpr int VIDEODB_DETAILS_EPISODE_PLAYER_STATE = VIDEODB_MAX_COLUMNS + 17
constexpr

◆ VIDEODB_DETAILS_EPISODE_RATING

constexpr int VIDEODB_DETAILS_EPISODE_RATING = VIDEODB_MAX_COLUMNS + 18
constexpr

◆ VIDEODB_DETAILS_EPISODE_RATING_TYPE

constexpr int VIDEODB_DETAILS_EPISODE_RATING_TYPE = VIDEODB_MAX_COLUMNS + 20
constexpr

◆ VIDEODB_DETAILS_EPISODE_RESUME_TIME

constexpr int VIDEODB_DETAILS_EPISODE_RESUME_TIME = VIDEODB_MAX_COLUMNS + 15
constexpr

◆ VIDEODB_DETAILS_EPISODE_SEASON_ID

constexpr int VIDEODB_DETAILS_EPISODE_SEASON_ID = VIDEODB_MAX_COLUMNS + 4
constexpr

◆ VIDEODB_DETAILS_EPISODE_TOTAL_TIME

constexpr int VIDEODB_DETAILS_EPISODE_TOTAL_TIME = VIDEODB_MAX_COLUMNS + 16
constexpr

◆ VIDEODB_DETAILS_EPISODE_TVSHOW_AIRED

constexpr int VIDEODB_DETAILS_EPISODE_TVSHOW_AIRED = VIDEODB_MAX_COLUMNS + 13
constexpr

◆ VIDEODB_DETAILS_EPISODE_TVSHOW_GENRE

constexpr int VIDEODB_DETAILS_EPISODE_TVSHOW_GENRE = VIDEODB_MAX_COLUMNS + 11
constexpr

◆ VIDEODB_DETAILS_EPISODE_TVSHOW_ID

constexpr int VIDEODB_DETAILS_EPISODE_TVSHOW_ID = VIDEODB_MAX_COLUMNS + 2
constexpr

◆ VIDEODB_DETAILS_EPISODE_TVSHOW_MPAA

constexpr int VIDEODB_DETAILS_EPISODE_TVSHOW_MPAA = VIDEODB_MAX_COLUMNS + 14
constexpr

◆ VIDEODB_DETAILS_EPISODE_TVSHOW_NAME

constexpr int VIDEODB_DETAILS_EPISODE_TVSHOW_NAME = VIDEODB_MAX_COLUMNS + 10
constexpr

◆ VIDEODB_DETAILS_EPISODE_TVSHOW_STUDIO

constexpr int VIDEODB_DETAILS_EPISODE_TVSHOW_STUDIO = VIDEODB_MAX_COLUMNS + 12
constexpr

◆ VIDEODB_DETAILS_EPISODE_UNIQUEID_TYPE

constexpr int VIDEODB_DETAILS_EPISODE_UNIQUEID_TYPE = VIDEODB_MAX_COLUMNS + 22
constexpr

◆ VIDEODB_DETAILS_EPISODE_UNIQUEID_VALUE

constexpr int VIDEODB_DETAILS_EPISODE_UNIQUEID_VALUE = VIDEODB_MAX_COLUMNS + 21
constexpr

◆ VIDEODB_DETAILS_EPISODE_USER_RATING

constexpr int VIDEODB_DETAILS_EPISODE_USER_RATING = VIDEODB_MAX_COLUMNS + 3
constexpr

◆ VIDEODB_DETAILS_EPISODE_VOTES

constexpr int VIDEODB_DETAILS_EPISODE_VOTES = VIDEODB_MAX_COLUMNS + 19
constexpr

◆ VIDEODB_DETAILS_FILEID

constexpr int VIDEODB_DETAILS_FILEID = 1
constexpr

◆ VIDEODB_DETAILS_MOVIE_DATEADDED

constexpr int VIDEODB_DETAILS_MOVIE_DATEADDED = VIDEODB_MAX_COLUMNS + 12
constexpr

◆ VIDEODB_DETAILS_MOVIE_FILE

constexpr int VIDEODB_DETAILS_MOVIE_FILE = VIDEODB_MAX_COLUMNS + 8
constexpr

◆ VIDEODB_DETAILS_MOVIE_HASEXTRAS

constexpr int VIDEODB_DETAILS_MOVIE_HASEXTRAS = VIDEODB_MAX_COLUMNS + 22
constexpr

◆ VIDEODB_DETAILS_MOVIE_HASVERSIONS

constexpr int VIDEODB_DETAILS_MOVIE_HASVERSIONS = VIDEODB_MAX_COLUMNS + 21
constexpr

◆ VIDEODB_DETAILS_MOVIE_ISDEFAULTVERSION

constexpr int VIDEODB_DETAILS_MOVIE_ISDEFAULTVERSION = VIDEODB_MAX_COLUMNS + 23
constexpr

◆ VIDEODB_DETAILS_MOVIE_LASTPLAYED

constexpr int VIDEODB_DETAILS_MOVIE_LASTPLAYED = VIDEODB_MAX_COLUMNS + 11
constexpr

◆ VIDEODB_DETAILS_MOVIE_PATH

constexpr int VIDEODB_DETAILS_MOVIE_PATH = VIDEODB_MAX_COLUMNS + 9
constexpr

◆ VIDEODB_DETAILS_MOVIE_PLAYCOUNT

constexpr int VIDEODB_DETAILS_MOVIE_PLAYCOUNT = VIDEODB_MAX_COLUMNS + 10
constexpr

◆ VIDEODB_DETAILS_MOVIE_PLAYER_STATE

constexpr int VIDEODB_DETAILS_MOVIE_PLAYER_STATE = VIDEODB_MAX_COLUMNS + 15
constexpr

◆ VIDEODB_DETAILS_MOVIE_PREMIERED

constexpr int VIDEODB_DETAILS_MOVIE_PREMIERED = VIDEODB_MAX_COLUMNS + 4
constexpr

◆ VIDEODB_DETAILS_MOVIE_RATING

constexpr int VIDEODB_DETAILS_MOVIE_RATING = VIDEODB_MAX_COLUMNS + 16
constexpr

◆ VIDEODB_DETAILS_MOVIE_RATING_TYPE

constexpr int VIDEODB_DETAILS_MOVIE_RATING_TYPE = VIDEODB_MAX_COLUMNS + 18
constexpr

◆ VIDEODB_DETAILS_MOVIE_RESUME_TIME

constexpr int VIDEODB_DETAILS_MOVIE_RESUME_TIME = VIDEODB_MAX_COLUMNS + 13
constexpr

◆ VIDEODB_DETAILS_MOVIE_SET_ID

constexpr int VIDEODB_DETAILS_MOVIE_SET_ID = VIDEODB_MAX_COLUMNS + 2
constexpr

◆ VIDEODB_DETAILS_MOVIE_SET_NAME

constexpr int VIDEODB_DETAILS_MOVIE_SET_NAME = VIDEODB_MAX_COLUMNS + 5
constexpr

◆ VIDEODB_DETAILS_MOVIE_SET_ORIGINALNAME

constexpr int VIDEODB_DETAILS_MOVIE_SET_ORIGINALNAME = VIDEODB_MAX_COLUMNS + 7
constexpr

◆ VIDEODB_DETAILS_MOVIE_SET_OVERVIEW

constexpr int VIDEODB_DETAILS_MOVIE_SET_OVERVIEW = VIDEODB_MAX_COLUMNS + 6
constexpr

◆ VIDEODB_DETAILS_MOVIE_TOTAL_TIME

constexpr int VIDEODB_DETAILS_MOVIE_TOTAL_TIME = VIDEODB_MAX_COLUMNS + 14
constexpr

◆ VIDEODB_DETAILS_MOVIE_UNIQUEID_TYPE

constexpr int VIDEODB_DETAILS_MOVIE_UNIQUEID_TYPE = VIDEODB_MAX_COLUMNS + 20
constexpr

◆ VIDEODB_DETAILS_MOVIE_UNIQUEID_VALUE

constexpr int VIDEODB_DETAILS_MOVIE_UNIQUEID_VALUE = VIDEODB_MAX_COLUMNS + 19
constexpr

◆ VIDEODB_DETAILS_MOVIE_USER_RATING

constexpr int VIDEODB_DETAILS_MOVIE_USER_RATING = VIDEODB_MAX_COLUMNS + 3
constexpr

◆ VIDEODB_DETAILS_MOVIE_VERSION_FILEID

constexpr int VIDEODB_DETAILS_MOVIE_VERSION_FILEID = VIDEODB_MAX_COLUMNS + 24
constexpr

◆ VIDEODB_DETAILS_MOVIE_VERSION_ITEMTYPE

constexpr int VIDEODB_DETAILS_MOVIE_VERSION_ITEMTYPE = VIDEODB_MAX_COLUMNS + 27
constexpr

◆ VIDEODB_DETAILS_MOVIE_VERSION_TYPEID

constexpr int VIDEODB_DETAILS_MOVIE_VERSION_TYPEID = VIDEODB_MAX_COLUMNS + 25
constexpr

◆ VIDEODB_DETAILS_MOVIE_VERSION_TYPENAME

constexpr int VIDEODB_DETAILS_MOVIE_VERSION_TYPENAME = VIDEODB_MAX_COLUMNS + 26
constexpr

◆ VIDEODB_DETAILS_MOVIE_VOTES

constexpr int VIDEODB_DETAILS_MOVIE_VOTES = VIDEODB_MAX_COLUMNS + 17
constexpr

◆ VIDEODB_DETAILS_MUSICVIDEO_DATEADDED

constexpr int VIDEODB_DETAILS_MUSICVIDEO_DATEADDED = VIDEODB_MAX_COLUMNS + 8
constexpr

◆ VIDEODB_DETAILS_MUSICVIDEO_FILE

constexpr int VIDEODB_DETAILS_MUSICVIDEO_FILE = VIDEODB_MAX_COLUMNS + 4
constexpr

◆ VIDEODB_DETAILS_MUSICVIDEO_LASTPLAYED

constexpr int VIDEODB_DETAILS_MUSICVIDEO_LASTPLAYED = VIDEODB_MAX_COLUMNS + 7
constexpr

◆ VIDEODB_DETAILS_MUSICVIDEO_PATH

constexpr int VIDEODB_DETAILS_MUSICVIDEO_PATH = VIDEODB_MAX_COLUMNS + 5
constexpr

◆ VIDEODB_DETAILS_MUSICVIDEO_PLAYCOUNT

constexpr int VIDEODB_DETAILS_MUSICVIDEO_PLAYCOUNT = VIDEODB_MAX_COLUMNS + 6
constexpr

◆ VIDEODB_DETAILS_MUSICVIDEO_PLAYER_STATE

constexpr int VIDEODB_DETAILS_MUSICVIDEO_PLAYER_STATE = VIDEODB_MAX_COLUMNS + 11
constexpr

◆ VIDEODB_DETAILS_MUSICVIDEO_PREMIERED

constexpr int VIDEODB_DETAILS_MUSICVIDEO_PREMIERED = VIDEODB_MAX_COLUMNS + 3
constexpr

◆ VIDEODB_DETAILS_MUSICVIDEO_RESUME_TIME

constexpr int VIDEODB_DETAILS_MUSICVIDEO_RESUME_TIME = VIDEODB_MAX_COLUMNS + 9
constexpr

◆ VIDEODB_DETAILS_MUSICVIDEO_TOTAL_TIME

constexpr int VIDEODB_DETAILS_MUSICVIDEO_TOTAL_TIME = VIDEODB_MAX_COLUMNS + 10
constexpr

◆ VIDEODB_DETAILS_MUSICVIDEO_UNIQUEID_TYPE

constexpr int VIDEODB_DETAILS_MUSICVIDEO_UNIQUEID_TYPE = VIDEODB_MAX_COLUMNS + 13
constexpr

◆ VIDEODB_DETAILS_MUSICVIDEO_UNIQUEID_VALUE

constexpr int VIDEODB_DETAILS_MUSICVIDEO_UNIQUEID_VALUE = VIDEODB_MAX_COLUMNS + 12
constexpr

◆ VIDEODB_DETAILS_MUSICVIDEO_USER_RATING

constexpr int VIDEODB_DETAILS_MUSICVIDEO_USER_RATING = VIDEODB_MAX_COLUMNS + 2
constexpr

◆ VIDEODB_DETAILS_TVSHOW_DATEADDED

constexpr int VIDEODB_DETAILS_TVSHOW_DATEADDED = VIDEODB_MAX_COLUMNS + 5
constexpr

◆ VIDEODB_DETAILS_TVSHOW_DURATION

constexpr int VIDEODB_DETAILS_TVSHOW_DURATION = VIDEODB_MAX_COLUMNS + 2
constexpr

◆ VIDEODB_DETAILS_TVSHOW_LASTPLAYED

constexpr int VIDEODB_DETAILS_TVSHOW_LASTPLAYED = VIDEODB_MAX_COLUMNS + 6
constexpr

◆ VIDEODB_DETAILS_TVSHOW_NUM_EPISODES

constexpr int VIDEODB_DETAILS_TVSHOW_NUM_EPISODES = VIDEODB_MAX_COLUMNS + 7
constexpr

◆ VIDEODB_DETAILS_TVSHOW_NUM_INPROGRESS

constexpr int VIDEODB_DETAILS_TVSHOW_NUM_INPROGRESS = VIDEODB_MAX_COLUMNS + 15
constexpr

◆ VIDEODB_DETAILS_TVSHOW_NUM_SEASONS

constexpr int VIDEODB_DETAILS_TVSHOW_NUM_SEASONS = VIDEODB_MAX_COLUMNS + 9
constexpr

◆ VIDEODB_DETAILS_TVSHOW_NUM_WATCHED

constexpr int VIDEODB_DETAILS_TVSHOW_NUM_WATCHED = VIDEODB_MAX_COLUMNS + 8
constexpr

◆ VIDEODB_DETAILS_TVSHOW_PARENTPATHID

constexpr int VIDEODB_DETAILS_TVSHOW_PARENTPATHID = VIDEODB_MAX_COLUMNS + 3
constexpr

◆ VIDEODB_DETAILS_TVSHOW_PATH

constexpr int VIDEODB_DETAILS_TVSHOW_PATH = VIDEODB_MAX_COLUMNS + 4
constexpr

◆ VIDEODB_DETAILS_TVSHOW_RATING

constexpr int VIDEODB_DETAILS_TVSHOW_RATING = VIDEODB_MAX_COLUMNS + 10
constexpr

◆ VIDEODB_DETAILS_TVSHOW_RATING_TYPE

constexpr int VIDEODB_DETAILS_TVSHOW_RATING_TYPE = VIDEODB_MAX_COLUMNS + 12
constexpr

◆ VIDEODB_DETAILS_TVSHOW_UNIQUEID_TYPE

constexpr int VIDEODB_DETAILS_TVSHOW_UNIQUEID_TYPE = VIDEODB_MAX_COLUMNS + 14
constexpr

◆ VIDEODB_DETAILS_TVSHOW_UNIQUEID_VALUE

constexpr int VIDEODB_DETAILS_TVSHOW_UNIQUEID_VALUE = VIDEODB_MAX_COLUMNS + 13
constexpr

◆ VIDEODB_DETAILS_TVSHOW_USER_RATING

constexpr int VIDEODB_DETAILS_TVSHOW_USER_RATING = VIDEODB_MAX_COLUMNS + 1
constexpr

◆ VIDEODB_DETAILS_TVSHOW_VOTES

constexpr int VIDEODB_DETAILS_TVSHOW_VOTES = VIDEODB_MAX_COLUMNS + 11
constexpr

◆ VIDEODB_MAX_COLUMNS

constexpr int VIDEODB_MAX_COLUMNS = 24
constexpr

◆ VIDEODB_TYPE_BOOL

constexpr int VIDEODB_TYPE_BOOL = 4
constexpr

◆ VIDEODB_TYPE_COUNT

constexpr int VIDEODB_TYPE_COUNT = 5
constexpr

◆ VIDEODB_TYPE_DATE

constexpr int VIDEODB_TYPE_DATE = 7
constexpr

◆ VIDEODB_TYPE_DATETIME

constexpr int VIDEODB_TYPE_DATETIME = 8
constexpr

◆ VIDEODB_TYPE_FLOAT

constexpr int VIDEODB_TYPE_FLOAT = 3
constexpr

◆ VIDEODB_TYPE_INT

constexpr int VIDEODB_TYPE_INT = 2
constexpr

◆ VIDEODB_TYPE_STRING

constexpr int VIDEODB_TYPE_STRING = 1
constexpr

◆ VIDEODB_TYPE_STRINGARRAY

constexpr int VIDEODB_TYPE_STRINGARRAY = 6
constexpr

◆ VIDEODB_TYPE_UNUSED

constexpr int VIDEODB_TYPE_UNUSED = 0
constexpr