2021-04-03 00:50:28 +00:00
|
|
|
# Lofty
|
2021-04-23 13:27:16 +00:00
|
|
|
[![GitHub Workflow Status](https://img.shields.io/github/workflow/status/Serial-ATA/lofty-rs/CI?style=for-the-badge&logo=github)](https://github.com/Serial-ATA/lofty-rs/actions/workflows/ci.yml)
|
2021-04-23 22:12:55 +00:00
|
|
|
[![Downloads](https://img.shields.io/crates/d/lofty?style=for-the-badge&logo=rust)](https://crates.io/crates/lofty)
|
|
|
|
[![Version](https://img.shields.io/crates/v/lofty?style=for-the-badge&logo=rust)](https://crates.io/crates/lofty)
|
2021-04-23 02:11:04 +00:00
|
|
|
[![Documentation](https://img.shields.io/badge/docs.rs-lofty-informational?style=for-the-badge&logo=read-the-docs)](https://docs.rs/lofty/)
|
2020-10-25 16:29:14 +00:00
|
|
|
|
2021-06-21 03:24:59 +00:00
|
|
|
Parse, convert, and write metadata to various audio formats.
|
2020-10-27 02:08:05 +00:00
|
|
|
|
2021-04-04 03:15:06 +00:00
|
|
|
## Supported Formats
|
2020-10-25 21:39:38 +00:00
|
|
|
|
2021-12-20 14:44:38 +00:00
|
|
|
| File Format | Extensions | Read | Write | Metadata Format(s) |
|
|
|
|
|-------------|-------------------------------------------------|-------|-------|------------------------------------------------|
|
|
|
|
| Ape | `ape` | **X** | **X** | `APEv2`, `APEv1`, `ID3v2` (Read only), `ID3v1` |
|
2022-01-31 18:25:52 +00:00
|
|
|
| AIFF | `aiff`, `aif`, `aifc`, `afc` | **X** | **X** | `ID3v2`, `Text Chunks` |
|
2021-12-20 14:44:38 +00:00
|
|
|
| FLAC | `flac` | **X** | **X** | `Vorbis Comments` |
|
|
|
|
| MP3 | `mp3` | **X** | **X** | `ID3v2`, `ID3v1`, `APEv2`, `APEv1` |
|
|
|
|
| MP4 | `mp4`, `m4a`, `m4b`, `m4p`, `m4r`, `m4v`, `3gp` | **X** | **X** | `iTunes-style ilst` |
|
|
|
|
| Opus | `opus` | **X** | **X** | `Vorbis Comments` |
|
|
|
|
| Ogg Vorbis | `ogg` | **X** | **X** | `Vorbis Comments` |
|
|
|
|
| WAV | `wav`, `wave` | **X** | **X** | `ID3v2`, `RIFF INFO` |
|
2020-10-25 21:39:38 +00:00
|
|
|
|
2021-12-20 14:44:38 +00:00
|
|
|
## Examples
|
2021-12-12 17:47:26 +00:00
|
|
|
|
2021-12-20 14:44:38 +00:00
|
|
|
* [Tag reader](examples/tag_reader.rs)
|
|
|
|
* [Tag stripper](examples/tag_stripper.rs)
|
2021-12-20 15:58:00 +00:00
|
|
|
* [Tag writer](examples/tag_writer.rs)
|
2021-12-12 17:47:26 +00:00
|
|
|
|
2021-12-20 14:44:38 +00:00
|
|
|
To try them out, run:
|
2021-12-12 17:47:26 +00:00
|
|
|
|
|
|
|
```bash
|
|
|
|
cargo run --example tag_reader /path/to/file
|
2021-12-20 14:44:38 +00:00
|
|
|
cargo run --example tag_stripper /path/to/file
|
2021-12-20 15:58:00 +00:00
|
|
|
cargo run --example tag_writer <options> --path /path/to/file
|
2021-12-12 17:47:26 +00:00
|
|
|
```
|
|
|
|
|
2021-04-04 03:15:06 +00:00
|
|
|
## Documentation
|
2021-04-21 18:48:45 +00:00
|
|
|
|
2021-04-04 03:15:06 +00:00
|
|
|
Available [here](https://docs.rs/lofty)
|
|
|
|
|
2021-04-04 03:11:35 +00:00
|
|
|
## License
|
|
|
|
|
|
|
|
Licensed under either of
|
|
|
|
|
|
|
|
* Apache License, Version 2.0
|
|
|
|
([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
|
|
|
|
* MIT license
|
|
|
|
([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
|
|
|
|
|
|
|
|
at your option.
|
|
|
|
|
|
|
|
## Contribution
|
2020-10-25 16:29:14 +00:00
|
|
|
|
2021-04-04 03:11:35 +00:00
|
|
|
Unless you explicitly state otherwise, any contribution intentionally submitted
|
|
|
|
for inclusion in the work by you, as defined in the Apache-2.0 license, shall be
|
|
|
|
dual licensed as above, without any additional terms or conditions.
|