From 98eff109fcfed04dd97cea997e4b29c807e637d5 Mon Sep 17 00:00:00 2001 From: Guillaume ARM Date: Sat, 20 Jun 2026 12:04:46 +0200 Subject: [PATCH] refactor: rename /musics dir in /data/musics --- just/craftos.just | 4 ++-- just/stage.just | 4 ++-- packages/index.json | 2 +- packages/trapos-music/apis/libmusic.lua | 2 +- packages/trapos-music/ccpm.json | 4 ++-- .../trapos-music/{ => data}/musics/GrillControl.dfpwm | 0 packages/trapos-music/programs/music.lua | 2 +- packages/trapos-music/tests/libmusic.lua | 10 +++++----- 8 files changed, 14 insertions(+), 14 deletions(-) rename packages/trapos-music/{ => data}/musics/GrillControl.dfpwm (100%) diff --git a/just/craftos.just b/just/craftos.just index 8dc67d5..f40f9e9 100644 --- a/just/craftos.just +++ b/just/craftos.just @@ -12,7 +12,7 @@ trapos *args: check-install stage argv+=(--rom /Applications/CraftOS-PC.app/Contents/Resources) fi argv+=(--mount-ro "/trapos=$repo") - for dir in apis programs daemons startup tests musics; do + for dir in apis programs daemons startup tests data; do if [ -d "$repo/.stage/$dir" ]; then argv+=(--mount-ro "/$dir=$repo/.stage/$dir") fi @@ -79,7 +79,7 @@ trapos-exec code: stage printf '%s\n' 'status.close()' printf '%s\n' 'os.shutdown()' } > "$runner" - mount_arg=(--mount-ro "/trapos=$repo" --mount-ro "/apis=$repo/.stage/apis" --mount-ro "/programs=$repo/.stage/programs" --mount-ro "/daemons=$repo/.stage/daemons" --mount-ro "/startup=$repo/.stage/startup" --mount-ro "/tests=$repo/.stage/tests" --mount-ro "/musics=$repo/.stage/musics" --mount-ro "/headless=$stage_dir") + mount_arg=(--mount-ro "/trapos=$repo" --mount-ro "/apis=$repo/.stage/apis" --mount-ro "/programs=$repo/.stage/programs" --mount-ro "/daemons=$repo/.stage/daemons" --mount-ro "/startup=$repo/.stage/startup" --mount-ro "/tests=$repo/.stage/tests" --mount-ro "/data=$repo/.stage/data" --mount-ro "/headless=$stage_dir") craftos --directory "$data_dir" --headless "${rom_arg[@]}" "${mount_arg[@]}" --exec "shell.run('/headless/exec.lua')" >"$tmp" 2>&1 & pid="$!" ( sleep "$timeout_seconds"; kill -TERM "$pid" >/dev/null 2>&1 ) & diff --git a/just/stage.just b/just/stage.just index 600fc0d..4147ba8 100644 --- a/just/stage.just +++ b/just/stage.just @@ -3,7 +3,7 @@ # '/apis/x') and ccpm installs files flat, but sources now live under # packages//{apis,programs,daemons,startup,tests}. This merges them back # into a gitignored .stage/ that the dev/test recipes mount as /apis, /programs, -# /daemons, /startup, /tests, /musics. Regenerated on every run so it always +# /daemons, /startup, /tests, /data. Regenerated on every run so it always # reflects the working tree. stage: #!/usr/bin/env bash @@ -12,7 +12,7 @@ stage: cd "$repo" stage="$repo/.stage" rm -rf "$stage" - for dir in apis programs daemons startup tests musics; do + for dir in apis programs daemons startup tests data; do for pkgdir in packages/*/"$dir"; do [ -d "$pkgdir" ] || continue mkdir -p "$stage/$dir" diff --git a/packages/index.json b/packages/index.json index e14bb1a..de9597d 100644 --- a/packages/index.json +++ b/packages/index.json @@ -6,7 +6,7 @@ "trapos-ui": "0.2.4", "trapos-ai": "0.8.0", "trapos-cloud": "0.4.5", - "trapos-music": "0.1.0", + "trapos-music": "0.1.1", "trapos-sandbox-legacy": "0.3.2", "trapos": "0.12.6" } diff --git a/packages/trapos-music/apis/libmusic.lua b/packages/trapos-music/apis/libmusic.lua index 6dc5f0c..6121d8d 100644 --- a/packages/trapos-music/apis/libmusic.lua +++ b/packages/trapos-music/apis/libmusic.lua @@ -6,7 +6,7 @@ -- unit-testable with an injected `fs`. Dependencies are injectable to keep the -- module testable outside the CC runtime (mirrors libccpm/libversion style). -local DEFAULT_DIR = '/musics'; +local DEFAULT_DIR = '/data/musics'; local EXTENSION = '.dfpwm'; local CHUNK_SIZE = 16 * 1024; diff --git a/packages/trapos-music/ccpm.json b/packages/trapos-music/ccpm.json index 1e11c91..2efe60e 100644 --- a/packages/trapos-music/ccpm.json +++ b/packages/trapos-music/ccpm.json @@ -1,12 +1,12 @@ { "name": "trapos-music", - "version": "0.1.0", + "version": "0.1.1", "description": "TrapOS music player: dfpwm playback through a speaker", "dependencies": ["trapos-core", "trapos-ui"], "files": [ "apis/libmusic.lua", "programs/music.lua", - "musics/GrillControl.dfpwm" + "data/musics/GrillControl.dfpwm" ], "autostart": [] } diff --git a/packages/trapos-music/musics/GrillControl.dfpwm b/packages/trapos-music/data/musics/GrillControl.dfpwm similarity index 100% rename from packages/trapos-music/musics/GrillControl.dfpwm rename to packages/trapos-music/data/musics/GrillControl.dfpwm diff --git a/packages/trapos-music/programs/music.lua b/packages/trapos-music/programs/music.lua index 0675eb1..311ad9b 100644 --- a/packages/trapos-music/programs/music.lua +++ b/packages/trapos-music/programs/music.lua @@ -30,7 +30,7 @@ local music = createMusic(); local tracks = music.listTracks(); if #tracks == 0 then - print('No music found in /musics'); + print('No music found in /data/musics'); return; end diff --git a/packages/trapos-music/tests/libmusic.lua b/packages/trapos-music/tests/libmusic.lua index 90fc610..2640d55 100644 --- a/packages/trapos-music/tests/libmusic.lua +++ b/packages/trapos-music/tests/libmusic.lua @@ -15,20 +15,20 @@ end testlib.test('listTracks filters dfpwm, strips extension and sorts', function() local music = createMusic({ - dir = '/musics', - fs = fakeFs('/musics', { 'Zebra.dfpwm', 'notes.txt', 'Apple.dfpwm' }), + dir = '/data/musics', + fs = fakeFs('/data/musics', { 'Zebra.dfpwm', 'notes.txt', 'Apple.dfpwm' }), }); local tracks = music.listTracks(); testlib.assertEquals(#tracks, 2); testlib.assertEquals(tracks[1].name, 'Apple'); - testlib.assertEquals(tracks[1].path, '/musics/Apple.dfpwm'); + testlib.assertEquals(tracks[1].path, '/data/musics/Apple.dfpwm'); testlib.assertEquals(tracks[2].name, 'Zebra'); - testlib.assertEquals(tracks[2].path, '/musics/Zebra.dfpwm'); + testlib.assertEquals(tracks[2].path, '/data/musics/Zebra.dfpwm'); end); testlib.test('listTracks returns empty when directory is missing', function() local music = createMusic({ - dir = '/musics', + dir = '/data/musics', fs = { isDir = function() return false; end }, }); testlib.assertEquals(#music.listTracks(), 0);