summaryrefslogtreecommitdiff
path: root/sw/Core/Src/enums.h
diff options
context:
space:
mode:
Diffstat (limited to 'sw/Core/Src/enums.h')
-rwxr-xr-xsw/Core/Src/enums.h288
1 files changed, 288 insertions, 0 deletions
diff --git a/sw/Core/Src/enums.h b/sw/Core/Src/enums.h
new file mode 100755
index 0000000..747b3d7
--- /dev/null
+++ b/sw/Core/Src/enums.h
@@ -0,0 +1,288 @@
+#pragma once
+
+
+#include "wtenum.h"
+
+enum ECats {
+ CAT_BLANK,
+ CAT_BASS,CAT_LEADS,CAT_PADS,CAT_ARPS,CAT_PLINKS,CAT_PLONKS,CAT_BEEPS,CAT_BOOPS,CAT_SFX,CAT_LINEIN,
+ CAT_SAMPLER,CAT_DONK,CAT_JOLLY,CAT_SADNESS,CAT_WILD,CAT_GNARLY,CAT_WEIRD,
+ CAT_LAST
+};
+const char* const kpresetcats[CAT_LAST] = {
+"",
+"Bass",
+"Leads",
+"Pads",
+"Arps",
+"Plinks",
+"Plonks",
+"Beeps",
+"Boops",
+"SFX",
+"Line-In",
+"Sampler",
+"Donk",
+"Jolly",
+"Sadness",
+"Wild",
+"Gnarly",
+"Weird",
+};
+
+#ifdef NEW_LAYOUT
+enum EPages {
+ PG_SOUND1, PG_SOUND2,
+ PG_ENV1, PG_ENV2,
+ PG_DELAY, PG_REVERB,
+ PG_ARP, PG_SEQ,
+ PG_SAMPLER, PG_JITTER,
+ PG_A, PG_B,
+ PG_X, PG_Y,
+ PG_MIX1, PG_MIX2,
+ PG_LAST,
+};
+const char* const pagenames[PG_LAST] = {
+ [PG_SOUND1] = I_SLIDERS "Sound",[PG_SOUND2] = I_PIANO "Sound",[PG_ENV1] = I_ADSR_A "Env1",[PG_ENV2] = I_ADSR_A "Env2",
+ [PG_ARP] = I_NOTES "Arp",[PG_SEQ] = I_NOTES "Seq",[PG_DELAY] = I_DELAY "Delay",[PG_REVERB] = I_REVERB "Reverb",
+ [PG_A] = I_A ,[PG_B] = I_B ,[PG_X] = I_X ,[PG_Y] = I_Y ,[PG_SAMPLER] = I_WAVE "Sampler",[PG_JITTER] = I_RANDOM "Jitter" };
+
+enum EModSources {
+ M_BASE,
+ M_ENV, // used to be M_TILT
+ M_PRESSURE,
+ M_A,
+ M_B,
+ M_X,
+ M_Y,
+ M_RND,
+ M_LAST,
+};
+#else
+enum EPages {
+ PG_A, PG_B,
+ PG_X, PG_Y,
+ PG_DELAY, PG_REVERB,
+ PG_PITCH, PG_SCALE,
+ PG_VOL, PG_MIX,
+ PG_ARP, PG_SEQ,
+ PG_SAMPLER, PG_JITTER,
+ PG_LAST,
+};
+
+const char* const pagenames[PG_LAST] = {
+ [PG_VOL] = I_SLIDERS "VCA",[PG_MIX] = I_SLIDERS "Mix",[PG_PITCH] = I_PIANO "Pitch",[PG_SCALE] = I_PIANO "Scale",
+ [PG_ARP] = I_NOTES "Arp",[PG_SEQ] = I_NOTES "Seq",[PG_DELAY] = I_DELAY "Delay",[PG_REVERB] = I_REVERB "Reverb",
+ [PG_A] = I_A ,[PG_B] = I_B ,[PG_X] = I_X ,[PG_Y] = I_Y ,[PG_SAMPLER] = I_WAVE "Sampler",[PG_JITTER] = I_RANDOM "Jitter" };
+
+enum EModSources {
+ M_BASE,
+ M_RND,
+ M_PRESSURE,
+ M_ENV, // used to be M_TILT
+ M_A,
+ M_B,
+ M_X,
+ M_Y,
+ M_LAST,
+};
+#endif
+
+enum ECVQuant {
+ CVQ_OFF,
+ CVQ_ON,
+ CVQ_SCALE,
+ CVQ_LAST
+};
+
+// Values for shift_down, which represents current state of the shift buttons (bottom row).
+// Only 1 shift button can be active at a time.
+enum {
+ SB_PARAMSA,
+ SB_PARAMSB,
+ SB_PRESET,
+ SB_PREV,
+ SB_NEXT,
+ SB_CLEAR,
+ SB_RECORD,
+ SB_PLAY,
+ SB_NOT_PRESSED = -1,
+ // suppressed touch; user has a finger on a nearby strip, maybe it was an accident.
+ SB_GHOSTED = -2,
+};
+
+// Values for editmode.
+enum {
+ EM_PLAY,
+ EM_PARAMSA,
+ EM_PARAMSB,
+ EM_START,
+ EM_END,
+ EM_PRESET,
+ EM_SAMPLE,
+};
+
+
+enum EArpModes {
+ ARP_UP,
+ ARP_DOWN,
+ ARP_UPDOWN,
+ ARP_UPDOWNREP,
+ ARP_PEDALUP,
+ ARP_PEDALDOWN,
+ ARP_PEDALUPDOWN,
+ ARP_RANDOM,
+ ARP_RANDOM2,
+ ARP_ALL,
+ ARP_UP8,
+ ARP_DOWN8,
+ ARP_UPDOWN8,
+ ARP_RANDOM8,
+ ARP_RANDOM28,
+ ARP_LAST,
+};
+
+static inline bool isarpmode8step(int mode) {
+ return mode >= ARP_UP8;
+}
+
+enum ESeqModes {
+ SEQ_PAUSE,
+ SEQ_FWD,
+ SEQ_BACK,
+ SEQ_PINGPONG,
+ SEQ_PINGPONGREP,
+ SEQ_RANDOM,
+ SEQ_LAST,
+};
+
+#ifdef NEW_LAYOUT
+#include "params_new.h"
+#else
+#include "params_old.h"
+#endif
+enum Scales {
+S_MAJOR,
+S_MINOR,
+S_HARMMINOR,
+S_PENTA,
+S_PENTAMINOR,
+S_HIRAJOSHI,
+S_INSEN,
+S_IWATO,
+S_MINYO,
+
+S_FIFTHS,
+S_TRIADMAJOR,
+S_TRIADMINOR,
+
+S_DORIAN,
+S_PHYRGIAN,
+S_LYDIAN,
+S_MIXOLYDIAN,
+S_AEOLIAN,
+S_LOCRIAN,
+
+S_BLUESMINOR,
+S_BLUESMAJOR,
+
+S_ROMANIAN,
+S_WHOLETONE,
+
+S_HARMONICS,
+S_HEXANY,
+S_JUST,
+
+
+S_CHROMATIC,
+S_DIMINISHED,
+S_LAST,
+};
+
+
+
+enum ELFOShape {
+ LFO_TRI, LFO_SIN, LFO_SMOOTHNOISE, LFO_STEPNOISE, LFO_BISQUARE, LFO_SQUARE, LFO_SANDCASTLE, LFO_SAW, LFO_BITRIGS, LFO_TRIGS, LFO_ENV, LFO_LAST,
+};
+
+
+
+const char* const scalenames[S_LAST] = {
+[S_MAJOR]="Major",
+[S_MINOR]="Minor",
+[S_HARMMINOR]="Harmonic Min",
+[S_PENTA]="Penta Maj",
+[S_PENTAMINOR]="Penta Min",
+[S_HIRAJOSHI]="Hirajoshi",
+[S_INSEN]="Insen",
+[S_IWATO]="Iwato",
+[S_MINYO]="Minyo",
+[S_FIFTHS]="Fifths",
+[S_TRIADMAJOR]="Triad Maj",
+[S_TRIADMINOR]="Triad Min",
+[S_DORIAN]="Dorian",
+[S_PHYRGIAN]="Phrygian",
+[S_LYDIAN]="Lydian",
+[S_MIXOLYDIAN]="Mixolydian",
+[S_AEOLIAN]="Aeolian",
+[S_LOCRIAN]="Lacrian",
+[S_BLUESMINOR]="Blues Min",
+[S_BLUESMAJOR]="Blues Maj",
+[S_ROMANIAN]="Romanian",
+[S_WHOLETONE]="Wholetone",
+[S_HARMONICS]="Harmonics",
+[S_HEXANY]="Hexany",
+[S_JUST]="Just",
+[S_CHROMATIC]="Chromatic",
+[S_DIMINISHED]="Diminished",
+};
+const char* const lfonames[LFO_LAST] = {
+ [LFO_TRI] = "Triangle",[LFO_SIN] = "Sine",[LFO_SMOOTHNOISE] = "SmthRnd",
+ [LFO_STEPNOISE] = "StepRnd",[LFO_BISQUARE] = "BiSquare",
+ [LFO_SQUARE] = "Square",[LFO_SANDCASTLE] = "Castle",
+ [LFO_BITRIGS] = "BiTrigs",[LFO_TRIGS] = "Trigs",
+ [LFO_ENV] = "Env", [LFO_SAW] = "Saw"
+};
+
+const char* const cvquantnames[CVQ_LAST] = {
+ [CVQ_OFF] = "Off",
+ [CVQ_ON] = "On",
+ [CVQ_SCALE] = "Scale",
+};
+
+const char* const seqmodenames[SEQ_LAST] = {
+ [SEQ_PAUSE]="Pause",
+ [SEQ_FWD] = "Forward",
+ [SEQ_BACK] = "Reverse",
+ [SEQ_PINGPONG] = "Pingpong",
+ [SEQ_PINGPONGREP] = "PingPong Rep",
+ [SEQ_RANDOM] = "Random",
+};
+
+const char* const arpmodenames[ARP_LAST] = {
+ [ARP_UP] = "Up",
+ [ARP_DOWN] = "Down",
+ [ARP_UPDOWN] = "Up/Down",
+ [ARP_UPDOWNREP] = "Up/Down\nRepeat",
+ [ARP_PEDALUP] = "Pedal \nUp",
+ [ARP_PEDALDOWN] = "Pedal \nDown",
+ [ARP_PEDALUPDOWN] = "Pedal\nUp/Down",
+ [ARP_RANDOM] = "Rnd",
+ [ARP_RANDOM2] = "2xRnd",
+ [ARP_ALL] = "Chord",
+ [ARP_UP8] = "Up\n8 Steps",
+ [ARP_DOWN8] = "Down\n8 Steps",
+ [ARP_UPDOWN8] = "Up/Down\n8 Steps",
+ [ARP_RANDOM8] = "Rnd\n8 Steps",
+ [ARP_RANDOM28] = "2xRnd\n8 Steps",
+};
+
+const char* const modnames[M_LAST] = { [M_BASE] = I_SLIDERS "Base",[M_RND] = I_RANDOM "Random",[M_ENV] = I_ENV "Env",[M_PRESSURE] = I_TOUCH "Pressure",
+ [M_A] = I_A "Knob/LFO",[M_B] = I_B "Knob/LFO",[M_X] = I_X "CV/LFO",[M_Y] = I_Y "CV/LFO",
+ };
+
+
+#define DIVISIONS_MAX 22
+u16 const divisions[DIVISIONS_MAX] = { 1,2, 3,4,5, 6,8,10, 12,16,20, 24,32,40, 48,64,80, 96,128,160, 192, 256 };
+//static const char* const divisornames[6] = { "32nd","16th","8th", "quarter", "half","whole" };
+