synops/frontend
vegard 8acb5a8731 Fullfører oppgave 16.5: Sound pads med 4×2 pad-grid
Implementerer lydpads (inspirert av RødeCaster Pro II) i mixeren:

- mixer.ts: Nytt pad-system med AudioBuffer-caching, GainNode per pad,
  og one-shot AudioBufferSourceNode-avspilling. Funksjoner for load,
  play, stop, og gain-kontroll.

- livekit.ts: Data message-støtte (sendDataMessage, onDataMessage) for
  synkronisert pad-avspilling på tvers av LiveKit-deltakere. Bruker
  reliable delivery med topic-filtrering.

- SoundPadGrid.svelte: 4×2 responsivt pad-grid med fargede knapper.
  Forhåndslaster lydfiler fra CAS til AudioBuffer. Visuell feedback
  ved avspilling (scale-animasjon). Konfigurasjonsmodus for å sette
  label, farge og laste opp lydfil per pad. Pad-konfig lagres i
  metadata.mixer.pads på samlingsnoden.

- MixerTrait.svelte: Integrerer SoundPadGrid mellom kanalstriper og
  master-seksjon. Sender isViewer-prop for tilgangskontroll.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 05:17:30 +00:00
..
src Fullfører oppgave 16.5: Sound pads med 4×2 pad-grid 2026-03-18 05:17:30 +00:00
static SvelteKit frontend-skjelett (oppgave 3.1) 2026-03-17 13:37:41 +01:00
.env.example Mottaksflaten v0: vis noder koblet til innlogget bruker (oppgave 3.4) 2026-03-17 14:13:36 +01:00
.gitignore SvelteKit frontend-skjelett (oppgave 3.1) 2026-03-17 13:37:41 +01:00
.npmrc SvelteKit frontend-skjelett (oppgave 3.1) 2026-03-17 13:37:41 +01:00
package-lock.json Fullfører oppgave 16.1: LiveKit-klient i frontend 2026-03-18 04:49:02 +00:00
package.json Fullfører oppgave 16.1: LiveKit-klient i frontend 2026-03-18 04:49:02 +00:00
svelte.config.js SvelteKit frontend-skjelett (oppgave 3.1) 2026-03-17 13:37:41 +01:00
tsconfig.json SvelteKit frontend-skjelett (oppgave 3.1) 2026-03-17 13:37:41 +01:00
vite.config.ts TipTap-editor med create_node-intensjon (oppgave 3.5) 2026-03-17 14:24:25 +01:00