summaryrefslogtreecommitdiff
path: root/quantum/audio/voices.h
diff options
context:
space:
mode:
authorDrashna Jael're <drashna@live.com>2021-06-29 12:23:03 -0700
committerDrashna Jael're <drashna@live.com>2021-06-29 12:24:07 -0700
commitacf2c323e2927f6007b17ded577cf49fd86fec6c (patch)
tree8334dc5c71e6ab9bf33c76143eac7bb0e60159b0 /quantum/audio/voices.h
parentec7a7beeed3046e9144d4c4ce0ef3b2c4f9e4341 (diff)
parentf55e39e8a2246f6f96fd5d4a84a866e2615cde7b (diff)
Merge upstream QMK Firmware at '0.12.52~1'
Diffstat (limited to 'quantum/audio/voices.h')
-rw-r--r--quantum/audio/voices.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/quantum/audio/voices.h b/quantum/audio/voices.h
index abafa2b404..7bd26b461f 100644
--- a/quantum/audio/voices.h
+++ b/quantum/audio/voices.h
@@ -1,4 +1,5 @@
/* Copyright 2016 Jack Humbert
+ * Copyright 2020 JohSchneider
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -29,6 +30,7 @@ float voice_envelope(float frequency);
typedef enum {
default_voice,
#ifdef AUDIO_VOICES
+ vibrating,
something,
drums,
butts_fader,
@@ -48,3 +50,21 @@ typedef enum {
void set_voice(voice_type v);
void voice_iterate(void);
void voice_deiterate(void);
+
+// Vibrato functions
+void voice_set_vibrato_rate(float rate);
+void voice_increase_vibrato_rate(float change);
+void voice_decrease_vibrato_rate(float change);
+void voice_set_vibrato_strength(float strength);
+void voice_increase_vibrato_strength(float change);
+void voice_decrease_vibrato_strength(float change);
+
+// Timbre functions
+/**
+ * @brief set the global timbre for tones to be played
+ * @note: only applies to pwm implementations - where it adjusts the duty-cycle
+ * @note: using any instrument from voices.[ch] other than 'default' may override the set value
+ * @param[in]: timbre: valid range is (0,100)
+ */
+void voice_set_timbre(uint8_t timbre);
+uint8_t voice_get_timbre(void);