Commit ee8d4ac2 by PLN (Algolia)

fix(cale): the CLAP tags were painted over the downbeat

Third round of "screenshot it rather than assume". The tag chips were absolutely
positioned inside the waveform cell with a translucent background, so they covered the
first ~15% of every envelope — which is the attack of the loop, the one part you look at
to decide whether a cut landed on the beat. It read as a gap in the audio, and I nearly
went looking for a bug in the envelope generator.

Tags now sit on their own 11 px line under the waveform, truncated, with the CLAP
confidence in the tooltip. `fred_marea_drums` reads correctly at a glance now: twelve
loops, kick transients visible, three `kit` loops separated by @4:31 / @1:45 / @1:12.
parent 831d3f14
...@@ -77,15 +77,17 @@ export function SampleRow({ s, playing, head, inRack, focused, onPlay, onStop, o ...@@ -77,15 +77,17 @@ export function SampleRow({ s, playing, head, inRack, focused, onPlay, onStop, o
)} )}
</div> </div>
<div className="relative"> {/* Tags UNDER the waveform, not over it. Absolutely positioned they covered the
<Waveform env={s.env} color={col} head={head} bars={bars} height={30} /> first ~15% of every envelope — which is the downbeat, the one part of a loop
{tags.length > 0 && ( you actually need to see. */}
<div className="absolute -bottom-0.5 left-0 flex gap-1 pointer-events-none"> <div className="min-w-0">
{tags.map(([t]) => ( <Waveform env={s.env} color={col} head={head} bars={bars} height={26} />
<span key={t} className="text-[10px] text-ink-faint/70 bg-surface/70 px-1 rounded-sm">{t}</span> <div className="flex gap-1.5 h-[11px] overflow-hidden">
{tags.map(([t, p]) => (
<span key={t} className="text-[10px] leading-[11px] text-ink-faint/70 truncate"
title={`${t} (${(p * 100).toFixed(0)}%)`}>{t}</span>
))} ))}
</div> </div>
)}
</div> </div>
<div className="tnum font-mono text-[11px] text-ink-faint text-right"> <div className="tnum font-mono text-[11px] text-ink-faint text-right">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment