@semohr/tagtor
v0.2.4
Published
<div align="center"> <h1>TagTor</h1> <p align="center"> <em>JS, Python & Rust parser for the TRAKTOR4 metadata tag</em> </p> <p align="center"> <img src="https://github.com/semohr/tagtor/actions/workflows/test.yml/badge.svg
Readme
About
This is a parser for the TRAKTOR4 metadata tag, written in Rust. Wrapped for use in JavaScript, Python are available.
At the moment writing is not supported as the TRAKTOR4 metadata has an CHECKSUM field which is not trivial to calculate. If you have an idea how to do this, please open an issue or a pull request! Help is very welcome!
Usage
Python
import mutagen
from tagtor import parse_frame
# Get traktor4 metadata from a file somehow (example using mutagen)
f = mutagen.File('path/to/file.mp3')
traktor4_metadata = bytes(f.tags.getall("PRIV")[0])
# Parse the metadata
frame = parse_frame(traktor4_metadata)JavaScript
import { parse_frame } from 'tagtor';
// Get traktor4 metadata from a file somehow
const traktor4_metadata = getTraktor4MetadataFromFile();
// Parse the metadata
const frame = parse_frame(traktor4_metadata);See type information to understand the structure of the returned frame object.
Rust
use tagtor::parse_frame;
// Get traktor4 metadata from a file somehow
let traktor4_metadata = get_traktor4_metadata_from_file();
// Parse the metadata
let frame = parse_frame(traktor4_metadata).unwrap();Using wasm32 as target will pull in wasm-bindgen and tsify.
Development
This rust project can be compiled to a JavaScript module using wasm-pack:
wasm-pack buildAlternatively, you can also compile it as python module using maturin:
maturin build --release --features python-binding
# Or
maturin develop --features python-binding