summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXANTRONIX Development2022-03-12 17:22:37 -0500
committerXANTRONIX Development2022-03-12 17:22:37 -0500
commitb27c582f11f29680b5ac6033d69e50c9263e1320 (patch)
treef94a9a270a3d0e1afe47fe3075f586283f264fa6
parent533ccaa23ca82bce45c6fd54580f2d2fdc0c34fa (diff)
downloadxas-b27c582f11f29680b5ac6033d69e50c9263e1320.tar.gz
xas-b27c582f11f29680b5ac6033d69e50c9263e1320.tar.bz2
xas-b27c582f11f29680b5ac6033d69e50c9263e1320.zip
Add methods to set drone, chamber synth gain
-rw-r--r--include/xas/drone.h4
-rw-r--r--src/drone.c16
2 files changed, 20 insertions, 0 deletions
diff --git a/include/xas/drone.h b/include/xas/drone.h
index b508e6d..d15b13b 100644
--- a/include/xas/drone.h
+++ b/include/xas/drone.h
@@ -66,6 +66,10 @@ void xas_drone_chamber_insert_drone(xas_drone_chamber *chamber,
xas_drone *drone,
size_t index);
+void xas_drone_chamber_set_drone_gain(xas_drone_chamber *chamber, float gain);
+
+void xas_drone_chamber_set_synth_gain(xas_drone_chamber *chamber, float gain);
+
void xas_drone_chamber_bass_start(xas_drone_chamber *chamber);
void xas_drone_chamber_bass_stop(xas_drone_chamber *chamber);
diff --git a/src/drone.c b/src/drone.c
index 2655758..d374e3b 100644
--- a/src/drone.c
+++ b/src/drone.c
@@ -181,6 +181,22 @@ void xas_drone_chamber_insert_drone(xas_drone_chamber *chamber,
chamber->drones[index] = drone;
}
+void xas_drone_chamber_set_drone_gain(xas_drone_chamber *chamber, float gain) {
+ size_t i;
+
+ for (i=0; i<chamber->drone_count; i++) {
+ xas_drone *drone = chamber->drones[i];
+
+ xas_object_set_gain(drone->obj->ctx, gain);
+ }
+}
+
+void xas_drone_chamber_set_synth_gain(xas_drone_chamber *chamber, float gain) {
+ xas_object_set_gain(chamber->synth_bass->ctx, gain);
+ xas_object_set_gain(chamber->synth_l->ctx, gain);
+ xas_object_set_gain(chamber->synth_r->ctx, gain);
+}
+
void xas_drone_chamber_bass_start(xas_drone_chamber *chamber) {
xas_synth_start(chamber->synth_bass->ctx);
}