3 releases
0.0.3 | Nov 30, 2023 |
---|---|
0.0.2 | Feb 19, 2022 |
0.0.1 | Feb 4, 2021 |
#1521 in Parser implementations
200KB
3K
SLoC
triseratops - The robust, in-depth Serato Parser & Serializer
triseratops is library to parse metadata and database files written by the Serato DJ software, written in Rust.
Note: This library is currently still under heavy development and might have breaking API changes in the future.
FAQ
Is this software affiliated with Serato Ltd. or its related companies?
No, this library has been written independently. All formats have been reverse-engineered and the parsing code has been implemented from scratch.
Does this library read tag data from MP3/AIFF/MP4/FLAC/Ogg files?
It parses the Serato DJ metadata embedded in those files, but it can't read
directly from those file types. You need to use a separately library (e.g.
id3
for MP3/AIFF) to read the actual tag data
from media files.
What's the history behind this library?
Work on reversing the format and a corresponding parser was started in 2019. The goal was to integrate such a parser into Mixxx, a free and open-source DJ software to reduce vendor lock-in and allow former Serato DJ users to migrate to Mixxx without losing their cue points, beatgrids, etc.
Mixxx currently uses a different implementation (in C++) to parse those tags, but since it will switch to aoide for library management at some point in the future, it made sense to write a new parser in Rust.
License
This software is licensed under the terms of the Affero GPL v3, or (at your discretion) any later version.
Dependencies
~1.2–2MB
~38K SLoC