Chance setting
This commit is contained in:
@@ -22,6 +22,9 @@ void Persistence::saveSequence(bool quiet) {
|
||||
int intensities[NUM_TRACKS];
|
||||
for(int i=0; i<NUM_TRACKS; i++) intensities[i] = (int)trackIntensity[i];
|
||||
EEPROM.put(addr, intensities); addr += sizeof(intensities);
|
||||
int chances[NUM_TRACKS];
|
||||
for(int i=0; i<NUM_TRACKS; i++) chances[i] = (int)trackChance[i];
|
||||
EEPROM.put(addr, chances); addr += sizeof(chances);
|
||||
int steps[NUM_TRACKS];
|
||||
for(int i=0; i<NUM_TRACKS; i++) steps[i] = numSteps[i];
|
||||
EEPROM.put(addr, steps); addr += sizeof(steps);
|
||||
@@ -79,6 +82,13 @@ bool Persistence::loadSequence() {
|
||||
if (trackIntensity[i] < 1) trackIntensity[i] = 1;
|
||||
if (trackIntensity[i] > 10) trackIntensity[i] = 10;
|
||||
}
|
||||
int chances[NUM_TRACKS];
|
||||
EEPROM.get(addr, chances); addr += sizeof(chances);
|
||||
for(int i=0; i<NUM_TRACKS; i++) {
|
||||
trackChance[i] = chances[i];
|
||||
if (trackChance[i] < 0) trackChance[i] = 0;
|
||||
if (trackChance[i] > 100) trackChance[i] = 100;
|
||||
}
|
||||
int steps[NUM_TRACKS];
|
||||
EEPROM.get(addr, steps); addr += sizeof(steps);
|
||||
for(int i=0; i<NUM_TRACKS; i++) {
|
||||
@@ -129,6 +139,9 @@ void Persistence::savePatch(int bank, int slot) {
|
||||
int intensities[NUM_TRACKS];
|
||||
for(int i=0; i<NUM_TRACKS; i++) intensities[i] = trackIntensity[i];
|
||||
EEPROM.put(addr, intensities); addr += sizeof(intensities);
|
||||
int chances[NUM_TRACKS];
|
||||
for(int i=0; i<NUM_TRACKS; i++) chances[i] = trackChance[i];
|
||||
EEPROM.put(addr, chances); addr += sizeof(chances);
|
||||
midi.unlock();
|
||||
EEPROM.commit();
|
||||
ui.showMessage("SAVED!");
|
||||
@@ -173,6 +186,13 @@ void Persistence::loadPatch(int bank, int slot, Step (*scratchBuffer)[NUM_STEPS]
|
||||
if (trackIntensity[i] < 1) trackIntensity[i] = 1;
|
||||
if (trackIntensity[i] > 10) trackIntensity[i] = 10;
|
||||
}
|
||||
int chances[NUM_TRACKS];
|
||||
EEPROM.get(addr, chances); addr += sizeof(chances);
|
||||
for(int i=0; i<NUM_TRACKS; i++) {
|
||||
trackChance[i] = chances[i];
|
||||
if (trackChance[i] < 0) trackChance[i] = 0;
|
||||
if (trackChance[i] > 100) trackChance[i] = 100;
|
||||
}
|
||||
|
||||
if (isPlaying) {
|
||||
SequenceGenerator::generateSequenceData(currentThemeIndex, nextSequence);
|
||||
@@ -189,6 +209,7 @@ void Persistence::factoryReset() {
|
||||
ui.showMessage("RESETTING...");
|
||||
for(int i=0; i<NUM_TRACKS; i++) {
|
||||
trackIntensity[i] = 10;
|
||||
trackChance[i] = 100;
|
||||
}
|
||||
uint32_t magic = 0;
|
||||
EEPROM.put(0, magic);
|
||||
|
||||
Reference in New Issue
Block a user