summaryrefslogtreecommitdiff
path: root/src/pke-at-data-interface-types.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/pke-at-data-interface-types.hpp')
-rw-r--r--src/pke-at-data-interface-types.hpp68
1 files changed, 68 insertions, 0 deletions
diff --git a/src/pke-at-data-interface-types.hpp b/src/pke-at-data-interface-types.hpp
new file mode 100644
index 0000000..e83af26
--- /dev/null
+++ b/src/pke-at-data-interface-types.hpp
@@ -0,0 +1,68 @@
+#ifndef PKE_AT_PKE_AT_DATA_INTERFACE_TYPES_HPP
+#define PKE_AT_PKE_AT_DATA_INTERFACE_TYPES_HPP
+
+#include "pke-at-setlist-types.hpp"
+#include <pke/pk.h>
+
+union di_data_id {
+ long id_long;
+};
+
+struct di_service_type_details {
+ di_data_id id;
+ pk_cstr name;
+};
+struct di_service_type {
+ di_service_type_details details{};
+};
+
+struct di_plan_details {
+ di_data_id id;
+ time_t date;
+ pk_cstr title;
+ pk_cstr series_title;
+};
+struct di_plan {
+ di_plan_details details{};
+};
+
+struct di_song_details {
+ di_data_id id;
+ pk_cstr title;
+ long ccli;
+};
+struct di_song {
+ di_song_details details{};
+};
+struct di_arrangement_details {
+ di_data_id id;
+ pk_cstr title;
+ pk_arr_t<PKE_AT_SECTION_TYPE_INDEX> sequence;
+ uint8_t beats_per_minute;
+ uint8_t beats_per_bar;
+ PKE_AT_KEY_INDEX chord_chart_key;
+};
+struct di_arrangement {
+ di_arrangement_details details{};
+};
+struct di_arrangement_key_details {
+ di_data_id id;
+ PKE_AT_KEY_INDEX key;
+};
+struct di_arrangement_key {
+ di_arrangement_key_details details{};
+};
+
+struct di_plan_item_details {
+ di_data_id id;
+ PKE_AT_KEY_INDEX key;
+ uint8_t sequence;
+};
+struct di_plan_item {
+ di_plan_item_details details{};
+ di_song song{};
+ di_arrangement arrangement{};
+ di_arrangement_key key{};
+};
+
+#endif /* PKE_AT_PKE_AT_DATA_INTERFACE_TYPES_HPP */