kodi

package
v0.0.0-...-cba17ed Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 17, 2016 License: MIT Imports: 5 Imported by: 11

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FilterString

func FilterString(a string) *string

Types

type AudioDetailsBase

type AudioDetailsBase struct {
	MediaDetailsBase
	Genre []string `json:"genre"`
}

type AudioDetailsMedia

type AudioDetailsMedia struct {
}

type ErrorData

type ErrorData struct {
	Method string      `json:"method"`
	Stack  *ErrorStack `json:"stack"`
}

type ErrorStack

type ErrorStack struct {
	Name     string      `json:"name,omitempty"`
	Type     string      `json:"type,omitempty"`
	Message  string      `json:"message,omitempty"`
	Property *ErrorStack `json:"property,omitempty"`
}

type FileType

type FileType string
const (
	FILE_TYPE_FILE FileType = "file"
	FILE_TYPE_DIR  FileType = "directory"
)

type Files

type Files struct {
	// contains filtered or unexported fields
}

Implementation of Files RPCs.

func (*Files) GetDirectory

func (f *Files) GetDirectory(params *FilesGetDirectoryParams) (*FilesGetDirectoryResponse, error)

func (*Files) GetSources

func (f *Files) GetSources(params *FilesGetSourcesParams) (*FilesGetSourcesResponse, error)

type FilesGetDirectoryParams

type FilesGetDirectoryParams struct {
	Directory string      `json:"directory"`
	Media     *FilesMedia `json:"media,omitempty"`

	Properties []ListFieldsFiles `json:"properties,omitempty"`
	Sort       *ListSort         `json:"sort,omitempty"`
}

type FilesGetDirectoryResponse

type FilesGetDirectoryResponse struct {
	ResponseBase
	Result *FilesGetDirectoryResult
}

type FilesGetDirectoryResult

type FilesGetDirectoryResult struct {
	Limits ListLimitsReturned `json:"limits"`
	Files  []ListItemFile     `json:"files"`
}

type FilesGetSourcesParams

type FilesGetSourcesParams struct {
	Media  FilesMedia  `json:"media,omitempty"`
	Limits *ListLimits `json:"limits,omitempty"`
	Sort   *ListSort   `json:"sort,omitempty"`
}

type FilesGetSourcesResponse

type FilesGetSourcesResponse struct {
	ResponseBase
	Result *FilesGetSourcesResult `json:"result,omitempty"`
}

type FilesGetSourcesResult

type FilesGetSourcesResult struct {
	Limits  ListLimitsReturned `json:"limits"`
	Sources []ListItemsSource  `json:"sources"`
}

type FilesMedia

type FilesMedia string
const (
	FILES_MEDIA_VIDEO    FilesMedia = "video"
	FILES_MEDIA_MUSIC    FilesMedia = "music"
	FILES_MEDIA_PICTURES FilesMedia = "pictires"
	FILES_MEDIA_FILES    FilesMedia = "files"
	FILES_MEDIA_PROGRAMS FilesMedia = "programs"
)

type Filter

type Filter struct {
	Field    string `json:"field"`
	Operator string `json:"operator"`
	Value    string `json:"value"`
}

type ItemDetailsBase

type ItemDetailsBase struct {
	Label string `json:"label"`
}

type Kodi

type Kodi struct {
	VideoLibrary *VideoLibrary
	Playlist     *Playlist
	Files        *Files
	// contains filtered or unexported fields
}

http://kodi.wiki/view/JSON-RPC_API/v6

func New

func New(address, username, password string) *Kodi

type LibraryId

type LibraryId int

type ListFieldsAll

type ListFieldsAll string
const (
	LIST_FILTER_FIELD_TITLE                        ListFieldsAll = "title"
	LIST_FILTER_FIELD_ARTIST                       ListFieldsAll = "artist"
	LIST_FILTER_FIELD_ALBUMARTIST                  ListFieldsAll = "albumartist"
	LIST_FILTER_FIELD_GENRE                        ListFieldsAll = "genre"
	LIST_FILTER_FIELD_YEAR                         ListFieldsAll = "year"
	LIST_FILTER_FIELD_RATING                       ListFieldsAll = "rating"
	LIST_FILTER_FIELD_ALBUM                        ListFieldsAll = "album"
	LIST_FILTER_FIELD_TRACK                        ListFieldsAll = "track"
	LIST_FILTER_FIELD_DURATION                     ListFieldsAll = "duration"
	LIST_FILTER_FIELD_COMMENT                      ListFieldsAll = "comment"
	LIST_FILTER_FIELD_LYRICS                       ListFieldsAll = "lyrics"
	LIST_FILTER_FIELD_MUSIC_BRAINZ_TRACK_ID        ListFieldsAll = "musicbrainztrackid"
	LIST_FILTER_FIELD_MUSIC_BRAINZ_ARTIST_ID       ListFieldsAll = "musicbrainzartistid"
	LIST_FILTER_FIELD_MUSIC_BRAINZ_ALBUM_ID        ListFieldsAll = "musicbrainzalbumid"
	LIST_FILTER_FIELD_MUSIC_BRAINZ_ALBUM_ARTIST_ID ListFieldsAll = "musicbrainzalbumartistid"
	LIST_FILTER_FIELD_PLAYCOUNT                    ListFieldsAll = "playcount"
	LIST_FILTER_FIELD_FANART                       ListFieldsAll = "fanart"
	LIST_FILTER_FIELD_DIRECTOR                     ListFieldsAll = "director"
	LIST_FILTER_FIELD_TRAILER                      ListFieldsAll = "trailer"
	LIST_FILTER_FIELD_TAGLINE                      ListFieldsAll = "tagline"
	LIST_FILTER_FIELD_PLOT                         ListFieldsAll = "plot"
	LIST_FILTER_FIELD_PLOT_OUTLINE                 ListFieldsAll = "plotoutline"
	LIST_FILTER_FIELD_ORIGINAL_TITLE               ListFieldsAll = "originaltitle"
	LIST_FILTER_FIELD_LAST_PLAYED                  ListFieldsAll = "lastplayed"
	LIST_FILTER_FIELD_WRITER                       ListFieldsAll = "writer"
	LIST_FILTER_FIELD_STUDIO                       ListFieldsAll = "studio"
	LIST_FILTER_FIELD_MPAA                         ListFieldsAll = "mpaa"
	LIST_FILTER_FIELD_CAST                         ListFieldsAll = "cast"
	LIST_FILTER_FIELD_COUNTRY                      ListFieldsAll = "country"
	LIST_FILTER_FIELD_IMDB_NUMBER                  ListFieldsAll = "imdbnumber"
	LIST_FILTER_FIELD_PREMIERED                    ListFieldsAll = "premiered"
	LIST_FILTER_FIELD_PRODUCTION_CODE              ListFieldsAll = "productioncode"
	LIST_FILTER_FIELD_RUNTIME                      ListFieldsAll = "runtime"
	LIST_FILTER_FIELD_SET                          ListFieldsAll = "set"
	LIST_FILTER_FIELD_SHOW_LINK                    ListFieldsAll = "showlink"
	LIST_FILTER_FIELD_STREAM_DETAILS               ListFieldsAll = "streamdetails"
	LIST_FILTER_FIELD_TOP250                       ListFieldsAll = "top250"
	LIST_FILTER_FIELD_VOTES                        ListFieldsAll = "votes"
	LIST_FILTER_FIELD_FIRST_AIRED                  ListFieldsAll = "firstaired"
	LIST_FILTER_FIELD_SEASON                       ListFieldsAll = "season"
	LIST_FILTER_FIELD_EPISODE                      ListFieldsAll = "episode"
	LIST_FILTER_FIELD_SHOW_TITLE                   ListFieldsAll = "showtitle"
	LIST_FILTER_FIELD_THUMBNAIL                    ListFieldsAll = "thumbnail"
	LIST_FILTER_FIELD_FILE                         ListFieldsAll = "file"
	LIST_FILTER_FIELD_RESUME                       ListFieldsAll = "resume"
	LIST_FILTER_FIELD_ARTIST_ID                    ListFieldsAll = "artistid"
	LIST_FILTER_FIELD_ALBUM_ID                     ListFieldsAll = "albumid"
	LIST_FILTER_FIELD_TV_SHOW_ID                   ListFieldsAll = "tvshowid"
	LIST_FILTER_FIELD_SETID                        ListFieldsAll = "setid"
	LIST_FILTER_FIELD_WATCHED_EPISODES             ListFieldsAll = "watchedepisodes"
	LIST_FILTER_FIELD_DISC                         ListFieldsAll = "disc"
	LIST_FILTER_FIELD_TAG                          ListFieldsAll = "tag"
	LIST_FILTER_FIELD_ART                          ListFieldsAll = "art"
	LIST_FILTER_FIELD_GENRE_ID                     ListFieldsAll = "genreid"
	LIST_FILTER_FIELD_DISPLAY_ARTIST               ListFieldsAll = "displayartist"
	LIST_FILTER_FIELD_ALBUM_ARTIST_ID              ListFieldsAll = "albumartistid"
	LIST_FILTER_FIELD_DESCRIPTION                  ListFieldsAll = "description"
	LIST_FILTER_FIELD_THEME                        ListFieldsAll = "theme"
	LIST_FILTER_FIELD_MOOD                         ListFieldsAll = "mood"
	LIST_FILTER_FIELD_STYLE                        ListFieldsAll = "style"
	LIST_FILTER_FIELD_ALBUM_LABEL                  ListFieldsAll = "albumlabel"
	LIST_FILTER_FIELD_SORT_TITLE                   ListFieldsAll = "sorttitle"
	LIST_FILTER_FIELD_EPISODE_GUIDE                ListFieldsAll = "episodeguide"
	LIST_FILTER_FIELD_UNIQUE_ID                    ListFieldsAll = "uniqueid"
	LIST_FILTER_FIELD_DATE_ADDED                   ListFieldsAll = "dateadded"
	LIST_FILTER_FIELD_CHANNEL                      ListFieldsAll = "channel"
	LIST_FILTER_FIELD_CHANNEL_TYPE                 ListFieldsAll = "channeltype"
	LIST_FILTER_FIELD_HIDDEN                       ListFieldsAll = "hidden"
	LIST_FILTER_FIELD_LOCKED                       ListFieldsAll = "locked"
	LIST_FILTER_FIELD_CHANNEL_NUMBER               ListFieldsAll = "channelnumber"
	LIST_FILTER_FIELD_START_TIME                   ListFieldsAll = "starttime"
	LIST_FILTER_FIELD_END_TIME                     ListFieldsAll = "endtime"
)

type ListFieldsFiles

type ListFieldsFiles string
const (
	FILE_FIELD_TITLE                       ListFieldsFiles = "title"
	FILE_FIELD_ARTIST                      ListFieldsFiles = "artist"
	FILE_FIELD_ALBUMARTIST                 ListFieldsFiles = "albumartist"
	FILE_FIELD_GENRE                       ListFieldsFiles = "genre"
	FILE_FIELD_YEAR                        ListFieldsFiles = "year"
	FILE_FIELD_RATING                      ListFieldsFiles = "rating"
	FILE_FIELD_ALBUM                       ListFieldsFiles = "album"
	FILE_FIELD_TRACK                       ListFieldsFiles = "track"
	FILE_FIELD_DURATION                    ListFieldsFiles = "duration"
	FILE_FIELD_COMMENT                     ListFieldsFiles = "comment"
	FILE_FIELD_LYRICS                      ListFieldsFiles = "lyrics"
	FILE_FIELD_MUSICBRAINZ_TRACK_ID        ListFieldsFiles = "musicbrainztrackid"
	FILE_FIELD_MUSICBRAINZ_ARTIST_ID       ListFieldsFiles = "musicbrainzartistid"
	FILE_FIELD_MUSICBRAINZ_ALBUM_ID        ListFieldsFiles = "musicbrainzalbumid"
	FILE_FIELD_MUSICBRAINZ_ALBUM_ARTIST_ID ListFieldsFiles = "musicbrainzalbumartistid"
	FILE_FIELD_PLAY_COUNT                  ListFieldsFiles = "playcount"
	FILE_FIELD_FANART                      ListFieldsFiles = "fanart"
	FILE_FIELD_DIRECTOR                    ListFieldsFiles = "director"
	FILE_FIELD_TRAILER                     ListFieldsFiles = "trailer"
	FILE_FIELD_TAGLINE                     ListFieldsFiles = "tagline"
	FILE_FIELD_PLOT                        ListFieldsFiles = "plot"
	FILE_FIELD_PLOT_OUTLINE                ListFieldsFiles = "plotoutline"
	FILE_FIELD_ORIGINAL_TITLE              ListFieldsFiles = "originaltitle"
	FILE_FIELD_LAST_PLAYED                 ListFieldsFiles = "lastplayed"
	FILE_FIELD_WRITER                      ListFieldsFiles = "writer"
	FILE_FIELD_STUDIO                      ListFieldsFiles = "studio"
	FILE_FIELD_MPAA                        ListFieldsFiles = "mpaa"
	FILE_FIELD_CAST                        ListFieldsFiles = "cast"
	FILE_FIELD_COUNTRY                     ListFieldsFiles = "country"
	FILE_FIELD_IMDB_NUMBER                 ListFieldsFiles = "imdbnumber"
	FILE_FIELD_PREMIERED                   ListFieldsFiles = "premiered"
	FILE_FIELD_PRODUCTION_CODE             ListFieldsFiles = "productioncode"
	FILE_FIELD_RUNTIME                     ListFieldsFiles = "runtime"
	FILE_FIELD_SET                         ListFieldsFiles = "set"
	FILE_FIELD_SHOW_LINK                   ListFieldsFiles = "showlink"
	FILE_FIELD_STREAM_DETAILS              ListFieldsFiles = "streamdetails"
	FILE_FIELD_TOP250                      ListFieldsFiles = "top250"
	FILE_FIELD_VOTES                       ListFieldsFiles = "votes"
	FILE_FIELD_FIRST_AIRED                 ListFieldsFiles = "firstaired"
	FILE_FIELD_SEASON                      ListFieldsFiles = "season"
	FILE_FIELD_EPISODE                     ListFieldsFiles = "episode"
	FILE_FIELD_SHOW_TITLE                  ListFieldsFiles = "showtitle"
	FILE_FIELD_THUMBNAIL                   ListFieldsFiles = "thumbnail"
	FILE_FIELD_FILE                        ListFieldsFiles = "file"
	FILE_FIELD_RESUME                      ListFieldsFiles = "resume"
	FILE_FIELD_ARTIST_ID                   ListFieldsFiles = "artistid"
	FILE_FIELD_ALBUM_ID                    ListFieldsFiles = "albumid"
	FILE_FIELD_TV_SHOW_ID                  ListFieldsFiles = "tvshowid"
	FILE_FIELD_SET_ID                      ListFieldsFiles = "setid"
	FILE_FIELD_WATCHED_EPISODES            ListFieldsFiles = "watchedepisodes"
	FILE_FIELD_DISC                        ListFieldsFiles = "disc"
	FILE_FIELD_TAG                         ListFieldsFiles = "tag"
	FILE_FIELD_ART                         ListFieldsFiles = "art"
	FILE_FIELD_GENREID                     ListFieldsFiles = "genreid"
	FILE_FIELD_DISPLAY_ARTIST              ListFieldsFiles = "displayartist"
	FILE_FIELD_ALBUM_ARTIST_ID             ListFieldsFiles = "albumartistid"
	FILE_FIELD_DESCRIPTION                 ListFieldsFiles = "description"
	FILE_FIELD_THEME                       ListFieldsFiles = "theme"
	FILE_FIELD_MOOD                        ListFieldsFiles = "mood"
	FILE_FIELD_STYLE                       ListFieldsFiles = "style"
	FILE_FIELD_ALBUM_LABEL                 ListFieldsFiles = "albumlabel"
	FILE_FIELD_SORT_TITLE                  ListFieldsFiles = "sorttitle"
	FILE_FIELD_EPISODE_GUIDE               ListFieldsFiles = "episodeguide"
	FILE_FIELD_UNIQUE_ID                   ListFieldsFiles = "uniqueid"
	FILE_FIELD_DATE_ADDED                  ListFieldsFiles = "dateadded"
	FILE_FIELD_SIZE                        ListFieldsFiles = "size"
	FILE_FIELD_LAST_MODIFIED               ListFieldsFiles = "lastmodified"
	FILE_FIELD_MIMETYPE                    ListFieldsFiles = "mimetype"
)

type ListFilterEpisodes

type ListFilterEpisodes struct {
	// one of:
	*ListFilterRuleEpisodes
	And []*ListFilterEpisodes `json:"and,omitempty"`
	Or  []*ListFilterEpisodes `json:"or,omitempty"`
}

type ListFilterFieldsEpisodes

type ListFilterFieldsEpisodes string
const (
	EPISODE_FILTER_FIELD_TITLE             ListFilterFieldsEpisodes = "title"
	EPISODE_FILTER_FIELD_TV_SHOW           ListFilterFieldsEpisodes = "tvshow"
	EPISODE_FILTER_FIELD_PLOT              ListFilterFieldsEpisodes = "plot"
	EPISODE_FILTER_FIELD_VOTES             ListFilterFieldsEpisodes = "votes"
	EPISODE_FILTER_FIELD_RATING            ListFilterFieldsEpisodes = "rating"
	EPISODE_FILTER_FIELD_TIME              ListFilterFieldsEpisodes = "time"
	EPISODE_FILTER_FIELD_WRITERS           ListFilterFieldsEpisodes = "writers"
	EPISODE_FILTER_FIELD_AIR_DATE          ListFilterFieldsEpisodes = "airdate"
	EPISODE_FILTER_FIELD_PLAYCOUNT         ListFilterFieldsEpisodes = "playcount"
	EPISODE_FILTER_FIELD_LAST_PLAYED       ListFilterFieldsEpisodes = "lastplayed"
	EPISODE_FILTER_FIELD_IN_PROGRESS       ListFilterFieldsEpisodes = "inprogress"
	EPISODE_FILTER_FIELD_GENRE             ListFilterFieldsEpisodes = "genre"
	EPISODE_FILTER_FIELD_YEAR              ListFilterFieldsEpisodes = "year"
	EPISODE_FILTER_FIELD_DIRECTOR          ListFilterFieldsEpisodes = "director"
	EPISODE_FILTER_FIELD_ACTOR             ListFilterFieldsEpisodes = "actor"
	EPISODE_FILTER_FIELD_EPISODE           ListFilterFieldsEpisodes = "episode"
	EPISODE_FILTER_FIELD_SEASON            ListFilterFieldsEpisodes = "season"
	EPISODE_FILTER_FIELD_FILENAME          ListFilterFieldsEpisodes = "filename"
	EPISODE_FILTER_FIELD_PATH              ListFilterFieldsEpisodes = "path"
	EPISODE_FILTER_FIELD_STUDIO            ListFilterFieldsEpisodes = "studio"
	EPISODE_FILTER_FIELD_MPAA_RATING       ListFilterFieldsEpisodes = "mpaarating"
	EPISODE_FILTER_FIELD_DATE_ADDED        ListFilterFieldsEpisodes = "dateadded"
	EPISODE_FILTER_FIELD_VIDEO_RESOLUTION  ListFilterFieldsEpisodes = "videoresolution"
	EPISODE_FILTER_FIELD_AUDIO_CHANNELS    ListFilterFieldsEpisodes = "audiochannels"
	EPISODE_FILTER_FIELD_VIDEO_CODEC       ListFilterFieldsEpisodes = "videocodec"
	EPISODE_FILTER_FIELD_AUDIO_CODEC       ListFilterFieldsEpisodes = "audiocodec"
	EPISODE_FILTER_FIELD_AUDIO_LANGUAGE    ListFilterFieldsEpisodes = "audiolanguage"
	EPISODE_FILTER_FIELD_SUBTITLE_LANGUAGE ListFilterFieldsEpisodes = "subtitlelanguage"
	EPISODE_FILTER_FIELD_VIDEO_ASPECT      ListFilterFieldsEpisodes = "videoaspect"
	EPISODE_FILTER_FIELD_PLAYLIST          ListFilterFieldsEpisodes = "playlist"
)

type ListFilterFieldsMovies

type ListFilterFieldsMovies string
const (
	MOVIE_FILTER_FIELD_TITLE             ListFilterFieldsMovies = "title"
	MOVIE_FILTER_FIELD_PLOT              ListFilterFieldsMovies = "plot"
	MOVIE_FILTER_FIELD_PLOT_OUTLINE      ListFilterFieldsMovies = "plotoutline"
	MOVIE_FILTER_FIELD_TAGLINE           ListFilterFieldsMovies = "tagline"
	MOVIE_FILTER_FIELD_VOTES             ListFilterFieldsMovies = "votes"
	MOVIE_FILTER_FIELD_RATING            ListFilterFieldsMovies = "rating"
	MOVIE_FILTER_FIELD_TIME              ListFilterFieldsMovies = "time"
	MOVIE_FILTER_FIELD_WRITERS           ListFilterFieldsMovies = "writers"
	MOVIE_FILTER_FIELD_PLAY_COUNT        ListFilterFieldsMovies = "playcount"
	MOVIE_FILTER_FIELD_LAST_PLAYED       ListFilterFieldsMovies = "lastplayed"
	MOVIE_FILTER_FIELD_IN_PROGRESS       ListFilterFieldsMovies = "inprogress"
	MOVIE_FILTER_FIELD_GENRE             ListFilterFieldsMovies = "genre"
	MOVIE_FILTER_FIELD_COUNTRY           ListFilterFieldsMovies = "country"
	MOVIE_FILTER_FIELD_YEAR              ListFilterFieldsMovies = "year"
	MOVIE_FILTER_FIELD_DIRECTOR          ListFilterFieldsMovies = "director"
	MOVIE_FILTER_FIELD_ACTOR             ListFilterFieldsMovies = "actor"
	MOVIE_FILTER_FIELD_MPAA_RATING       ListFilterFieldsMovies = "mpaarating"
	MOVIE_FILTER_FIELD_TOP250            ListFilterFieldsMovies = "top250"
	MOVIE_FILTER_FIELD_STUDIO            ListFilterFieldsMovies = "studio"
	MOVIE_FILTER_FIELD_HAS_TRAILER       ListFilterFieldsMovies = "hastrailer"
	MOVIE_FILTER_FIELD_FILENAME          ListFilterFieldsMovies = "filename"
	MOVIE_FILTER_FIELD_PATH              ListFilterFieldsMovies = "path"
	MOVIE_FILTER_FIELD_SET               ListFilterFieldsMovies = "set"
	MOVIE_FILTER_FIELD_TAG               ListFilterFieldsMovies = "tag"
	MOVIE_FILTER_FIELD_DATE_ADDED        ListFilterFieldsMovies = "dateadded"
	MOVIE_FILTER_FIELD_VIDEO_RESOLUTION  ListFilterFieldsMovies = "videoresolution"
	MOVIE_FILTER_FIELD_AUDIO_CHANNELS    ListFilterFieldsMovies = "audiochannels"
	MOVIE_FILTER_FIELD_VIDEO_CODEC       ListFilterFieldsMovies = "videocodec"
	MOVIE_FILTER_FIELD_AUDIO_CODEC       ListFilterFieldsMovies = "audiocodec"
	MOVIE_FILTER_FIELD_AUDIO_LANGUAGE    ListFilterFieldsMovies = "audiolanguage"
	MOVIE_FILTER_FIELD_SUBTITLE_LANGUAGE ListFilterFieldsMovies = "subtitlelanguage"
	MOVIE_FILTER_FIELD_VIDEO_ASPECT      ListFilterFieldsMovies = "videoaspect"
	MOVIE_FILTER_FIELD_PLAYLIST          ListFilterFieldsMovies = "playlist"
)

type ListFilterFieldsTVShows

type ListFilterFieldsTVShows string
const (
	TV_SHOW_FILTER_FIELD_TITLE        ListFilterFieldsTVShows = "title"
	TV_SHOW_FILTER_FIELD_PLOT         ListFilterFieldsTVShows = "plot"
	TV_SHOW_FILTER_FIELD_STATUS       ListFilterFieldsTVShows = "status"
	TV_SHOW_FILTER_FIELD_VOTES        ListFilterFieldsTVShows = "votes"
	TV_SHOW_FILTER_FIELD_RATING       ListFilterFieldsTVShows = "rating"
	TV_SHOW_FILTER_FIELD_YEAR         ListFilterFieldsTVShows = "year"
	TV_SHOW_FILTER_FIELD_GENRE        ListFilterFieldsTVShows = "genre"
	TV_SHOW_FILTER_FIELD_DIRECTOR     ListFilterFieldsTVShows = "director"
	TV_SHOW_FILTER_FIELD_ACTOR        ListFilterFieldsTVShows = "actor"
	TV_SHOW_FILTER_FIELD_NUM_EPISODES ListFilterFieldsTVShows = "numepisodes"
	TV_SHOW_FILTER_FIELD_NUM_WATCHED  ListFilterFieldsTVShows = "numwatched"
	TV_SHOW_FILTER_FIELD_PLAY_COUNT   ListFilterFieldsTVShows = "playcount"
	TV_SHOW_FILTER_FIELD_PATH         ListFilterFieldsTVShows = "path"
	TV_SHOW_FILTER_FIELD_STUDIO       ListFilterFieldsTVShows = "studio"
	TV_SHOW_FILTER_FIELD_MPAA_RATING  ListFilterFieldsTVShows = "mpaarating"
	TV_SHOW_FILTER_FIELD_DATE_ADDED   ListFilterFieldsTVShows = "dateadded"
	TV_SHOW_FILTER_FIELD_LAST_PLAYED  ListFilterFieldsTVShows = "lastplayed"
	TV_SHOW_FILTER_FIELD_IN_PROGRESS  ListFilterFieldsTVShows = "inprogress"
	TV_SHOW_FILTER_FIELD_PLAYLIST     ListFilterFieldsTVShows = "playlist"
)

type ListFilterMovies

type ListFilterMovies struct {
	// one of:
	*ListFilterRuleMovies
	And []*ListFilterMovies `json:"and,omitempty"`
	Or  []*ListFilterMovies `json:"or,omitempty"`
}

type ListFilterOperator

type ListFilterOperator string
const (
	OPERATOR_CONTAINS         ListFilterOperator = "contains"
	OPERATOR_DOES_NOT_CONTAIN ListFilterOperator = "doesnotcontain"
	OPERATOR_IS               ListFilterOperator = "is"
	OPERATOR_IS_NOT           ListFilterOperator = "isnot"
	OPERATOR_STARTS_WITH      ListFilterOperator = "startswith"
	OPERATOR_ENDS_WITH        ListFilterOperator = "endswith"
	OPERATOR_GREATER_THAN     ListFilterOperator = "greaterthan"
	OPERATOR_LESS_THAN        ListFilterOperator = "lessthan"
	OPERATOR_AFTER            ListFilterOperator = "after"
	OPERATOR_BEFORE           ListFilterOperator = "before"
	OPERATOR_IN_THE_LAST      ListFilterOperator = "inthelast"
	OPERATOR_NOT_INT_THE_LAST ListFilterOperator = "notinthelast"
	OPERATOR_TRUE             ListFilterOperator = "true"
	OPERATOR_FALSE            ListFilterOperator = "false"
	OPERATOR_BETWEEN          ListFilterOperator = "between"
)

type ListFilterRuleEpisodes

type ListFilterRuleEpisodes struct {
	Field    ListFilterFieldsEpisodes `json:"field,omitempty"`
	Operator ListFilterOperator       `json:"operator"`
	Value    string                   `json:"value"`
}

type ListFilterRuleMovies

type ListFilterRuleMovies struct {
	Field    ListFilterFieldsMovies `json:"field,omitempty"`
	Operator ListFilterOperator     `json:"operator"`
	Value    string                 `json:"value"`
}

type ListFilterRuleTVShows

type ListFilterRuleTVShows struct {
	Field    ListFilterFieldsTVShows `json:"field,omitempty"`
	Operator ListFilterOperator      `json:"operator"`
	Value    string                  `json:"value"`
}

type ListFilterTVShows

type ListFilterTVShows struct {
	// one of:
	*ListFilterRuleTVShows
	And []*ListFilterTVShows `json:"and,omitempty"`
	Or  []*ListFilterTVShows `json:"or,omitempty"`
}

type ListItemAll

type ListItemAll struct {
	ListItemBase
	Channeltype   PVRChannelType `json:"channeltype,omitempty"`
	Channel       string         `json:"channel,omitempty"`
	StartTime     string         `json:"starttime,omitempty"`
	EndTime       string         `json:"endtime,omitempty"`
	ChannelNumber int            `json:"channelnumber,omitempty"`
	Hidden        bool           `json:"hidden,omitempty"`
	Locked        bool           `json:"locked,omitempty"`
}

type ListItemBase

type ListItemBase struct {
	AudioDetailsMedia
	VideoDetailsFile
	SortTitle           string              `json:"sorttitle,omitempty"`
	ProductionCode      string              `json:"productioncode,omitempty"`
	Cast                []*VideoCastElement `json:"cast,omitempty"`
	Votes               string              `json:"votes,omitempty"`
	Duration            int                 `json:"duration,omitempty"`
	Trailer             string              `json:"trailer,omitempty"`
	AlbumId             LibraryId           `json:"albumid,omitempty"`
	MusicBrainzArtistId string              `json:"musicbrainzartistid,omitempty"`
	MPAA                string              `json:"mpaa,omitempty"`
	AlbumLabel          string              `json:"albumlabel,omitempty"`
	OriginalTitle       string              `json:"originaltitle,omitempty"`
	Writer              []string            `json:"writer,omitempty"`
	AlbumArtistId       []int               `json:"albumartistid,omitempty"`
	Type                string              `json:"type,omitempty"`
	Episode             int                 `json:"episode,omitempty"`
	FirstAired          string              `json:"firstaired,omitempty"`
	ShowTitle           string              `json:"showtitle,omitempty"`
	Country             []string            `json:"country,omitempty"`
	Mood                []string            `json:"mood,omitempty"`
	Set                 string              `json:"set,omitempty"`
	MusicBrainzTrackId  string              `json:"musicbrainztrackid,omitempty"`
	Tag                 []string            `json:"tag,omitempty"`
	Lyrics              string              `json:"lyrics,omitempty"`
	Top250              int                 `json:"top250,omitempty"`
	Comment             string              `json:"comment,omitempty"`
	Premiered           string              `json:"premiered,omitempty"`
	ShowLink            []string            `json:"showlink,omitempty"`
	Style               []string            `json:"style,omitempty"`
	Album               string              `json:"album,omitempty"`
	TVShowId            LibraryId           `json:"tvshowid,omitempty"`
	Season              int                 `json:"season,omitempty"`
	Theme               []string            `json:"theme,omitempty"`
	Description         string              `json:"description,omitempty"`
	SetId               LibraryId           `json:"setid,omitempty"`
	Track               int                 `json:"track,omitempty"`
	TagLine             string              `json:"tagline,omitempty"`
	PlotOutline         string              `json:"plotoutline,omitempty"`
	WatchedEpisodes     int                 `json:"watchedepisodes,omitempty"`
	Id                  LibraryId           `json:"id,omitempty"`
	Disc                int                 `json:"disc,omitempty"`
	AlbumArtist         []string            `json:"albumartist,omitempty"`
	Studio              []string            `json:"studio,omitempty"`
	UniqueId            interface{}         `json:"uniqueid,omitempty"`
	EpisodeGuide        string              `json:"episodeguide,omitempty"`
	IMDBNumber          string              `json:"imdbnumber,omitempty,omitempty"`
}

type ListItemFile

type ListItemFile struct {
	ListItemBase
	Filetype     string `json:"filetype"`
	Size         int64  `json:"size,omitempty"`
	Mimetype     string `json:"mimetype"`
	File         string `json:"file"`
	LastModified string `json:"lastmodified,omitempty"`
}

type ListItemsSource

type ListItemsSource struct {
	ItemDetailsBase
	File string `json:"file"`
}

type ListLimits

type ListLimits struct {
	Start int `json:"start,omitempty"`
	End   int `json:"end,omitempty"`
}

type ListLimitsReturned

type ListLimitsReturned struct {
	Total int `json:"total"`
	Start int `json:"start,omitempty"`
	End   int `json:"end,omitempty"`
}

type ListSort

type ListSort struct {
	Order         string         `json:"order,omitempty"`
	Ignorearticle bool           `json:"ignorearticle,omitempty"`
	Method        ListSortMethod `json:"method,omitempty"`
}

type ListSortMethod

type ListSortMethod string
const (
	SORT_METHOD_NONE             ListSortMethod = "none"
	SORT_METHOD_LABEL            ListSortMethod = "label"
	SORT_METHOD_DATE             ListSortMethod = "date"
	SORT_METHOD_SIZE             ListSortMethod = "size"
	SORT_METHOD_FILE             ListSortMethod = "file"
	SORT_METHOD_PATH             ListSortMethod = "path"
	SORT_METHOD_DRIVE_TYPE       ListSortMethod = "drivetype"
	SORT_METHOD_TITLE            ListSortMethod = "title"
	SORT_METHOD_TRACK            ListSortMethod = "track"
	SORT_METHOD_TIME             ListSortMethod = "time"
	SORT_METHOD_ARTIST           ListSortMethod = "artist"
	SORT_METHOD_ALBUM            ListSortMethod = "album"
	SORT_METHOD_ALBUM_TYPE       ListSortMethod = "albumtype"
	SORT_METHOD_GENRE            ListSortMethod = "genre"
	SORT_METHOD_COUNTRY          ListSortMethod = "country"
	SORT_METHOD_YEAR             ListSortMethod = "year"
	SORT_METHOD_RATING           ListSortMethod = "rating"
	SORT_METHOD_VOTES            ListSortMethod = "votes"
	SORT_METHOD_TOP250           ListSortMethod = "top250"
	SORT_METHOD_PROGRAM_COUNT    ListSortMethod = "programcount"
	SORT_METHOD_PLAYLIST         ListSortMethod = "playlist"
	SORT_METHOD_EPISODE          ListSortMethod = "episode"
	SORT_METHOD_SEASON           ListSortMethod = "season"
	SORT_METHOD_TOTAL_EPISODES   ListSortMethod = "totalepisode"
	SORT_METHOD_WATCHED_EPISODES ListSortMethod = "watchedepisodes"
	SORT_METHOD_TV_SHOW_STATUS   ListSortMethod = "tvshowstatus"
	SORT_METHOD_TV_SHOW_TITLE    ListSortMethod = "tvshowtitle"
	SORT_METHOD_SORT_TITLE       ListSortMethod = "sorttitle"
	SORT_METHOD_PRODUCTION_CODE  ListSortMethod = "productioncode"
	SORT_METHOD_MPAA             ListSortMethod = "mpaa"
	SORT_METHOD_STUDIO           ListSortMethod = "studio"
	SORT_METHOD_DATE_ADDED       ListSortMethod = "dataadded"
	SORT_METHOD_LAST_PLAYED      ListSortMethod = "lastplayed"
	SORT_METHOD_PLAY_COUNT       ListSortMethod = "playcount"
	SORT_METHOD_LISTENERS        ListSortMethod = "listeners"
	SORT_METHOD_BIT_RATE         ListSortMethod = "bitrate"
	SORT_METHOD_RANDOM           ListSortMethod = "random"
)

type ListSortOrder

type ListSortOrder string
const (
	SORT_ORDER_ASCENDING  ListSortOrder = "ascending"
	SORT_ORDER_DESCENDING ListSortOrder = "descending"
)

type MediaArtwork

type MediaArtwork struct {
	Banner string `json:"banner"`
	Poster string `json:"poster"`
	Fanart string `json:"fanart"`
	Thumb  string `json:"thumb"`
}

type MediaDetailsBase

type MediaDetailsBase struct {
	ItemDetailsBase
	Fanart    string `json:"fanart,omitempty"`
	Thumbnail string `json:"thumbnail,omitempty"`
}

type PVRChannelType

type PVRChannelType string

6.16.1 http://kodi.wiki/view/JSON-RPC_API/v6#PVR.Channel.Type

const (
	PVR_CHANNEL_TYPE_TV    PVRChannelType = "tv"
	PVR_CHANNEL_TYPE_RADIO PVRChannelType = "radio"
)

type Player

type Player struct {
	// contains filtered or unexported fields
}

type PlayerGetActivePlayersResponse

type PlayerGetActivePlayersResponse struct {
	ResponseBase
	Result []*PlayerGetActiveResultElement
}

type PlayerGetActiveResultElement

type PlayerGetActiveResultElement struct {
	Type PlayerType `json:"type"`
	PlayerId
}

type PlayerGetItemParams

type PlayerGetItemParams struct {
	PlayerId   PlayerId         `json:"playerid"`
	Properties []*ListFieldsAll `json:"properties"`
}

type PlayerGetItemResult

type PlayerGetItemResult struct {
	Item ListItemAll `json:"item"`
}

type PlayerId

type PlayerId int
const (
	PLAYER_ID_0 PlayerId = 0
	PLAYER_ID_1 PlayerId = 1
	PLAYER_ID_2 PlayerId = 2

	// This is just my guess...
	PLAYER_AUDIO_ID   PlayerId = 0
	PLAYER_VIDEO_ID   PlayerId = 1
	PLAYER_PICTURE_ID PlayerId = 2
)

This is just my guess, but id has to be 0, 1 or 2.

type PlayerType

type PlayerType string
const (
	PLAYER_TYPE_VIDEO  PlayerType = "video"
	PLAYER_TYPE_AUDIO  PlayerType = "audio"
	PLAYER_TYPE_PLAYER PlayerType = "picture"
)

type Playlist

type Playlist struct {
	// contains filtered or unexported fields
}

func (*Playlist) Add

func (*Playlist) Clear

func (*Playlist) GetItems

func (*Playlist) GetPlaylists

func (p *Playlist) GetPlaylists() (*PlaylistGetPlaylistsResponse, error)

func (*Playlist) GetProperties

func (p *Playlist) GetProperties() (*PlaylistGetPropertiesResponse, error)

func (*Playlist) Insert

func (p *Playlist) Insert() (*PlaylistInsertResponse, error)

func (*Playlist) Remove

func (p *Playlist) Remove() (*PlaylistRemoveResponse, error)

func (*Playlist) Swap

func (p *Playlist) Swap() (*PlaylistSwapResponse, error)

type PlaylistAddParams

type PlaylistAddParams struct {
	PlaylistId PlaylistId `json:"playlistid"`
	// TODO: http://kodi.wiki/view/JSON-RPC_API/v6#Playlist.Add claims that item
	// below is just a single value, but from Kodi's responses it looks like it
	// accepts a list too.
	Item PlaylistItem `json:"item"`
}

type PlaylistAddResponse

type PlaylistAddResponse struct {
	ResponseBase
	Result *PlaylistAddResult `json:"result,omitempty"`
}

type PlaylistAddResult

type PlaylistAddResult string

type PlaylistClearParams

type PlaylistClearParams struct {
	PlaylistId PlaylistId `json:"playlistid"`
}

type PlaylistClearResponse

type PlaylistClearResponse struct {
	ResponseBase
	Result PlaylistClearResult `json:"result,omitempty"`
}

type PlaylistClearResult

type PlaylistClearResult string

type PlaylistGetItemsParams

type PlaylistGetItemsParams struct {
	PlaylistId PlaylistId      `json:"playlistid"`
	Properties []ListFieldsAll `json:"properties,omitempty"`
	Limits     *ListLimits     `json:"limits,omitempty"`
	Sort       *ListSort       `json:"sort,omitempty"`
}

type PlaylistGetItemsResponse

type PlaylistGetItemsResponse struct {
	ResponseBase
	Result *PlaylistGetItemsResult `json:"result,omitempty"`
}

type PlaylistGetItemsResult

type PlaylistGetItemsResult struct {
	Limits ListLimitsReturned `json:"limits"`
	Items  []*ListItemAll     `json:"items"`
}

type PlaylistGetPlaylistsResponse

type PlaylistGetPlaylistsResponse struct {
	ResponseBase
	Result []*PlaylistGetPlaylistsResult `json:"result,omitempty"`
}

type PlaylistGetPlaylistsResult

type PlaylistGetPlaylistsResult struct {
	PlaylistId   PlaylistId   `json:"playlistid"`
	PlaylistType PlaylistType `json:"playlisttype"`
}

type PlaylistGetPropertiesParams

type PlaylistGetPropertiesParams struct {
	PlaylistId PlaylistId             `json:"playlistid"`
	Properties []PlaylistPropertyName `json:"properties,omitempty"`
}

type PlaylistGetPropertiesResponse

type PlaylistGetPropertiesResponse struct {
	ResponseBase
	Result *PlaylistGetPropertiesResult `json:"result,omitempty"`
}

type PlaylistGetPropertiesResult

type PlaylistGetPropertiesResult PlaylistPropertyValue

type PlaylistId

type PlaylistId int
const (
	PLAYLIST_ID_0 PlaylistId = 0
	PLAYLIST_ID_1 PlaylistId = 1
	PLAYLIST_ID_2 PlaylistId = 2

	// This is just my guess...
	PLAYLIST_AUDIO_ID   PlaylistId = 0
	PLAYLIST_VIDEO_ID   PlaylistId = 1
	PLAYLIST_PICTURE_ID PlaylistId = 2
)

type PlaylistInsertParams

type PlaylistInsertParams struct {
	PlaylistId PlaylistId   `json:"playlistid"`
	Position   int          `json:"position"`
	Item       PlaylistItem `json:"item"`
}

type PlaylistInsertResponse

type PlaylistInsertResponse struct {
	ResponseBase
	Result *PlaylistInsertResponse `json:"result,omitempty"`
}

type PlaylistInsertResult

type PlaylistInsertResult string

type PlaylistItem

type PlaylistItem struct {
	// one of
	File         *string    `json:"file,omitempty"`
	Director     *string    `json:"director,omitempty"`
	MovieId      *LibraryId `json:"movieid,omitempty"`
	EpisodeId    *LibraryId `json:"episodeid,omitempty"`
	MusicVideoId *LibraryId `json:"musicvideoid,omitempty"`
	ArtistId     *LibraryId `json:"artistid,omitempty"`
	AlbumId      *LibraryId `json:"albumid,omitempty"`
	SongId       *LibraryId `json:"songid,omitempty"`
	GenreId      *LibraryId `json:"genreid,omitempty"`
}

type PlaylistPropertyName

type PlaylistPropertyName string
const (
	PLAYLIST_PROPERTY_TYPE PlaylistPropertyName = "type"
	PLAYLIST_PROPERTY_SIZE PlaylistPropertyName = "size"
)

type PlaylistPropertyValue

type PlaylistPropertyValue struct {
	Size int          `json:"size"`
	Type PlaylistType `json:"type"`
}

type PlaylistRemoveParams

type PlaylistRemoveParams struct {
	PlaylistId PlaylistId   `json:"playlistid"`
	Position   int          `json:"position"`
	Item       PlaylistItem `json:"item"`
}

type PlaylistRemoveResponse

type PlaylistRemoveResponse struct {
	ResponseBase
	Result *PlaylistRemoveResult `json:"result,omitempty"`
}

type PlaylistRemoveResult

type PlaylistRemoveResult string

type PlaylistSwapParams

type PlaylistSwapParams struct {
	PlaylistId PlaylistId `json:"playlistid"`
	Position1  int        `json:"position1"`
	Position2  int        `json:"position2"`
}

type PlaylistSwapResponse

type PlaylistSwapResponse struct {
	ResponseBase
	Result *PlaylistSwapResult `json:"result,omitempty"`
}

type PlaylistSwapResult

type PlaylistSwapResult string

type PlaylistType

type PlaylistType string
const (
	PLAYLIST_TYPE_UNKNOWN PlaylistType = "unknown"
	PLAYLIST_TYPE_VIDEO   PlaylistType = "video"
	PLAYLIST_TYPE_AUDIO   PlaylistType = "audio"
	PLAYLIST_TYPE_PICTURE PlaylistType = "picture"
	PLAYLIST_TYPE_MIXED   PlaylistType = "mixed"
)

type ResponseBase

type ResponseBase struct {
	Jsonrpc string         `json:"jsonrpc,omitempty"`
	Method  string         `json:"method,omitempty"`
	Id      int64          `json:"id,omitempty"`
	Error   *ResponseError `json:"error,omitempty"`
}

type ResponseError

type ResponseError struct {
	Code    int        `json:"code"`
	Message string     `json:"message"`
	Data    *ErrorData `json:"data,omitempty"`
}

type VideoCastElement

type VideoCastElement struct {
	Thumbnail string `json:"thumbnail"`
	Name      string `json:"name"`
	Role      string `json:"role"`
}

type VideoDetailsBase

type VideoDetailsBase struct {
	MediaDetailsBase
	PlayCount int `json:"playcount"`
}

type VideoDetailsEpisode

type VideoDetailsEpisode struct {
	VideoDetailsFile
	EpisodeId      LibraryId           `json:"episodeid"` // non-optional
	Cast           []*VideoCastElement `json:"cast,omitempty"`
	ProductionCode string              `json:"productioncode,omitempty"`
	Rating         float32             `json:"rating,omitempty"`
	Votes          string              `json:"votes,omitempty"`
	Episode        int                 `json:"episode,omitempty"`
	ShowTitle      string              `json:"showtitle,omitempty"`
	TVShowId       LibraryId           `json:"tvshowid,omitempty"`
	Season         int                 `json:"season,omitempty"`
	FirstAired     string              `json:"firstaired,omitempty"`
	UniqueId       interface{}         `json:"uniqueid,omitempty"`
	Writer         []string            `json:"writer,omitempty"`
	OriginalTitle  string              `json:"originaltitle,omitempty"`
}

type VideoDetailsFile

type VideoDetailsFile struct {
	VideoDetailsItem
	StreamDetails interface{} `json:"streamdetails,omitempty"`
	Director      []string    `json:"director,omitempty"`
	Resume        interface{} `json:"resume,omitempty"`
	Runtime       int         `json:"runtime,omitempty"`
}

type VideoDetailsItem

type VideoDetailsItem struct {
	VideoDetailsMedia
	DateAdded  string `json:"dateadded,omitempty"`
	File       string `json:"file,omitempty"`
	LastPlayed string `json:"lastplayed,omitempty"`
	Plot       string `json:"plot,omitempty"`
}

type VideoDetailsMedia

type VideoDetailsMedia struct {
	VideoDetailsBase
	Title string `json:"title"`
}

type VideoDetailsMovie

type VideoDetailsMovie struct {
	VideoDetailsFile
	MovieId       LibraryId           `json:"movieid"` // non-optional
	PlotOutline   string              `json:"plotoutline,omitempty"`
	SortTitle     string              `json:"sorttitle,omitempty"`
	Cast          []*VideoCastElement `json:"cast,omitempty"`
	Votes         string              `json:"votes,omitempty"`
	ShowLink      []string            `json:"showlink,omitempty"`
	Top250        int                 `json:"top250,omitempty"`
	Trailer       string              `json:"trailer,omitempty"`
	Year          int                 `json:"year,omitempty"`
	Country       []string            `json:"country,omitempty"`
	Studio        []string            `json:"studio,omitempty"`
	Set           string              `json:"set,omitempty"`
	Genre         []string            `json:"genre,omitempty"`
	MPAA          string              `json:"mpaa,omitempty"`
	SetId         LibraryId           `json:"setid,omitempty"`
	Rating        float32             `json:"rating,omitempty"`
	Tag           string              `json:"tag,omitempty"`
	TagLine       string              `json:"tagline,omitempty"`
	Writer        []string            `json:"writer,omitempty"`
	OriginalTitle string              `json:"originaltitle,omitempty"`
	IMDBNumber    string              `json:"imdbnumber,omitempty"`
}

type VideoDetailsMovieSet

type VideoDetailsMovieSet struct {
	VideoDetailsMedia
	SetId LibraryId `json:"setid"`
}

type VideoDetailsMovieSetExtended

type VideoDetailsMovieSetExtended struct {
	VideoDetailsMovieSet
	Limits ListLimitsReturned   `json:"limits"`
	Movies []*VideoDetailsMovie `json:"movies,omitempty"`
}

type VideoDetailsMusicVideo

type VideoDetailsMusicVideo struct {
	VideoDetailsFile
	MusicVideoId LibraryId `json:"musicvideoid"` // non-optional
	Genre        []string  `json:"genre,omitempty"`
	Artist       []string  `json:"artist,omitempty"`
	Tag          []string  `json:"tag,omitempty"`
	Album        string    `json:"album,omitempty"`
	Track        int       `json:"track,omitempty"`
	Studio       []string  `json:"studio,omitempty"`
	Year         int       `json:"year,omitempty"`
}

type VideoDetailsSeason

type VideoDetailsSeason struct {
	VideoDetailsBase
	Season          int       `json:"season"` // non-optional
	ShowTitle       string    `json:"showtitle,omitempty"`
	WatchedEpisodes int       `json:"watchedepisodes,omitempty"`
	TVShowId        LibraryId `json:"tvshowid,omitempty"`
	Episode         int       `json:"episode,omitempty"`
}

type VideoDetailsTVShow

type VideoDetailsTVShow struct {
	VideoDetailsItem
	TVShowId        LibraryId           `json:"tvshowid"` //non-optional
	SortTitle       string              `json:"sorttitle,omitempty"`
	MPAA            string              `json:"mpaa,omitempty"`
	Premiered       string              `json:"premiered,omitempty"`
	Year            int                 `json:"year,omitempty"`
	Episode         int                 `json:"episode,omitempty"`
	WatchedEpisodes int                 `json:"watchedepisodes,omitempty"`
	Votes           string              `json:"votes,omitempty"`
	Rating          float32             `json:"rating,omitempty"`
	Studio          []string            `json:"studio,omitempty"`
	Season          int                 `json:"season,omitempty"`
	Genre           []string            `json:"genre,omitempty"`
	Cast            []*VideoCastElement `json:"cast,omitempty"`
	EpisodeGuide    string              `json:"episodeguide,omitempty"`
	Tag             []string            `json:"tag,omitempty"`
	OriginalTitle   string              `json:"originaltitle,omitempty"`
	IMDBNumber      string              `json:"imdbnumber,omitempty"`
}

type VideoFieldsEpisode

type VideoFieldsEpisode string
const (
	EPISODE_FIELD_TITLE           VideoFieldsEpisode = "title"
	EPISODE_FIELD_PLOT            VideoFieldsEpisode = "plot"
	EPISODE_FIELD_VOTES           VideoFieldsEpisode = "votes"
	EPISODE_FIELD_RATING          VideoFieldsEpisode = "rating"
	EPISODE_FIELD_WRITER          VideoFieldsEpisode = "writer"
	EPISODE_FIELD_FIRST_AIRED     VideoFieldsEpisode = "firstaired"
	EPISODE_FIELD_PLAY_COUNT      VideoFieldsEpisode = "playcount"
	EPISODE_FIELD_RUNTIME         VideoFieldsEpisode = "runtime"
	EPISODE_FIELD_DIRECTOR        VideoFieldsEpisode = "director"
	EPISODE_FIELD_PRODUCTION_CODE VideoFieldsEpisode = "productioncode"
	EPISODE_FIELD_SEASON          VideoFieldsEpisode = "season"
	EPISODE_FIELD_EPISODE         VideoFieldsEpisode = "episode"
	EPISODE_FIELD_ORIGINAL_TITLE  VideoFieldsEpisode = "originaltitle"
	EPISODE_FIELD_SHOW_TITLE      VideoFieldsEpisode = "showtitle"
	EPISODE_FIELD_CAST            VideoFieldsEpisode = "cast"
	EPISODE_FIELD_STREAM_DETAILS  VideoFieldsEpisode = "streamdetails"
	EPISODE_FIELD_LAST_PLAYED     VideoFieldsEpisode = "lastplayed"
	EPISODE_FIELD_FAN_ART         VideoFieldsEpisode = "fanart"
	EPISODE_FIELD_THUMBNAIL       VideoFieldsEpisode = "thumbnail"
	EPISODE_FIELD_FILE            VideoFieldsEpisode = "file"
	EPISODE_FIELD_RESUME          VideoFieldsEpisode = "resume"
	EPISODE_FIELD_TV_SHOW_ID      VideoFieldsEpisode = "tvshowid"
	EPISODE_FIELD_DATE_ADDED      VideoFieldsEpisode = "dateadded"
	EPISODE_FIELD_UNIQUE_ID       VideoFieldsEpisode = "uniqueid"
	EPISODE_FIELD_ART             VideoFieldsEpisode = "art"
)

type VideoFieldsMovie

type VideoFieldsMovie string
const (
	MOVIE_FIELD_TITLE          VideoFieldsMovie = "title"
	MOVIE_FIELD_GENRE          VideoFieldsMovie = "genre"
	MOVIE_FIELD_YEAR           VideoFieldsMovie = "year"
	MOVIE_FIELD_RATING         VideoFieldsMovie = "rating"
	MOVIE_FIELD_DIRECTOR       VideoFieldsMovie = "director"
	MOVIE_FIELD_TRAILER        VideoFieldsMovie = "trailer"
	MOVIE_FIELD_TAGLINE        VideoFieldsMovie = "tagline"
	MOVIE_FIELD_PLOT           VideoFieldsMovie = "plot"
	MOVIE_FIELD_PLOT_OUTLINE   VideoFieldsMovie = "plotoutline"
	MOVIE_FIELD_ORIGINAL_TITLE VideoFieldsMovie = "originaltitle"
	MOVIE_FIELD_LAST_PLAYED    VideoFieldsMovie = "lastplayed"
	MOVIE_FIELD_PLAYCOUNT      VideoFieldsMovie = "playcount"
	MOVIE_FIELD_WRITER         VideoFieldsMovie = "writer"
	MOVIE_FIELD_STUDIO         VideoFieldsMovie = "studio"
	MOVIE_FIELD_MPAA           VideoFieldsMovie = "mpaa"
	MOVIE_FIELD_CAST           VideoFieldsMovie = "cast"
	MOVIE_FIELD_COUNTRY        VideoFieldsMovie = "country"
	MOVIE_FIELD_IMDB_NUMBER    VideoFieldsMovie = "imdbnumber"
	MOVIE_FIELD_RUNTIME        VideoFieldsMovie = "runtime"
	MOVIE_FIELD_SET            VideoFieldsMovie = "set"
	MOVIE_FIELD_SHOWLINK       VideoFieldsMovie = "showlink"
	MOVIE_FIELD_STREAM_DETAILS VideoFieldsMovie = "streamdetails"
	MOVIE_FIELD_TOP250         VideoFieldsMovie = "top250"
	MOVIE_FIELD_VOTES          VideoFieldsMovie = "votes"
	MOVIE_FIELD_FAN_ART        VideoFieldsMovie = "fanart"
	MOVIE_FIELD_THUMBNAIL      VideoFieldsMovie = "thumbnail"
	MOVIE_FIELD_FILE           VideoFieldsMovie = "file"
	MOVIE_FIELD_SORT_TITLE     VideoFieldsMovie = "sorttitle"
	MOVIE_FIELD_RESUME         VideoFieldsMovie = "resume"
	MOVIE_FIELD_SET_ID         VideoFieldsMovie = "setid"
	MOVIE_FIELD_DATE_ADDED     VideoFieldsMovie = "dateadded"
	MOVIE_FIELD_TAG            VideoFieldsMovie = "tag"
	MOVIE_FIELD_ART            VideoFieldsMovie = "art"
)

type VideoFieldsMovieSet

type VideoFieldsMovieSet string

type VideoFieldsMusicVideo

type VideoFieldsMusicVideo string

type VideoFieldsSeason

type VideoFieldsSeason string
const (
	SEASON_FIELD_SEASON           VideoFieldsSeason = "season"
	SEASON_FIELD_SHOW_TITLE       VideoFieldsSeason = "showtitle"
	SEASON_FIELD_PLAY_COUNT       VideoFieldsSeason = "playcount"
	SEASON_FIELD_EPISODE          VideoFieldsSeason = "episode"
	SEASON_FIELD_FAN_ART          VideoFieldsSeason = "fanart"
	SEASON_FIELD_THUMBNAIL        VideoFieldsSeason = "thumbnail"
	SEASON_FIELD_TV_SHOW_ID       VideoFieldsSeason = "tvshowid"
	SEASON_FIELD_WATCHED_EPISODES VideoFieldsSeason = "watchedepisodes"
	SEASON_FIELD_ART              VideoFieldsSeason = "art"
)

type VideoFieldsTVShow

type VideoFieldsTVShow string
const (
	TV_SHOW_FIELD_TITLE            VideoFieldsTVShow = "title"
	TV_SHOW_FIELD_GENRE            VideoFieldsTVShow = "genre"
	TV_SHOW_FIELD_YEAR             VideoFieldsTVShow = "year"
	TV_SHOW_FIELD_RATING           VideoFieldsTVShow = "rating"
	TV_SHOW_FIELD_PLOT             VideoFieldsTVShow = "plot"
	TV_SHOW_FIELD_STUDIO           VideoFieldsTVShow = "studio"
	TV_SHOW_FIELD_MPAA             VideoFieldsTVShow = "mpaa"
	TV_SHOW_FIELD_CAST             VideoFieldsTVShow = "cast"
	TV_SHOW_FIELD_PLAY_COUTN       VideoFieldsTVShow = "playcount"
	TV_SHOW_FIELD_EPISODE          VideoFieldsTVShow = "episode"
	TV_SHOW_FIELD_IMDB_NUMBER      VideoFieldsTVShow = "imdbnumber"
	TV_SHOW_FIELD_PREMERED_AT      VideoFieldsTVShow = "premiered"
	TV_SHOW_FIELD_VOTES            VideoFieldsTVShow = "votes"
	TV_SHOW_FIELD_LAST_PLAYED      VideoFieldsTVShow = "lastplayed"
	TV_SHOW_FIELD_FAN_ART          VideoFieldsTVShow = "fanart"
	TV_SHOW_FIELD_THUMBNAIL        VideoFieldsTVShow = "thumbnail"
	TV_SHOW_FIELD_FILE             VideoFieldsTVShow = "file"
	TV_SHOW_FIELD_ORIGINAL_TITLE   VideoFieldsTVShow = "originaltitle"
	TV_SHOW_FIELD_SORT_TITLE       VideoFieldsTVShow = "sorttitle"
	TV_SHOW_FIELD_EPISODE_GUIDE    VideoFieldsTVShow = "episodeguide"
	TV_SHOW_FIELD_SEASON           VideoFieldsTVShow = "season"
	TV_SHOW_FIELD_WATCHED_EPISODES VideoFieldsTVShow = "watchedepisodes"
	TV_SHOW_FIELD_DATE_ADDED       VideoFieldsTVShow = "dateadded"
	TV_SHOW_FIELD_TAG              VideoFieldsTVShow = "tag"
	TV_SHOW_FIELD_ART              VideoFieldsTVShow = "art"
)

type VideoLibrary

type VideoLibrary struct {
	// contains filtered or unexported fields
}

Implementation of VideoLibrary RPCs.

func (*VideoLibrary) GetEpisodes

func (*VideoLibrary) GetMovieDetails

func (*VideoLibrary) GetMovies

func (*VideoLibrary) GetSeasons

func (*VideoLibrary) GetTVShows

func (*VideoLibrary) Scan

type VideoLibraryGetEpisodesFilter

type VideoLibraryGetEpisodesFilter struct {
	// one of:
	*ListFilterEpisodes
	GenreId  *LibraryId `json:"genreid,omitempty"`
	Genre    *string    `json:"genre,omitempty"`
	Year     *int       `json:"year,omitempty"`
	Actor    *string    `json:"actor,omitempty"`
	Director *string    `json:"director,omitempty"`
}

func VideoLibraryCreateEpisodesFilterByField

func VideoLibraryCreateEpisodesFilterByField(field ListFilterFieldsEpisodes, operator ListFilterOperator, value string) *VideoLibraryGetEpisodesFilter

type VideoLibraryGetEpisodesParams

type VideoLibraryGetEpisodesParams struct {
	TVShowId   *LibraryId                     `json:"tvshowid,omitempty"`
	Season     *int                           `json:"season,omitempty"`
	Properties []VideoFieldsEpisode           `json:"properties,omitempty"`
	Limits     *ListLimits                    `json:"limits,omitempty"`
	Sort       *ListSort                      `json:"sort,omitempty"`
	Filter     *VideoLibraryGetEpisodesFilter `json:"filter,omitempty"`
}

type VideoLibraryGetEpisodesResponse

type VideoLibraryGetEpisodesResponse struct {
	ResponseBase
	Result *VideoLibraryGetEpisodesResult `json:"result,omitempty"`
}

type VideoLibraryGetEpisodesResult

type VideoLibraryGetEpisodesResult struct {
	Episodes []*VideoDetailsEpisode `json:"episodes,omitempty"`
	Limits   ListLimitsReturned     `json:"limits"`
}

type VideoLibraryGetMovieDetailsParams

type VideoLibraryGetMovieDetailsParams struct {
	MovieId    LibraryId          `json:"movieid"`
	Properties []VideoFieldsMovie `json:"properties,omitempty"`
}

type VideoLibraryGetMovieDetailsResponse

type VideoLibraryGetMovieDetailsResponse struct {
	ResponseBase
	Result *VideoLibraryGetMovieDetailsResult
}

type VideoLibraryGetMovieDetailsResult

type VideoLibraryGetMovieDetailsResult struct {
	MovieDetails *VideoDetailsMovie `json:"moviedetails,omitempty"`
}

type VideoLibraryGetMoviesFilter

type VideoLibraryGetMoviesFilter struct {
	// one of:
	*ListFilterMovies
	GenreId  *LibraryId `json:"genreid,omitempty"`
	Genre    *string    `json:"genre,omitempty"`
	Year     *int       `json:"year,omitempty"`
	Actor    *string    `json:"actor,omitempty"`
	Director *string    `json:"director,omitempty"`
	Studio   *string    `json:"studio,omitempty"`
	Country  *string    `json:"country,omitempty"`
	SetId    *LibraryId `json:"setid,omitempty"`
	Set      *string    `json:"set,omitempty"`
	Tag      *string    `json:"tag,omitempty"`
}

type VideoLibraryGetMoviesParams

type VideoLibraryGetMoviesParams struct {
	Properties []VideoFieldsMovie           `json:"properties"`
	Limits     *ListLimits                  `json:"limits,omitempty"`
	Sort       *ListSort                    `json:"sort,omitempty"`
	Filter     *VideoLibraryGetMoviesFilter `json:"filter,omitempty"`
}

type VideoLibraryGetMoviesResponse

type VideoLibraryGetMoviesResponse struct {
	ResponseBase
	Result *VideoLibraryGetMoviesResult `json:"result,omitempty"`
}

type VideoLibraryGetMoviesResult

type VideoLibraryGetMoviesResult struct {
	Limits ListLimitsReturned   `json:"limits,omitempty"`
	Movies []*VideoDetailsMovie `json:"movies,omitempty"`
}

type VideoLibraryGetSeasonsParams

type VideoLibraryGetSeasonsParams struct {
	TVShowId   LibraryId           `json:"tvshowid"`
	Properties []VideoFieldsSeason `json:"properties,omitempty"`
	Limits     *ListLimits         `json:"limits,omitempty"`
	Sort       *ListSort           `json:"sort,omitempty"`
}

type VideoLibraryGetSeasonsResponse

type VideoLibraryGetSeasonsResponse struct {
	ResponseBase
	Result *VideoLibraryGetSeasonsResult `json:"result,omitempty"`
}

type VideoLibraryGetSeasonsResult

type VideoLibraryGetSeasonsResult struct {
	Limits  ListLimitsReturned    `json:"limits,omitempty"`
	Seasons []*VideoDetailsSeason `json:"seasons,omitempty"`
}

type VideoLibraryGetTVShowDetailsParams

type VideoLibraryGetTVShowDetailsParams struct {
	TVShowId   LibraryId           `json:"tvshowid"`
	Properties []VideoFieldsTVShow `json:"properties,omitempty"`
}

type VideoLibraryGetTVShowDetailsResponse

type VideoLibraryGetTVShowDetailsResponse struct {
	ResponseBase
	Result *VideoLibraryGetTVShowDetailsResult `json:"result,omitempty"`
}

type VideoLibraryGetTVShowDetailsResult

type VideoLibraryGetTVShowDetailsResult struct {
	TVShowDetails *VideoDetailsTVShow `json:"tvshowdetails,omitempty"`
}

type VideoLibraryGetTVShowsFilter

type VideoLibraryGetTVShowsFilter struct {
	// one of
	*ListFilterTVShows
	GenreId *LibraryId `json:"genreid,omitempty"`
	Genre   *string    `json:"genre,omitempty"`
	Year    *int       `json:"year,omitempty"`
	Actor   *string    `json:"actor,omitempty"`
	Studio  *string    `json:"studio,omitempty"`
	Tag     *string    `json:"tag,omitempty"`
}

type VideoLibraryGetTVShowsParams

type VideoLibraryGetTVShowsParams struct {
	Properties []VideoFieldsTVShow `json:"properties,omitempty"`
	Limits     *ListLimits         `json:"limits,omitempty"`
	Sort       *ListSort           `json:"sort,omitempty"`
	Filter     *Filter             `json:"filter,omitempty"`
}

type VideoLibraryGetTVShowsResponse

type VideoLibraryGetTVShowsResponse struct {
	ResponseBase
	Result *VideoLibraryGetTVShowsResult `json:"result,omitempty"`
}

type VideoLibraryGetTVShowsResult

type VideoLibraryGetTVShowsResult struct {
	Limits  ListLimitsReturned    `json:"limits,omitempty"`
	TVShows []*VideoDetailsTVShow `json:"tvshows,omitempty"`
}

type VideoLibraryScanParams

type VideoLibraryScanParams struct {
	Directory   string `json:"directory,omitempty"`
	ShowDialogs bool   `json:"showdialogs,omitempty"`
}

type VideoLibraryScanResponse

type VideoLibraryScanResponse struct {
	ResponseBase
	Result string `json:"result,omitempty"`
}

type VideoResume

type VideoResume struct {
	Position float32 `json:"position,omitempty"`
	Total    float32 `json:"total,omitempty"`
}

type VideoStreams

type VideoStreams struct {
	Video    []*VideoStreamsVideo    `json:"video,omitempty"`
	Audio    []*VideoStreamsAudio    `json:"audio,omitempty"`
	Subtitle []*VideoStreamsSubtitle `json:"subtitle,omitempty"`
}

type VideoStreamsAudio

type VideoStreamsAudio struct {
	Channels int    `json:"channels,omitempty"`
	Language string `json:"language,omitempty"`
	Coded    string `json:"coded,omitempty"`
}

type VideoStreamsSubtitle

type VideoStreamsSubtitle struct {
	Language string `json:"language,omitempty"`
}

type VideoStreamsVideo

type VideoStreamsVideo struct {
	Height   int     `json:"height"`
	Width    int     `json:"width"`
	Aspect   float32 `json:"aspect"`
	Codec    string  `json:"codec"`
	Duration int     `json:"duration"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL