Skip to content

Sampler implementation #131

@jmidt

Description

@jmidt

The samplers are controlled by the sequencer. Basically, this exists to play back a simple sample, with some basic editing and visualization. There are two screens, the sampler screen and the envelope screen. The envelope screen is reached by pressing the sampler button and then the envelope button. The centerpiece of the visualization is a zoom-able waveform.
GFI marks a Good First Issue.

  • Sampler screen
    • Filter
    • Playback speed
      • reverse (toggle with encoder click)
    • Sample selection
      • Basic single-encoder selection
      • GFI Real menu with folders
        • Tags?
        • Select kits or select types? (808->snare vs snares->808)
    • Collapse envelope to single line (with yellow/red segments) on sampler screen
      • GFI Animate this
  • Envelope screen
    • Begin/End, Fade-in/out
    • Draw envelope under waveform like a reflection
  • Waveform (for both screens)
    • Draw fades. Stationary endpoints, only waveform zooms.
    • Finish zoom algorithm (run build/bin/test Waveform)
    • Draw waveform in top half, same position on both screens
  • Change start/end point props to ints counting samples. Step by some fixed amount. Reset on sample change.
    • Shift + encoder turn lower/higher resolution
  • Benchmark
    • with/without filters? Lo+Hi vs. BP?
    • Waveform view generation. start/mean/max

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions