RECORDGOD/.gitignore
type-two e8013a4633 feat(shop): DECKS — two-channel preview mixer on release pages (Serato internal-mode vibe)
Pure Web Audio, zero deps (site/decks.js, self-contained UI):
- deck A/B with waveform (client-computed peaks), click-to-seek, play/pause, CUE
- ±8% varispeed pitch (playbackRate — turntable behaviour, deliberately no keylock)
- channel gains + equal-power crossfader, DynamicsCompressor master limiter
- AudioContext lazily created on first load (autoplay policy safe)

Sources:
- local preview MP3s: PREVIEWS_DIR (default ./previews, gitignored) served at
  /previews, discovered via GET /shop/local-previews/{release_id}
  ({release_id}.mp3 / {release_id}-*.mp3|.m4a); on prod bind-mount the collection
- Apple 30s previews: GET /shop/preview-proxy?u= (STRICT whitelist
  *.itunes.apple.com / *.mzstatic.com) — Apple CDN sends no CORS, Web Audio needs it
- YouTube/Beatport/Bandcamp embeds untouched: iframes can never enter a mixer

release.html: A/B load buttons per track preview + local-cut rows.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 22:57:47 +10:00

19 lines
593 B
Plaintext

__pycache__/
*.pyc
.env
.venv/
venv/
# distro raw dumps — saved scrapes/spreadsheets for manual ingest. Never commit:
# they carry supplier PII + live account tokens (e.g. a RareWaves buyer JWT). Local-only.
ingest_raw/
rarw*.txt
inertia.txt
*.xlsx
# live-site MariaDB dumps for 3D-store/editor data work — full site export, carries customer/
# order PII. Local-only; another lane consumes it for robotmonster.party/store racks + editor.
site-update.sql
customers*.sql
*-dump.sql
# local preview MP3s for the DECKS mixer — John's rips, served at /previews. Never commit audio.
previews/