forked from korginc/logue-sdk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
_unit_base.c
106 lines (79 loc) · 2.59 KB
/
_unit_base.c
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
/**
* @file _unit_base.c
* @brief Fallback implementations for unit header and callbacks
*
* Copyright (c) 2020-2022 KORG Inc. All rights reserved.
*
*/
#include <stddef.h>
#include "unit.h"
// ---- Fallback unit header definition -----------------------------------------------------------
// Fallback unit header, note that this content is invalid, must be overriden
const __attribute__((weak, section(".unit_header"))) unit_header_t unit_header = {
.header_size = sizeof(unit_header_t),
.target = UNIT_TARGET_PLATFORM,
.api = UNIT_API_VERSION,
.dev_id = 0x0,
.unit_id = 0x0,
.version = 0x0,
.name = "undefined",
.num_presets = 0x0,
.num_params = 0x0,
.params = {{0}}};
// ---- Fallback entry points from drumlogue runtime ----------------------------------------------
__attribute__((weak)) int8_t unit_init(const unit_runtime_desc_t * desc) {
(void)desc;
return k_unit_err_undef;
}
__attribute__((weak)) void unit_teardown() {}
__attribute__((weak)) void unit_reset() {}
__attribute__((weak)) void unit_resume() {}
__attribute__((weak)) void unit_suspend() {}
__attribute__((weak)) void unit_render(const float * in, float * out, uint32_t frames) {
(void)in;
(void)out;
(void)frames;
}
__attribute__((weak)) uint8_t unit_get_preset_index() {
return 0;
}
__attribute__((weak)) const char * unit_get_preset_name(uint8_t idx) {
(void)idx;
return NULL;
}
__attribute__((weak)) void unit_load_preset(uint8_t idx) {
(void)idx;
}
__attribute__((weak)) int32_t unit_get_param_value(uint8_t id) {
(void)id;
return 0;
}
__attribute__((weak)) const char * unit_get_param_str_value(uint8_t id, int32_t value) {
(void)id;
(void)value;
return NULL;
}
__attribute__((weak)) const uint8_t * unit_get_param_bmp_value(uint8_t id, int32_t value) {
(void)id;
(void)value;
return NULL;
}
__attribute__((weak)) void unit_set_param_value(uint8_t id, int32_t value) {
(void)id;
(void)value;
}
__attribute__((weak)) void unit_set_tempo(uint32_t tempo) { (void)tempo; }
__attribute__((weak)) void unit_note_on(uint8_t note, uint8_t mod) {
(void)note;
(void)mod;
}
__attribute__((weak)) void unit_note_off(uint8_t note) { (void)note; }
__attribute__((weak)) void unit_gate_on(uint8_t mod) { (void)mod; }
__attribute__((weak)) void unit_gate_off(void) {}
__attribute__((weak)) void unit_all_note_off(void) {}
__attribute__((weak)) void unit_pitch_bend(uint16_t bend) { (void)bend; }
__attribute__((weak)) void unit_channel_pressure(uint8_t mod) { (void)mod; }
__attribute__((weak)) void unit_aftertouch(uint8_t note, uint8_t mod) {
(void)note;
(void)mod;
}