diff --git a/docs/ASSETS.md b/docs/ASSETS.md index 029a36b..f14eb26 100644 --- a/docs/ASSETS.md +++ b/docs/ASSETS.md @@ -7,8 +7,7 @@ tersedia atribusinya dari menu **Tentang** di aplikasi. | Aset | Sumber | Lisensi | Tanggal | Status | File target | |---|---|---|---|---|---| | Palet Catppuccin (Mocha/Latte) | https://github.com/catppuccin/catppuccin | MIT | — | planned (Phase 1) | `internal/ui/theme/catppuccin.go` | -| Efek suara UI — placeholder (8 WAV, generated) | buatan sendiri (script sinus, no external) | ikut lisensi tia | 2026-10-15 | dipakai sementara (T-0.3) | `internal/audio/assets/*.wav` | -| Efek suara UI final (click, modal, notif, error) | Kenney Interface Sounds — https://kenney.nl/assets/interface-sounds | CC0 1.0 | — | pending (T-0.6) | `internal/audio/assets/*.wav` | +| Efek suara UI — **final** (click, navigate, modal open/close, notif success/warning/error, exec) | Kenney Interface Sounds 1.0 — https://kenney.nl/assets/interface-sounds | CC0 1.0 (file: `internal/audio/assets/kenney-license.txt`) | 2026-10-15 | **dipakai** (T-0.6) | `internal/audio/assets/*.wav` (8 file, total 176 KB) | | Logo ASCII `tia` | buatan sendiri | ikut lisensi tia | 2026-10 | planned (Phase 1) | `internal/ui/animation/logo.go` | | Ikon/glyph | Unicode standar (●, ○, ▶, ⟳, ✔, ⚠, ✕) | bebas | 2026-10 | dipakai | di kode UI | diff --git a/docs/spikes/T-0.3-audio.md b/docs/spikes/T-0.3-audio.md index ed05d88..d7a708a 100644 --- a/docs/spikes/T-0.3-audio.md +++ b/docs/spikes/T-0.3-audio.md @@ -54,6 +54,6 @@ TIA_AUDIO_SPIKE=1 PULSE_SERVER=unix:/nonexistent ALSA_CONFIG_PATH=/nonexistent/a ## Status follow-up -- [ ] Ganti aset placeholder dengan Kenney CC0 (T-0.6) +- [x] Ganti aset placeholder dengan Kenney CC0 (T-0.6) — 8 file, `kenney-license.txt` ikut di assets - [ ] Toggle suara/volume langsung dari layar Pengaturan tanpa restart (Phase 1, F-024) - [ ] `tia-love doctor` menampilkan status audio (Phase 1) diff --git a/internal/audio/assets/click.wav b/internal/audio/assets/click.wav index 5bf7057..e57e779 100644 Binary files a/internal/audio/assets/click.wav and b/internal/audio/assets/click.wav differ diff --git a/internal/audio/assets/exec.wav b/internal/audio/assets/exec.wav index 433002a..9f4b07b 100644 Binary files a/internal/audio/assets/exec.wav and b/internal/audio/assets/exec.wav differ diff --git a/internal/audio/assets/kenney-license.txt b/internal/audio/assets/kenney-license.txt new file mode 100644 index 0000000..1fc5acf --- /dev/null +++ b/internal/audio/assets/kenney-license.txt @@ -0,0 +1,22 @@ + + + Interface Sounds (1.0) + + Created/distributed by Kenney (www.kenney.nl) + Creation date: 11-02-2020 + + ------------------------------ + + License: (Creative Commons Zero, CC0) + http://creativecommons.org/publicdomain/zero/1.0/ + + This content is free to use in personal, educational and commercial projects. + Support us by crediting Kenney or www.kenney.nl (this is not mandatory) + + ------------------------------ + + Donate: http://support.kenney.nl + Patreon: http://patreon.com/kenney/ + + Follow on Twitter for updates: + http://twitter.com/KenneyNL \ No newline at end of file diff --git a/internal/audio/assets/modal_close.wav b/internal/audio/assets/modal_close.wav index a57d5d2..25db74d 100644 Binary files a/internal/audio/assets/modal_close.wav and b/internal/audio/assets/modal_close.wav differ diff --git a/internal/audio/assets/modal_open.wav b/internal/audio/assets/modal_open.wav index 3a949c1..496a68d 100644 Binary files a/internal/audio/assets/modal_open.wav and b/internal/audio/assets/modal_open.wav differ diff --git a/internal/audio/assets/navigate.wav b/internal/audio/assets/navigate.wav index 9bc9703..66b9ced 100644 Binary files a/internal/audio/assets/navigate.wav and b/internal/audio/assets/navigate.wav differ diff --git a/internal/audio/assets/notify_error.wav b/internal/audio/assets/notify_error.wav index fb27bae..4f01836 100644 Binary files a/internal/audio/assets/notify_error.wav and b/internal/audio/assets/notify_error.wav differ diff --git a/internal/audio/assets/notify_success.wav b/internal/audio/assets/notify_success.wav index a7a573d..cd7240c 100644 Binary files a/internal/audio/assets/notify_success.wav and b/internal/audio/assets/notify_success.wav differ diff --git a/internal/audio/assets/notify_warning.wav b/internal/audio/assets/notify_warning.wav index 41f31b6..c26f741 100644 Binary files a/internal/audio/assets/notify_warning.wav and b/internal/audio/assets/notify_warning.wav differ diff --git a/internal/audio/sounds_test.go b/internal/audio/sounds_test.go new file mode 100644 index 0000000..da27c83 --- /dev/null +++ b/internal/audio/sounds_test.go @@ -0,0 +1,20 @@ +package audio + +import "testing" + +// TestLoadSounds memastikan seluruh aset embedded valid: WAV mono/16-bit/44100 +// dan PCM tidak kosong. Gagal di sini = aset ketimpa atau berubah format. +func TestLoadSounds(t *testing.T) { + sounds, err := loadSounds() + if err != nil { + t.Fatalf("loadSounds: %v", err) + } + if len(sounds) != len(allEvents) { + t.Fatalf("jumlah suara termuat: %d, harusnya %d", len(sounds), len(allEvents)) + } + for _, ev := range allEvents { + if len(sounds[ev]) == 0 { + t.Errorf("%s: PCM kosong", ev) + } + } +}