11 #include "pictures/PictureScalingAlgorithm.h" 12 #include "settings/lib/ISettingCallback.h" 13 #include "settings/lib/ISettingsHandler.h" 14 #include "utils/SortUtils.h" 21 #define CACHE_BUFFER_MODE_INTERNET 0 22 #define CACHE_BUFFER_MODE_ALL 1 23 #define CACHE_BUFFER_MODE_TRUE_INTERNET 2 24 #define CACHE_BUFFER_MODE_NONE 3 25 #define CACHE_BUFFER_MODE_NETWORK 4 77 TVShowRegexp(
bool d,
const std::string& r,
int s = 1,
bool t =
false) : regexp(r)
105 typedef std::vector<TVShowRegexp> SETTINGS_TVSHOWLIST;
112 void OnSettingsLoaded()
override;
113 void OnSettingsUnloaded()
override;
115 void OnSettingChanged(
const std::shared_ptr<const CSetting>& setting)
override;
119 bool Initialized()
const {
return m_initialized; }
120 void AddSettingsFile(
const std::string &filename);
123 static void GetCustomTVRegexps(TiXmlElement *pRootElement, SETTINGS_TVSHOWLIST&
settings);
124 static void GetCustomRegexps(TiXmlElement *pRootElement, std::vector<std::string> &settings);
125 static void GetCustomExtensions(TiXmlElement *pRootElement, std::string& extensions);
127 std::string m_audioDefaultPlayer;
128 float m_audioPlayCountMinimumPercent;
129 bool m_VideoPlayerIgnoreDTSinWAV;
131 float m_limiterRelease;
133 bool m_omlSync =
true;
135 float m_videoSubsDelayRange;
136 float m_videoAudioDelayRange;
137 bool m_videoUseTimeSeeking;
138 int m_videoTimeSeekForward;
139 int m_videoTimeSeekBackward;
140 int m_videoTimeSeekForwardBig;
141 int m_videoTimeSeekBackwardBig;
142 int m_videoPercentSeekForward;
143 int m_videoPercentSeekBackward;
144 int m_videoPercentSeekForwardBig;
145 int m_videoPercentSeekBackwardBig;
146 std::vector<int> m_seekSteps;
147 std::string m_videoPPFFmpegPostProc;
148 bool m_videoVDPAUtelecine;
149 bool m_videoVDPAUdeintSkipChromaHD;
150 bool m_musicUseTimeSeeking;
151 int m_musicTimeSeekForward;
152 int m_musicTimeSeekBackward;
153 int m_musicTimeSeekForwardBig;
154 int m_musicTimeSeekBackwardBig;
155 int m_musicPercentSeekForward;
156 int m_musicPercentSeekBackward;
157 int m_musicPercentSeekForwardBig;
158 int m_musicPercentSeekBackwardBig;
159 int m_videoIgnoreSecondsAtStart;
160 float m_videoIgnorePercentAtEnd;
161 float m_audioApplyDrc;
162 unsigned int m_maxPassthroughOffSyncDuration = 10;
164 int m_videoVDPAUScaling;
165 float m_videoNonLinStretchRatio;
166 float m_videoAutoScaleMaxFps;
167 std::vector<RefreshOverride> m_videoAdjustRefreshOverrides;
168 std::vector<RefreshVideoLatency> m_videoRefreshLatency;
169 float m_videoDefaultLatency;
170 int m_videoCaptureUseOcclusionQuery;
171 bool m_DXVACheckCompatibility;
172 bool m_DXVACheckCompatibilityPresent;
173 int m_videoFpsDetect;
175 bool m_videoPreferStereoStream =
false;
177 std::string m_videoDefaultPlayer;
178 float m_videoPlayCountMinimumPercent;
180 float m_slideshowBlackBarCompensation;
181 float m_slideshowZoomAmount;
182 float m_slideshowPanAmount;
184 int m_songInfoDuration;
187 std::string m_cddbAddress;
203 bool m_autoMountOpticalMedia{
true};
205 bool m_fullScreenOnMovieStart;
206 std::string m_cachePath;
207 std::string m_videoCleanDateTimeRegExp;
208 std::vector<std::string> m_videoCleanStringRegExps;
209 std::vector<std::string> m_videoExcludeFromListingRegExps;
210 std::vector<std::string> m_allExcludeFromScanRegExps;
211 std::vector<std::string> m_moviesExcludeFromScanRegExps;
212 std::vector<std::string> m_tvshowExcludeFromScanRegExps;
213 std::vector<std::string> m_audioExcludeFromListingRegExps;
214 std::vector<std::string> m_audioExcludeFromScanRegExps;
215 std::vector<std::string> m_pictureExcludeFromListingRegExps;
216 std::vector<std::string> m_videoStackRegExps;
217 std::vector<std::string> m_folderStackRegExps;
218 std::vector<std::string> m_trailerMatchRegExps;
219 SETTINGS_TVSHOWLIST m_tvshowEnumRegExps;
220 std::string m_tvshowMultiPartEnumRegExp;
221 typedef std::vector< std::pair<std::string, std::string> > StringMapping;
222 StringMapping m_pathSubstitutions;
224 bool m_bScanIRServer;
226 bool m_playlistAsFolders;
231 CPictureScalingAlgorithm::Algorithm m_imageScalingAlgorithm;
235 int m_sambaclienttimeout;
236 std::string m_sambadoscodepage;
237 bool m_sambastatfiles;
239 bool m_bHTTPDirectoryStatFilesize;
242 bool m_bShoutcastArt;
244 std::string m_musicThumbs;
246 int m_iMusicLibraryRecentlyAddedItems;
247 int m_iMusicLibraryDateAdded;
248 bool m_bMusicLibraryAllItemsOnBottom;
249 bool m_bMusicLibraryCleanOnUpdate;
250 bool m_bMusicLibraryArtistSortOnUpdate;
251 bool m_bMusicLibraryUseISODates;
252 std::string m_strMusicLibraryAlbumFormat;
253 bool m_prioritiseAPEv2tags;
254 std::string m_musicItemSeparator;
255 std::vector<std::string> m_musicArtistSeparators;
256 std::string m_videoItemSeparator;
257 std::vector<std::string> m_musicTagsFromFileFilters;
259 bool m_bVideoLibraryAllItemsOnBottom;
260 int m_iVideoLibraryRecentlyAddedItems;
261 bool m_bVideoLibraryCleanOnUpdate;
262 bool m_bVideoLibraryUseFastHash;
263 bool m_bVideoLibraryImportWatchedState{
true};
264 bool m_bVideoLibraryImportResumePoint{
true};
266 bool m_bVideoScannerIgnoreErrors;
267 int m_iVideoLibraryDateAdded;
269 std::set<std::string> m_vecTokens;
271 int m_iEpgUpdateCheckInterval;
272 int m_iEpgCleanupInterval;
273 int m_iEpgActiveTagCheckInterval;
274 int m_iEpgRetryInterruptedUpdateInterval;
275 int m_iEpgUpdateEmptyTagsInterval;
276 bool m_bEpgDisplayUpdatePopup;
277 bool m_bEpgDisplayIncrementalUpdatePopup;
282 bool m_EdlDisplayCommbreakNotifications;
283 int m_iEdlMaxCommBreakLength;
284 int m_iEdlMinCommBreakLength;
285 int m_iEdlMaxCommBreakGap;
286 int m_iEdlMaxStartGap;
287 int m_iEdlCommBreakAutowait;
288 int m_iEdlCommBreakAutowind;
290 int m_curlconnecttimeout;
291 int m_curllowspeedtime;
293 int m_curlKeepAliveInterval;
294 bool m_curlDisableIPV6;
295 bool m_curlDisableHTTP2;
297 std::string m_caTrustFile;
299 bool m_minimizeToTray;
301 bool m_startFullScreen;
302 bool m_showExitButton;
306 int m_playlistRetries;
307 int m_playlistTimeout;
308 bool m_GLRectangleHack;
309 int m_iSkipLoopFilter;
311 bool m_bVirtualShares;
313 std::string m_cpuTempCmd;
314 std::string m_gpuTempCmd;
331 bool m_useLocaleCollation;
333 bool m_guiVisualizeDirtyRegions;
334 int m_guiAlgorithmDirtyRegions;
335 bool m_guiSmartRedraw;
336 unsigned int m_addonPackageFolderSize;
338 unsigned int m_cacheMemSize;
339 unsigned int m_cacheBufferMode;
340 unsigned int m_cacheChunkSize;
341 float m_cacheReadFactor;
343 bool m_jsonOutputCompact;
344 unsigned int m_jsonTcpPort;
346 bool m_enableMultimediaKeys;
347 std::vector<std::string> m_settingsFiles;
348 void ParseSettingsFile(
const std::string &file);
350 float GetLatencyTweak(
float refreshrate);
353 void SetDebugMode(
bool debug);
358 m_guiVisualizeDirtyRegions = !m_guiVisualizeDirtyRegions;
362 std::string m_videoExtensions;
363 std::string m_discStubExtensions;
364 std::string m_subtitlesExtensions;
365 std::string m_musicExtensions;
366 std::string m_pictureExtensions;
368 std::string m_stereoscopicregex_3d;
369 std::string m_stereoscopicregex_sbs;
370 std::string m_stereoscopicregex_tab;
372 bool m_openGlDebugging;
374 std::string m_userAgent;
375 uint32_t m_nfsTimeout;
381 void SetExtraArtwork(
const TiXmlElement* arttypes, std::vector<std::string>& artworkMap);
bool m_addSourceOnTop
True to put 'add source' buttons on top.
Definition: AdvancedSettings.h:188
Definition: ISettingCallback.h:16
bool m_bPVRChannelIconsAutoScan
automatically scan user defined folder for channel icons when loading internal channel groups ...
Definition: AdvancedSettings.h:319
Definition: AdvancedSettings.h:38
bool m_handleMounting
Only used in linux for the udisks and udisks2 providers defines if kodi should automount media drives...
Definition: AdvancedSettings.h:199
int m_iPVRTimeCorrection
correct all times (epg tags, timer tags, recording tags) by this amount of minutes. defaults to 0.
Definition: AdvancedSettings.h:317
int m_iPVRInfoToggleInterval
if there are more than 1 pvr gui info item available (e.g. multiple recordings active at the same tim...
Definition: AdvancedSettings.h:318
bool m_bPVRAutoScanIconsUserSet
mark channel icons populated by auto scan as "user set"
Definition: AdvancedSettings.h:320
Definition: AdvancedSettings.h:71
unsigned int m_imageRes
the maximal resolution to cache images at (assumes 16x9)
Definition: AdvancedSettings.h:230
Definition: SettingDefinitions.h:66
int m_iPVRTimeshiftThreshold
time diff between current playing time and timeshift buffer end, in seconds, before a playing stream ...
Definition: AdvancedSettings.h:322
DatabaseSettings m_databaseEpg
Definition: AdvancedSettings.h:329
Definition: AdvancedSettings.h:85
Definition: ProfileManager.h:25
Definition: settings.py:1
Interface defining methods being called by the settings system if an action is performed on multiple/...
Definition: ISettingsHandler.h:16
Settings manager responsible for initializing, loading and handling all settings. ...
Definition: SettingsManager.h:41
void ToggleDirtyRegionVisualization()
Toggles dirty-region visualization.
Definition: AdvancedSettings.h:356
unsigned int m_imageQualityJpeg
the stored jpeg quality the lower the better (default: 4)
Definition: AdvancedSettings.h:233
Definition: AdvancedSettings.h:107
SortDescription m_PVRDefaultSortOrder
SortDecription used to store default recording sort type and sort order.
Definition: AdvancedSettings.h:324
int m_remoteDelay
number of remote messages to ignore before repeating
Definition: AdvancedSettings.h:223
unsigned int m_fanartRes
the maximal resolution to cache fanart at (assumes 16x9)
Definition: AdvancedSettings.h:229
bool m_bEdlMergeShortCommBreaks
If GUI notifications should be shown when reaching the start of commercial breaks.
Definition: AdvancedSettings.h:280
Definition: AdvancedSettings.h:97
Definition: SortUtils.h:176
bool m_bPVRTimeshiftSimpleOSD
use simple timeshift OSD (with progress only for the playing event instead of progress for the whole ...
Definition: AdvancedSettings.h:323
int m_iPVRNumericChannelSwitchTimeout
time in msecs after that a channel switch occurs after entering a channel number, if confirmchannelsw...
Definition: AdvancedSettings.h:321