use audio;
use instrument;
use map;
use sampler;
pub type Mode = instrument::mode::Dynamic;
pub type NoteFreqGenerator = instrument::note_freq::DynamicGenerator;
pub type Sampler<A> = sampler::Sampler<Mode, NoteFreqGenerator, A>;
impl<A> Sampler<A>
where A: audio::Audio,
{
pub fn dynamic(mode: instrument::mode::Dynamic, map: map::Map<A>) -> Self {
let nfg = instrument::note_freq::DynamicGenerator::Constant;
Self::new(mode, nfg, map)
}
pub fn dynamic_legato(map: map::Map<A>) -> Self {
Self::dynamic(instrument::mode::Dynamic::legato(), map)
}
pub fn dynamic_retrigger(map: map::Map<A>) -> Self {
Self::dynamic(instrument::mode::Dynamic::retrigger(), map)
}
pub fn dynamic_poly(map: map::Map<A>) -> Self {
Self::dynamic(instrument::mode::Dynamic::poly(), map)
}
}