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,
95 Lib_CoverScaledPMCache,
101 Lib_DC_PlayIfStopped,
102 Lib_DC_PlayImmediately,
104 Lib_DD_PlayIfStoppedAndEmpty,
107 Lib_HeaderAutoResizeAlbums,
108 Lib_HeaderAutoResizeArtists,
109 Lib_HeaderAutoResizeTracks,
115 Lib_SearchStringLength,
117 Lib_ShowAlbumArtists,
119 Lib_ShowFilterExtBar,
120 Lib_SortIgnoreArtistArticle,
123 Lib_SplitterStateArtist,
124 Lib_SplitterStateDate,
125 Lib_SplitterStateGenre,
126 Lib_SplitterStateTrack,
127 Lib_UseViewClearButton,
135 Notification_Timeout,
136 PL_CurrentTrackColorStringDark,
137 PL_CurrentTrackColorStringStandard,
138 PL_CurrentTrackCustomColorDark,
139 PL_CurrentTrackCustomColorStandard,
141 PL_JumpToCurrentTrack,
144 PL_LastTrackBeforeStop,
146 PL_LoadSavedPlaylists,
147 PL_LoadTemporaryPlaylists,
149 PL_PlayTrackAfterSearch,
151 PL_RememberTrackAfterStop,
158 PL_StartPlayingWorkaround_Issue263,
163 Player_ForceNativeDirDialog,
169 Player_NotifyNewVersion,
175 Player_SplitterControls,
176 Player_SplitterState,
191 Soundcloud_AuthToken,
195 Stream_SearchWindowSize,
218 enum class ViewType :
222template<
typename DataType, SettingKey keyIndex>
225 using Data [[maybe_unused]] = DataType;
226 const static SettingKey key = keyIndex;
233#define CreateSetting(settingkey, type); \
234 using settingkey = SettingIdentifier<type, SettingKey:: settingkey>
238 CreateSetting(AlternativeCovers_Size, QSize);
239 CreateSetting(AudioConvert_NumberThreads,
int);
240 CreateSetting(AudioConvert_PreferredConverter, QString);
241 CreateSetting(AudioConvert_QualityLameCBR,
int);
242 CreateSetting(AudioConvert_QualityLameVBR,
int);
243 CreateSetting(AudioConvert_QualityOgg,
int);
244 CreateSetting(Broadcast_Active,
bool);
245 CreateSetting(Broadcast_Port,
int);
246 CreateSetting(Broadcast_Prompt,
bool);
247 CreateSetting(Cover_FetchFromWWW,
bool);
248 CreateSetting(Cover_SaveToDB,
bool);
249 CreateSetting(Cover_SaveToLibrary,
bool);
250 CreateSetting(Cover_SaveToSayonaraDir,
bool);
251 CreateSetting(Cover_Server, QStringList);
252 CreateSetting(Cover_StartSearch,
bool);
253 CreateSetting(Cover_TemplatePath, QString);
254 CreateSetting(Dir_ShowTracks,
bool);
255 CreateSetting(Dir_SplitterDirFile, QByteArray);
256 CreateSetting(Dir_SplitterTracks, QByteArray);
257 CreateSetting(Dir_TagToFilenameExpression, QString);
258 CreateSetting(Engine_AlsaDevice, QString);
259 CreateSetting(Engine_BufferSizeMS,
int);
260 CreateSetting(Engine_CovertTargetPath, QString);
261 CreateSetting(Engine_CrossFaderActive,
bool);
262 CreateSetting(Engine_CrossFaderTime,
int);
263 CreateSetting(Engine_CurTrackPos_s,
int);
264 CreateSetting(Engine_Mute,
bool);
265 CreateSetting(Engine_Name, QString);
266 CreateSetting(Engine_Pitch,
int);
267 CreateSetting(Engine_PreservePitch,
bool);
268 CreateSetting(Engine_SR_Active,
bool);
269 CreateSetting(Engine_SR_AutoRecord,
bool);
270 CreateSetting(Engine_SR_Path, QString);
271 CreateSetting(Engine_SR_SessionPath,
bool);
272 CreateSetting(Engine_SR_SessionPathTemplate, QString);
273 CreateSetting(Engine_SR_Warning,
bool);
274 CreateSetting(Engine_ShowLevel,
bool);
275 CreateSetting(Engine_ShowSpectrum,
bool);
276 CreateSetting(Engine_Sink, QString);
277 CreateSetting(Engine_SoundFileExtensions, QStringList);
278 CreateSetting(Engine_SpectrumBins,
int);
279 CreateSetting(Engine_Speed,
float);
280 CreateSetting(Engine_SpeedActive,
bool);
281 CreateSetting(Engine_Vol,
int);
282 CreateSetting(Eq_Gauss,
bool);
283 CreateSetting(Eq_Last,
int);
284 CreateSetting(Icon_ForceInDarkTheme,
bool);
285 CreateSetting(Icon_Theme, QString);
286 CreateSetting(InfoDialog_Size, QSize);
287 CreateSetting(LFM_Active,
bool);
288 CreateSetting(LFM_Corrections,
bool);
290 CreateSetting(LFM_Password, QString);
291 CreateSetting(LFM_ScrobbleTimeSec,
int);
292 CreateSetting(LFM_SessionKey, QString);
293 CreateSetting(LFM_ShowErrors,
bool);
294 CreateSetting(LFM_Username, QString);
295 CreateSetting(Level_Style,
int);
297 CreateSetting(Lib_AutoUpdate,
bool);
298 CreateSetting(Lib_ColStateAlbums, QByteArray);
299 CreateSetting(Lib_ColStateArtists, QByteArray);
300 CreateSetting(Lib_ColStateTracks, QByteArray);
301 CreateSetting(Lib_CoverOrigPMCache,
int);
302 CreateSetting(Lib_CoverScaledPMCache,
int);
303 CreateSetting(Lib_CoverShowArtist,
bool);
304 CreateSetting(Lib_CoverShowUtils,
bool);
305 CreateSetting(Lib_CoverZoom,
int);
306 CreateSetting(Lib_CurPlugin, QString);
307 CreateSetting(Lib_DC_DoNothing,
bool);
308 CreateSetting(Lib_DC_PlayIfStopped,
bool);
309 CreateSetting(Lib_DC_PlayImmediately,
bool);
310 CreateSetting(Lib_DD_DoNothing,
bool);
311 CreateSetting(Lib_DD_PlayIfStoppedAndEmpty,
bool);
312 CreateSetting(Lib_FontBold,
bool);
313 CreateSetting(Lib_GenreTree,
bool);
314 CreateSetting(Lib_HeaderAutoResizeAlbums,
bool);
315 CreateSetting(Lib_HeaderAutoResizeArtists,
bool);
316 CreateSetting(Lib_HeaderAutoResizeTracks,
bool);
317 CreateSetting(Lib_LastIndex,
int);
318 CreateSetting(Lib_LiveSearch,
bool);
319 CreateSetting(Lib_OldWidth,
int);
320 CreateSetting(Lib_Path, QString);
321 CreateSetting(Lib_SearchMode,
int);
322 CreateSetting(Lib_SearchStringLength,
int);
323 CreateSetting(Lib_Show,
bool);
324 CreateSetting(Lib_ShowAlbumArtists,
bool);
325 CreateSetting(Lib_ShowAlbumCovers,
bool);
326 CreateSetting(Lib_ShowFilterExtBar,
bool);
327 CreateSetting(Lib_SortIgnoreArtistArticle,
bool);
328 CreateSetting(Lib_SortModeMask,
int);
330 CreateSetting(Lib_SplitterStateArtist, QByteArray);
331 CreateSetting(Lib_SplitterStateDate, QByteArray);
332 CreateSetting(Lib_SplitterStateGenre, QByteArray);
333 CreateSetting(Lib_SplitterStateTrack, QByteArray);
334 CreateSetting(Lib_UseViewClearButton,
bool);
335 CreateSetting(Lib_ViewType, Library::ViewType);
336 CreateSetting(Logger_Level,
int);
337 CreateSetting(Lyrics_Server, QString);
338 CreateSetting(Lyrics_Zoom,
int);
339 CreateSetting(Notification_Name, QString);
340 CreateSetting(Notification_Show,
bool);
341 CreateSetting(Notification_Timeout,
int);
342 CreateSetting(PL_CurrentTrackColorStringDark, QString);
343 CreateSetting(PL_CurrentTrackColorStringStandard, QString);
344 CreateSetting(PL_CurrentTrackCustomColorDark,
bool);
345 CreateSetting(PL_CurrentTrackCustomColorStandard,
bool);
346 CreateSetting(PL_EntryLook, QString);
347 CreateSetting(PL_JumpToCurrentTrack,
bool);
348 CreateSetting(PL_LastPlaylist,
int);
349 CreateSetting(PL_LastTrack,
int);
350 CreateSetting(PL_LastTrackBeforeStop,
int);
351 CreateSetting(PL_LoadLastTrack,
bool);
352 CreateSetting(PL_LoadSavedPlaylists,
bool);
353 CreateSetting(PL_LoadTemporaryPlaylists,
bool);
355 CreateSetting(PL_PlayTrackAfterSearch,
bool);
356 CreateSetting(PL_RememberTime,
bool);
357 CreateSetting(PL_RememberTrackAfterStop,
bool);
358 CreateSetting(PL_ShowBottomBar,
bool);
359 CreateSetting(PL_ShowClearButton,
bool);
360 CreateSetting(PL_ShowCovers,
bool);
361 CreateSetting(PL_ShowNumbers,
bool);
362 CreateSetting(PL_ShowRating,
bool);
363 CreateSetting(PL_StartPlaying,
bool);
364 CreateSetting(PL_StartPlayingWorkaround_Issue263,
366 CreateSetting(Player_514Fix,
bool);
367 CreateSetting(Player_ControlStyle,
int);
368 CreateSetting(Player_FadingCover,
bool);
369 CreateSetting(Player_ForceNativeDirDialog,
bool);
370 CreateSetting(Player_Fullscreen,
bool);
371 CreateSetting(Player_Geometry, QByteArray);
372 CreateSetting(Player_Language, QString);
373 CreateSetting(Player_Maximized,
bool);
374 CreateSetting(Player_Min2Tray,
bool);
375 CreateSetting(Player_NotifyNewVersion,
bool);
376 CreateSetting(Player_OneInstance,
bool);
377 CreateSetting(Player_PrivId, QByteArray);
378 CreateSetting(Player_PublicId, QByteArray);
379 CreateSetting(Player_ShowTrayIcon,
bool);
380 CreateSetting(Player_ShownPlugin, QString);
381 CreateSetting(Player_SplitterControls, QByteArray);
382 CreateSetting(Player_SplitterState, QByteArray);
383 CreateSetting(Player_StartInTray,
bool);
384 CreateSetting(Player_Style,
int);
385 CreateSetting(Player_Version, QString);
386 CreateSetting(Proxy_Active,
bool);
387 CreateSetting(Proxy_Hostname, QString);
388 CreateSetting(Proxy_Password, QString);
389 CreateSetting(Proxy_Port,
int);
390 CreateSetting(Proxy_SavePw,
bool);
391 CreateSetting(Proxy_Username, QString);
392 CreateSetting(Remote_Active,
bool);
393 CreateSetting(Remote_DiscoverPort,
int);
394 CreateSetting(Remote_Discoverable,
bool);
395 CreateSetting(Remote_Port,
int);
396 CreateSetting(Settings_Revision,
int);
397 CreateSetting(Spectrum_Style,
int);
398 CreateSetting(Speed_LastTab,
int);
399 CreateSetting(Stream_NewTab,
bool);
400 CreateSetting(Stream_SearchWindowSize, QSize);
401 CreateSetting(Stream_ShowHistory,
bool);
406 CreateSetting(MP3enc_found,
bool);
407 CreateSetting(Pitch_found,
bool);
408 CreateSetting(Soundcloud_AuthToken, QString);
The EQ_Setting class. Container for Equalizer configurations.
Definition: EqualizerSetting.h:35
The Sortings class.
Definition: Sorting.h:37
The Mode class.
Definition: PlaylistMode.h:42
Definition: EngineUtils.h:33
An interface class needed when implementing a library plugin.
Definition: LocalLibraryWatcher.h:31
Definition: typedefs.h:33
The RawShortcutMap struct consisting of a specifier writable into database and a shortcut....
Definition: RawShortcutMap.h:38
Definition: SettingKey.h:224