2 * Copyright (C) 2017-2018 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
11 // LibExportSettings.h: interface for the CLibExportSettings class.
13 //////////////////////////////////////////////////////////////////////
15 #include "settings/lib/Setting.h"
19 // Enumeration of library export options (possibly OR'd together)
20 enum ELIBEXPORTOPTIONS
22 ELIBEXPORT_SINGLEFILE
= 0x0000,
23 ELIBEXPORT_SEPARATEFILES
= 0x0001,
24 ELIBEXPORT_TOLIBRARYFOLDER
= 0x0002,
25 ELIBEXPORT_OVERWRITE
= 0x0004,
26 ELIBEXPORT_UNSCRAPED
= 0x0008,
27 ELIBEXPORT_ALBUMS
= 0x0010,
28 ELIBEXPORT_ALBUMARTISTS
= 0x0020,
29 ELIBEXPORT_SONGARTISTS
= 0x0040,
30 ELIBEXPORT_OTHERARTISTS
= 0x0080,
31 ELIBEXPORT_ARTWORK
= 0x0100,
32 ELIBEXPORT_NFOFILES
= 0x0200,
33 ELIBEXPORT_ACTORTHUMBS
= 0x0400,
34 ELIBEXPORT_ARTISTFOLDERS
= 0x0800,
35 ELIBEXPORT_SONGS
= 0x1000
38 class CLibExportSettings
42 ~CLibExportSettings() = default;
44 bool operator!=(const CLibExportSettings
&right
) const;
45 bool IsItemExported(ELIBEXPORTOPTIONS item
) const;
46 bool IsArtists() const;
47 std::vector
<int> GetExportItems() const;
48 std::vector
<int> GetLimitedItems(int items
) const;
49 void ClearItems() { m_itemstoexport
= 0; }
50 void AddItem(ELIBEXPORTOPTIONS item
) { m_itemstoexport
+= item
; }
51 unsigned int GetItemsToExport() { return m_itemstoexport
; }
52 void SetItemsToExport(int itemstoexport
) { m_itemstoexport
= static_cast<unsigned int>(itemstoexport
); }
53 unsigned int GetExportType() { return m_exporttype
; }
54 void SetExportType(int exporttype
) { m_exporttype
= static_cast<unsigned int>(exporttype
); }
55 bool IsSingleFile() const;
56 bool IsSeparateFiles() const;
57 bool IsToLibFolders() const;
58 bool IsArtistFoldersOnly() const;
60 std::string m_strPath
;
66 unsigned int m_exporttype
; //singlefile, separate files, to library folder
67 unsigned int m_itemstoexport
;