Skip to content

Commit 638579d

Browse files
committed
added generative per track parameters
1 parent 625ac33 commit 638579d

File tree

3 files changed

+52
-36
lines changed

3 files changed

+52
-36
lines changed

v2/AciduinoV2/AciduinoV2.ino

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -55,14 +55,26 @@ bool _playing = false;
5555
uint8_t _selected_track = 0;
5656

5757
// generative engine ui data
58-
uint8_t _generative_fill = 80;
59-
uint8_t _accent_probability = 50;
60-
uint8_t _roll_probability = 0;
61-
uint8_t _slide_probability = 30;
62-
uint8_t _tie_probability = 100;
63-
uint8_t _lower_octave = 2;
64-
uint8_t _range_octave = 3;
65-
uint8_t _number_of_tones = 5;
58+
typedef struct
59+
{
60+
uint8_t generative_fill = 80;
61+
uint8_t accent_probability = 50;
62+
uint8_t slide_probability = 30;
63+
uint8_t tie_probability = 100;
64+
uint8_t lower_octave = 2;
65+
uint8_t range_octave = 3;
66+
uint8_t number_of_tones = 5;
67+
} GENERATIVE_303_DATA;
68+
69+
typedef struct
70+
{
71+
uint8_t generative_fill = 80;
72+
uint8_t accent_probability = 50;
73+
uint8_t roll_probability = 0;
74+
} GENERATIVE_808_DATA;
75+
76+
GENERATIVE_303_DATA generative_303[TRACK_NUMBER_303];
77+
GENERATIVE_808_DATA generative_808[TRACK_NUMBER_808];
6678

6779
#if defined(USE_LITE_BOARD)
6880

v2/AciduinoV2/acid_ui_components.ino

Lines changed: 29 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -920,90 +920,92 @@ struct TrackTune : PageComponent {
920920
struct TonesNumber : PageComponent {
921921

922922
void view() {
923-
genericOptionView("tones", _number_of_tones, line, col, selected);
923+
genericOptionView("tones", generative_303[_selected_track].number_of_tones, line, col, selected);
924924
}
925925

926926
void change(int16_t data) {
927-
data = parseData(data, 1, 7, _number_of_tones);
928-
_number_of_tones = data;
927+
data = parseData(data, 1, 7, generative_303[_selected_track].number_of_tones);
928+
generative_303[_selected_track].number_of_tones = data;
929929
}
930930

931931
} tonesNumberComponent;
932932

933933
struct LowOctave : PageComponent {
934934

935935
void view() {
936-
genericOptionView("octave", _lower_octave, line, col, selected);
936+
genericOptionView("octave", generative_303[_selected_track].lower_octave, line, col, selected);
937937
}
938938

939939
void change(int16_t data) {
940-
data = parseData(data, 1, 11, _lower_octave);
941-
_lower_octave = data;
940+
data = parseData(data, 1, 11, generative_303[_selected_track].lower_octave);
941+
generative_303[_selected_track].lower_octave = data;
942942
}
943943

944944
} lowOctaveComponent;
945945

946946
struct RangeOctave : PageComponent {
947947

948948
void view() {
949-
genericOptionView("octaves", _range_octave, line, col, selected);
949+
genericOptionView("octaves", generative_303[_selected_track].range_octave, line, col, selected);
950950
}
951951

952952
void change(int16_t data) {
953-
data = parseData(data, 1, 11, _range_octave);
954-
_range_octave = data;
953+
data = parseData(data, 1, 11, generative_303[_selected_track].range_octave);
954+
generative_303[_selected_track].range_octave = data;
955955
}
956956

957957
} rangeOctaveComponent;
958958

959959
struct AccentAmount : PageComponent {
960960

961961
void view() {
962-
genericOptionView("accent", _accent_probability, line, col, selected);
962+
uint8_t accent_probability = AcidSequencer.is303(_selected_track) ? generative_303[_selected_track].accent_probability : generative_808[_selected_track-TRACK_NUMBER_303].accent_probability;
963+
genericOptionView("accent", accent_probability, line, col, selected);
963964
}
964965

965966
void change(int16_t data) {
966-
data = parseData(data, 0, 100, _accent_probability);
967-
_accent_probability = data;
967+
uint8_t * accent_probability = AcidSequencer.is303(_selected_track) ? &generative_303[_selected_track].accent_probability : &generative_808[_selected_track-TRACK_NUMBER_303].accent_probability;
968+
data = parseData(data, 0, 100, *accent_probability);
969+
*accent_probability = data;
968970
}
969-
971+
970972
} accentAmountComponent;
971973

972974
struct SlideAmount : PageComponent {
973975

974976
void view() {
975-
genericOptionView("slide", _slide_probability, line, col, selected);
977+
genericOptionView("slide", generative_303[_selected_track].slide_probability, line, col, selected);
976978
}
977979

978980
void change(int16_t data) {
979-
data = parseData(data, 0, 100, _slide_probability);
980-
_slide_probability = data;
981+
data = parseData(data, 0, 100, generative_303[_selected_track].slide_probability);
982+
generative_303[_selected_track].slide_probability = data;
981983
}
982984

983985
} slideAmountComponent;
984986

985987
struct TieAmount : PageComponent {
986988

987989
void view() {
988-
genericOptionView("tie", _tie_probability, line, col, selected);
990+
genericOptionView("tie", generative_303[_selected_track].tie_probability, line, col, selected);
989991
}
990992

991993
void change(int16_t data) {
992-
data = parseData(data, 0, 100, _tie_probability);
993-
_tie_probability = data;
994+
data = parseData(data, 0, 100, generative_303[_selected_track].tie_probability);
995+
generative_303[_selected_track].tie_probability = data;
994996
}
995997

996998
} tieAmountComponent;
997999

9981000
struct RollAmount : PageComponent {
9991001

10001002
void view() {
1001-
genericOptionView("roll", _roll_probability, line, col, selected);
1003+
genericOptionView("roll", generative_808[_selected_track-TRACK_NUMBER_303].roll_probability, line, col, selected);
10021004
}
10031005

10041006
void change(int16_t data) {
1005-
data = parseData(data, 0, 100, _roll_probability);
1006-
_roll_probability = data;
1007+
data = parseData(data, 0, 100, generative_808[_selected_track-TRACK_NUMBER_303].roll_probability);
1008+
generative_808[_selected_track-TRACK_NUMBER_303].roll_probability = data;
10071009
}
10081010

10091011
} rollAmountComponent;
@@ -1034,13 +1036,15 @@ struct TrackFill : PageComponent {
10341036
}
10351037

10361038
void view() {
1037-
genericOptionView("fill", _generative_fill, line, col, selected, true);
1039+
uint8_t generative_fill = AcidSequencer.is303(_selected_track) ? generative_303[_selected_track].generative_fill : generative_808[_selected_track-TRACK_NUMBER_303].generative_fill;
1040+
genericOptionView("fill", generative_fill, line, col, selected, true);
10381041
}
10391042

10401043
void change(int16_t data) {
10411044
//clearStackNote(_selected_track);
1042-
data = parseData(data, 1, 100, _generative_fill);
1043-
_generative_fill = data;
1045+
uint8_t * generative_fill = AcidSequencer.is303(_selected_track) ? &generative_303[_selected_track].generative_fill : &generative_808[_selected_track-TRACK_NUMBER_303].generative_fill;
1046+
data = parseData(data, 1, 100, *generative_fill);
1047+
*generative_fill = data;
10441048
}
10451049

10461050
} fillComponent;

v2/AciduinoV2/page_generative.ino

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ void generativeFunction1()
1010
}
1111

1212
void generativeFunction2()
13-
{
13+
{
1414
// generate new sequence
1515
if (AcidSequencer.is303(_selected_track)) {
16-
AcidSequencer.acidRandomize(_selected_track, _generative_fill, _accent_probability, _slide_probability, _tie_probability, _number_of_tones, _lower_octave*12, _range_octave*12);
16+
AcidSequencer.acidRandomize(_selected_track, generative_303[_selected_track].generative_fill, generative_303[_selected_track].accent_probability, generative_303[_selected_track].slide_probability, generative_303[_selected_track].tie_probability, generative_303[_selected_track].number_of_tones, generative_303[_selected_track].lower_octave*12, generative_303[_selected_track].range_octave*12);
1717
} else {
18-
AcidSequencer.acidRandomize(_selected_track, _generative_fill, _accent_probability, _roll_probability);
18+
AcidSequencer.acidRandomize(_selected_track, generative_808[_selected_track-TRACK_NUMBER_303].generative_fill, generative_808[_selected_track-TRACK_NUMBER_303].accent_probability, generative_808[_selected_track-TRACK_NUMBER_303].roll_probability);
1919
}
2020
}
2121

0 commit comments

Comments
 (0)