Synth v2: modular pro layout, HOLD latching pads, fuller voice engine
- Modular hardware-style panel: System / Oscillator / Filter / Envelope / LFO / Drive / Echo / Output / Keyboard sections with labeled frames - HOLD switch: pads become latching toggles (switching pads retunes the held note, unlatching or disabling HOLD releases it) - Fuller Web Audio voice: waveshaper drive, full ADSR, feedback delay (time/feedback/mix), LFO target switch (cutoff or pitch via detune), octave/detune/glide with live retuning of held notes - More of the library in service: MetalKnob (drive, with value bubble), VintageKnob (echo time), horizontal LEDFader (echo mix), XYPad two-way-linked with the cutoff/res knobs (exponential x-axis mapping), SegmentDisplay live frequency readout, 4 preset buttons that glide every knob via animateChanges - Disambiguated synth aria-labels from gallery demos; octave readout fixed via decimals/format - SteppedKnob now honors the format prop for numeric readouts
This commit is contained in:
parent
54189ad07a
commit
c404b3f82d
3 changed files with 565 additions and 177 deletions
|
|
@ -30,6 +30,7 @@ export const SteppedKnob = React.forwardRef<HTMLDivElement, SteppedKnobProps>(fu
|
|||
labelColor,
|
||||
label,
|
||||
showValue = true,
|
||||
format,
|
||||
focusRing,
|
||||
className,
|
||||
style,
|
||||
|
|
@ -92,7 +93,11 @@ export const SteppedKnob = React.forwardRef<HTMLDivElement, SteppedKnobProps>(fu
|
|||
fontWeight={600}
|
||||
style={{ pointerEvents: 'none' }}
|
||||
>
|
||||
{positions ? positions[index] : ctx.value.toFixed(ctx.decimals)}
|
||||
{positions
|
||||
? positions[index]
|
||||
: format
|
||||
? format(ctx.value)
|
||||
: ctx.value.toFixed(ctx.decimals)}
|
||||
</text>
|
||||
)}
|
||||
{label && (
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue