parent
6b36df77e1
commit
32f1445862
|
|
@ -1,6 +1,8 @@
|
||||||
#include "generators.h"
|
#include "generators.h"
|
||||||
|
#include "wave.h"
|
||||||
|
|
||||||
sample_table_t gen_sin() {
|
sample_table_t gen_sin()
|
||||||
|
{
|
||||||
// Make the new Wavetable object
|
// Make the new Wavetable object
|
||||||
sample_table_t sin_vals = {0};
|
sample_table_t sin_vals = {0};
|
||||||
// Make a place to store calculated value
|
// Make a place to store calculated value
|
||||||
|
|
@ -15,3 +17,19 @@ sample_table_t gen_sin() {
|
||||||
// Return the completed Wavetable object
|
// Return the completed Wavetable object
|
||||||
return sin_vals;
|
return sin_vals;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sample_table_t gen_squ()
|
||||||
|
{
|
||||||
|
sample_table_t squ_vals = {0};
|
||||||
|
|
||||||
|
// Start high and go low at halfway
|
||||||
|
for (uint16_t i = 0; i < DEFAULT_N_SAMPLES; i++) {
|
||||||
|
if (i < (DEFAULT_N_SAMPLES / 2)) {
|
||||||
|
squ_vals[i] = 1;
|
||||||
|
} else {
|
||||||
|
squ_vals[i] = -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return squ_vals;
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,10 @@
|
||||||
#include <iostream>
|
|
||||||
|
|
||||||
#include "wave.h"
|
#include "wave.h"
|
||||||
|
|
||||||
// Initialize index at 0 for wave cycles and wave tables
|
// Initialize index at 0 for wave cycles and wave tables
|
||||||
uint16_t Wave::m_nid = 0;
|
uint16_t Wave::m_nid = 0;
|
||||||
|
|
||||||
void Wave::print_head() {
|
void Wave::print_head() {
|
||||||
for (uint8_t i = 0; i < 10; i++) {
|
for (uint8_t i = 0; i < 3; i++) {
|
||||||
std::cout << m_table[i] << '\n';
|
std::cout << m_table[i] << '\n';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@
|
||||||
#ifndef WAVE_H_
|
#ifndef WAVE_H_
|
||||||
#define WAVE_H_
|
#define WAVE_H_
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
#include <array>
|
#include <array>
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
|
|
@ -33,7 +34,7 @@ public:
|
||||||
*/
|
*/
|
||||||
void setTable(sample_table_t table) { m_table = table; }
|
void setTable(sample_table_t table) { m_table = table; }
|
||||||
|
|
||||||
/*! Prints the first 10 values of sample data */
|
/*! Prints the first 3 values of sample data */
|
||||||
void print_head();
|
void print_head();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
19
src/wtpp.cpp
19
src/wtpp.cpp
|
|
@ -24,24 +24,25 @@ static void log(std::string message)
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
// Generate basic wave lookup tables
|
|
||||||
log("Generating wave cycle lookup tables");
|
log("Generating wave cycle lookup tables");
|
||||||
|
Wave sin_wave, squ_wave;
|
||||||
|
|
||||||
// Generate sine wave cycle object
|
// Calculate fundamental wave values
|
||||||
Wave sin_wave;
|
|
||||||
|
|
||||||
// Calculate sine values
|
|
||||||
sample_table_t sin_vals = gen_sin();
|
sample_table_t sin_vals = gen_sin();
|
||||||
|
sample_table_t squ_vals = gen_squ();
|
||||||
|
|
||||||
// Set wave lookup table values
|
// Set wave lookup table values
|
||||||
sin_wave.setTable(sin_vals);
|
sin_wave.setTable(sin_vals);
|
||||||
|
squ_wave.setTable(squ_vals);
|
||||||
// Create Wavetable object
|
|
||||||
Wavetable wt_01{"Basic Sine"};
|
|
||||||
log(wt_01.name());
|
|
||||||
|
|
||||||
log("Printing head of sine table");
|
log("Printing head of sine table");
|
||||||
sin_wave.print_head();
|
sin_wave.print_head();
|
||||||
|
log("Printing head of square table");
|
||||||
|
squ_wave.print_head();
|
||||||
|
|
||||||
|
// Create Wavetable object containing fundamental Wave objects
|
||||||
|
Wavetable wt_01{"Fundamental Waves"};
|
||||||
|
log(wt_01.name());
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue