2021-04-03 00:50:28 +00:00
|
|
|
# Lofty
|
|
|
|
[![Crate](https://img.shields.io/crates/v/lofty.svg)](https://crates.io/crates/lofty)
|
|
|
|
[![Crate](https://img.shields.io/crates/d/lofty.svg)](https://crates.io/crates/lofty)
|
|
|
|
[![Crate](https://img.shields.io/crates/l/lofty.svg)](https://crates.io/crates/lofty)
|
|
|
|
[![Documentation](https://docs.rs/lofty/badge.svg)](https://docs.rs/lofty/)
|
2020-10-25 16:29:14 +00:00
|
|
|
|
2021-04-04 03:11:35 +00:00
|
|
|
This is a fork of [Audiotags](https://github.com/TianyiShi2001/audiotags), adding support for more file types and (optionally) duration.
|
2020-10-27 02:08:05 +00:00
|
|
|
|
2021-04-04 03:11:35 +00:00
|
|
|
Parse, convert, and write metadata to audio files of different file types.
|
2020-10-27 02:08:05 +00:00
|
|
|
|
2021-04-04 03:11:35 +00:00
|
|
|
**Lofty** aims to provide a unified trait for parsers and writers of different audio file formats.
|
|
|
|
Without this crate, you would otherwise need to learn the different APIs in **id3**, **mp4ameta**, etc.
|
|
|
|
in order to parse metadata in different file 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-04-18 04:24:32 +00:00
|
|
|
| File Format | Extensions | Read | Write | Backend |
|
|
|
|
|---------------|-------------------------------------------|------|-------|---------------------------------------------------------------------------------------------------------------------|
|
|
|
|
| Ape | `ape` |**X** |**X** | [**ape**](https://github.com/rossnomann/rust-ape) |
|
|
|
|
| FLAC | `flac` |**X** |**X** | [**metaflac**](https://github.com/jameshurst/rust-metaflac) |
|
|
|
|
| MP3 | `mp3` |**X** |**X** | [**id3**](https://github.com/polyfloyd/rust-id3) |
|
|
|
|
| MP4 | `mp4`, `m4a`, `m4b`, `m4p`, `m4v`, `isom` |**X** |**X** | [**mp4ameta**](https://github.com/Saecki/rust-mp4ameta) |
|
|
|
|
| Opus | `opus` |**X** | | [**opus_headers**](https://github.com/zaethan/opus_headers) |
|
|
|
|
| Ogg Vorbis | `ogg`, `oga` |**X** |**X** | [**lewton**](https://github.com/RustAudio/lewton) (decoding) [**ogg**](https://github.com/RustAudio/ogg) (encoding) |
|
|
|
|
| WAV(*) | `wav`, `wave` |**X** |**X** | [**riff**](https://github.com/frabert/riff) |
|
2021-04-18 04:12:47 +00:00
|
|
|
|
2021-04-21 17:03:06 +00:00
|
|
|
* Both ID3 tags and RIFF INFO lists are supported
|
2020-10-25 21:39:38 +00:00
|
|
|
|
2021-04-04 03:15:06 +00:00
|
|
|
## Documentation
|
|
|
|
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.
|