aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBad Diode <bd@badd10de.dev>2023-08-02 20:45:46 +0200
committerBad Diode <bd@badd10de.dev>2023-08-02 20:45:46 +0200
commit8528186b39886a3b032da0d42687b7db262ed49a (patch)
treecf94f3e43136d0066029498400c02f9b17f60d74
parent63e727dbe78d70e2f48bd4feef9293f61016aaeb (diff)
downloadstepper-8528186b39886a3b032da0d42687b7db262ed49a.tar.gz
stepper-8528186b39886a3b032da0d42687b7db262ed49a.zip
Change prob/condition sorting to be more logical
-rw-r--r--src/globals.c22
-rw-r--r--src/patterns.c136
2 files changed, 79 insertions, 79 deletions
diff --git a/src/globals.c b/src/globals.c
index 51ef292..57c77bb 100644
--- a/src/globals.c
+++ b/src/globals.c
@@ -162,21 +162,21 @@ typedef struct Chain {
162static Chain chain = {0}; 162static Chain chain = {0};
163 163
164typedef enum Prob { 164typedef enum Prob {
165 PROB_FOUR_FOUR,
166 PROB_THREE_FOUR,
167 PROB_TWO_FOUR,
168 PROB_ONE_FOUR,
169 PROB_THREE_THREE,
170 PROB_TWO_THREE,
171 PROB_ONE_THREE,
172 PROB_TWO_TWO,
173 PROB_ONE_TWO,
174 PROB_NOT_FIRST,
175 PROB_FIRST,
165 PROB_100, 176 PROB_100,
166 PROB_80, 177 PROB_80,
167 PROB_60, 178 PROB_60,
168 PROB_40, 179 PROB_40,
169 PROB_20, 180 PROB_20,
170 PROB_FIRST,
171 PROB_NOT_FIRST,
172 PROB_ONE_TWO,
173 PROB_TWO_TWO,
174 PROB_ONE_THREE,
175 PROB_TWO_THREE,
176 PROB_THREE_THREE,
177 PROB_ONE_FOUR,
178 PROB_TWO_FOUR,
179 PROB_THREE_FOUR,
180 PROB_FOUR_FOUR,
181 PROB_NUM, 181 PROB_NUM,
182} Prob; 182} Prob;
diff --git a/src/patterns.c b/src/patterns.c
index ed0f114..621eb14 100644
--- a/src/patterns.c
+++ b/src/patterns.c
@@ -90,22 +90,22 @@ const ChannelSquare default_ch1 = {
90 {true, NOTE_A_SHARP_4}, 90 {true, NOTE_A_SHARP_4},
91 }, 91 },
92 .params = { 92 .params = {
93 {8, 4, 0, 2, 0, 0, 0}, 93 {8, 4, 0, 2, 0, 0, 0, PROB_100, 0},
94 {8, 4, 0, 2, 0, 0, 0}, 94 {8, 4, 0, 2, 0, 0, 0, PROB_100, 0},
95 {8, 4, 0, 2, 0, 0, 0}, 95 {8, 4, 0, 2, 0, 0, 0, PROB_100, 0},
96 {8, 4, 0, 2, 0, 0, 0}, 96 {8, 4, 0, 2, 0, 0, 0, PROB_100, 0},
97 {8, 4, 0, 2, 0, 0, 0}, 97 {8, 4, 0, 2, 0, 0, 0, PROB_100, 0},
98 {8, 4, 0, 2, 0, 0, 0}, 98 {8, 4, 0, 2, 0, 0, 0, PROB_100, 0},
99 {8, 4, 0, 2, 0, 0, 0}, 99 {8, 4, 0, 2, 0, 0, 0, PROB_100, 0},
100 {8, 4, 0, 2, 0, 0, 0}, 100 {8, 4, 0, 2, 0, 0, 0, PROB_100, 0},
101 {8, 4, 0, 2, 0, 0, 0}, 101 {8, 4, 0, 2, 0, 0, 0, PROB_100, 0},
102 {8, 4, 0, 2, 0, 0, 0}, 102 {8, 4, 0, 2, 0, 0, 0, PROB_100, 0},
103 {8, 4, 0, 2, 0, 0, 0}, 103 {8, 4, 0, 2, 0, 0, 0, PROB_100, 0},
104 {8, 4, 0, 2, 0, 0, 0}, 104 {8, 4, 0, 2, 0, 0, 0, PROB_100, 0},
105 {8, 4, 0, 2, 0, 0, 0}, 105 {8, 4, 0, 2, 0, 0, 0, PROB_100, 0},
106 {8, 4, 0, 2, 0, 0, 0}, 106 {8, 4, 0, 2, 0, 0, 0, PROB_100, 0},
107 {8, 4, 0, 2, 0, 0, 0}, 107 {8, 4, 0, 2, 0, 0, 0, PROB_100, 0},
108 {8, 4, 0, 2, 0, 0, 0}, 108 {8, 4, 0, 2, 0, 0, 0, PROB_100, 0},
109 }, 109 },
110 .active = true, 110 .active = true,
111}; 111};
@@ -130,22 +130,22 @@ const ChannelSquare default_ch2 = {
130 {true, NOTE_C_3}, 130 {true, NOTE_C_3},
131 }, 131 },
132 .params = { 132 .params = {
133 {8, 4, 0, 2, 0, 0, 0}, 133 {8, 4, 0, 2, 0, 0, 0, PROB_100, 0},
134 {8, 4, 0, 2, 0, 0, 0}, 134 {8, 4, 0, 2, 0, 0, 0, PROB_100, 0},
135 {8, 4, 0, 2, 0, 0, 0}, 135 {8, 4, 0, 2, 0, 0, 0, PROB_100, 0},
136 {8, 4, 0, 2, 0, 0, 0}, 136 {8, 4, 0, 2, 0, 0, 0, PROB_100, 0},
137 {8, 4, 0, 2, 0, 0, 0}, 137 {8, 4, 0, 2, 0, 0, 0, PROB_100, 0},
138 {8, 4, 0, 2, 0, 0, 0}, 138 {8, 4, 0, 2, 0, 0, 0, PROB_100, 0},
139 {8, 4, 0, 2, 0, 0, 0}, 139 {8, 4, 0, 2, 0, 0, 0, PROB_100, 0},
140 {8, 4, 0, 2, 0, 0, 0}, 140 {8, 4, 0, 2, 0, 0, 0, PROB_100, 0},
141 {8, 4, 0, 2, 0, 0, 0}, 141 {8, 4, 0, 2, 0, 0, 0, PROB_100, 0},
142 {8, 4, 0, 2, 0, 0, 0}, 142 {8, 4, 0, 2, 0, 0, 0, PROB_100, 0},
143 {8, 4, 0, 2, 0, 0, 0}, 143 {8, 4, 0, 2, 0, 0, 0, PROB_100, 0},
144 {8, 4, 0, 2, 0, 0, 0}, 144 {8, 4, 0, 2, 0, 0, 0, PROB_100, 0},
145 {8, 4, 0, 2, 0, 0, 0}, 145 {8, 4, 0, 2, 0, 0, 0, PROB_100, 0},
146 {8, 4, 0, 2, 0, 0, 0}, 146 {8, 4, 0, 2, 0, 0, 0, PROB_100, 0},
147 {8, 4, 0, 2, 0, 0, 0}, 147 {8, 4, 0, 2, 0, 0, 0, PROB_100, 0},
148 {8, 4, 0, 2, 0, 0, 0}, 148 {8, 4, 0, 2, 0, 0, 0, PROB_100, 0},
149 }, 149 },
150 .active = true, 150 .active = true,
151}; 151};
@@ -170,22 +170,22 @@ const ChannelWave default_ch3 = {
170 {true, NOTE_G_5}, 170 {true, NOTE_G_5},
171 }, 171 },
172 .params = { 172 .params = {
173 {3, 0, WAVE_SIN, 0, WAVE_SAW, 0, 0, 0}, 173 {3, 0, WAVE_SIN, 0, WAVE_SAW, 0, PROB_100, 0},
174 {3, 0, WAVE_SIN, 0, WAVE_SAW, 0, 0, 0}, 174 {3, 0, WAVE_SIN, 0, WAVE_SAW, 0, PROB_100, 0},
175 {3, 0, WAVE_SIN, 0, WAVE_SAW, 0, 0, 0}, 175 {3, 0, WAVE_SIN, 0, WAVE_SAW, 0, PROB_100, 0},
176 {3, 0, WAVE_SIN, 0, WAVE_SAW, 0, 0, 0}, 176 {3, 0, WAVE_SIN, 0, WAVE_SAW, 0, PROB_100, 0},
177 {3, 0, WAVE_SIN, 0, WAVE_SAW, 0, 0, 0}, 177 {3, 0, WAVE_SIN, 0, WAVE_SAW, 0, PROB_100, 0},
178 {3, 0, WAVE_SIN, 0, WAVE_SAW, 0, 0, 0}, 178 {3, 0, WAVE_SIN, 0, WAVE_SAW, 0, PROB_100, 0},
179 {3, 0, WAVE_SIN, 0, WAVE_SAW, 0, 0, 0}, 179 {3, 0, WAVE_SIN, 0, WAVE_SAW, 0, PROB_100, 0},
180 {3, 0, WAVE_SIN, 0, WAVE_SAW, 0, 0, 0}, 180 {3, 0, WAVE_SIN, 0, WAVE_SAW, 0, PROB_100, 0},
181 {3, 0, WAVE_SIN, 0, WAVE_SAW, 0, 0, 0}, 181 {3, 0, WAVE_SIN, 0, WAVE_SAW, 0, PROB_100, 0},
182 {3, 0, WAVE_SIN, 0, WAVE_SAW, 0, 0, 0}, 182 {3, 0, WAVE_SIN, 0, WAVE_SAW, 0, PROB_100, 0},
183 {3, 0, WAVE_SIN, 0, WAVE_SAW, 0, 0, 0}, 183 {3, 0, WAVE_SIN, 0, WAVE_SAW, 0, PROB_100, 0},
184 {3, 0, WAVE_SIN, 0, WAVE_SAW, 0, 0, 0}, 184 {3, 0, WAVE_SIN, 0, WAVE_SAW, 0, PROB_100, 0},
185 {3, 0, WAVE_SIN, 0, WAVE_SAW, 0, 0, 0}, 185 {3, 0, WAVE_SIN, 0, WAVE_SAW, 0, PROB_100, 0},
186 {3, 0, WAVE_SIN, 0, WAVE_SAW, 0, 0, 0}, 186 {3, 0, WAVE_SIN, 0, WAVE_SAW, 0, PROB_100, 0},
187 {3, 0, WAVE_SIN, 0, WAVE_SAW, 0, 0, 0}, 187 {3, 0, WAVE_SIN, 0, WAVE_SAW, 0, PROB_100, 0},
188 {3, 0, WAVE_SIN, 0, WAVE_SAW, 0, 0, 0}, 188 {3, 0, WAVE_SIN, 0, WAVE_SAW, 0, PROB_100, 0},
189 }, 189 },
190 .active = true, 190 .active = true,
191}; 191};
@@ -210,22 +210,22 @@ const ChannelNoise default_ch4 = {
210 {false, NOTE_E_6}, 210 {false, NOTE_E_6},
211 }, 211 },
212 .params = { 212 .params = {
213 {0xF, 0x2, 0, 0, 0}, 213 {0xF, 0x2, 0, 0, PROB_100, 0},
214 {0xF, 0x2, 0, 0, 0}, 214 {0xF, 0x2, 0, 0, PROB_100, 0},
215 {0xF, 0x2, 0, 0, 0}, 215 {0xF, 0x2, 0, 0, PROB_100, 0},
216 {0xF, 0x2, 0, 0, 0}, 216 {0xF, 0x2, 0, 0, PROB_100, 0},
217 {0xF, 0x2, 0, 0, 0}, 217 {0xF, 0x2, 0, 0, PROB_100, 0},
218 {0xF, 0x2, 0, 0, 0}, 218 {0xF, 0x2, 0, 0, PROB_100, 0},
219 {0xF, 0x2, 0, 0, 0}, 219 {0xF, 0x2, 0, 0, PROB_100, 0},
220 {0xF, 0x2, 0, 0, 0}, 220 {0xF, 0x2, 0, 0, PROB_100, 0},
221 {0xF, 0x2, 0, 0, 0}, 221 {0xF, 0x2, 0, 0, PROB_100, 0},
222 {0xF, 0x2, 0, 0, 0}, 222 {0xF, 0x2, 0, 0, PROB_100, 0},
223 {0xF, 0x2, 0, 0, 0}, 223 {0xF, 0x2, 0, 0, PROB_100, 0},
224 {0xF, 0x2, 0, 0, 0}, 224 {0xF, 0x2, 0, 0, PROB_100, 0},
225 {0xF, 0x2, 0, 0, 0}, 225 {0xF, 0x2, 0, 0, PROB_100, 0},
226 {0xF, 0x2, 0, 0, 0}, 226 {0xF, 0x2, 0, 0, PROB_100, 0},
227 {0xF, 0x2, 0, 0, 0}, 227 {0xF, 0x2, 0, 0, PROB_100, 0},
228 {0xF, 0x2, 0, 0, 0}, 228 {0xF, 0x2, 0, 0, PROB_100, 0},
229 }, 229 },
230 .active = true, 230 .active = true,
231}; 231};
@@ -243,7 +243,7 @@ static Pattern patterns[8] = {
243 {default_ch1, default_ch2, default_ch3, default_ch4, default_bpm, 0}, 243 {default_ch1, default_ch2, default_ch3, default_ch4, default_bpm, 0},
244}; 244};
245 245
246static ChannelSquareParams ch1_params = {8, 4, 0, 2, 0, 0, 0, 0, 0}; 246static ChannelSquareParams ch1_params = {8, 4, 0, 2, 0, 0, 0, PROB_100, 0};
247static ChannelSquareParams ch2_params = {8, 4, 0, 2, 0, 0, 0, 0, 0}; 247static ChannelSquareParams ch2_params = {8, 4, 0, 2, 0, 0, 0, PROB_100, 0};
248static ChannelWaveParams ch3_params = {3, 0, WAVE_SIN, 0, WAVE_SAW, 0, 0, 0}; 248static ChannelWaveParams ch3_params = {3, 0, WAVE_SIN, 0, WAVE_SAW, 0, PROB_100, 0};
249static ChannelNoiseParams ch4_params = {0xF, 0x2, 0, 0, 0, 0}; 249static ChannelNoiseParams ch4_params = {0xF, 0x2, 0, 0, PROB_100, 0};