MCPcopy Index your code
hub / github.com/Marekkon5/onetagger

github.com/Marekkon5/onetagger @1.7.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.7.0 ↗ · + Follow
861 symbols 1,729 edges 65 files 291 documented · 34%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README
<img alt='Logo' src='https://raw.githubusercontent.com/Marekkon5/onetagger/master/assets/onetagger-logo-github.png'>

The ultimate cross-platform tagger for DJs

Website | Latest Release

<img alt='Version Badge' src='https://img.shields.io/github/v/release/marekkon5/onetagger?label=Latest%20Release'>
<img alt='Supported OS' src='https://img.shields.io/badge/OS-Windows%2C%20Mac%20OS%2C%20Linux-orange'>
<img alt='Build Status' src='https://img.shields.io/github/actions/workflow/status/marekkon5/onetagger/build.yml?branch=master'>


Cross-platform music tagger. It can fetch metadata from Beatport, Traxsource, Juno Download, Discogs, Musicbrainz and Spotify. It is also able to fetch Spotify's Audio Features based on ISRC & exact match. There is a manual tag editor and quick tag editor which lets you use keyboard shortcuts. Written in Rust, Vue.js and Quasar.

MP3, AIFF, FLAC, M4A (AAC, ALAC) supported.

For more info and tutorials check out our website.

https://user-images.githubusercontent.com/15169286/193469224-cbf3af71-f6d7-4ecd-bdbf-5a1dca2d99c8.mp4

Installing

You can download latest binaries from releases

Credits

Bas Curtiz - UI, Idea, Help
SongRec (Shazam support) - https://github.com/marin-m/SongRec

Support

You can support this project by donating on PayPal or Patreon

Compilling

Linux & Mac

Mac version is cross compiled from linux, the build script is designed to run on Github Actions enviromnent, so you have to install some dependencies manually: rustup, node, pnpm

Install remaining dependencies

sudo apt install -y autogen libasound2-dev pkg-config make libssl-dev gcc g++ curl wget git libwebkit2gtk-4.0-dev

Compile UI

cd client
pnpm i
pnpm run build
cd ..

Compile Linux only

cargo build --release

Output is in: target/release/onetagger

Compile Linux + Mac, create bundles

assets/compile-nix.sh

Don't start the script directly or from assets dir. It has to be relative to the parent
Output files will be in the dist/ directory.

Windows

You need to install dependencies: rustup, nodejs, Visual Studio 2019 Build Tools, pnpm

Compile UI:

cd client
pnpm i
pnpm run build
cd ..

Compile OneTagger:

cargo build --release

Output will be inside target\release folder.

Extension points exported contracts — how you extend this code

AutotaggerSourceBuilder (Interface)
For generating `AutotaggerSource` [13 implementers]
crates/onetagger-tagger/src/lib.rs
Token (Interface)
Every token type should implement this [5 implementers]
crates/onetagger-renamer/src/parser.rs
AudioSource (Interface)
(no doc) [6 implementers]
crates/onetagger-player/src/lib.rs
TagImpl (Interface)
(no doc) [4 implementers]
crates/onetagger-tag/src/lib.rs
QuickTagFile (Interface)
(no doc) [1 implementers]
client/src/scripts/quicktag.ts
TaggerConfigExt (Interface)
(no doc) [1 implementers]
crates/onetagger-autotag/src/lib.rs
AutotaggerSource (Interface)
For all the platforms [13 implementers]
crates/onetagger-tagger/src/lib.rs
QuickTagFailed (Interface)
(no doc)
client/src/scripts/quicktag.ts

Core symbols most depended-on inside this repo

to_string
called by 250
crates/onetagger-renamer/src/parser.rs
to_string
called by 70
crates/onetagger-tagger/src/lib.rs
send
called by 52
client/src/scripts/onetagger.ts
next
called by 41
crates/onetagger-player/src/alac.rs
tag_enabled
called by 41
crates/onetagger-tagger/src/lib.rs
parse
called by 41
crates/onetagger-renamer/src/ac.rs
overwrite_tag
called by 33
crates/onetagger-tagger/src/lib.rs
text
called by 30
crates/onetagger-tag/src/lib.rs

Shape

Method 516
Class 235
Function 47
Enum 37
Interface 26

Languages

Rust82%
TypeScript18%
Java1%

Modules by API surface

crates/onetagger-tagger/src/lib.rs57 symbols
client/src/scripts/quicktag.ts51 symbols
crates/onetagger-tag/src/id3.rs40 symbols
crates/onetagger-tag/src/lib.rs35 symbols
client/src/scripts/onetagger.ts32 symbols
crates/onetagger-tag/src/mp4.rs29 symbols
crates/onetagger-platforms/src/musicbrainz.rs28 symbols
crates/onetagger-tag/src/vorbis.rs26 symbols
crates/onetagger-tag/src/flac.rs26 symbols
crates/onetagger-renamer/src/parser.rs26 symbols
crates/onetagger-platforms/src/deezer.rs25 symbols
crates/onetagger-platforms/src/musixmatch.rs24 symbols

For agents

$ claude mcp add onetagger \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact