kodi_client 0.6.3 → 0.7.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +2 -0
- data/README.md +1 -0
- data/kodi_client.gemspec +2 -2
- data/lib/kodi_client/extensions/chainable.rb +73 -0
- data/lib/kodi_client/extensions/comparable.rb +29 -0
- data/lib/kodi_client/extensions/creatable.rb +132 -0
- data/lib/kodi_client/extensions/iterable.rb +14 -0
- data/lib/kodi_client/kodi_error.rb +14 -0
- data/lib/kodi_client/kodi_method.rb +34 -0
- data/lib/kodi_client/{options.rb → kodi_options.rb} +1 -1
- data/lib/kodi_client/kodi_request.rb +16 -0
- data/lib/kodi_client/kodi_response.rb +21 -0
- data/lib/kodi_client/{method → methods}/addons.rb +6 -6
- data/lib/kodi_client/{method → methods}/application.rb +2 -2
- data/lib/kodi_client/methods/audio_library.rb +334 -0
- data/lib/kodi_client/{method → methods}/favourites.rb +2 -2
- data/lib/kodi_client/{method → methods}/files.rb +6 -10
- data/lib/kodi_client/{method → methods}/gui.rb +2 -2
- data/lib/kodi_client/{method → methods}/input.rb +2 -2
- data/lib/kodi_client/{method → methods}/player.rb +2 -2
- data/lib/kodi_client/{method → methods}/profiles.rb +5 -7
- data/lib/kodi_client/{method → methods}/system.rb +2 -2
- data/lib/kodi_client/methods/video_library.rb +18 -0
- data/lib/kodi_client/types/addons/addon_content_type.rb +18 -0
- data/lib/kodi_client/types/addons/addon_dependency_type.rb +21 -0
- data/lib/kodi_client/types/addons/addon_details_type.rb +44 -0
- data/lib/kodi_client/types/addons/addon_extra_info_type.rb +20 -0
- data/lib/kodi_client/types/addons/addon_fields_type.rb +28 -0
- data/lib/kodi_client/types/addons/addon_types_type.rb +48 -0
- data/lib/kodi_client/types/addons/get_addon_returned_type.rb +21 -0
- data/lib/kodi_client/types/addons/get_addons_returned_type.rb +22 -0
- data/lib/kodi_client/types/application/property_name_type.rb +19 -0
- data/lib/kodi_client/types/application/property_value_type.rb +24 -0
- data/lib/kodi_client/types/application/version_type.rb +22 -0
- data/lib/kodi_client/types/audio/audio_album_release_type_type.rb +15 -0
- data/lib/kodi_client/types/audio/audio_artist_role_type.rb +21 -0
- data/lib/kodi_client/types/audio/audio_contributor_type.rb +22 -0
- data/lib/kodi_client/types/audio/audio_details_album_type.rb +58 -0
- data/lib/kodi_client/types/audio/audio_details_artist_type.rb +53 -0
- data/lib/kodi_client/types/audio/audio_details_base_type.rb +30 -0
- data/lib/kodi_client/types/audio/audio_details_media_type.rb +50 -0
- data/lib/kodi_client/types/audio/audio_details_role_type.rb +25 -0
- data/lib/kodi_client/types/audio/audio_details_song_type.rb +72 -0
- data/lib/kodi_client/types/audio/audio_fields_album_type.rb +50 -0
- data/lib/kodi_client/types/audio/audio_fields_artist_type.rb +39 -0
- data/lib/kodi_client/types/audio/audio_fields_role_type.rb +15 -0
- data/lib/kodi_client/types/audio/audio_fields_song_type.rb +61 -0
- data/lib/kodi_client/types/audio/available_art_type.rb +21 -0
- data/lib/kodi_client/types/audio/genre_type.rb +20 -0
- data/lib/kodi_client/types/audio/get_albums_returned_type.rb +22 -0
- data/lib/kodi_client/types/audio/get_artists_returned_type.rb +23 -0
- data/lib/kodi_client/types/audio/get_genres_returned_type.rb +24 -0
- data/lib/kodi_client/types/audio/get_roles_returned_type.rb +25 -0
- data/lib/kodi_client/types/audio/get_songs_returned_type.rb +25 -0
- data/lib/kodi_client/types/audio/get_sources_return_type.rb +25 -0
- data/lib/kodi_client/types/audio/property_name_type.rb +25 -0
- data/lib/kodi_client/types/audio/property_value_type.rb +33 -0
- data/lib/kodi_client/types/favourites/details_favourite_type.rb +24 -0
- data/lib/kodi_client/types/favourites/fields_favourite_type.rb +17 -0
- data/lib/kodi_client/types/favourites/get_favourite_returned_type.rb +22 -0
- data/lib/kodi_client/types/favourites/type_type.rb +18 -0
- data/lib/kodi_client/types/files/file_label_type.rb +20 -0
- data/lib/kodi_client/types/files/get_directory_returned_type.rb +22 -0
- data/lib/kodi_client/types/files/get_sources_returned_type.rb +22 -0
- data/lib/kodi_client/types/files/media_type.rb +18 -0
- data/lib/kodi_client/types/files/prepare_download_returned_type.rb +21 -0
- data/lib/kodi_client/types/global/direction_type.rb +17 -0
- data/lib/kodi_client/types/global/global_time_type.rb +22 -0
- data/lib/kodi_client/types/global/id_label_type.rb +20 -0
- data/lib/kodi_client/types/global/id_name_type.rb +20 -0
- data/lib/kodi_client/types/global/increment_decrement_type.rb +15 -0
- data/lib/kodi_client/types/global/next_prev_type.rb +17 -0
- data/lib/kodi_client/types/global/password_encryption_type.rb +16 -0
- data/lib/kodi_client/types/global/rotate_type.rb +15 -0
- data/lib/kodi_client/types/global/toggle_type.rb +16 -0
- data/lib/kodi_client/types/gui/gui_window_type.rb +124 -0
- data/lib/kodi_client/types/gui/property_name_type.rb +18 -0
- data/lib/kodi_client/types/gui/property_value_type.rb +26 -0
- data/lib/kodi_client/types/gui/stereoscopy_mode_type.rb +31 -0
- data/lib/kodi_client/types/input/input_action_type.rb +212 -0
- data/lib/kodi_client/types/{item_types.rb → items/item_details_base_type.rb} +2 -4
- data/lib/kodi_client/types/library/library_details_genre_type.rb +27 -0
- data/lib/kodi_client/types/library/library_details_source_type.rb +26 -0
- data/lib/kodi_client/types/library/library_fields_genre_type.rb +17 -0
- data/lib/kodi_client/types/library/library_fields_source_type.rb +17 -0
- data/lib/kodi_client/types/list/list_field_files_type.rb +83 -0
- data/lib/kodi_client/types/list/list_fields_all_type.rb +96 -0
- data/lib/kodi_client/types/list/list_item_all_type.rb +70 -0
- data/lib/kodi_client/types/list/list_item_base_type.rb +141 -0
- data/lib/kodi_client/types/list/list_item_file_type.rb +66 -0
- data/lib/kodi_client/types/list/list_limits_returned_type.rb +23 -0
- data/lib/kodi_client/types/list/list_limits_type.rb +23 -0
- data/lib/kodi_client/types/list/list_sort_method_type.rb +54 -0
- data/lib/kodi_client/types/list/list_sort_type.rb +28 -0
- data/lib/kodi_client/types/list/sort_order_type.rb +15 -0
- data/lib/kodi_client/types/media/media_artwork_type.rb +26 -0
- data/lib/kodi_client/types/media/media_details_base_type.rb +29 -0
- data/lib/kodi_client/types/media/media_type_type.rb +16 -0
- data/lib/kodi_client/types/player/audio_stream_type.rb +29 -0
- data/lib/kodi_client/types/player/player_position_time_type.rb +22 -0
- data/lib/kodi_client/types/player/player_repeat_type.rb +17 -0
- data/lib/kodi_client/types/player/player_speed_type.rb +26 -0
- data/lib/kodi_client/types/player/player_type.rb +24 -0
- data/lib/kodi_client/types/player/player_type_type.rb +16 -0
- data/lib/kodi_client/types/player/player_view_mode_type.rb +23 -0
- data/lib/kodi_client/types/player/player_visibility_type.rb +16 -0
- data/lib/kodi_client/types/player/property_name_type.rb +38 -0
- data/lib/kodi_client/types/player/property_value_type.rb +60 -0
- data/lib/kodi_client/types/player/seek_jump_type.rb +17 -0
- data/lib/kodi_client/types/player/seek_returned_type.rb +23 -0
- data/lib/kodi_client/types/player/subtitle_type.rb +24 -0
- data/lib/kodi_client/types/player/video_stream_type.rb +26 -0
- data/lib/kodi_client/types/player/view_mode_type.rb +22 -0
- data/lib/kodi_client/types/player/zoom_type.rb +15 -0
- data/lib/kodi_client/types/profiles/details_profile_type.rb +24 -0
- data/lib/kodi_client/types/profiles/fields_profile_type.rb +15 -0
- data/lib/kodi_client/types/profiles/get_profiles_returned_type.rb +22 -0
- data/lib/kodi_client/types/profiles/profile_password_type.rb +20 -0
- data/lib/kodi_client/types/{pvr_type.rb → pvr/channel_type_type.rb} +2 -4
- data/lib/kodi_client/types/system/property_name_type.rb +17 -0
- data/lib/kodi_client/types/{system_types.rb → system/property_value_type.rb} +2 -13
- data/lib/kodi_client/types/video/stream_details_type.rb +24 -0
- data/lib/kodi_client/types/video/video_cast_type.rb +22 -0
- data/lib/kodi_client/types/video/video_content_type_type.rb +18 -0
- data/lib/kodi_client/types/video/video_details_base_type.rb +29 -0
- data/lib/kodi_client/types/video/video_details_file_type.rb +37 -0
- data/lib/kodi_client/types/video/video_details_item_type.rb +32 -0
- data/lib/kodi_client/types/video/video_details_media_type.rb +28 -0
- data/lib/kodi_client/types/video/video_resume_type.rb +20 -0
- data/lib/kodi_client.rb +160 -49
- metadata +132 -38
- data/lib/kodi_client/Chainable.rb +0 -48
- data/lib/kodi_client/kodi_module.rb +0 -80
- data/lib/kodi_client/method/audio_library.rb +0 -46
- data/lib/kodi_client/types/addon_types.rb +0 -177
- data/lib/kodi_client/types/application_types.rb +0 -52
- data/lib/kodi_client/types/audio_types.rb +0 -221
- data/lib/kodi_client/types/favourites_types.rb +0 -61
- data/lib/kodi_client/types/files_types.rb +0 -63
- data/lib/kodi_client/types/global_types.rb +0 -102
- data/lib/kodi_client/types/gui_types.rb +0 -179
- data/lib/kodi_client/types/input_types.rb +0 -214
- data/lib/kodi_client/types/list_types.rb +0 -542
- data/lib/kodi_client/types/media_types.rb +0 -53
- data/lib/kodi_client/types/player_type.rb +0 -294
- data/lib/kodi_client/types/profiles_types.rb +0 -65
- data/lib/kodi_client/types/video_types.rb +0 -150
- data/lib/kodi_client/util/comparable.rb +0 -20
- data/lib/kodi_client/util/creatable.rb +0 -106
- data/lib/kodi_client/util/iterable.rb +0 -11
@@ -0,0 +1,124 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module KodiClient
|
4
|
+
module Types
|
5
|
+
module GUI
|
6
|
+
# GUI.Window https://kodi.wiki/view/JSON-RPC_API/v12#GUI.Window
|
7
|
+
module GUIWindow
|
8
|
+
extend Extensions::Iterable
|
9
|
+
|
10
|
+
ACCESS_POINTS = 'accesspoints'
|
11
|
+
ADDON = 'addon'
|
12
|
+
ADDON_BROWSER = 'addonbrowser'
|
13
|
+
ADDON_INFORMATION = 'addoninformation'
|
14
|
+
ADDON_SETTINGS = 'addonsettings'
|
15
|
+
APPEARANCE_SETTINGS = 'appearancesettings'
|
16
|
+
AUDIO_DSPM_ANAGER = 'audiodspmanager'
|
17
|
+
BUSY_DIALOG = 'busydialog'
|
18
|
+
CONTENTS_ETTINGS = 'contentsettings'
|
19
|
+
CONTEXT_MENU = 'contextmenu'
|
20
|
+
EVENT_LOG = 'eventlog'
|
21
|
+
EXTENDED_PROGRESS_DIALOG = 'extendedprogressdialog'
|
22
|
+
FAVOURITES = 'favourite'
|
23
|
+
FILE_BROWSER = 'filebrowser'
|
24
|
+
FILE_MANAGER = 'filemanager'
|
25
|
+
FULLSCREEN_INFO = 'fullscreeninfo'
|
26
|
+
FULLSCREEN_LIVE_TV = 'fullscreenlivetv'
|
27
|
+
FULLSCREEN_RADIO = 'fullscreenradio'
|
28
|
+
FULLSCREEN_VIDEO = 'fullscreenvideo'
|
29
|
+
GAME_CONTROLLERS = 'gamecontrollers'
|
30
|
+
GAMEPAD_INPUT = 'gamepadinput'
|
31
|
+
HOME = 'home'
|
32
|
+
INTERFACE_SETTINGS = 'interfacesettings'
|
33
|
+
LOCK_SETTINGS = 'locksettings'
|
34
|
+
LOGIN_SCREEN = 'loginscreen'
|
35
|
+
MEDIA_FILTER = 'mediafilter'
|
36
|
+
MEDIA_SETTINGS = 'mediasettings'
|
37
|
+
MEDIA_SOURCE = 'mediasource'
|
38
|
+
MOVIE_INFORMATION = 'movieinformation'
|
39
|
+
MUSIC = 'music'
|
40
|
+
MUSIC_INFORMATION = 'musicinformation'
|
41
|
+
MUSIC_OSD = 'musicosd'
|
42
|
+
MUSIC_PLAYLIST = 'musicplaylist'
|
43
|
+
MUSIC_PLAYLIST_EDITOR = 'musicplaylisteditor'
|
44
|
+
NETWORK_SETUP = 'networksetup'
|
45
|
+
NOTIFICATION = 'notification'
|
46
|
+
NUMERIC_INPUT = 'numericinput'
|
47
|
+
OK_DIALOG = 'okdialog'
|
48
|
+
OSD_AUDIO_DSP_SETTINGS = 'osdaudiodspsettings'
|
49
|
+
OSD_AUDIO_SETTINGS = 'osdaudiosettings'
|
50
|
+
OSD_CMS_SETTINGS = 'osdcmssettings'
|
51
|
+
OSD_VIDEO_SETTINGS = 'osdvideosettings'
|
52
|
+
PERIPHERAL_SETTINGS = 'peripheralsettings'
|
53
|
+
PICTURE_INFO = 'pictureinfo'
|
54
|
+
PICTURES = 'pictures'
|
55
|
+
PLAYER_CONTROLS = 'playercontrols'
|
56
|
+
PLAYER_PROCESS_INFO = 'playerprocessinfo'
|
57
|
+
PLAYER_SETTINGS = 'playersettings'
|
58
|
+
PROFILES = 'profiles'
|
59
|
+
PROFILE_SETTINGS = 'profilesettings'
|
60
|
+
PROGRAMS = 'programs'
|
61
|
+
PROGRESS_DIALOG = 'progressdialog'
|
62
|
+
PVR_CHANNEL_MANAGER = 'pvrchannelmanager'
|
63
|
+
PVR_CHANNEL_SCAN = 'pvrchannelscan'
|
64
|
+
PVR_GROUP_MANAGER = 'pvrgroupmanager'
|
65
|
+
PVR_GUIDE_INFO = 'pvrguideinfo'
|
66
|
+
PVR_GUIDE_SEARCH = 'pvrguidesearch'
|
67
|
+
PVR_OSD_CHANNELS = 'pvrosdchannels'
|
68
|
+
PVR_OSD_GUIDE = 'pvrosdguide'
|
69
|
+
PVR_OSD_TELETEXT = 'pvrosdteletext'
|
70
|
+
PVR_RADIO_RDS_INFO = 'pvrradiordsinfo'
|
71
|
+
PVR_RECORDING_INFO = 'pvrrecordinginfo'
|
72
|
+
PVR_SETTINGS = 'pvrsettings'
|
73
|
+
PVR_TIMER_SETTING = 'pvrtimersetting'
|
74
|
+
PVR_UPDATE_PROGRESS = 'pvrupdateprogress'
|
75
|
+
RADIO_CHANNELS = 'radiochannels'
|
76
|
+
RADIO_GUIDE = 'radioguide'
|
77
|
+
RADIO_RECORDINGS = 'radiorecordings'
|
78
|
+
RADIO_SEARCH = 'radiosearch'
|
79
|
+
RADIO_TIMER_RULES = 'radiotimerrules'
|
80
|
+
RADIO_TIMERS = 'radiotimers'
|
81
|
+
SCREEN_CALIBRATION = 'screencalibration'
|
82
|
+
SCREENSAVER = 'screensaver'
|
83
|
+
SEEKBAR = 'seekbar'
|
84
|
+
SELECT_DIALOG = 'selectdialog'
|
85
|
+
SERVICE_SETTINGS = 'servicesettings'
|
86
|
+
SETTINGS = 'settings'
|
87
|
+
SHUT_DOWN_MENU = 'shutdownmenu'
|
88
|
+
SKIN_SETTINGS = 'skinsettings'
|
89
|
+
SLIDER_DIALOG = 'sliderdialog'
|
90
|
+
SLIDESHOW = 'slideshow'
|
91
|
+
SMART_PLAYLIST_EDITOR = 'smartplaylisteditor'
|
92
|
+
SMART_PLAYLIST_RULE = 'smartplaylistrule'
|
93
|
+
SONG_INFORMATION = 'songinformation'
|
94
|
+
STARTUP = 'startup'
|
95
|
+
START_WINDOW = 'startwindow'
|
96
|
+
SUBMENU = 'submenu'
|
97
|
+
SUBTITLE_SEARCH = 'subtitlesearch'
|
98
|
+
SYSTEM_INFO = 'systeminfo'
|
99
|
+
SYSTEM_SETTINGS = 'systemsettings'
|
100
|
+
TELETEXT = 'teletext'
|
101
|
+
TEST_PATTERN = 'testpattern'
|
102
|
+
TEXT_VIEWER = 'textviewer'
|
103
|
+
TV_CHANNELS = 'tvchannels'
|
104
|
+
TV_GUIDE = 'tvguide'
|
105
|
+
TV_RECORDINGS = 'tvrecordings'
|
106
|
+
TV_SEARCH = 'tvsearch'
|
107
|
+
TV_TIMER_RULES = 'tvtimerrules'
|
108
|
+
TV_TIMERS = 'tvtimers'
|
109
|
+
VIDEO_BOOKMARKS = 'videobookmarks'
|
110
|
+
VIDEO_MENU = 'videomenu'
|
111
|
+
VIDEO_OSD = 'videoosd'
|
112
|
+
VIDEO_PLAYLIST = 'videoplaylist'
|
113
|
+
VIDEOS = 'videos'
|
114
|
+
VIDEO_TIME_SEEK = 'videotimeseek'
|
115
|
+
VIRTUAL_KEYBOARD = 'virtualkeyboard'
|
116
|
+
VISUALISATION = 'visualisation'
|
117
|
+
VISUALISATION_PRESET_LIST = 'visualisationpresetlist'
|
118
|
+
VOLUME_BAR = 'volumebar'
|
119
|
+
WEATHER = 'weather'
|
120
|
+
YES_NO_DIALOG = 'yesnodialog'
|
121
|
+
end
|
122
|
+
end
|
123
|
+
end
|
124
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module KodiClient
|
4
|
+
module Types
|
5
|
+
module GUI
|
6
|
+
# GUI.Property.Name https://kodi.wiki/view/JSON-RPC_API/v12#GUI.Property.Name
|
7
|
+
module PropertyName
|
8
|
+
extend Extensions::Iterable
|
9
|
+
|
10
|
+
CURRENT_CONTROL = 'currentcontrol'
|
11
|
+
CURRENT_WINDOW = 'currentwindow'
|
12
|
+
FULLSCREEN = 'fullscreen'
|
13
|
+
SKIN = 'skin'
|
14
|
+
STEREOSCOPIC_MODE = 'stereoscopicmode'
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module KodiClient
|
4
|
+
module Types
|
5
|
+
module GUI
|
6
|
+
# GUI.Property.Value https://kodi.wiki/view/JSON-RPC_API/v12#GUI.Property.Value
|
7
|
+
class PropertyValue
|
8
|
+
include Extensions::Comparable
|
9
|
+
extend Extensions::Creatable
|
10
|
+
|
11
|
+
attr_reader :current_control, :current_window, :fullscreen, :skin, :stereoscopic_mode
|
12
|
+
|
13
|
+
type_mapping ['currentcontrol', Global::IdLabel], ['currentwindow', Global::IdLabel],
|
14
|
+
['skin', Global::IdName], ['stereoscopicmode', StereoscopyMode]
|
15
|
+
|
16
|
+
def initialize(current_control, current_window, fullscreen, skin, stereoscopic_mode)
|
17
|
+
@current_control = current_control
|
18
|
+
@current_window = current_window
|
19
|
+
@fullscreen = fullscreen
|
20
|
+
@skin = skin
|
21
|
+
@stereoscopic_mode = stereoscopic_mode
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module KodiClient
|
4
|
+
module Types
|
5
|
+
module GUI
|
6
|
+
# GUI.Stereoscopy.Mode https://kodi.wiki/view/JSON-RPC_API/v12#GUI.Stereoscopy.Mode
|
7
|
+
class StereoscopyMode
|
8
|
+
include Extensions::Comparable
|
9
|
+
include Extensions::Iterable
|
10
|
+
extend Extensions::Creatable
|
11
|
+
|
12
|
+
attr_reader :label, :mode
|
13
|
+
|
14
|
+
OFF = 'off'
|
15
|
+
SPLIT_VERTICAL = 'split_vertical'
|
16
|
+
SPLIT_HORIZONTAL = 'split_horizontal'
|
17
|
+
ROW_INTERLEAVED = 'row_interleaved'
|
18
|
+
HARDWARE_BASED = 'hardware_based'
|
19
|
+
ANAGLYPH_CYAN_RED = 'anaglyph_cyan_red'
|
20
|
+
ANAGLYPH_GREEN_MAGENTA = 'anaglyph_green_magenta'
|
21
|
+
ANAGLYPH_YELLOW_BLUE = 'anaglyph_yellow_blue'
|
22
|
+
MONOSCOPIC = 'monoscopic'
|
23
|
+
|
24
|
+
def initialize(label, mode)
|
25
|
+
@label = label
|
26
|
+
@mode = mode
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,212 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module KodiClient
|
4
|
+
module Types
|
5
|
+
module Input
|
6
|
+
# Input.Action https://kodi.wiki/view/JSON-RPC_API/v12#Input.Action
|
7
|
+
module InputAction
|
8
|
+
extend Extensions::Iterable
|
9
|
+
|
10
|
+
ANALOG_FAST_FORWARD = 'analogfastforward'
|
11
|
+
ANALOG_MOVE = 'analogmove'
|
12
|
+
ANALOG_MOVE_X = 'analogmovex'
|
13
|
+
ANALOG_MOVE_Y = 'analogmovey'
|
14
|
+
ANALOG_REWIND = 'analogrewind'
|
15
|
+
ANALOG_SEEK_BACK = 'analogseekback'
|
16
|
+
ANALOG_SEEK_FORWARD = 'analogseekforward'
|
17
|
+
ASPECT_RATIO = 'aspectratio'
|
18
|
+
AUDIO_DELAY = 'audiodelay'
|
19
|
+
AUDIO_DELAY_MINUS = 'audiodelayminus'
|
20
|
+
AUDIO_DELAY_PLUS = 'audiodelayplus'
|
21
|
+
AUDIO_NEXT_LANGUAGE = 'audionextlanguage'
|
22
|
+
AUDIO_TOGGLE_DIGITAL = 'audiotoggledigital'
|
23
|
+
BACK = 'back'
|
24
|
+
BACKSPACE = 'backspace'
|
25
|
+
BIG_STEP_BACK = 'bigstepback'
|
26
|
+
BIG_STEP_FORWARD = 'bigstepforward'
|
27
|
+
BLUE = 'blue'
|
28
|
+
CHANNEL_DOWN = 'channeldown'
|
29
|
+
CHANNEL_UP = 'channelup'
|
30
|
+
CHAPTER_OR_BIG_STEP_BACK = 'chapterorbigstepback'
|
31
|
+
CHAPTER_OR_BIG_STEP_FORWARD = 'chapterorbigstepforward'
|
32
|
+
CLOSE = 'close'
|
33
|
+
CODEC_INFO = 'codecinfo'
|
34
|
+
CONTEXT_MENU = 'contextmenu'
|
35
|
+
COPY = 'copy'
|
36
|
+
CREATE_BOOKMARK = 'createbookmark'
|
37
|
+
CREATE_EPISODE_BOOKMARK = 'createepisodebookmark'
|
38
|
+
CURSOR_LEFT = 'cursorleft'
|
39
|
+
CURSOR_RIGHT = 'cursorright'
|
40
|
+
CYCLE_SUBTITLE = 'cyclesubtitle'
|
41
|
+
DECREASE_PAR = 'decreasepar'
|
42
|
+
DECREASE_RATING = 'decreaserating'
|
43
|
+
DECREASE_VIS_RATING = 'decreasevisrating'
|
44
|
+
DELETE = 'delete'
|
45
|
+
DOUBLE_CLICK = 'doubleclick'
|
46
|
+
DOWN = 'down'
|
47
|
+
ENTER = 'enter'
|
48
|
+
ERROR = 'error'
|
49
|
+
FAST_FORWARD = 'fastforward'
|
50
|
+
FILTER = 'filter'
|
51
|
+
FILTER_CLEAR = 'filterclear'
|
52
|
+
FILTER_SMS2 = 'filtersms2'
|
53
|
+
FILTER_SMS3 = 'filtersms3'
|
54
|
+
FILTER_SMS4 = 'filtersms4'
|
55
|
+
FILTER_SMS5 = 'filtersms5'
|
56
|
+
FILTER_SMS6 = 'filtersms6'
|
57
|
+
FILTER_SMS7 = 'filtersms7'
|
58
|
+
FILTER_SMS8 = 'filtersms8'
|
59
|
+
FILTER_SMS9 = 'filtersms9'
|
60
|
+
FIRST_PAGE = 'firstpage'
|
61
|
+
FULLSCREEN = 'fullscreen'
|
62
|
+
GREEN = 'green'
|
63
|
+
GUI_PROFILE = 'guiprofile'
|
64
|
+
HIGHLIGHT = 'highlight'
|
65
|
+
INCREASE_PAR = 'increasepar'
|
66
|
+
INCREASE_RATING = 'increaserating'
|
67
|
+
INCREASE_VIS_RATING = 'increasevisrating'
|
68
|
+
INFO = 'info'
|
69
|
+
JUMP_SMS_2 = 'jumpsms2'
|
70
|
+
JUMP_SMS_3 = 'jumpsms3'
|
71
|
+
JUMP_SMS_4 = 'jumpsms4'
|
72
|
+
JUMP_SMS_5 = 'jumpsms5'
|
73
|
+
JUMP_SMS_6 = 'jumpsms6'
|
74
|
+
JUMP_SMS_7 = 'jumpsms7'
|
75
|
+
JUMP_SMS_8 = 'jumpsms8'
|
76
|
+
JUMP_SMS_9 = 'jumpsms9'
|
77
|
+
LAST_PAGE = 'lastpage'
|
78
|
+
LEFT = 'left'
|
79
|
+
LEFT_CLICK = 'leftclick'
|
80
|
+
LOCK_PRESET = 'lockpreset'
|
81
|
+
LONG_CLICK = 'longclick'
|
82
|
+
LONG_PRESS = 'longpress'
|
83
|
+
MENU = 'menu'
|
84
|
+
MIDDLE_CLICK = 'middleclick'
|
85
|
+
MOUSE_DRAG = 'mousedrag'
|
86
|
+
MOUSE_MOVE = 'mousemove'
|
87
|
+
MOVE = 'move'
|
88
|
+
MOVE_ITEMD_OWN = 'moveitemdown'
|
89
|
+
MOVE_ITEM_UP = 'moveitemup'
|
90
|
+
MUTE = 'mute'
|
91
|
+
NEXT_CALIBRATION = 'nextcalibration'
|
92
|
+
NEXT_CHANNEL_GROUP = 'nextchannelgroup'
|
93
|
+
NEXT_LETTER = 'nextletter'
|
94
|
+
NEXT_PICTURE = 'nextpicture'
|
95
|
+
NEXT_PRESET = 'nextpreset'
|
96
|
+
NEXT_RESOLUTION = 'nextresolution'
|
97
|
+
NEXT_SCENE = 'nextscene'
|
98
|
+
NEXT_STEREO_MODE = 'nextstereomode'
|
99
|
+
NEXT_SUBTITLE = 'nextsubtitle'
|
100
|
+
NOOP = 'noop'
|
101
|
+
NUMBER_0 = 'number0'
|
102
|
+
NUMBER_1 = 'number1'
|
103
|
+
NUMBER_2 = 'number2'
|
104
|
+
NUMBER_3 = 'number3'
|
105
|
+
NUMBER_4 = 'number4'
|
106
|
+
NUMBER_5 = 'number5'
|
107
|
+
NUMBER_6 = 'number6'
|
108
|
+
NUMBER_7 = 'number7'
|
109
|
+
NUMBER_8 = 'number8'
|
110
|
+
NUMBER_9 = 'number9'
|
111
|
+
OSD = 'osd'
|
112
|
+
PAGEDOWN = 'pagedown'
|
113
|
+
PAGEUP = 'pageup'
|
114
|
+
PAN_GESTURE = 'pangesture'
|
115
|
+
PARENT_DIR = 'parentdir'
|
116
|
+
PARENT_FOLDER = 'parentfolder'
|
117
|
+
PAUSE = 'pause'
|
118
|
+
PLAY = 'play'
|
119
|
+
PLAYER_DEBUG = 'playerdebug'
|
120
|
+
PLAYER_PROCESS_INFO = 'playerprocessinfo'
|
121
|
+
PLAYLIST = 'playlist'
|
122
|
+
PLAY_PAUSE = 'playpause'
|
123
|
+
PLAY_PVR = 'playpvr'
|
124
|
+
PLAY_PVR_RADIO = 'playpvrradio'
|
125
|
+
PLAY_PVR_TV = 'playpvrtv'
|
126
|
+
PREVIOUS_CHANNEL_GROUP = 'previouschannelgroup'
|
127
|
+
PREVIOUS_MENU = 'previousmenu'
|
128
|
+
PREVIOUS_PICTURE = 'previouspicture'
|
129
|
+
PREVIOUS_PRESET = 'previouspreset'
|
130
|
+
PREVIOUS_SCENE = 'previousscene'
|
131
|
+
PREVIOUS_STEREO_MODE = 'previousstereomode'
|
132
|
+
PREV_LETTER = 'prevletter'
|
133
|
+
QUEUE = 'queue'
|
134
|
+
RANDOM_PRESET = 'randompreset'
|
135
|
+
RECORD = 'record'
|
136
|
+
RED = 'red'
|
137
|
+
RELOAD_KEYMAPS = 'reloadkeymaps'
|
138
|
+
RENAME = 'rename'
|
139
|
+
RESET_CALIBRATION = 'resetcalibration'
|
140
|
+
REWIND = 'rewind'
|
141
|
+
RIGHT = 'right'
|
142
|
+
RIGHT_CLICK = 'rightclick'
|
143
|
+
ROTATE = 'rotate'
|
144
|
+
ROTATE_CCW = 'rotateccw'
|
145
|
+
ROTATE_GESTURE = 'rotategesture'
|
146
|
+
SCAN_ITEM = 'scanitem'
|
147
|
+
SCREENSHOT = 'screenshot'
|
148
|
+
SCROLL_DOWN = 'scrolldown'
|
149
|
+
SCROLL_UP = 'scrollup'
|
150
|
+
SELECT = 'select'
|
151
|
+
SET_RATING = 'setrating'
|
152
|
+
SETTINGS_LEVEL_CHANGE = 'settingslevelchange'
|
153
|
+
SETTINGS_RESET = 'settingsreset'
|
154
|
+
SHIFT = 'shift'
|
155
|
+
SHOW_PRESET = 'showpreset'
|
156
|
+
SHOW_SUBTITLES = 'showsubtitles'
|
157
|
+
SHOW_TIME = 'showtime'
|
158
|
+
SHOW_TIMER_RULE = 'showtimerrule'
|
159
|
+
SHOW_VIDEO_MENU = 'showvideomenu'
|
160
|
+
SKIP_NEXT = 'skipnext'
|
161
|
+
SKIP_PREVIOUS = 'skipprevious'
|
162
|
+
SMALL_STEP_BACK = 'smallstepback'
|
163
|
+
STEP_BACK = 'stepback'
|
164
|
+
STEP_FORWARD = 'stepforward'
|
165
|
+
STEREO_MODE = 'stereomode'
|
166
|
+
STEREO_MODE_TO_MONO = 'stereomodetomono'
|
167
|
+
STOP = 'stop'
|
168
|
+
SUBTITLE_ALIGN = 'subtitlealign'
|
169
|
+
SUBTITLE_DELAY = 'subtitledelay'
|
170
|
+
SUBTITLE_DELAY_MINUS = 'subtitledelayminus'
|
171
|
+
SUBTITLE_DELAY_PLUS = 'subtitledelayplus'
|
172
|
+
SUBTITLE_SHIFT_DOWN = 'subtitleshiftdown'
|
173
|
+
SUBTITLE_SHIF_TUP = 'subtitleshiftup'
|
174
|
+
SWIPE_DOWN = 'swipedown'
|
175
|
+
SWIPE_LEFT = 'swipeleft'
|
176
|
+
SWIPE_RIGHT = 'swiperight'
|
177
|
+
SWIPE_UP = 'swipeup'
|
178
|
+
SWITCH_PLAYER = 'switchplayer'
|
179
|
+
SYMBOLS = 'symbols'
|
180
|
+
TAP = 'tap'
|
181
|
+
TOGGLE_COMM_SKIP = 'togglecommskip'
|
182
|
+
TOGGLE_FULLSCREEN = 'togglefullscreen'
|
183
|
+
TOGGLE_STEREO_MODE = 'togglestereomode'
|
184
|
+
TOGGLE_WATCHED = 'togglewatched'
|
185
|
+
UP = 'up'
|
186
|
+
VERTICAL_SHIFT_DOWN = 'verticalshiftdown'
|
187
|
+
VERTICAL_SHIFT_UP = 'verticalshiftup'
|
188
|
+
VOL_AMP_DOWN = 'volampdown'
|
189
|
+
VOL_AMP_UP = 'volampup'
|
190
|
+
VOLUME_AMPLIFICATION = 'volumeamplification'
|
191
|
+
VOLUME_DOWN = 'volumedown'
|
192
|
+
VOLUME_UP = 'volumeup'
|
193
|
+
WHEEL_DOWN = 'wheeldown'
|
194
|
+
WHEEL_UP = 'wheelup'
|
195
|
+
YELLOW = 'yellow'
|
196
|
+
ZOOM_GESTURE = 'zoomgesture'
|
197
|
+
ZOOM_IN = 'zoomin'
|
198
|
+
ZOOM_LEVEL_1 = 'zoomlevel1'
|
199
|
+
ZOOM_LEVEL_2 = 'zoomlevel2'
|
200
|
+
ZOOM_LEVEL_3 = 'zoomlevel3'
|
201
|
+
ZOOM_LEVEL_4 = 'zoomlevel4'
|
202
|
+
ZOOM_LEVEL_5 = 'zoomlevel5'
|
203
|
+
ZOOM_LEVEL_6 = 'zoomlevel6'
|
204
|
+
ZOOM_LEVEL_7 = 'zoomlevel7'
|
205
|
+
ZOOM_LEVEL_8 = 'zoomlevel8'
|
206
|
+
ZOOM_LEVEL_9 = 'zoomlevel9'
|
207
|
+
ZOOM_NORMAL = 'zoomnormal'
|
208
|
+
ZOOM_OUT = 'zoomout'
|
209
|
+
end
|
210
|
+
end
|
211
|
+
end
|
212
|
+
end
|
@@ -3,18 +3,16 @@
|
|
3
3
|
module KodiClient
|
4
4
|
module Types
|
5
5
|
module Items
|
6
|
-
|
7
6
|
# Item.Details.Base https://kodi.wiki/view/JSON-RPC_API/v12#Item.Details.Base
|
8
7
|
module ItemDetailsBase
|
9
|
-
|
10
8
|
attr_reader :label
|
11
9
|
|
12
10
|
def item_details_base_mappings
|
13
|
-
|
11
|
+
[]
|
14
12
|
end
|
15
13
|
|
16
14
|
def item_details_base_by_hash(hash)
|
17
|
-
item_details_base(*Creatable.hash_to_arr(hash, %w[label], item_details_base_mappings))
|
15
|
+
item_details_base(*Extensions::Creatable.hash_to_arr(hash, %w[label], item_details_base_mappings))
|
18
16
|
end
|
19
17
|
|
20
18
|
def item_details_base(label)
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module KodiClient
|
4
|
+
module Types
|
5
|
+
module Library
|
6
|
+
# Library.Details.Genre https://kodi.wiki/view/JSON-RPC_API/v12#Library.Details.Genre
|
7
|
+
class LibraryDetailsGenre
|
8
|
+
include Items::ItemDetailsBase
|
9
|
+
include Extensions::Comparable
|
10
|
+
extend Extensions::Creatable
|
11
|
+
|
12
|
+
attr_reader :title, :thumbnail, :source_id
|
13
|
+
|
14
|
+
fields_to_map %w[genre_id source_id thumbnail title label]
|
15
|
+
|
16
|
+
def initialize(genre_id, source_id, thumbnail, title, label)
|
17
|
+
@genre_id = genre_id
|
18
|
+
@title = title
|
19
|
+
@thumbnail = thumbnail
|
20
|
+
@source_id = source_id
|
21
|
+
item_details_base(label)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module KodiClient
|
4
|
+
module Types
|
5
|
+
module Library
|
6
|
+
# Library.Details.Source https://kodi.wiki/view/JSON-RPC_API/v12#Library.Details.Source
|
7
|
+
class AudioDetailsSource
|
8
|
+
include Items::ItemDetailsBase
|
9
|
+
include Extensions::Comparable
|
10
|
+
extend Extensions::Creatable
|
11
|
+
|
12
|
+
attr_reader :file, :paths, :source_id
|
13
|
+
|
14
|
+
fields_to_map %w[file paths source_id label]
|
15
|
+
|
16
|
+
def initialize(file, paths, source_id, label)
|
17
|
+
@file = file
|
18
|
+
@paths = paths
|
19
|
+
@source_id = source_id
|
20
|
+
item_details_base(label)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module KodiClient
|
4
|
+
module Types
|
5
|
+
module Library
|
6
|
+
# Library.Fields.Genre https://kodi.wiki/view/JSON-RPC_API/v12#Library.Fields.Genre
|
7
|
+
module LibraryFieldsGenre
|
8
|
+
extend Extensions::Iterable
|
9
|
+
|
10
|
+
TITLE = 'title'
|
11
|
+
THUMBNAIL = 'thumbnail'
|
12
|
+
SOURCE_ID = 'sourceid'
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module KodiClient
|
4
|
+
module Types
|
5
|
+
module Library
|
6
|
+
# Library.Fields.Source https://kodi.wiki/view/JSON-RPC_API/v12#Library.Fields.Source
|
7
|
+
module LibraryFieldsSource
|
8
|
+
extend Extensions::Iterable
|
9
|
+
|
10
|
+
FILE = 'file'
|
11
|
+
PATHS = 'paths'
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
|
@@ -0,0 +1,83 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module KodiClient
|
4
|
+
module Types
|
5
|
+
module List
|
6
|
+
# List.Fields.Files https://kodi.wiki/view/JSON-RPC_API/v12#List.Fields.Files
|
7
|
+
module ListFieldFiles
|
8
|
+
extend Extensions::Iterable
|
9
|
+
|
10
|
+
ALBUM = 'album'
|
11
|
+
ALBUM_ARTIST = 'albumartist'
|
12
|
+
ALBUM_ARTIST_ID = 'albumartistid'
|
13
|
+
ALBUM_ID = 'albumid'
|
14
|
+
ALBUM_LABEL = 'albumlabel'
|
15
|
+
ART = 'art'
|
16
|
+
ARTIST = 'artist'
|
17
|
+
ARTIST_ID = 'artistid'
|
18
|
+
CAST = 'cast'
|
19
|
+
COMMENT = 'comment'
|
20
|
+
COUNTRY = 'country'
|
21
|
+
DATE_ADDED = 'dateadded'
|
22
|
+
DESCRIPTION = 'description'
|
23
|
+
DIRECTOR = 'director'
|
24
|
+
DISC = 'disc'
|
25
|
+
DISPLAY_ARTIST = 'displayartist'
|
26
|
+
DURATION = 'duration'
|
27
|
+
EPISODE = 'episode'
|
28
|
+
EPISODE_GUIDE = 'episodeguide'
|
29
|
+
FAN_ART = 'fanart'
|
30
|
+
FILE = 'file'
|
31
|
+
FIRST_AIRED = 'firstaired'
|
32
|
+
GENRE = 'genre'
|
33
|
+
GENRE_ID = 'genreid'
|
34
|
+
IMDB_NUMBER = 'imdbnumber'
|
35
|
+
LAST_MODIFIED = 'lastmodified'
|
36
|
+
LAST_PLAYED = 'lastplayed'
|
37
|
+
LYRICS = 'lyrics'
|
38
|
+
MIMETYPE = 'mimetype'
|
39
|
+
MOOD = 'mood'
|
40
|
+
MPAA = 'mpaa'
|
41
|
+
MUSICBRAINZ_ALBUM_ARTIST_ID = 'musicbrainzalbumartistid'
|
42
|
+
MUSICBRAINZ_ALBUM_ID = 'musicbrainzalbumid'
|
43
|
+
MUSICBRAINZ_ARTIST_ID = 'musicbrainzartistid'
|
44
|
+
MUSICBRAINZ_TRACK_ID = 'musicbrainztrackid'
|
45
|
+
ORIGINAL_TITLE = 'originaltitle'
|
46
|
+
PLAY_COUNT = 'playcount'
|
47
|
+
PLOT = 'plot'
|
48
|
+
PLOT_OUTLINE = 'plotoutline'
|
49
|
+
PREMIERED = 'premiered'
|
50
|
+
PRODUCTION_CODE = 'productioncode'
|
51
|
+
RATING = 'rating'
|
52
|
+
RESUME = 'resume'
|
53
|
+
RUNTIME = 'runtime'
|
54
|
+
SEASON = 'season'
|
55
|
+
SET = 'set'
|
56
|
+
SET_ID = 'setid'
|
57
|
+
SHOW_LINK = 'showlink'
|
58
|
+
SHOW_TITLE = 'showtitle'
|
59
|
+
SIZE = 'size'
|
60
|
+
SORT_TITLE = 'sorttitle'
|
61
|
+
SPECIAL_SORT_EPISODE = 'specialsortepisode'
|
62
|
+
SPECIAL_SORT_SEASON = 'specialsortseason'
|
63
|
+
STREAM_DETAILS = 'streamdetails'
|
64
|
+
STUDIO = 'studio'
|
65
|
+
STYLE = 'style'
|
66
|
+
TAG = 'tag'
|
67
|
+
TAGLINE = 'tagline'
|
68
|
+
THEME = 'theme'
|
69
|
+
THUMBNAIL = 'thumbnail'
|
70
|
+
TITLE = 'title'
|
71
|
+
TOP250 = 'top250'
|
72
|
+
TRACK = 'track'
|
73
|
+
TRAILER = 'trailer'
|
74
|
+
TV_SHOW_ID = 'tvshowid'
|
75
|
+
UNIQUE_ID = 'uniqueid'
|
76
|
+
VOTES = 'votes'
|
77
|
+
WATCHED_EPISODES = 'watchedepisodes'
|
78
|
+
WRITER = 'writer'
|
79
|
+
YEAR = 'year'
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|