Browse Source

Fix: Samplerate constexpr - update for improved Samplerate representation in libDaisy

main
heck 9 months ago
parent
commit
6b19b06e48
  1. 6
      src/globals.hh
  2. 2
      src/instr_abstract.hh
  3. 2
      src/instr_bd2.cc
  4. 2
      src/instr_fm.cc
  5. 2
      src/instr_grainlet.cc
  6. 2
      src/instr_hihat.cc
  7. 6
      src/instr_kick.cc
  8. 2
      src/instr_noise.cc
  9. 2
      src/instr_zosc.cc
  10. 22
      src/main_perkons.cc

6
src/globals.hh

@ -7,15 +7,17 @@
#include "types.hh"
namespace Heck {
using Samplerate = ld::SaiHandle::Config::SampleRate;
namespace Constants {
namespace Hardware {
constexpr int PIN_BUTTON_RECORD = 28;
constexpr int PIN_BUTTON_CLEAR = 27;
}
constexpr bool CPU_BOOST480MHZ = false;
constexpr bool CPU_BOOST480MHZ = true;
constexpr int AUDIO_BUFFERSIZE = 4;
constexpr int AUDIO_SAMPLERATE = 48000;
constexpr Samplerate AUDIO_SAMPLERATE = Samplerate::SAI_48KHZ;
constexpr int TRACK_COUNT = 4;
namespace MIDI_Mapping {

2
src/instr_abstract.hh

@ -5,8 +5,6 @@
namespace Heck {
namespace Instrument {
static int samplerate = Constants::AUDIO_SAMPLERATE;
class AbstractInstrument {
public:
virtual void trigger() = 0;

2
src/instr_bd2.cc

@ -12,7 +12,7 @@ namespace Heck {
void BD2::init()
{
bd2.Init(samplerate);
bd2.Init(Constants::AUDIO_SAMPLERATE);
bd2.SetDecay(1.);
bd2.SetTone(0.4);
bd2.SetAccent(1.);

2
src/instr_fm.cc

@ -12,7 +12,7 @@ namespace Heck {
void FM::init()
{
osc.Init(samplerate);
osc.Init(Constants::AUDIO_SAMPLERATE);
osc.SetFrequency(40);
osc.SetRatio(0.);
osc.SetIndex(0.);

2
src/instr_grainlet.cc

@ -12,7 +12,7 @@ namespace Heck {
void Grainlet::init()
{
grainlet.Init(samplerate);
grainlet.Init(Constants::AUDIO_SAMPLERATE);
}
void Grainlet::trigger()

2
src/instr_hihat.cc

@ -12,7 +12,7 @@ namespace Heck {
void HiHat::init()
{
hihat.Init(samplerate);
hihat.Init(Constants::AUDIO_SAMPLERATE);
hihat.SetDecay(1.);
}

6
src/instr_kick.cc

@ -12,16 +12,16 @@ namespace Heck {
void Kick::init()
{
osc.Init(samplerate);
osc.Init(Constants::AUDIO_SAMPLERATE);
osc.SetWaveform(dsp::Oscillator::WAVE_TRI);
osc.SetAmp(1);
pitchEnv.Init(samplerate);
pitchEnv.Init(Constants::AUDIO_SAMPLERATE);
pitchEnv.SetTime(dsp::ADENV_SEG_ATTACK, .001);
pitchEnv.SetTime(dsp::ADENV_SEG_DECAY, .01);
chorus.Init(samplerate);
chorus.Init(Constants::AUDIO_SAMPLERATE);
chorus.SetDelay(0.2);
chorus.SetFeedback(0.8);
chorus.SetLfoDepth(0.2);

2
src/instr_noise.cc

@ -12,7 +12,7 @@ namespace Heck {
{
noise.Init();
env.Init(samplerate);
env.Init(Constants::AUDIO_SAMPLERATE);
env.SetTime(dsp::ADENV_SEG_ATTACK, .0001);
env.SetTime(dsp::ADENV_SEG_DECAY, .01);
env.SetMax(1);

2
src/instr_zosc.cc

@ -12,7 +12,7 @@ namespace Heck {
void ZOsc::init()
{
zosc.Init(samplerate);
zosc.Init(Constants::AUDIO_SAMPLERATE);
zosc.SetFreq(40.f);
zosc.SetShape(1.);
zosc.SetFormantFreq(200);

22
src/main_perkons.cc

@ -70,27 +70,7 @@ namespace Heck {
hw.SetAudioBlockSize(Constants::AUDIO_BUFFERSIZE);
hw.PrintLine("Setting Samplerate: %i", Constants::AUDIO_SAMPLERATE);
switch (Constants::AUDIO_SAMPLERATE) {
case 8000:
hw.SetAudioSampleRate(ld::SaiHandle::Config::SampleRate::SAI_8KHZ);
break;
case 16000:
hw.SetAudioSampleRate(ld::SaiHandle::Config::SampleRate::SAI_16KHZ);
break;
case 32000:
hw.SetAudioSampleRate(ld::SaiHandle::Config::SampleRate::SAI_32KHZ);
break;
case 48000:
hw.SetAudioSampleRate(ld::SaiHandle::Config::SampleRate::SAI_48KHZ);
break;
case 96000:
hw.SetAudioSampleRate(ld::SaiHandle::Config::SampleRate::SAI_48KHZ);
break;
default:
hw.PrintLine("Samplerate not supported, fallback to 48000");
hw.SetAudioSampleRate(ld::SaiHandle::Config::SampleRate::SAI_48KHZ);
break;
}
hw.SetAudioSampleRate(Constants::AUDIO_SAMPLERATE);
hw.PrintLine("Initializing MIDI");
ld::MidiUartHandler::Config midi_config{};

Loading…
Cancel
Save