Several fixes.

Moced velocity level code out of the Dexed class.
pull/32/head
Holger Wirtz 5 years ago
parent 46b587020c
commit 7276815bab
  1. 12
      MicroDexed.ino
  2. 1
      UI.hpp
  3. 4
      config.h
  4. 13
      dexed.cpp
  5. 3
      dexed.h

@ -336,18 +336,17 @@ void setup()
//sgtl5000_1.dacVolumeRampDisable(); //sgtl5000_1.dacVolumeRampDisable();
sgtl5000_1.unmuteHeadphone(); sgtl5000_1.unmuteHeadphone();
sgtl5000_1.unmuteLineout(); sgtl5000_1.unmuteLineout();
sgtl5000_1.autoVolumeDisable(); // turn off AGC
sgtl5000_1.volume(0.5, 0.5); // Headphone volume sgtl5000_1.volume(0.5, 0.5); // Headphone volume
sgtl5000_1.audioPostProcessorEnable(); //sgtl5000_1.audioPostProcessorEnable();
sgtl5000_1.autoVolumeControl(1, 1, 1, 0.9, 0.01, 0.05); sgtl5000_1.autoVolumeControl(1, 1, 1, 0.9, 0.01, 0.05);
//sgtl5000_1.autoVolumeEnable(); //sgtl5000_1.autoVolumeEnable();
sgtl5000_1.autoVolumeDisable(); sgtl5000_1.autoVolumeDisable();
//sgtl5000_1.surroundSoundEnable(); //sgtl5000_1.surroundSoundEnable();
sgtl5000_1.surroundSoundDisable(); sgtl5000_1.surroundSoundDisable();
sgtl5000_1.surroundSound(7, 2); // Configures virtual surround width from 0 (mono) to 7 (widest). select may be set to 1 (disable), 2 (mono input) or 3 (stereo input). //sgtl5000_1.surroundSound(7, 2); // Configures virtual surround width from 0 (mono) to 7 (widest). select may be set to 1 (disable), 2 (mono input) or 3 (stereo input).
//sgtl5000_1.enhanceBassEnable(); //sgtl5000_1.enhanceBassEnable();
sgtl5000_1.enhanceBassDisable(); sgtl5000_1.enhanceBassDisable();
sgtl5000_1.enhanceBass(1.0, 0.2, 1, 2); // Configures the bass enhancement by setting the levels of the original stereo signal and the bass-enhanced mono level which will be mixed together. The high-pass filter may be enabled (0) or bypassed (1). //sgtl5000_1.enhanceBass(1.0, 0.2, 1, 2); // Configures the bass enhancement by setting the levels of the original stereo signal and the bass-enhanced mono level which will be mixed together. The high-pass filter may be enabled (0) or bypassed (1).
/* The cutoff frequency is specified as follows: /* The cutoff frequency is specified as follows:
value frequency value frequency
0 80Hz 0 80Hz
@ -697,7 +696,7 @@ void handleNoteOn(byte inChannel, byte inNumber, byte inVelocity)
if (checkMidiChannel(inChannel, instance_id)) if (checkMidiChannel(inChannel, instance_id))
{ {
if (inNumber >= configuration.dexed[instance_id].lowest_note && inNumber <= configuration.dexed[instance_id].highest_note) if (inNumber >= configuration.dexed[instance_id].lowest_note && inNumber <= configuration.dexed[instance_id].highest_note)
MicroDexed[instance_id]->keydown(inNumber, inVelocity); MicroDexed[instance_id]->keydown(inNumber, uint8_t(float(configuration.dexed[instance_id].velocity_level / 127.0)*inVelocity + 0.5));
} }
} }
} }
@ -1346,7 +1345,6 @@ void initial_values_from_eeprom(bool init)
MicroDexed[instance_id]->setATController(configuration.dexed[instance_id].at_range, configuration.dexed[instance_id].at_assign); MicroDexed[instance_id]->setATController(configuration.dexed[instance_id].at_range, configuration.dexed[instance_id].at_assign);
MicroDexed[instance_id]->setOPs(configuration.dexed[instance_id].op_enabled); MicroDexed[instance_id]->setOPs(configuration.dexed[instance_id].op_enabled);
MicroDexed[instance_id]->doRefreshVoice(); MicroDexed[instance_id]->doRefreshVoice();
MicroDexed[instance_id]->setVelocityLevel(configuration.dexed[instance_id].velocity_level);
#if defined(USE_FX) #if defined(USE_FX)
chorus_send_mixer_r.gain(instance_id, configuration.dexed[instance_id].chorus_send / 100.0); chorus_send_mixer_r.gain(instance_id, configuration.dexed[instance_id].chorus_send / 100.0);
@ -1559,7 +1557,7 @@ uint32_t crc32(byte * calc_start, uint16_t calc_bytes) // base code from https:/
void generate_version_string(char* buffer, uint8_t len) void generate_version_string(char* buffer, uint8_t len)
{ {
char tmp[3]; char tmp[3];
strncat(&buffer[0], VERSION, len); strncat(buffer, VERSION, len);
#if defined(TEENSY3_5) #if defined(TEENSY3_5)
strncat(buffer, "-3.5", 4); strncat(buffer, "-3.5", 4);
#elif defined(TEENSY3_6) #elif defined(TEENSY3_6)

@ -3028,7 +3028,6 @@ void UI_func_velocity_level(uint8_t param)
} }
} }
MicroDexed[instance_id]->setVelocityLevel(configuration.dexed[instance_id].velocity_level);
lcd_display_bar_int("Velocity Lvl", configuration.dexed[instance_id].velocity_level, VELOCITY_LEVEL_MIN, VELOCITY_LEVEL_MAX, 3, false, false, false, false); lcd_display_bar_int("Velocity Lvl", configuration.dexed[instance_id].velocity_level, VELOCITY_LEVEL_MIN, VELOCITY_LEVEL_MAX, 3, false, false, false, false);
} }

@ -85,7 +85,7 @@
#define MOD_FILTER_OUTPUT MOD_NO_FILTER_OUTPUT // MOD_LINKWITZ_RILEY_FILTER_OUTPUT MOD_BUTTERWORTH_FILTER_OUTPUT MOD_NO_FILTER_OUTPUT #define MOD_FILTER_OUTPUT MOD_NO_FILTER_OUTPUT // MOD_LINKWITZ_RILEY_FILTER_OUTPUT MOD_BUTTERWORTH_FILTER_OUTPUT MOD_NO_FILTER_OUTPUT
#define MOD_FILTER_CUTOFF_HZ 3000 #define MOD_FILTER_CUTOFF_HZ 3000
// FX-CHAIN ENABLE/DISABLE // FX-CHAIN ENABLE/DISABLE
//#define USE_FX 1 #define USE_FX 1
//************************************************************************************************* //*************************************************************************************************
//* AUDIO SOFTWARE SETTINGS //* AUDIO SOFTWARE SETTINGS
@ -217,7 +217,7 @@
#define AUTOSTORE_MS 5000 #define AUTOSTORE_MS 5000
// EEPROM address // EEPROM address
#define EEPROM_START_ADDRESS 100 #define EEPROM_START_ADDRESS 0xFF
#define MAX_BANKS 100 #define MAX_BANKS 100
#define MAX_VOICES 32 // voices per bank #define MAX_VOICES 32 // voices per bank

@ -83,8 +83,6 @@ Dexed::Dexed(int rate)
sustain = false; sustain = false;
velocity_level = (100.0 / 127.0);
setEngineType(DEXED_ENGINE); setEngineType(DEXED_ENGINE);
} }
@ -170,7 +168,6 @@ void Dexed::keydown(int16_t pitch, uint8_t velo) {
} }
pitch += data[144] - TRANSPOSE_FIX; pitch += data[144] - TRANSPOSE_FIX;
velo = float(velo) * velocity_level + 0.5; // 100/127
int previousKeyDown = lastKeyDown; int previousKeyDown = lastKeyDown;
lastKeyDown = pitch; lastKeyDown = pitch;
@ -730,13 +727,3 @@ void Dexed::setPortamentoMode(uint8_t portamento_mode, uint8_t portamento_glissa
controllers.refresh(); controllers.refresh();
} }
void Dexed::setVelocityLevel(uint8_t velocity_level)
{
velocity_level = float(velocity_level) / 127.0;
}
float Dexed::getVelocityLevel(void)
{
return (velocity_level);
}

@ -172,8 +172,6 @@ class Dexed
void setBCController(uint8_t bc_range, uint8_t bc_assign); void setBCController(uint8_t bc_range, uint8_t bc_assign);
void setATController(uint8_t at_range, uint8_t pb_assign); void setATController(uint8_t at_range, uint8_t pb_assign);
void setPortamentoMode(uint8_t portamento_mode, uint8_t portamento_glissando, uint8_t portamento_time); void setPortamentoMode(uint8_t portamento_mode, uint8_t portamento_glissando, uint8_t portamento_time);
void setVelocityLevel(uint8_t velocity_level);
float getVelocityLevel(void);
ProcessorVoice voices[MAX_NOTES]; ProcessorVoice voices[MAX_NOTES];
Controllers controllers; Controllers controllers;
@ -209,7 +207,6 @@ class Dexed
FmCore* engineMsfa; FmCore* engineMsfa;
EngineMkI* engineMkI; EngineMkI* engineMkI;
EngineOpl* engineOpl; EngineOpl* engineOpl;
float velocity_level;
}; };
#endif // PLUGINPROCESSOR_H_INCLUDED #endif // PLUGINPROCESSOR_H_INCLUDED

Loading…
Cancel
Save