stripped samplerate from constructors
This commit is contained in:
@@ -10,17 +10,13 @@ namespace trnr {
|
||||
template <typename t_voice>
|
||||
class midi_synth : public voice_allocator<t_voice> {
|
||||
public:
|
||||
midi_synth(int _n_voices, double _samplerate, int _block_size)
|
||||
: voice_allocator<t_voice> { _samplerate }
|
||||
, m_samplerate { _samplerate }
|
||||
, m_block_size { _block_size }
|
||||
, m_voices_active { false }
|
||||
midi_synth(int _n_voices)
|
||||
: m_voices_active { false }
|
||||
{
|
||||
}
|
||||
|
||||
void set_samplerate(double _samplerate, int _block_size)
|
||||
void set_samplerate_blocksize(double _samplerate, int _block_size)
|
||||
{
|
||||
m_samplerate = _samplerate;
|
||||
m_block_size = _block_size;
|
||||
voice_allocator::set_samplerate(_samplerate);
|
||||
}
|
||||
@@ -87,7 +83,6 @@ public:
|
||||
|
||||
private:
|
||||
std::vector<note_event> m_event_queue;
|
||||
double m_samplerate;
|
||||
int m_block_size;
|
||||
bool m_voices_active;
|
||||
};
|
||||
|
||||
@@ -30,8 +30,8 @@ public:
|
||||
float release1_level;
|
||||
float release2_rate;
|
||||
|
||||
tx_envelope(double _samplerate)
|
||||
: samplerate { _samplerate }
|
||||
tx_envelope()
|
||||
: samplerate { 44100. }
|
||||
, attack1_rate { 0 }
|
||||
, attack1_level { 0 }
|
||||
, attack2_rate { 0 }
|
||||
|
||||
@@ -5,11 +5,9 @@
|
||||
namespace trnr {
|
||||
class tx_operator {
|
||||
public:
|
||||
tx_operator(double samplerate)
|
||||
tx_operator()
|
||||
: ratio { 1 }
|
||||
, amplitude { 1.0f }
|
||||
, envelope(samplerate)
|
||||
, oscillator(samplerate)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ class tx_sineosc {
|
||||
public:
|
||||
bool phase_reset;
|
||||
|
||||
tx_sineosc(double _samplerate)
|
||||
: samplerate { _samplerate }
|
||||
tx_sineosc()
|
||||
: samplerate { 44100 }
|
||||
, phase_resolution { 16.f }
|
||||
, phase { 0. }
|
||||
, history { 0. }
|
||||
|
||||
@@ -8,15 +8,10 @@ namespace trnr {
|
||||
|
||||
class tx_voice {
|
||||
public:
|
||||
tx_voice(double samplerate)
|
||||
tx_voice()
|
||||
: algorithm { 0 }
|
||||
, pitch_env_amt { 0.f }
|
||||
, feedback_amt { 0.f }
|
||||
, pitch_env(samplerate)
|
||||
, feedback_osc(samplerate)
|
||||
, op1(samplerate)
|
||||
, op2(samplerate)
|
||||
, op3(samplerate)
|
||||
, bit_resolution(12.f)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -9,9 +9,8 @@ class voice_allocator {
|
||||
public:
|
||||
std::vector<t_voice> voices;
|
||||
|
||||
voice_allocator(const double& _samplerate)
|
||||
: samplerate { _samplerate }
|
||||
, voices(8, t_voice(_samplerate))
|
||||
voice_allocator()
|
||||
: voices(8, t_voice())
|
||||
{
|
||||
}
|
||||
|
||||
@@ -83,14 +82,12 @@ public:
|
||||
|
||||
void set_samplerate(double _samplerate)
|
||||
{
|
||||
this->samplerate = _samplerate;
|
||||
for (int i = 0; i < voices.size(); i++) {
|
||||
voices.at(i).set_samplerate(_samplerate);
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
double samplerate;
|
||||
std::vector<note_event> input_queue;
|
||||
|
||||
t_voice* get_free_voice(float frequency)
|
||||
|
||||
Reference in New Issue
Block a user