Skip to content

Templates, flexible envelopes

Pre-release
Pre-release
Compare
Choose a tag to compare
@Woyten Woyten released this 10 Dec 20:33
· 125 commits to latest since this release
  • Improvement: Add templates to Creator.
    • Change: Add generic parameter A: AutomationSpec to Creator.
  • Improvement: Introduce WaveformProperties.
    • Change: WaveformProperties replaces WaveformState.
    • New: Add off_velocity property.
    • Improvement: key_pressure property is Option<f64>.
    • Deletion: Remove secs_since_pressed and secs_since_released. Those values are supposed to be aggregated within the render stages.
    • Change: Remove note_suspension argument from Magnetron::write.
  • Improvement: Envelopes are modeled as stages and support automations.
    • Change: EnvelopeSpec replaces Envelope.
    • New: Add velocity property. Waveform stages can decide to ignore this property if no velocity sensitivity is desired.
    • New: Add fadeout property. Waveform stages can use any LF source to control the fade-out phase.
  • Change: Update Waveform design.
    • Waveform::envelope is of type Stage<T>
    • Stage<T>::render returns StageState::Exhausted when waveform can no longer deliver any non-zero values
    • Waveform exhaustion is tracked in Wavform::is_active