grandchild / avs-preset-depends

List resources needed by Winamp AVS presets

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AVS Preset Depends

builds.sr.ht status

A CLI tool to scan Winamp AVS presets for any files it might need.

Scan individual files or whole directories.

Build

Install Rust & Cargo, then:

cargo build --release

Usage

Usage: preset-depends [<path...>] [-w <winamp-dir>]

For each path (either file or directory) print out a sectioned list of resources
the preset(s) depend on.

Positional Arguments:
  path              path(s) to preset files or directories.

Options:
  -w, --winamp-dir  path to Winamp base directory, if given will resolve
                    filenames for many resources including images and APE plugin
                    files. also tolerates if you pass paths to `Winamp/Plugins`
                    or `Winamp/Plugins/avs`.
  --help            display usage information

Example Output

❯ preset-depends \
    "~/Winamp/Plugins/avs/zamuz - visions five/" \
    "~/Winamp/Plugins/avs/VISBOT/VC017/01 skupers - same old intro.avs"
/home/me/Winamp/Plugins/avs/zamuz - visions five:
  Images:
    - v4_texer7.bmp
    - v5_circle.bmp
    - v5_circle2.bmp
    - V5_intro2.bmp
    - V5_intro4.bmp
    - v5_square.bmp
    - v5_texer1.bmp
  APEs:
    - "Acko.net: Texer II"
    - Channel Shift
    - Color Map
    - "Holden03: Convolution Filter"
    - "Holden04: Video Delay"
/home/me/Winamp/Plugins/avs/VISBOT/VC017/01 skupers - same old intro.avs:
  Images:
    - vb.bmp
  APEs:
    - Color Map
    - "Holden03: Convolution Filter"

Todo

  • Try retrieving resources async.
  • Unit- & integration testing
  • CI & downloadable release builds

Learning Rust

While this project does serve a useful purpose, it is with equal importance a project for learning Rust. I try hard to make the code as idiomatic as possible and to apply various parts of the language and libraries. Other than that the code should have minimal dependencies and produce the smallest possible binary size.

License

CC0 - free software. To the extent possible under law, all copyright and related or neighboring rights to this work are waived. See the LICENSE file for more information.

About

List resources needed by Winamp AVS presets

License:Creative Commons Zero v1.0 Universal


Languages

Language:Rust 100.0%