EruEri / tag_edit

Personal project for editing tag from mp3 and flac files

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

tag_edit

Personal project for editing tag from mp3 and flac files


A dependency-free library written in Rust that allows you to edit and create tag

Currently only ID3.v2.3 and Flac supported


Examples

Reading and writting tag from mp3 file

use tag_edit::ID3TAG;


let mut metadata = ID3TAG::from_path("file_test/mp3/1-01 Dark seeks light.mp3").unwrap();
if let Some(_artist) = metadata.artist(){
    // do something
}
if let Some(_year) = metadata.year(){
    // do somthing else
}

metadata.set_bpm(100);

metadata.set_album("An album".into());

let _ = metadata.overwrite_tag();

Create an tag and replace the old mp3 tag

use tag_edit::ID3TagBuilder;
use tag_edit::ID3TEXTFRAMEID;

let mut tag_builder = ID3TagBuilder::new();
tag_builder
.set_artist("An artist")
.set_album("An album")
.add_text_frame(ID3TEXTFRAMEID::TIT2, "A title")
.replace_tag("file_path");

Reading and writting tag from flac file

use tag_edit::FlacTag;
let mut flac_tag = FlacTag::from_path("file_test/flac/01. DO IT, DO IT (24bit-48kHz).flac").unwrap();
if let Some(_artist) = flac_tag.artist(){
    // do something
}

if let Some(_album) = flac_tag.album(){
    // do something else
}

flac_tag.set_disc(1);


let _ = flac_tag.overwrite_flac();

Roadmap (at least try)

  • ID3.v2.3
  • FLAC
  • Publish a crate version of the library
  • ID3.v2.4
  • M4A

Warning

  • This library is not very efficient since all the content of the audio file is loaded into a vector

About

Personal project for editing tag from mp3 and flac files

License:GNU Lesser General Public License v2.1


Languages

Language:Rust 100.0%