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/SortUtils.h"
#include "utils/UrlOptions.h"
#include <memory>
#include <set>
#include <utility>
#include <vector>

Classes

struct  SDbTableOffsets
 
class  CVideoDatabase
 
class  CVideoDatabase::CActor
 
class  CVideoDatabase::CSeason
 
class  CVideoDatabase::CSetInfo
 

Namespaces

namespace  dbiplus
 
namespace  KODI
 
namespace  KODI::VIDEO
 

Macros

#define my_offsetof(TYPE, MEMBER)   offsetof(TYPE, MEMBER)
 
#define VIDEODB_MAX_COLUMNS   24
 
#define VIDEODB_DETAILS_FILEID   1
 
#define VIDEODB_DETAILS_MOVIE_SET_ID   VIDEODB_MAX_COLUMNS + 2
 
#define VIDEODB_DETAILS_MOVIE_USER_RATING   VIDEODB_MAX_COLUMNS + 3
 
#define VIDEODB_DETAILS_MOVIE_PREMIERED   VIDEODB_MAX_COLUMNS + 4
 
#define VIDEODB_DETAILS_MOVIE_SET_NAME   VIDEODB_MAX_COLUMNS + 5
 
#define VIDEODB_DETAILS_MOVIE_SET_OVERVIEW   VIDEODB_MAX_COLUMNS + 6
 
#define VIDEODB_DETAILS_MOVIE_FILE   VIDEODB_MAX_COLUMNS + 7
 
#define VIDEODB_DETAILS_MOVIE_PATH   VIDEODB_MAX_COLUMNS + 8
 
#define VIDEODB_DETAILS_MOVIE_PLAYCOUNT   VIDEODB_MAX_COLUMNS + 9
 
#define VIDEODB_DETAILS_MOVIE_LASTPLAYED   VIDEODB_MAX_COLUMNS + 10
 
#define VIDEODB_DETAILS_MOVIE_DATEADDED   VIDEODB_MAX_COLUMNS + 11
 
#define VIDEODB_DETAILS_MOVIE_RESUME_TIME   VIDEODB_MAX_COLUMNS + 12
 
#define VIDEODB_DETAILS_MOVIE_TOTAL_TIME   VIDEODB_MAX_COLUMNS + 13
 
#define VIDEODB_DETAILS_MOVIE_PLAYER_STATE   VIDEODB_MAX_COLUMNS + 14
 
#define VIDEODB_DETAILS_MOVIE_RATING   VIDEODB_MAX_COLUMNS + 15
 
#define VIDEODB_DETAILS_MOVIE_VOTES   VIDEODB_MAX_COLUMNS + 16
 
#define VIDEODB_DETAILS_MOVIE_RATING_TYPE   VIDEODB_MAX_COLUMNS + 17
 
#define VIDEODB_DETAILS_MOVIE_UNIQUEID_VALUE   VIDEODB_MAX_COLUMNS + 18
 
#define VIDEODB_DETAILS_MOVIE_UNIQUEID_TYPE   VIDEODB_MAX_COLUMNS + 19
 
#define VIDEODB_DETAILS_MOVIE_HASVERSIONS   VIDEODB_MAX_COLUMNS + 20
 
#define VIDEODB_DETAILS_MOVIE_HASEXTRAS   VIDEODB_MAX_COLUMNS + 21
 
#define VIDEODB_DETAILS_MOVIE_ISDEFAULTVERSION   VIDEODB_MAX_COLUMNS + 22
 
#define VIDEODB_DETAILS_MOVIE_VERSION_FILEID   VIDEODB_MAX_COLUMNS + 23
 
#define VIDEODB_DETAILS_MOVIE_VERSION_TYPEID   VIDEODB_MAX_COLUMNS + 24
 
#define VIDEODB_DETAILS_MOVIE_VERSION_TYPENAME   VIDEODB_MAX_COLUMNS + 25
 
#define VIDEODB_DETAILS_MOVIE_VERSION_ITEMTYPE   VIDEODB_MAX_COLUMNS + 26
 
#define VIDEODB_DETAILS_EPISODE_TVSHOW_ID   VIDEODB_MAX_COLUMNS + 2
 
#define VIDEODB_DETAILS_EPISODE_USER_RATING   VIDEODB_MAX_COLUMNS + 3
 
#define VIDEODB_DETAILS_EPISODE_SEASON_ID   VIDEODB_MAX_COLUMNS + 4
 
#define VIDEODB_DETAILS_EPISODE_FILE   VIDEODB_MAX_COLUMNS + 5
 
#define VIDEODB_DETAILS_EPISODE_PATH   VIDEODB_MAX_COLUMNS + 6
 
#define VIDEODB_DETAILS_EPISODE_PLAYCOUNT   VIDEODB_MAX_COLUMNS + 7
 
#define VIDEODB_DETAILS_EPISODE_LASTPLAYED   VIDEODB_MAX_COLUMNS + 8
 
#define VIDEODB_DETAILS_EPISODE_DATEADDED   VIDEODB_MAX_COLUMNS + 9
 
#define VIDEODB_DETAILS_EPISODE_TVSHOW_NAME   VIDEODB_MAX_COLUMNS + 10
 
#define VIDEODB_DETAILS_EPISODE_TVSHOW_GENRE   VIDEODB_MAX_COLUMNS + 11
 
#define VIDEODB_DETAILS_EPISODE_TVSHOW_STUDIO   VIDEODB_MAX_COLUMNS + 12
 
#define VIDEODB_DETAILS_EPISODE_TVSHOW_AIRED   VIDEODB_MAX_COLUMNS + 13
 
#define VIDEODB_DETAILS_EPISODE_TVSHOW_MPAA   VIDEODB_MAX_COLUMNS + 14
 
#define VIDEODB_DETAILS_EPISODE_RESUME_TIME   VIDEODB_MAX_COLUMNS + 15
 
#define VIDEODB_DETAILS_EPISODE_TOTAL_TIME   VIDEODB_MAX_COLUMNS + 16
 
#define VIDEODB_DETAILS_EPISODE_PLAYER_STATE   VIDEODB_MAX_COLUMNS + 17
 
#define VIDEODB_DETAILS_EPISODE_RATING   VIDEODB_MAX_COLUMNS + 18
 
#define VIDEODB_DETAILS_EPISODE_VOTES   VIDEODB_MAX_COLUMNS + 19
 
#define VIDEODB_DETAILS_EPISODE_RATING_TYPE   VIDEODB_MAX_COLUMNS + 20
 
#define VIDEODB_DETAILS_EPISODE_UNIQUEID_VALUE   VIDEODB_MAX_COLUMNS + 21
 
#define VIDEODB_DETAILS_EPISODE_UNIQUEID_TYPE   VIDEODB_MAX_COLUMNS + 22
 
#define VIDEODB_DETAILS_TVSHOW_USER_RATING   VIDEODB_MAX_COLUMNS + 1
 
#define VIDEODB_DETAILS_TVSHOW_DURATION   VIDEODB_MAX_COLUMNS + 2
 
#define VIDEODB_DETAILS_TVSHOW_PARENTPATHID   VIDEODB_MAX_COLUMNS + 3
 
#define VIDEODB_DETAILS_TVSHOW_PATH   VIDEODB_MAX_COLUMNS + 4
 
#define VIDEODB_DETAILS_TVSHOW_DATEADDED   VIDEODB_MAX_COLUMNS + 5
 
#define VIDEODB_DETAILS_TVSHOW_LASTPLAYED   VIDEODB_MAX_COLUMNS + 6
 
#define VIDEODB_DETAILS_TVSHOW_NUM_EPISODES   VIDEODB_MAX_COLUMNS + 7
 
#define VIDEODB_DETAILS_TVSHOW_NUM_WATCHED   VIDEODB_MAX_COLUMNS + 8
 
#define VIDEODB_DETAILS_TVSHOW_NUM_SEASONS   VIDEODB_MAX_COLUMNS + 9
 
#define VIDEODB_DETAILS_TVSHOW_RATING   VIDEODB_MAX_COLUMNS + 10
 
#define VIDEODB_DETAILS_TVSHOW_VOTES   VIDEODB_MAX_COLUMNS + 11
 
#define VIDEODB_DETAILS_TVSHOW_RATING_TYPE   VIDEODB_MAX_COLUMNS + 12
 
#define VIDEODB_DETAILS_TVSHOW_UNIQUEID_VALUE   VIDEODB_MAX_COLUMNS + 13
 
#define VIDEODB_DETAILS_TVSHOW_UNIQUEID_TYPE   VIDEODB_MAX_COLUMNS + 14
 
#define VIDEODB_DETAILS_TVSHOW_NUM_INPROGRESS   VIDEODB_MAX_COLUMNS + 15
 
#define VIDEODB_DETAILS_MUSICVIDEO_USER_RATING   VIDEODB_MAX_COLUMNS + 2
 
#define VIDEODB_DETAILS_MUSICVIDEO_PREMIERED   VIDEODB_MAX_COLUMNS + 3
 
#define VIDEODB_DETAILS_MUSICVIDEO_FILE   VIDEODB_MAX_COLUMNS + 4
 
#define VIDEODB_DETAILS_MUSICVIDEO_PATH   VIDEODB_MAX_COLUMNS + 5
 
#define VIDEODB_DETAILS_MUSICVIDEO_PLAYCOUNT   VIDEODB_MAX_COLUMNS + 6
 
#define VIDEODB_DETAILS_MUSICVIDEO_LASTPLAYED   VIDEODB_MAX_COLUMNS + 7
 
#define VIDEODB_DETAILS_MUSICVIDEO_DATEADDED   VIDEODB_MAX_COLUMNS + 8
 
#define VIDEODB_DETAILS_MUSICVIDEO_RESUME_TIME   VIDEODB_MAX_COLUMNS + 9
 
#define VIDEODB_DETAILS_MUSICVIDEO_TOTAL_TIME   VIDEODB_MAX_COLUMNS + 10
 
#define VIDEODB_DETAILS_MUSICVIDEO_PLAYER_STATE   VIDEODB_MAX_COLUMNS + 11
 
#define VIDEODB_DETAILS_MUSICVIDEO_UNIQUEID_VALUE   VIDEODB_MAX_COLUMNS + 12
 
#define VIDEODB_DETAILS_MUSICVIDEO_UNIQUEID_TYPE   VIDEODB_MAX_COLUMNS + 13
 
#define VIDEODB_TYPE_UNUSED   0
 
#define VIDEODB_TYPE_STRING   1
 
#define VIDEODB_TYPE_INT   2
 
#define VIDEODB_TYPE_FLOAT   3
 
#define VIDEODB_TYPE_BOOL   4
 
#define VIDEODB_TYPE_COUNT   5
 
#define VIDEODB_TYPE_STRINGARRAY   6
 
#define VIDEODB_TYPE_DATE   7
 
#define VIDEODB_TYPE_DATETIME   8
 
#define COMPARE_PERCENTAGE   0.90f
 
#define COMPARE_PERCENTAGE_MIN   0.50f
 

Typedefs

typedef std::vector< CVideoInfoTagVECMOVIES
 

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_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 }
 

Variables

const struct SDbTableOffsets DbMovieOffsets []
 
const struct SDbTableOffsets DbTvShowOffsets []
 
const struct SDbTableOffsets DbEpisodeOffsets []
 
const struct SDbTableOffsets 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)

◆ VIDEODB_DETAILS_EPISODE_DATEADDED

#define VIDEODB_DETAILS_EPISODE_DATEADDED   VIDEODB_MAX_COLUMNS + 9

◆ VIDEODB_DETAILS_EPISODE_FILE

#define VIDEODB_DETAILS_EPISODE_FILE   VIDEODB_MAX_COLUMNS + 5

◆ VIDEODB_DETAILS_EPISODE_LASTPLAYED

#define VIDEODB_DETAILS_EPISODE_LASTPLAYED   VIDEODB_MAX_COLUMNS + 8

◆ VIDEODB_DETAILS_EPISODE_PATH

#define VIDEODB_DETAILS_EPISODE_PATH   VIDEODB_MAX_COLUMNS + 6

◆ VIDEODB_DETAILS_EPISODE_PLAYCOUNT

#define VIDEODB_DETAILS_EPISODE_PLAYCOUNT   VIDEODB_MAX_COLUMNS + 7

◆ VIDEODB_DETAILS_EPISODE_PLAYER_STATE

#define VIDEODB_DETAILS_EPISODE_PLAYER_STATE   VIDEODB_MAX_COLUMNS + 17

◆ VIDEODB_DETAILS_EPISODE_RATING

#define VIDEODB_DETAILS_EPISODE_RATING   VIDEODB_MAX_COLUMNS + 18

◆ VIDEODB_DETAILS_EPISODE_RATING_TYPE

#define VIDEODB_DETAILS_EPISODE_RATING_TYPE   VIDEODB_MAX_COLUMNS + 20

◆ VIDEODB_DETAILS_EPISODE_RESUME_TIME

#define VIDEODB_DETAILS_EPISODE_RESUME_TIME   VIDEODB_MAX_COLUMNS + 15

◆ VIDEODB_DETAILS_EPISODE_SEASON_ID

#define VIDEODB_DETAILS_EPISODE_SEASON_ID   VIDEODB_MAX_COLUMNS + 4

◆ VIDEODB_DETAILS_EPISODE_TOTAL_TIME

#define VIDEODB_DETAILS_EPISODE_TOTAL_TIME   VIDEODB_MAX_COLUMNS + 16

◆ VIDEODB_DETAILS_EPISODE_TVSHOW_AIRED

#define VIDEODB_DETAILS_EPISODE_TVSHOW_AIRED   VIDEODB_MAX_COLUMNS + 13

◆ VIDEODB_DETAILS_EPISODE_TVSHOW_GENRE

#define VIDEODB_DETAILS_EPISODE_TVSHOW_GENRE   VIDEODB_MAX_COLUMNS + 11

◆ VIDEODB_DETAILS_EPISODE_TVSHOW_ID

#define VIDEODB_DETAILS_EPISODE_TVSHOW_ID   VIDEODB_MAX_COLUMNS + 2

◆ VIDEODB_DETAILS_EPISODE_TVSHOW_MPAA

#define VIDEODB_DETAILS_EPISODE_TVSHOW_MPAA   VIDEODB_MAX_COLUMNS + 14

◆ VIDEODB_DETAILS_EPISODE_TVSHOW_NAME

#define VIDEODB_DETAILS_EPISODE_TVSHOW_NAME   VIDEODB_MAX_COLUMNS + 10

◆ VIDEODB_DETAILS_EPISODE_TVSHOW_STUDIO

#define VIDEODB_DETAILS_EPISODE_TVSHOW_STUDIO   VIDEODB_MAX_COLUMNS + 12

◆ VIDEODB_DETAILS_EPISODE_UNIQUEID_TYPE

#define VIDEODB_DETAILS_EPISODE_UNIQUEID_TYPE   VIDEODB_MAX_COLUMNS + 22

◆ VIDEODB_DETAILS_EPISODE_UNIQUEID_VALUE

#define VIDEODB_DETAILS_EPISODE_UNIQUEID_VALUE   VIDEODB_MAX_COLUMNS + 21

◆ VIDEODB_DETAILS_EPISODE_USER_RATING

#define VIDEODB_DETAILS_EPISODE_USER_RATING   VIDEODB_MAX_COLUMNS + 3

◆ VIDEODB_DETAILS_EPISODE_VOTES

#define VIDEODB_DETAILS_EPISODE_VOTES   VIDEODB_MAX_COLUMNS + 19

◆ VIDEODB_DETAILS_FILEID

#define VIDEODB_DETAILS_FILEID   1

◆ VIDEODB_DETAILS_MOVIE_DATEADDED

#define VIDEODB_DETAILS_MOVIE_DATEADDED   VIDEODB_MAX_COLUMNS + 11

◆ VIDEODB_DETAILS_MOVIE_FILE

#define VIDEODB_DETAILS_MOVIE_FILE   VIDEODB_MAX_COLUMNS + 7

◆ VIDEODB_DETAILS_MOVIE_HASEXTRAS

#define VIDEODB_DETAILS_MOVIE_HASEXTRAS   VIDEODB_MAX_COLUMNS + 21

◆ VIDEODB_DETAILS_MOVIE_HASVERSIONS

#define VIDEODB_DETAILS_MOVIE_HASVERSIONS   VIDEODB_MAX_COLUMNS + 20

◆ VIDEODB_DETAILS_MOVIE_ISDEFAULTVERSION

#define VIDEODB_DETAILS_MOVIE_ISDEFAULTVERSION   VIDEODB_MAX_COLUMNS + 22

◆ VIDEODB_DETAILS_MOVIE_LASTPLAYED

#define VIDEODB_DETAILS_MOVIE_LASTPLAYED   VIDEODB_MAX_COLUMNS + 10

◆ VIDEODB_DETAILS_MOVIE_PATH

#define VIDEODB_DETAILS_MOVIE_PATH   VIDEODB_MAX_COLUMNS + 8

◆ VIDEODB_DETAILS_MOVIE_PLAYCOUNT

#define VIDEODB_DETAILS_MOVIE_PLAYCOUNT   VIDEODB_MAX_COLUMNS + 9

◆ VIDEODB_DETAILS_MOVIE_PLAYER_STATE

#define VIDEODB_DETAILS_MOVIE_PLAYER_STATE   VIDEODB_MAX_COLUMNS + 14

◆ VIDEODB_DETAILS_MOVIE_PREMIERED

#define VIDEODB_DETAILS_MOVIE_PREMIERED   VIDEODB_MAX_COLUMNS + 4

◆ VIDEODB_DETAILS_MOVIE_RATING

#define VIDEODB_DETAILS_MOVIE_RATING   VIDEODB_MAX_COLUMNS + 15

◆ VIDEODB_DETAILS_MOVIE_RATING_TYPE

#define VIDEODB_DETAILS_MOVIE_RATING_TYPE   VIDEODB_MAX_COLUMNS + 17

◆ VIDEODB_DETAILS_MOVIE_RESUME_TIME

#define VIDEODB_DETAILS_MOVIE_RESUME_TIME   VIDEODB_MAX_COLUMNS + 12

◆ VIDEODB_DETAILS_MOVIE_SET_ID

#define VIDEODB_DETAILS_MOVIE_SET_ID   VIDEODB_MAX_COLUMNS + 2

◆ VIDEODB_DETAILS_MOVIE_SET_NAME

#define VIDEODB_DETAILS_MOVIE_SET_NAME   VIDEODB_MAX_COLUMNS + 5

◆ VIDEODB_DETAILS_MOVIE_SET_OVERVIEW

#define VIDEODB_DETAILS_MOVIE_SET_OVERVIEW   VIDEODB_MAX_COLUMNS + 6

◆ VIDEODB_DETAILS_MOVIE_TOTAL_TIME

#define VIDEODB_DETAILS_MOVIE_TOTAL_TIME   VIDEODB_MAX_COLUMNS + 13

◆ VIDEODB_DETAILS_MOVIE_UNIQUEID_TYPE

#define VIDEODB_DETAILS_MOVIE_UNIQUEID_TYPE   VIDEODB_MAX_COLUMNS + 19

◆ VIDEODB_DETAILS_MOVIE_UNIQUEID_VALUE

#define VIDEODB_DETAILS_MOVIE_UNIQUEID_VALUE   VIDEODB_MAX_COLUMNS + 18

◆ VIDEODB_DETAILS_MOVIE_USER_RATING

#define VIDEODB_DETAILS_MOVIE_USER_RATING   VIDEODB_MAX_COLUMNS + 3

◆ VIDEODB_DETAILS_MOVIE_VERSION_FILEID

#define VIDEODB_DETAILS_MOVIE_VERSION_FILEID   VIDEODB_MAX_COLUMNS + 23

◆ VIDEODB_DETAILS_MOVIE_VERSION_ITEMTYPE

#define VIDEODB_DETAILS_MOVIE_VERSION_ITEMTYPE   VIDEODB_MAX_COLUMNS + 26

◆ VIDEODB_DETAILS_MOVIE_VERSION_TYPEID

#define VIDEODB_DETAILS_MOVIE_VERSION_TYPEID   VIDEODB_MAX_COLUMNS + 24

◆ VIDEODB_DETAILS_MOVIE_VERSION_TYPENAME

#define VIDEODB_DETAILS_MOVIE_VERSION_TYPENAME   VIDEODB_MAX_COLUMNS + 25

◆ VIDEODB_DETAILS_MOVIE_VOTES

#define VIDEODB_DETAILS_MOVIE_VOTES   VIDEODB_MAX_COLUMNS + 16

◆ VIDEODB_DETAILS_MUSICVIDEO_DATEADDED

#define VIDEODB_DETAILS_MUSICVIDEO_DATEADDED   VIDEODB_MAX_COLUMNS + 8

◆ VIDEODB_DETAILS_MUSICVIDEO_FILE

#define VIDEODB_DETAILS_MUSICVIDEO_FILE   VIDEODB_MAX_COLUMNS + 4

◆ VIDEODB_DETAILS_MUSICVIDEO_LASTPLAYED

#define VIDEODB_DETAILS_MUSICVIDEO_LASTPLAYED   VIDEODB_MAX_COLUMNS + 7

◆ VIDEODB_DETAILS_MUSICVIDEO_PATH

#define VIDEODB_DETAILS_MUSICVIDEO_PATH   VIDEODB_MAX_COLUMNS + 5

◆ VIDEODB_DETAILS_MUSICVIDEO_PLAYCOUNT

#define VIDEODB_DETAILS_MUSICVIDEO_PLAYCOUNT   VIDEODB_MAX_COLUMNS + 6

◆ VIDEODB_DETAILS_MUSICVIDEO_PLAYER_STATE

#define VIDEODB_DETAILS_MUSICVIDEO_PLAYER_STATE   VIDEODB_MAX_COLUMNS + 11

◆ VIDEODB_DETAILS_MUSICVIDEO_PREMIERED

#define VIDEODB_DETAILS_MUSICVIDEO_PREMIERED   VIDEODB_MAX_COLUMNS + 3

◆ VIDEODB_DETAILS_MUSICVIDEO_RESUME_TIME

#define VIDEODB_DETAILS_MUSICVIDEO_RESUME_TIME   VIDEODB_MAX_COLUMNS + 9

◆ VIDEODB_DETAILS_MUSICVIDEO_TOTAL_TIME

#define VIDEODB_DETAILS_MUSICVIDEO_TOTAL_TIME   VIDEODB_MAX_COLUMNS + 10

◆ VIDEODB_DETAILS_MUSICVIDEO_UNIQUEID_TYPE

#define VIDEODB_DETAILS_MUSICVIDEO_UNIQUEID_TYPE   VIDEODB_MAX_COLUMNS + 13

◆ VIDEODB_DETAILS_MUSICVIDEO_UNIQUEID_VALUE

#define VIDEODB_DETAILS_MUSICVIDEO_UNIQUEID_VALUE   VIDEODB_MAX_COLUMNS + 12

◆ VIDEODB_DETAILS_MUSICVIDEO_USER_RATING

#define VIDEODB_DETAILS_MUSICVIDEO_USER_RATING   VIDEODB_MAX_COLUMNS + 2

◆ VIDEODB_DETAILS_TVSHOW_DATEADDED

#define VIDEODB_DETAILS_TVSHOW_DATEADDED   VIDEODB_MAX_COLUMNS + 5

◆ VIDEODB_DETAILS_TVSHOW_DURATION

#define VIDEODB_DETAILS_TVSHOW_DURATION   VIDEODB_MAX_COLUMNS + 2

◆ VIDEODB_DETAILS_TVSHOW_LASTPLAYED

#define VIDEODB_DETAILS_TVSHOW_LASTPLAYED   VIDEODB_MAX_COLUMNS + 6

◆ VIDEODB_DETAILS_TVSHOW_NUM_EPISODES

#define VIDEODB_DETAILS_TVSHOW_NUM_EPISODES   VIDEODB_MAX_COLUMNS + 7

◆ VIDEODB_DETAILS_TVSHOW_NUM_INPROGRESS

#define VIDEODB_DETAILS_TVSHOW_NUM_INPROGRESS   VIDEODB_MAX_COLUMNS + 15

◆ VIDEODB_DETAILS_TVSHOW_NUM_SEASONS

#define VIDEODB_DETAILS_TVSHOW_NUM_SEASONS   VIDEODB_MAX_COLUMNS + 9

◆ VIDEODB_DETAILS_TVSHOW_NUM_WATCHED

#define VIDEODB_DETAILS_TVSHOW_NUM_WATCHED   VIDEODB_MAX_COLUMNS + 8

◆ VIDEODB_DETAILS_TVSHOW_PARENTPATHID

#define VIDEODB_DETAILS_TVSHOW_PARENTPATHID   VIDEODB_MAX_COLUMNS + 3

◆ VIDEODB_DETAILS_TVSHOW_PATH

#define VIDEODB_DETAILS_TVSHOW_PATH   VIDEODB_MAX_COLUMNS + 4

◆ VIDEODB_DETAILS_TVSHOW_RATING

#define VIDEODB_DETAILS_TVSHOW_RATING   VIDEODB_MAX_COLUMNS + 10

◆ VIDEODB_DETAILS_TVSHOW_RATING_TYPE

#define VIDEODB_DETAILS_TVSHOW_RATING_TYPE   VIDEODB_MAX_COLUMNS + 12

◆ VIDEODB_DETAILS_TVSHOW_UNIQUEID_TYPE

#define VIDEODB_DETAILS_TVSHOW_UNIQUEID_TYPE   VIDEODB_MAX_COLUMNS + 14

◆ VIDEODB_DETAILS_TVSHOW_UNIQUEID_VALUE

#define VIDEODB_DETAILS_TVSHOW_UNIQUEID_VALUE   VIDEODB_MAX_COLUMNS + 13

◆ VIDEODB_DETAILS_TVSHOW_USER_RATING

#define VIDEODB_DETAILS_TVSHOW_USER_RATING   VIDEODB_MAX_COLUMNS + 1

◆ VIDEODB_DETAILS_TVSHOW_VOTES

#define VIDEODB_DETAILS_TVSHOW_VOTES   VIDEODB_MAX_COLUMNS + 11

◆ VIDEODB_MAX_COLUMNS

#define VIDEODB_MAX_COLUMNS   24

◆ VIDEODB_TYPE_BOOL

#define VIDEODB_TYPE_BOOL   4

◆ VIDEODB_TYPE_COUNT

#define VIDEODB_TYPE_COUNT   5

◆ VIDEODB_TYPE_DATE

#define VIDEODB_TYPE_DATE   7

◆ VIDEODB_TYPE_DATETIME

#define VIDEODB_TYPE_DATETIME   8

◆ VIDEODB_TYPE_FLOAT

#define VIDEODB_TYPE_FLOAT   3

◆ VIDEODB_TYPE_INT

#define VIDEODB_TYPE_INT   2

◆ VIDEODB_TYPE_STRING

#define VIDEODB_TYPE_STRING   1

◆ VIDEODB_TYPE_STRINGARRAY

#define VIDEODB_TYPE_STRINGARRAY   6

◆ VIDEODB_TYPE_UNUSED

#define VIDEODB_TYPE_UNUSED   0

Typedef Documentation

◆ VECMOVIES

typedef std::vector<CVideoInfoTag> VECMOVIES

Enumeration Type Documentation

◆ ArtFallbackOptions

enum class ArtFallbackOptions
strong
Enumerator
NONE 
PARENT 

◆ DeleteMovieCascadeAction

enum class DeleteMovieCascadeAction
strong
Enumerator
DEFAULT_VERSION 
ALL_ASSETS 

◆ 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_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 struct SDbTableOffsets 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) },
}
#define VIDEODB_TYPE_DATE
Definition VideoDatabase.h:167
#define VIDEODB_TYPE_INT
Definition VideoDatabase.h:162
#define VIDEODB_TYPE_STRINGARRAY
Definition VideoDatabase.h:166
#define VIDEODB_TYPE_STRING
Definition VideoDatabase.h:161
#define VIDEODB_TYPE_UNUSED
Definition VideoDatabase.h:160
#define my_offsetof(TYPE, MEMBER)
Definition VideoDatabase.h:42
Definition VideoInfoTag.h:54

◆ DbMovieOffsets

const struct SDbTableOffsets DbMovieOffsets[]
Initial value:

◆ DbMusicVideoOffsets

◆ DbTvShowOffsets