feat: card-based Sample Library layout with grouping

Redesigned WAV Browser as a structured Sample Library with card layout:
- WAVs grouped by library (ISO name) and program (volume name)
- Library cards with collapsible headers showing program/sample counts
- Program sections within each library
- Sample cards in a compact grid with play-on-click

Updated playWav to show a clean sample name in the player bar,
hide the player when playback ends, and use sample-card selectors
for active-state highlighting.

Clean display names (underscores → spaces, stripped .wav extensions)
This commit is contained in:
2026-06-22 02:35:55 -07:00
parent b5650c53ba
commit e0bad5e5ac
3 changed files with 208 additions and 46 deletions
+10 -7
View File
@@ -40,18 +40,21 @@
</section>
<section id="wav-section">
<h2>WAV Browser</h2>
<h2>Sample Library</h2>
<div class="wav-controls">
<input type="text" id="wav-dir" placeholder="WAV directory" value="./output/wavs">
<button id="wav-browse-btn">Browse</button>
</div>
<div id="wav-player" class="wav-player">
<div id="wav-now-playing" class="now-playing"></div>
<div class="audio-bar">
<div class="audio-progress"><div id="wav-progress-fill" class="audio-progress-fill"></div></div>
<span id="wav-time">0:00</span>
<div id="wav-results" style="display:none">
<div id="wav-summary" class="wav-summary"></div>
<div id="wav-player" class="wav-player" style="display:none">
<div id="wav-now-playing" class="now-playing"></div>
<div class="audio-bar">
<div class="audio-progress"><div id="wav-progress-fill" class="audio-progress-fill"></div></div>
<span id="wav-time">0:00</span>
</div>
</div>
<div id="wav-list" class="wav-list"></div>
<div id="wav-list" class="wav-library"></div>
</div>
</section>