Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
project_path_provider.h
1// SPDX-FileCopyrightText: © 2025 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
4#pragma once
5
6#include "utils/types.h"
7
8namespace zrythm::gui
9{
11{
12 static constexpr auto PROJECT_FILE = "project.zpj"sv;
13 static constexpr auto PROJECT_BACKUPS_DIR = "backups"sv;
14 static constexpr auto PROJECT_PLUGINS_DIR = "plugins"sv;
15 static constexpr auto PROJECT_PLUGIN_STATES_DIR = "states"sv;
16 static constexpr auto PROJECT_PLUGIN_EXT_COPIES_DIR = "ext_file_copies"sv;
17 static constexpr auto PROJECT_PLUGIN_EXT_LINKS_DIR = "ext_file_links"sv;
18 static constexpr auto PROJECT_EXPORTS_DIR = "exports"sv;
19 static constexpr auto PROJECT_STEMS_DIR = "stems"sv;
20 static constexpr auto PROJECT_POOL_DIR = "pool"sv;
21
22public:
23 enum class ProjectPath
24 {
29
30 BackupsDir,
31
34
37
41
45
46 ExportsDir,
47
48 /* EXPORTS / "stems". */
49 ExportStemsDir,
50
51 AudioFilePoolDir,
52 };
53
57 static fs::path get_path (ProjectPath path);
58};
59}
@ PLUGIN_EXT_COPIES
External files for plugin states, under the STATES dir.
@ PLUGIN_EXT_LINKS
External files for plugin states, under the STATES dir.
static fs::path get_path(ProjectPath path)
Returns the path of the given type relative to a project's directory.