:toc: macro :toclevels: 5 :figure-caption!:
FLACsmith
¶ ↑
⚠️ *This gem is deprecated and will be fully destroyed on 2023-02-01.* ⚠️
This gem is a Ruby wrapper for https://xiph.org/flac[FLAC] metadata. FLACsmith
aids in listing/rebuilding metadata for a music collection, artist, album, or track. Having metadata information that reflects the directory/file structure makes organizing and managing large music collections easier. This can be especially useful with tools like https://iina.io[IINA].
toc::[]
Features¶ ↑
-
Converts source audio (AIFF) to FLAC.
-
Rebuilds metadata for a file, album, artist, or music collection.
-
Lists metadata for a file, album, artist, or music collection.
Requirements¶ ↑
. A UNIX-based system. . https://www.ruby-lang.org[Ruby]. . https://xiph.org/flac[FLAC].
Setup¶ ↑
To install, run:
- source,bash
gem install flacsmith
Usage¶ ↑
From the command line, type: ‘flacsmith –help`
.…
FLACsmith
- A command line interface for managing FLAC metadata.USAGE:
-e, --encode SOURCE_DIR,TARGET_DIR Encode source audio as FLAC audio. -h, --help Show this message. -l, --list SOURCE_DIR List track metadata for source directory. -r, --rebuild SOURCE_DIR Rebuild track metadata for source directory. -v, --version Show gem version.
ENCODE OPTIONS:
-i, --image PATH Album image file path.
.…
The following directory structure is assumed: ‘/<artist>/<album>/<tracknumber> <title>.flac`. This is important because metadata for a file is always rebuilt by inspecting the absolute path to the file which assumes that a song is nested within an artist and album folder and has a track number followed by a title. This convention over configuration technique allows metadata to be rebuilt by inspecting the absolute path of the file. This also means that the `–rebuild` option can be applied to a single song, album, artist, or a complete music collection.
The following is an example of potential workflows:
-
Convert AIFF files to FLAC files:
** Run: ‘flacsmith –encode “<source_dir>,<target_dir>” –image “<image_path>”`
-
List metadata for an artist:
** Run: ‘flacsmith –list “<artist>”`
-
List metadata for an album:
** Run: ‘flacsmith –list “<artist>/<album>”`
-
List metadata for collection:
** Run: ‘flacsmith –list .`
-
Rebuild metadata for a new album:
** Copy the album to ‘<collecton>/<artist>/<album>` ** Run: `flacsmith –rebuild “<collecton>/<artist>/<album>”`
-
Rebuild metadata for a song:
** Change directory to ‘<collecton>/<artist></album>` ** Run: `mv <old name>.flac` to `<new name>.flac` ** Run: `flacsmith –rebuild “<new name>.flac”`
-
Rebuild metadata for an entire music collection:
** Run: ‘flacsmith –rebuild .`
Development¶ ↑
To contribute, run:
- source,bash
git clone github.com/bkuhlmann/flacsmith cd flacsmith bin/setup
You can also use the IRB console for direct access to all objects:
- source,bash
bin/console
Tests¶ ↑
To test, run:
- source,bash
bundle exec rake
https://www.alchemists.io/policies/license[License]¶ ↑
https://www.alchemists.io/policies/security[Security]¶ ↑
https://www.alchemists.io/policies/code_of_conduct[Code of Conduct]¶ ↑
https://www.alchemists.io/policies/contributions[Contributions]¶ ↑
https://www.alchemists.io/projects/flacsmith/versions[Versions]¶ ↑
https://www.alchemists.io/community[Community]¶ ↑
Credits¶ ↑
-
Built with https://www.alchemists.io/projects/gemsmith[Gemsmith].
-
Engineered by https://www.alchemists.io/team/brooke_kuhlmann[Brooke Kuhlmann].
-
-