SoundCloud WASM plugin for Vortex.
- Single track resolution with title, artist, duration, artwork
- Playlist / album extraction (
/sets/), plus/likes,/tracks,/albums - Artwork upgraded from the 100×100 default to the 500×500 variant when
the CDN URL follows the
-largemarker convention client_idis read from host config (get_config→client_id) so that the user can supply their own without rebuilding the plugin
- Vortex plugin host ≥ 0.1.0 with
http_requestandget_confighost functions enabled.
rustup target add wasm32-wasip1
cargo build --release --target wasm32-wasip1The resulting WASM binary is at
target/wasm32-wasip1/release/vortex_mod_soundcloud.wasm.
Note: the crate ships a
.cargo/config.tomlthat setstarget = "wasm32-wasip1", socargo build --releasealone also works inside the crate directory. The explicit flag above is given so that the command works from any working directory.
The Vortex plugin loader enforces two rules:
- The plugin directory name must match the
namefield inplugin.toml. - The directory must contain exactly one
.wasmfile.
mkdir -p ~/.config/vortex/plugins/vortex-mod-soundcloud
cp plugin.toml ~/.config/vortex/plugins/vortex-mod-soundcloud/
cp target/wasm32-wasip1/release/vortex_mod_soundcloud.wasm \
~/.config/vortex/plugins/vortex-mod-soundcloud/vortex-mod-soundcloud.wasmcargo test --target x86_64-unknown-linux-gnuAll URL classification, JSON parsing, and IPC helpers are native-testable — tests use hardcoded JSON fixtures so they run without a WASM runtime or a live SoundCloud account.