https://github.com/notryanb/nu_plugin_id3
A Nushell plugin to get Id3 tag information as structured data.
https://github.com/notryanb/nu_plugin_id3
id3 nushell plugin
Last synced: 6 months ago
JSON representation
A Nushell plugin to get Id3 tag information as structured data.
- Host: GitHub
- URL: https://github.com/notryanb/nu_plugin_id3
- Owner: notryanb
- Created: 2020-01-30T01:15:38.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2021-02-12T23:08:41.000Z (over 4 years ago)
- Last Synced: 2025-03-21T20:46:36.394Z (7 months ago)
- Topics: id3, nushell, plugin
- Language: Rust
- Size: 5.68 MB
- Stars: 6
- Watchers: 2
- Forks: 1
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# nu_plugin_id3
The `id3` is a plugin for [nushell](https://www.nushell.sh) that helps you read the [id3](https://en.wikipedia.org/wiki/ID3) metadata of your mp3 files.
This is project is experimental and still under development.
The public API for the user (flags, command input, etc...) may change while [nushell](https://www.nushell.sh) is still pre `1.0`.
This project is still lacking many features
- Ability to parse Id3V1 tags
- Show tag version information
- Eliminate non-mp3 files from the output (nu command `compact` removes empty rows)
- Missing several Id3V2 fields such as comments, data recorded, etc...
- Ability to write to the tag (mutate artist, album, comments, lyrics, etc...)
- Ability to convert from older Id3V1 to Id3V2.X## Installation
This project depends on a minimum of [nushell](https://www.nushell.sh) `0.10.0` to be installed as that is when support for plugin names containing numbers started.
### Cargo
`cargo install nu_plugin_id3`## Build from Source
- Clone this repository and navigate to the project directory
- `cargo install --path .`
- You may need to restart nushell for it to recognize this plugin.## Usage
`id3` will recursively walk a directory and try to parse id3 tags for each file it finds.
The only parameter `id3` takes is an optional path.
If no optional path is given, `id3` will search the current directory.
You may specify an arbitrary directory or path to search.```
// Searches the present working directory
id3
``````
// Searches all directories inside of ~/mp3s/fugazi
id3 ~/mp3s/fugazi
```To take advantage of some fun features of [nushell](https://www.nushell.sh) like viewing images in your terminal,
you'll need to have the `binaryview` plugin installed with [nushell](https://www.nushell.sh).
You can install this via `cargo install nu_plugin_binaryview`.```
// :)
id3 ~/mp3s/fugazi/repeater | get pictures | first | get data
```