Add a session background-music feature to the TUI. Ships two bundled CC BY 4.0 albums (Kevin MacLeod / incompetech.com) under hh/music/: 'crypt' (dark ambient, 5 tracks) and 'terminal' (synth/chiptune, 6). - hh/src/music.rs: playlist model + subprocess player (ffplay/mpv/cvlc fallback chain), album discovery (user ~/.hh/music shadows bundled), random shuffle, and /music import of the operator's own audio. - /music [list] · play [album] (blank/random shuffles) · stop · next · import <path> [as <name>]; now-playing shown in the top bar + help. - docs/music-licensing.md: CC-BY provenance/attribution register. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3.0 KiB
Session-music licensing & provenance
Generated 2026-07-07 for the bundled albums under hh/music/.
This is the provenance + attribution register for the background-music albums that
the Rust client plays during a session (/music, see hh/src/music.rs). Each album
is a hh/music/<name>.json manifest pointing at the .mp3 files shipped alongside it.
Verdict: ALL bundled tracks CLEARED — CC BY 4.0, attribution required
- 2 albums / 11 tracks, every one composed by Kevin MacLeod and published on incompetech.com under Creative Commons Attribution 4.0 International (CC BY 4.0).
- CC BY 4.0 permits redistribution, bundling, and commercial use provided the
author is credited. That makes these safe to commit to the repo, push to any
remote, demo publicly, and ship — unlike the quarantined character art
(
character-art-licensing.md). - Attribution is carried in two machine-readable places already: the
licensefield of eachhh/music/*.jsonmanifest, and this register. Keep both intact.
Required attribution (CC BY 4.0)
Music by Kevin MacLeod (incompetech.com) — licensed under Creative Commons: By Attribution 4.0 — https://creativecommons.org/licenses/by/4.0/
Surface this credit wherever the music is used publicly (demo video description,
release notes, an About/Credits screen). Do not remove the license fields from the
manifests, and do not relabel these tracks as original or royalty-free-without-credit.
Per-track register
| Album | Track | Composer | Source | Licence | Status |
|---|---|---|---|---|---|
| crypt | Ossuary 5 - Rest | Kevin MacLeod | incompetech.com | CC BY 4.0 | CLEARED |
| crypt | Ghostpocalypse - 6 Crossing the Threshold | Kevin MacLeod | incompetech.com | CC BY 4.0 | CLEARED |
| crypt | Crypto | Kevin MacLeod | incompetech.com | CC BY 4.0 | CLEARED |
| crypt | Killers | Kevin MacLeod | incompetech.com | CC BY 4.0 | CLEARED |
| crypt | Hitman | Kevin MacLeod | incompetech.com | CC BY 4.0 | CLEARED |
| terminal | Neon Laser Horizon | Kevin MacLeod | incompetech.com | CC BY 4.0 | CLEARED |
| terminal | Cyborg Ninja | Kevin MacLeod | incompetech.com | CC BY 4.0 | CLEARED |
| terminal | Space Fighter Loop | Kevin MacLeod | incompetech.com | CC BY 4.0 | CLEARED |
| terminal | Voltaic | Kevin MacLeod | incompetech.com | CC BY 4.0 | CLEARED |
| terminal | Blip Stream | Kevin MacLeod | incompetech.com | CC BY 4.0 | CLEARED |
| terminal | Pixelland | Kevin MacLeod | incompetech.com | CC BY 4.0 | CLEARED |
cryptis the dark-ambient album (matches the default "crypt" vestment);terminalis the hacker synth/chiptune album. Files live underhh/music/<album>/.
Imported albums (/music import)
/music import <path> writes user albums to ~/.hh/music/*.json, referencing the
operator's own files in place (absolute paths — nothing is copied into the repo).
Those files are the operator's responsibility and are out of scope for this
register; only the bundled hh/music/ albums above are shipped and covered here.