Dateien hochladen nach „“

fix for several special cases where fav-search did nothing
pull/46/head
positionhigh 3 years ago
parent c36bd56c2f
commit 993aef2a4c
  1. 103
      UI.hpp

103
UI.hpp

@ -30,7 +30,6 @@
#include "disp_plus.h" #include "disp_plus.h"
#include "effect_modulated_delay.h" #include "effect_modulated_delay.h"
#include "effect_stereo_mono.h" #include "effect_stereo_mono.h"
#include "mixer8.h"
#ifdef USE_PLATEREVERB #ifdef USE_PLATEREVERB
#include "effect_platervbstereo.h" #include "effect_platervbstereo.h"
#else #else
@ -85,8 +84,8 @@ extern AudioEffectMonoStereo* mono2stereo[NUM_DEXED];
extern AudioMixer4 microdexed_peak_mixer; extern AudioMixer4 microdexed_peak_mixer;
extern AudioAnalyzePeak microdexed_peak; extern AudioAnalyzePeak microdexed_peak;
#if defined(USE_FX) #if defined(USE_FX)
extern AudioMixer8 reverb_mixer_r; extern AudioMixer4 reverb_mixer_r;
extern AudioMixer8 reverb_mixer_l; extern AudioMixer4 reverb_mixer_l;
#ifdef USE_PLATEREVERB #ifdef USE_PLATEREVERB
extern AudioEffectPlateReverb reverb; extern AudioEffectPlateReverb reverb;
#else #else
@ -6113,7 +6112,6 @@ void locate_previous_non_favorite()
if (configuration.performance.voice[selected_instance_id] == 0) if (configuration.performance.voice[selected_instance_id] == 0)
{ {
configuration.performance.voice[selected_instance_id] = 32; //+1 configuration.performance.voice[selected_instance_id] = 32; //+1
//configuration.performance.bank[selected_instance_id]--;
if (configuration.performance.bank[selected_instance_id] < 1 ) if (configuration.performance.bank[selected_instance_id] < 1 )
configuration.performance.bank[selected_instance_id] = MAX_BANKS - 1; configuration.performance.bank[selected_instance_id] = MAX_BANKS - 1;
@ -6141,20 +6139,38 @@ void locate_previous_favorite()
{ {
configuration.performance.bank[selected_instance_id] = MAX_BANKS - 1; configuration.performance.bank[selected_instance_id] = MAX_BANKS - 1;
configuration.performance.voice[selected_instance_id] = 32; configuration.performance.voice[selected_instance_id] = 32;
} } else
if (configuration.performance.voice[selected_instance_id] == 0 && configuration.performance.bank[selected_instance_id] < MAX_BANKS - 1 )
{ //if at begin of any other bank
configuration.performance.bank[selected_instance_id]--;
configuration.performance.voice[selected_instance_id] = 32;
if (configuration.performance.voice[selected_instance_id] >= 1 && configuration.performance.bank[selected_instance_id] >= 0) { }
if (configuration.performance.voice[selected_instance_id] >= 0 && configuration.performance.bank[selected_instance_id] >= 0) {
lcd.setCursor(3, 0); lcd.setCursor(3, 0);
lcd.print("<SEARCHING"); lcd.print("<SEARCHING");
do { //first find previous fav in current bank do { //first find previous fav in current bank
configuration.performance.voice[selected_instance_id]--; if (configuration.performance.voice[selected_instance_id] == 0) {
if (configuration.performance.bank[selected_instance_id] == 0) {
configuration.performance.bank[selected_instance_id] = MAX_BANKS - 1;
configuration.performance.voice[selected_instance_id] = 32;
} else
configuration.performance.bank[selected_instance_id]--;
configuration.performance.voice[selected_instance_id] = 32;
} else
configuration.performance.voice[selected_instance_id]--;
favsearcher++; favsearcher++;
} while ( check_favorite(configuration.performance.bank[selected_instance_id], configuration.performance.voice[selected_instance_id], } while ( check_favorite(configuration.performance.bank[selected_instance_id], configuration.performance.voice[selected_instance_id],
selected_instance_id) == false && configuration.performance.voice[selected_instance_id] >= 1 && favsearcher < 18); selected_instance_id) == false && configuration.performance.voice[selected_instance_id] >= 1 && favsearcher < 36);
// if found, we are done. else quick check in previous banks // if found, we are done. else quick check in previous banks
@ -6182,31 +6198,72 @@ void locate_previous_favorite()
} }
void locate_next_favorite() void locate_next_favorite()
{ {
//find next fav in current bank
lcd.setCursor(3, 0);
lcd.print(">SEARCHING");
do {
configuration.performance.voice[selected_instance_id]++;
if (configuration.performance.voice[selected_instance_id] > 31) { bool RollOver = false;
if (configuration.performance.voice[selected_instance_id] > 30 && configuration.performance.bank[selected_instance_id] >= MAX_BANKS - 1 )
{ //if at end of all banks
configuration.performance.bank[selected_instance_id] = 0;
configuration.performance.voice[selected_instance_id] = 0;
RollOver = true;
} else if (configuration.performance.voice[selected_instance_id] > 30 && configuration.performance.bank[selected_instance_id] < MAX_BANKS - 1 )
{ //if at end of any other bank
configuration.performance.bank[selected_instance_id]++;
configuration.performance.voice[selected_instance_id] = 0;
}
if (configuration.performance.voice[selected_instance_id] <= 30 && configuration.performance.bank[selected_instance_id] <= MAX_BANKS ) {
lcd.setCursor(3, 0);
lcd.print(">SEARCHING");
do { //first find next fav in current bank
if (RollOver == false) configuration.performance.voice[selected_instance_id]++; else RollOver = true;
favsearcher++;
} while ( check_favorite(configuration.performance.bank[selected_instance_id], configuration.performance.voice[selected_instance_id],
selected_instance_id) == false && configuration.performance.voice[selected_instance_id] <= 32 && favsearcher < 36);
// if found, we are done. else quick check in next banks
if ( check_favorite(configuration.performance.bank[selected_instance_id], configuration.performance.voice[selected_instance_id],
selected_instance_id) == false &&
configuration.performance.bank[selected_instance_id] < MAX_BANKS && favsearcher < 170)
{
configuration.performance.voice[selected_instance_id] = 0; configuration.performance.voice[selected_instance_id] = 0;
configuration.performance.bank[selected_instance_id]++;
if (configuration.performance.bank[selected_instance_id] > MAX_BANKS - 1)
configuration.performance.bank[selected_instance_id] = 0;
do { //seek for next bank do { //seek in next bank
configuration.performance.bank[selected_instance_id]++; configuration.performance.bank[selected_instance_id]++;
if (configuration.performance.bank[selected_instance_id] > MAX_BANKS - 1) if ( configuration.performance.bank[selected_instance_id] > MAX_BANKS - 1 && favsearcher < 190)
{
configuration.performance.bank[selected_instance_id] = 0; configuration.performance.bank[selected_instance_id] = 0;
configuration.performance.voice[selected_instance_id] = 0;
}
favsearcher++; favsearcher++;
} while (quick_check_favorites_in_bank(configuration.performance.bank[selected_instance_id], selected_instance_id) == false && favsearcher < 132); } while (quick_check_favorites_in_bank(configuration.performance.bank[selected_instance_id], selected_instance_id) == false &&
favsearcher < 132 );
if ( check_favorite(configuration.performance.bank[selected_instance_id], configuration.performance.voice[selected_instance_id],
selected_instance_id) == false && configuration.performance.voice[selected_instance_id] <= 32 && favsearcher < 190)
{
do { //last bank to search if a fav can be found
configuration.performance.voice[selected_instance_id]++;
favsearcher++;
} while ( check_favorite(configuration.performance.bank[selected_instance_id], configuration.performance.voice[selected_instance_id],
selected_instance_id) == false && favsearcher < 170);
}
} }
favsearcher++;
} while ( check_favorite(configuration.performance.bank[selected_instance_id], configuration.performance.voice[selected_instance_id], }
selected_instance_id) == false && favsearcher < 170);
favsearcher = 0; favsearcher = 0;
} }
void locate_next_non_favorite() void locate_next_non_favorite()

Loading…
Cancel
Save