I created a tool for organizing your Engine DJ library

Most of us have a too big of a DJ library. And we know we probably will never use at least 50% of the tracks in our library. But large libraries will cause slow syncing, searching difficulties.

I realize quality is more important than quantity. So I created this tool that will help you go through music library, rate tracks, and update the Engine DJ library in the process, with a simple keep/delete choice.

This process will still take a lot of time, but it will be streamlined as far as possible.

I just released the first version, but for me it works pretty well.

How does it work?

You will select a directory which contains a specific set of MP3. Then the app will iterate through them, playing it with a visual waveform, and then you can use a few hotkeys (arrow keys mostly) to select whether you want to keep the MP3 or remove it. You can rate the song in the process, and this rating will be saved in the MP3 metadata as well as in the Engine DJ library.

If you choose to delete it, it will get moved to the recycle bin, and it will be removed from the Engine DJ database at the same time.

I’m aware this cleanup process will still take a lot of time, but you will end up with a limited set of MP3s that you like.

!! DISCLAIMER !!

Please make a backup of your Engine DJ library before you use this. I will not be responsible for any damage :slight_smile:

Screenshot

Requirements

It will only run on Windows for now. When you are asked to select the Engine DJ library, pick the biggest file, it’s called m.db.

The “DJ pool” is the root directory where you store all your mp3’s. This will be used to detect the track in your Engine DJ database.

GitHub link

Download page

Let me know if you have any questions :slight_smile:

5 Likes

The other interesting library thing is that Lexicon DJ software may be about to move away from just being a monthly subscription application

2 Likes

Interesting, if a lifetime plan will be offered.

I subscribed to the annual plan a while back, which is discounted from the monthly plan. Plus, I used a discount code provided via Crossfader for 20% more off. The price was quite fair, I think.

@Pasha Interesting development with Lexicon. I’d encourage you to start a new thread for that, as I’m sure others would be interested in discussing that.

In the meantime, I’m keen to hear any feedback related to my library management tool presented in this thread. :slight_smile:

2 Likes

Looks interesting! Are only mp3s possible for now? Would love to try a mac version.

2 Likes

Unfortunately I don’t have a Mac based system in reach, so that will be challenging for me. But who knows in the near future :slight_smile: I guess there are a lot of Mac users around?

And yes just MP3’s for now. I did not look into FLAC/AIFF/WAV metadata yet.

1 Like

Doesn’t work on windows 8.1.

I see it in my task manager but nothing opens on desktop.

Woah! Support ended for that OS January 23! :exploding_head:

3 Likes

This opens a massive can of worms :rofl: which is part of why my own homegrown tools have mostly stayed in experimentation land.

Cross-platform apps have their own complexities in compilation, CI & digital signing pipelines. Add to that the difficulties of each metadata scheme for the various file formats :rofl:.

Another dimension of complexity - schema changes.

blow-mind-mind-blown

1 Like

This is pretty interesting. I take a somewhat opposite approach.

I have a library of tunes in Collection/, which is stored:

%LABEL%/%ALBUM_ARTIST%/%ALBUM% [%CATALOG_NUMBER%] [%YEAR%]/%TRACK_NUMBER% - %TITLE%

I use deadbeef as my music player, and I have a script that loads any new tracks since my previous import, to make sure I can easily add all the new tracks.

Once the tracks are loaded up I listen to them, and if I find one I like, I have a custom button in deadbeef I can click that will add a special tag to the file which includes the current year. While this tag has a meaningful value, I use it as a mostly boolean flag.

This is also when I evaluate the Genre tag and adjust it if needed.

I have another script that finds all of these tag’d tracks and creates symbolic links in a special directory, which is based off of the year the track was tag’d, and these are the directories that I use to import into Engine DJ Desktop.

So, I have my main collection of all my tracks, and from that I create a smaller collection of tracks I actually want to use to mix, which are sorted/stored by year I found the track.

Export/2020
Export/2021
...
Export/2025

This is helpful in that sometimes I remember songs by when I found them, or time related to another track I remember, and also prevents me from having a single directory with all of my tracks. I’ll probably break out the years into quarters, so in 2026 I may have something like

Export/2026/Q1
Export/2026/Q2
Export/2026/Q3
Export/2026/Q4
2 Likes

Removed the off-topic OS discussion. OP limits his support for now to recent Windows versions only. Understandably.

2 Likes