The OSP is a hackable, open source drum machine that accidentally got very, very close to the erica perkons hd-01, which is real beauty of instrument design that i truly love, except for its unhackable closed source nature. So, we new need gnu one.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

58 lines
1.3 KiB

#include "instr_Grainlet.hh"
#include "daisysp.h"
#include "osp_utils.hh"
namespace Heck::OSP {
namespace Instrument {
Grainlet::Grainlet()
{
init();
}
void Grainlet::init()
{
grainlet.Init(Constants::AUDIO_SAMPLERATE);
}
void Grainlet::trigger()
{
}
void Grainlet::ctl(unsigned int ctl_nr, float val)
{
switch (ctl_nr) {
case 0: {
grainlet.SetFreq( dz::scalen_min_max(val, 40, 400));
} break;
case 1: {
} break;
case 2: {
grainlet.SetFormantFreq( dz::scalen_min_max(val, 400, 2000));
} break;
case 3: {
grainlet.SetShape( dz::scalen_min_max(val, 0, 1));
} break;
}
}
void Grainlet::switch_algo(unsigned int pos)
{
mode1 = pos;
}
void Grainlet::switch_mode(unsigned int pos)
{
mode2 = pos;
}
float Grainlet::nextsample()
{
float out{};
out = grainlet.Process();
return out;
}
} // namespace Instrument
} // namespace Heck