Add a waveform selection feature (sine, triangle, square, saw, noise) to our
synth. And this in modern C++. But first, we have to update our previously
written code to C++11 too.
Topics:
Enumerations in turtle using
lv2:enumeration: https://lv2plug.in/ns/lv2core#enumera...
lv2:integer: https://lv2plug.in/ns/lv2core#integer
lv2:scalePoint: https://lv2plug.in/ns/lv2core#scalePoint
Exceptions
The try catch block: https://en.cppreference.com/w/cpp/lan...
std::invalid_argument: https://en.cppreference.com/w/cpp/err...
std::bad_alloc: https://en.cppreference.com/w/cpp/mem...
Streams
std::cerr: https://en.cppreference.com/w/cpp/io/...
C++11 type casting
static_cast: https://en.cppreference.com/w/cpp/lan...
reinterpret_cast: https://en.cppreference.com/w/cpp/lan...
Standard template library containers
std::array: https://en.cppreference.com/w/cpp/con...
constexpr: https://en.cppreference.com/w/cpp/key...
Utilities
std::pair: https://en.cppreference.com/w/cpp/uti...
Templates: https://en.cppreference.com/w/cpp/lan...
Linear fader
Overloading
Waveform mathematics
Random generator: https://en.cppreference.com/w/cpp/num...
Value distributions
Resource: https://github.com/sjaehn/lv2tutorial