summaryrefslogtreecommitdiffstats
path: root/src/library/export/engineprimeexportrequest.h
blob: efd840be8374ec8c6d9694cc9c5d76689ecf6198 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#pragma once

#include <QDir>
#include <QSet>
#include <djinterop/djinterop.hpp>

#include "library/trackset/crate/crateid.h"

namespace mixxx {

/// A request to export the Mixxx library to an external Engine Prime database.
struct EnginePrimeExportRequest {
    /// Directory path, ending in "Engine Library", where database files will
    /// be written.
    QDir engineLibraryDbDir;

    /// Directory in which to write the exported music files.
    QDir musicFilesDir;

    /// Version of Engine Prime database to use when exporting.
    djinterop::semantic_version exportVersion;

    /// Set of crates to export, if `exportSelectedCrates` is set to true.
    ///
    /// An empty set here implies that the whole music library is to be
    /// exported.
    QSet<CrateId> crateIdsToExport;
};

} // namespace mixxx