summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/xas/drone.h10
-rw-r--r--src/drone.c18
2 files changed, 28 insertions, 0 deletions
diff --git a/include/xas/drone.h b/include/xas/drone.h
index 338d53d..b508e6d 100644
--- a/include/xas/drone.h
+++ b/include/xas/drone.h
@@ -66,6 +66,16 @@ void xas_drone_chamber_insert_drone(xas_drone_chamber *chamber,
xas_drone *drone,
size_t index);
+void xas_drone_chamber_bass_start(xas_drone_chamber *chamber);
+
+void xas_drone_chamber_bass_stop(xas_drone_chamber *chamber);
+
+void xas_drone_chamber_bass_set_type(xas_drone_chamber *chamber,
+ enum xas_synth_type type);
+
+void xas_drone_chamber_bass_set_frequency(xas_drone_chamber *chamber,
+ size_t freq);
+
int xas_drone_chamber_seq_intervals(xas_drone_chamber *chamber,
xas_drone_chamber_interval *intervals,
xas_seq *seq,
diff --git a/src/drone.c b/src/drone.c
index 2a130fd..da3c3ae 100644
--- a/src/drone.c
+++ b/src/drone.c
@@ -181,6 +181,24 @@ void xas_drone_chamber_insert_drone(xas_drone_chamber *chamber,
chamber->drones[index] = drone;
}
+void xas_drone_chamber_bass_start(xas_drone_chamber *chamber) {
+ xas_synth_start(chamber->synth_bass->ctx);
+}
+
+void xas_drone_chamber_bass_stop(xas_drone_chamber *chamber) {
+ xas_synth_stop(chamber->synth_bass->ctx);
+}
+
+void xas_drone_chamber_bass_set_type(xas_drone_chamber *chamber,
+ enum xas_synth_type type) {
+ xas_synth_set_type(chamber->synth_bass->ctx, type);
+}
+
+void xas_drone_chamber_bass_set_frequency(xas_drone_chamber *chamber,
+ size_t freq) {
+ xas_synth_set_frequency(chamber->synth_bass->ctx, freq);
+}
+
int xas_drone_chamber_seq_intervals(xas_drone_chamber *chamber,
xas_drone_chamber_interval *intervals,
xas_seq *seq,