23#ifndef SAYONARA_PLAYER_SETTINGKEY_H
24#define SAYONARA_PLAYER_SETTINGKEY_H
26#include "Utils/typedefs.h"
28enum class SettingKey :
31 AlternativeCovers_Size = 0,
32 AudioConvert_NumberThreads,
33 AudioConvert_PreferredConverter,
34 AudioConvert_QualityLameCBR,
35 AudioConvert_QualityLameVBR,
36 AudioConvert_QualityOgg,
43 Cover_SaveToSayonaraDir,
50 Dir_TagToFilenameExpression,
53 Engine_CovertTargetPath,
54 Engine_CrossFaderActive,
55 Engine_CrossFaderTime,
64 Engine_SR_SessionPath,
65 Engine_SR_SessionPathTemplate,
70 Engine_SoundFileExtensions,
77 Icon_ForceInDarkTheme,
96 Lib_CoverScaledPMCache,
101 Lib_CoverShowDuration,
105 Lib_DC_PlayIfStopped,
106 Lib_DC_PlayImmediately,
108 Lib_DD_PlayIfStoppedAndEmpty,
111 Lib_HeaderAutoResizeAlbums,
112 Lib_HeaderAutoResizeArtists,
113 Lib_HeaderAutoResizeTracks,
119 Lib_SearchStringLength,
121 Lib_ShowAlbumArtists,
123 Lib_ShowFilterExtBar,
124 Lib_SortIgnoreArtistArticle,
127 Lib_SplitterStateArtist,
128 Lib_SplitterStateDate,
129 Lib_SplitterStateGenre,
130 Lib_SplitterStateTrack,
131 Lib_UseViewClearButton,
134 Lyrics_ServerEntries,
140 Notification_Timeout,
141 PL_CreateFilesystemPlaylist,
142 PL_CurrentTrackColorStringDark,
143 PL_CurrentTrackColorStringStandard,
144 PL_CurrentTrackCustomColorDark,
145 PL_CurrentTrackCustomColorStandard,
147 PL_FilesystemPlaylistName,
148 PL_JumpToCurrentTrack,
151 PL_LastTrackBeforeStop,
153 PL_LoadRecentPlaylists,
154 PL_LoadSavedPlaylists,
155 PL_LoadTemporaryPlaylists,
157 PL_ModificatorAllowDynamicPlayback,
158 PL_ModificatorAllowRearrangeMethods,
159 PL_PlayTrackAfterSearch,
162 PL_RememberTrackAfterStop,
168 PL_SpecifyFileystemPlaylistName,
170 PL_StartPlayingWorkaround_Issue263,
171 PL_StartAtRandomTrackOnShuffle,
172 PL_ShowConfirmationOnClose,
177 Player_ForceNativeDirDialog,
183 Player_NotifyNewVersion,
189 Player_SplitterControls,
190 Player_SplitterState,
201 Soundcloud_AuthToken,
208 Stream_LockedPlaylistByDefault,
210 Stream_SearchWindowSize,
212 Stream_UpdateMetadata,
213 Stream_RadioSearcher,
214 Stream_RadioSearcherType,
215 Tagging_UseSelectiveTagging,
237 enum class ViewType :
246template<
typename DataType, SettingKey keyIndex>
249 using Data [[maybe_unused]] = DataType;
250 const static SettingKey key = keyIndex;
257#define CreateSetting(settingkey, type); \
258 using settingkey = SettingIdentifier<type, SettingKey:: settingkey>
263 CreateSetting(AlternativeCovers_Size, QSize);
264 CreateSetting(AudioConvert_NumberThreads,
int);
265 CreateSetting(AudioConvert_PreferredConverter, QString);
266 CreateSetting(AudioConvert_QualityLameCBR,
int);
267 CreateSetting(AudioConvert_QualityLameVBR,
int);
268 CreateSetting(AudioConvert_QualityOgg,
int);
269 CreateSetting(Broadcast_Active,
bool);
270 CreateSetting(Broadcast_Port,
int);
271 CreateSetting(Broadcast_Prompt,
bool);
272 CreateSetting(Cover_FetchFromWWW,
bool);
273 CreateSetting(Cover_SaveToDB,
bool);
274 CreateSetting(Cover_SaveToLibrary,
bool);
275 CreateSetting(Cover_SaveToSayonaraDir,
bool);
276 CreateSetting(Cover_Server, QStringList);
277 CreateSetting(Cover_StartSearch,
bool);
278 CreateSetting(Cover_TemplatePath, QString);
279 CreateSetting(Dir_ShowTracks,
bool);
280 CreateSetting(Dir_SplitterDirFile, QByteArray);
281 CreateSetting(Dir_SplitterTracks, QByteArray);
282 CreateSetting(Dir_TagToFilenameExpression, QString);
283 CreateSetting(Engine_AlsaDevice, QString);
284 CreateSetting(Engine_BufferSizeMS,
int);
285 CreateSetting(Engine_CovertTargetPath, QString);
286 CreateSetting(Engine_CrossFaderActive,
bool);
287 CreateSetting(Engine_CrossFaderTime,
int);
288 CreateSetting(Engine_CurTrackPos_s,
int);
289 CreateSetting(Engine_Mute,
bool);
290 CreateSetting(Engine_Name, QString);
291 CreateSetting(Engine_Pitch,
int);
292 CreateSetting(Engine_PreservePitch,
bool);
293 CreateSetting(Engine_SR_Active,
bool);
294 CreateSetting(Engine_SR_AutoRecord,
bool);
295 CreateSetting(Engine_SR_Path, QString);
296 CreateSetting(Engine_SR_SessionPath,
bool);
297 CreateSetting(Engine_SR_SessionPathTemplate, QString);
298 CreateSetting(Engine_SR_Warning,
bool);
299 CreateSetting(Engine_ShowLevel,
bool);
300 CreateSetting(Engine_ShowSpectrum,
bool);
301 CreateSetting(Engine_Sink, QString);
302 CreateSetting(Engine_SoundFileExtensions, QStringList);
303 CreateSetting(Engine_SpectrumBins,
int);
304 CreateSetting(Engine_Speed,
float);
305 CreateSetting(Engine_SpeedActive,
bool);
306 CreateSetting(Engine_Vol,
int);
307 CreateSetting(Eq_Gauss,
bool);
308 CreateSetting(Eq_Last,
int);
309 CreateSetting(Icon_ForceInDarkTheme,
bool);
310 CreateSetting(Icon_Theme, QString);
311 CreateSetting(InfoDialog_Size, QSize);
312 CreateSetting(InhibitIdle,
bool);
313 CreateSetting(LFM_Active,
bool);
314 CreateSetting(LFM_Corrections,
bool);
316 CreateSetting(LFM_Password, QString);
317 CreateSetting(LFM_ScrobbleTimeSec,
int);
318 CreateSetting(LFM_SessionKey, QString);
319 CreateSetting(LFM_ShowErrors,
bool);
320 CreateSetting(LFM_Username, QString);
321 CreateSetting(Level_Style,
int);
323 CreateSetting(Lib_AutoUpdate,
bool);
324 CreateSetting(Lib_ColStateAlbums, QByteArray);
325 CreateSetting(Lib_ColStateArtists, QByteArray);
326 CreateSetting(Lib_ColStateTracks, QByteArray);
327 CreateSetting(Lib_CoverOrigPMCache,
int);
328 CreateSetting(Lib_CoverScaledPMCache,
int);
329 CreateSetting(Lib_CoverScrollspeed,
int);
330 CreateSetting(Lib_CoverShowArtist,
bool);
331 CreateSetting(Lib_CoverShowYear,
bool);
332 CreateSetting(Lib_CoverShowDuration,
bool);
333 CreateSetting(Lib_CoverShowUtils,
bool);
334 CreateSetting(Lib_CoverZoom,
int);
335 CreateSetting(Lib_CurPlugin, QString);
336 CreateSetting(Lib_DC_DoNothing,
bool);
337 CreateSetting(Lib_DC_PlayIfStopped,
bool);
338 CreateSetting(Lib_DC_PlayImmediately,
bool);
339 CreateSetting(Lib_DD_DoNothing,
bool);
340 CreateSetting(Lib_DD_PlayIfStoppedAndEmpty,
bool);
341 CreateSetting(Lib_FontBold,
bool);
342 CreateSetting(Lib_GenreTree,
bool);
343 CreateSetting(Lib_HeaderAutoResizeAlbums,
bool);
344 CreateSetting(Lib_HeaderAutoResizeArtists,
bool);
345 CreateSetting(Lib_HeaderAutoResizeTracks,
bool);
346 CreateSetting(Lib_LastIndex,
int);
347 CreateSetting(Lib_LiveSearch,
bool);
348 CreateSetting(Lib_OldWidth,
int);
349 CreateSetting(Lib_Path, QString);
350 CreateSetting(Lib_SearchMode,
int);
351 CreateSetting(Lib_SearchStringLength,
int);
352 CreateSetting(Lib_Show,
bool);
353 CreateSetting(Lib_ShowAlbumArtists,
bool);
354 CreateSetting(Lib_ShowAlbumCovers,
bool);
355 CreateSetting(Lib_ShowFilterExtBar,
bool);
356 CreateSetting(Lib_SortIgnoreArtistArticle,
bool);
357 CreateSetting(Lib_SortModeMask,
int);
359 CreateSetting(Lib_SplitterStateArtist, QByteArray);
360 CreateSetting(Lib_SplitterStateDate, QByteArray);
361 CreateSetting(Lib_SplitterStateGenre, QByteArray);
362 CreateSetting(Lib_SplitterStateTrack, QByteArray);
363 CreateSetting(Lib_UseViewClearButton,
bool);
364 CreateSetting(Lib_ViewType, Library::ViewType);
365 CreateSetting(Logger_Level,
int);
367 CreateSetting(Lyrics_Server, QString);
368 CreateSetting(Lyrics_Zoom,
int);
369 CreateSetting(Notification_Name, QString);
370 CreateSetting(Notification_Show,
bool);
371 CreateSetting(Notification_Timeout,
int);
372 CreateSetting(PL_CurrentTrackColorStringDark, QString);
373 CreateSetting(PL_CurrentTrackColorStringStandard, QString);
374 CreateSetting(PL_CurrentTrackCustomColorDark,
bool);
375 CreateSetting(PL_CurrentTrackCustomColorStandard,
bool);
376 CreateSetting(PL_EntryLook, QString);
377 CreateSetting(PL_JumpToCurrentTrack,
bool);
378 CreateSetting(PL_LastPlaylist,
int);
379 CreateSetting(PL_LastTrack,
int);
380 CreateSetting(PL_LastTrackBeforeStop,
int);
381 CreateSetting(PL_LoadLastTrack,
bool);
382 CreateSetting(PL_LoadSavedPlaylists,
bool);
383 CreateSetting(PL_LoadTemporaryPlaylists,
bool);
384 CreateSetting(PL_CreateFilesystemPlaylist,
bool);
385 CreateSetting(PL_SpecifyFileystemPlaylistName,
bool);
386 CreateSetting(PL_FilesystemPlaylistName, QString);
387 CreateSetting(PL_LoadRecentPlaylists,
bool);
389 CreateSetting(PL_ModificatorAllowDynamicPlayback,
bool);
390 CreateSetting(PL_ModificatorAllowRearrangeMethods,
bool);
391 CreateSetting(PL_PlayTrackAfterSearch,
bool);
392 CreateSetting(PL_RecentPlaylists,
QList<int>);
393 CreateSetting(PL_RememberTime,
bool);
394 CreateSetting(PL_RememberTrackAfterStop,
bool);
395 CreateSetting(PL_ShowBottomBar,
bool);
396 CreateSetting(PL_ShowClearButton,
bool);
397 CreateSetting(PL_ShowCovers,
bool);
398 CreateSetting(PL_ShowNumbers,
bool);
399 CreateSetting(PL_ShowRating,
bool);
400 CreateSetting(PL_StartAtRandomTrackOnShuffle,
bool);
401 CreateSetting(PL_StartPlaying,
bool);
402 CreateSetting(PL_StartPlayingWorkaround_Issue263,
bool);
403 CreateSetting(PL_ShowConfirmationOnClose,
bool);
404 CreateSetting(Player_514Fix,
bool);
405 CreateSetting(Player_ControlStyle,
int);
406 CreateSetting(Player_FadingCover,
bool);
407 CreateSetting(Player_ForceNativeDirDialog,
bool);
408 CreateSetting(Player_Fullscreen,
bool);
409 CreateSetting(Player_Geometry, QByteArray);
410 CreateSetting(Player_Language, QString);
411 CreateSetting(Player_Maximized,
bool);
412 CreateSetting(Player_Min2Tray,
bool);
413 CreateSetting(Player_NotifyNewVersion,
bool);
414 CreateSetting(Player_OneInstance,
bool);
415 CreateSetting(Player_PrivId, QByteArray);
416 CreateSetting(Player_PublicId, QByteArray);
417 CreateSetting(Player_ShowTrayIcon,
bool);
418 CreateSetting(Player_ShownPlugin, QString);
419 CreateSetting(Player_SplitterControls, QByteArray);
420 CreateSetting(Player_SplitterState, QByteArray);
421 CreateSetting(Player_StartInTray,
bool);
422 CreateSetting(Player_Style,
int);
423 CreateSetting(Player_Version, QString);
424 CreateSetting(Proxy_Active,
bool);
425 CreateSetting(Proxy_Hostname, QString);
426 CreateSetting(Proxy_Password, QString);
427 CreateSetting(Proxy_Port,
int);
428 CreateSetting(Proxy_SavePw,
bool);
429 CreateSetting(Proxy_Username, QString);
430 CreateSetting(Settings_Revision,
int);
431 CreateSetting(Spectrum_Style,
int);
432 CreateSetting(Speed_LastTab,
int);
433 CreateSetting(Speed_MaxValue,
int)
434 CreateSetting(Speed_MinValue,
int)
435 CreateSetting(Speed_ShowSteps,
bool);
436 CreateSetting(Speed_Step,
int);
437 CreateSetting(Stream_LockedPlaylistByDefault,
bool);
438 CreateSetting(Stream_NewTab,
bool);
439 CreateSetting(Stream_RadioSearcher, QString);
440 CreateSetting(Stream_RadioSearcherType,
int);
441 CreateSetting(Stream_SearchWindowSize, QSize);
442 CreateSetting(Stream_ShowHistory,
bool);
443 CreateSetting(Stream_UpdateMetadata,
bool);
444 CreateSetting(Tagging_UseSelectiveTagging,
bool);
450 CreateSetting(MP3enc_found,
bool);
451 CreateSetting(Pitch_found,
bool);
452 CreateSetting(Soundcloud_AuthToken, QString);
The EQ_Setting class. Container for Equalizer configurations.
Definition EqualizerSetting.h:35
The Mode class.
Definition PlaylistMode.h:42
Definition EngineUtils.h:33
The RawShortcutMap struct consisting of a specifier writable into database and a shortcut....
Definition RawShortcutMap.h:38
Definition SettingKey.h:248