blob: bea7b185dc0adc2817d87dee99a085b24166e0fe (
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
#ifndef PKE_AT_PKE_AT_SETLIST_TYPES_HPP
#define PKE_AT_PKE_AT_SETLIST_TYPES_HPP
#include <pke/pke.hpp>
enum PKE_AT_SECTION_TYPE_INDEX {
PKE_AT_SECTION_TYPE_INDEX_NONE,
PKE_AT_SECTION_TYPE_INDEX_VERSE,
PKE_AT_SECTION_TYPE_INDEX_CHORUS,
PKE_AT_SECTION_TYPE_INDEX_BRIDGE,
PKE_AT_SECTION_TYPE_INDEX_INTRO,
PKE_AT_SECTION_TYPE_INDEX_OUTRO,
PKE_AT_SECTION_TYPE_INDEX_INSTRUMENTAL,
PKE_AT_SECTION_TYPE_INDEX_INTERLUDE,
PKE_AT_SECTION_TYPE_INDEX_COUNT,
};
struct pke_at_section_type {
enum PKE_AT_SECTION_TYPE_INDEX section_type_index = PKE_AT_SECTION_TYPE_INDEX_NONE;
AssetKey title_key;
AssetHandle title_handle = AssetHandle_MAX;
};
struct pke_at_section_details {
pk_uuid song_uuid;
enum PKE_AT_SECTION_TYPE_INDEX section_type_index = PKE_AT_SECTION_TYPE_INDEX_NONE;
uint8_t sequence;
uint8_t beats_per_bar = 0;
uint8_t bar_count = 0;
};
struct pke_at_section {
pke_at_section_details details{};
};
struct pke_at_song_details {
pk_uuid uuid;
long ccli;
pk_cstr title;
pk_cstr arrangement;
uint8_t bpm;
};
struct pke_at_song {
struct pke_at_song_details details{};
float calculated_delta = 0.f;
pk_arr_t<pke_at_section> sections;
};
struct pke_at_setlist_details {
pk_cstr title;
};
struct pke_at_setlist {
struct pke_at_setlist_details details{};
pk_arr_t<pke_at_song> tracks;
};
struct pke_at_setlist_song_details {
pk_uuid setlist_uuid;
pk_uuid song_uuid;
};
struct pke_at_setlist_song {
struct pke_at_setlist_song_details details{};
};
#endif /* PKE_AT_PKE_AT_SETLIST_TYPES_HPP */
|