Auto Re-Locate Missing Files not working

Yesterday i re-arranged my entire library to get more organised. Made new folders with more genres and sub genres. All files in my engine library got red marked as expected. When i press auto re-locate all missing nothing at all happens. Im a bit worried. Has a lot of hot cues and loops in those files and i dont want to do it all over again. All files are in the same directory as before, just new mappings. Anyone else have the same problem??

2 Likes

auto-relocate really is a half-baked feature. unfortunately, youā€™ll need to ā€˜locate missingā€™ on each song manually. :frowning:

1 Like

5400 tunes :stuck_out_tongue:

2 Likes

i know :(. If you have some light programming skills, a script to fix this isnā€™t that hard. :frowning:

Sad but true. You can manually locate each one and salvage your grids, cues and loops. If I have to move something thatā€™s what I do. Iā€™m not sure, but it might then auto-relocate at least a subset of others.

If you have SQL skills you could edit the database in a SQLite editor. But, be sure to backup first.

Thatā€™s what makes the red missing files.

Yes. I also wrote that it was expectedā€¦!! Im used to rekordbox and never had this problem on that program. But now im using denon gear so i want to use engine

1 Like

I just opened rekordbox and auto relocated everything in 10 seconds. Why can it be so easy in rekordbox but not working at all in engineDJ?? I cant relocate manually in engine, doesnt work at all!! Maybe go back to using Pioneer is the answer to the problem??

2 Likes

Rather than hoping for a repair to appear in one of the future updates, (maybe) I think Iā€™ll have to stop moving files after Iā€™ve analysed them.

Hmm, I have no problem.

  • Right-click on the red file.
  • Choose ā€œRelocate Missing Fileā€ in the drop down menu. EngineDJRelocateMissingFile
  • It opens Finder on my Mac. I assume that it will open File Manager on the PC. Navigate to the file and choose ā€œOPENā€.
  • If you renamed the file then a popup will protest ā€œTrack Mismatchā€, but you can override with ā€œYesā€. If the file has the same name, but was just moved, then it will just proceed.

Of course this is not optimal, but it is a way to save your grids, cues and loops. Itā€™s not practical if you moved lots of files. I use it for the odd case when I decide to rename or move a file. What @Pasha says is a good general rule.

We can hope that the Engine DJ programmers will eventually improve the Auto Relocate.

1 Like

This has been an ongoing issue since the very beginning. Iā€™ve been begging for this since version 2, way before the so-called ā€œAuto Relocate Allā€ feature was even a thing. You can see a lot of posts about this topic with just a quick search. Imagine the excitement when it was announced, only to be disappointed by it searching only in the Desktop, Music and Documents foldersā€¦ What if your music is in a different folder? Like, I donā€™t knowā€¦ an external disk??? Then it doesnā€™t work. ā€œBut you can manually relocate them yourselfā€¦ INDIVIDUALLYā€ was the best reply I could get from the official support after many attempts. As if us deejays mixing with digital music donā€™t have a gazillion of tracks by now. One would think thatā€™s the whole point of getting one of these devices. For me, this topic is the reason why I never switched. Iā€™m still here every so often because thereā€™s a club that has a couple of Denon devices. Boy are they great devices. Itā€™s such a shame that they have to be backed up by such a lousy desktop client. Otherwise Iā€™d buy a pair of my own.

Anyway, I could ramble on for hours about this. I was lucky to have found a workaround, and I thought Iā€™d share it in case it could help someone in despair like I was.

Please donā€™t take it as the unique way of doing it and assume itā€™s going to work for you 100% just because it did to me. Just take it as an inspiration to investigate further your case and to hopefully get there easier.

Ok so your library database is located in ā€œMusic/Engine Library/Database2ā€ (Iā€™m using Windows, but yeah, basically your local documents music folder). Ever wonder where the backup that gets done every time you close the program is located? Itā€™s located in ā€œMusic/Engine Library Backup/Database2ā€. Yes, itā€™s ALSO in your local documents folder. What kind of backup is that? What if your laptop gets stolen? And itā€™s not like this is documented anywhere. Well, now that you know, back it up to Dropbox or something every once in a while. Moving alongā€¦

When you import tracks from drives other than your local one (nothing very unusual, right?) to Engine DJ, at least in Windows, there is yet another database folder that gets created in that particular drive (this was back in version 2, now Iā€™m not sure). This is transparent to the user. So transparent, in fact, that I almost lost all my data from that entire drive because I had no idea about this.

So my music is in the drive ā€œEā€, therefore the database is in ā€œE:\Engine Library\Database2ā€. And the songs from that drive analyzed by Engine DJ are stored in that database, and not in the one from my personal music folder. Why? I wish I knew. Because itā€™s not like youā€™re gonna take that drive to another computer and itā€™s gonna work. I tried. And about the backupā€¦ Do these databases get backed up as well? Anywayā€¦

So eventually, it was only a matter of time until something happened. In my case, I got a new laptop! But again, this is not very unusual, right? So I decided to reorganize my tracks so that they were all in the local disk, to have Dropbox backup and whatever. And that was when I found out that Engine DJ assumes you are going to have the same computer for your entire deejay career.

So I had to do some digging. I inspected the database inside those infamous folders. There were plenty of SQLite databases. Why more than one? And on each drive? Beats the f#ā‚¬k out of me. I just looked everywhere for the old path, in hopes of replacing it with the new location. And I found out that the file ā€œm.dbā€ has a table ā€œTrackā€ that has a column ā€œpathā€. Actually, all the other files have it too, but they were not populated for whatever reason. Double-check this if youā€™re gonna follow my steps.

The tricky part is that the paths that are stored are relative paths, or so they seem. This could be to facilitate portability across different operating systems. The thing is that, I found the old path, but what should the new path be? Well, like I said, I had a database in my drive E:, and a database in my local drive. So thanks to that I was able to compare them, and come to the conclusion that I had to search and replace

this: ../Music/

with this: ../../Dropbox/DJ/Music/

in the database from my external drive, obviously. Then, replace the local database files with the altered ones. This tricks the program into thinking that what was my external database is now my local database. It was a tough shot, but it worked. And yes, luckily I didnā€™t have any tracks locally, otherwise I would have had to merge the two databases or something.

So hereā€™s what I did. And it goes without saying that you need to backup whatever you try. A simple copy and paste on the ā€œDatabase2ā€ folder goes a long way.

Download SQLite tools, in my case for Windows. Extract the sqlite3 executable and run it in a command line pointing to the ā€œm.dbā€ file, like so:

sqlite3.exe "E:\Engine Library\Database2\m.db"

Once youā€™re in the SQLite shell (you can tell by the sqlite> prompt), type:

SELECT path FROM track WHERE path LIKE '../Music/%';

to check the old path (obviously replace these values with your own). And hopefully you will see all your paths pointing to the old location. This also helps filter out those which are not in that location.

Since I already figured out what I had to replace with what, all I had to type was:

UPDATE track

SET path = REPLACE(path, '../Music/', '../../Dropbox/DJ/Music/')

WHERE path LIKE '../Music/%';

Now you can use the same command as before to check if the changes were done correctly:

SELECT path FROM track WHERE path LIKE '../../Dropbox/DJ/Music/%';

Like I said, take those altered files and put them where the local database should be. Back up the old one if you want. In my case it worked right away and populated all the missing (I guess) less relevant files. And I was so happy to see all the red files turn to white.

In my case, a few files were not found (still in red). I realized it just so happened to be the ones I exported to a USB stick in a particular deejay set that I remember. So it might have been that the sync information was stored in the local disk, and because the database that Iā€™m working on right now is originally from an external drive, that information is lost. Or maybe this sync information is in another one of the other database files. Who knows. This time I could manually locate the files (there were a few, not thousands). The point is, YOUR MILEAGE MAY VARY.

And be very careful with where you place your files from now on!

I really hope it helps someone in the same situation as me. I really donā€™t believe that there are so few of us. And I really donā€™t know why Engine DJ does not improve this. If you donā€™t want to scan an entire drive, then have the user tell you which folder to start looking from. I donā€™t know. Besides, the files are hashed in some way, because it knows when youā€™re trying to point it to a wrong file. So what gives?

Sincerely,

Alex

4 Likes

Thanks for sharing this.

Iā€™ve started work on a tool to help w/ issues like this and hope to get it done by end of summer. The schema is quite brilliant actually.

It is the exactly use case you mentioned. Iā€™ve spent the past two weeks working on command line utilities that poke around the Database ā€œLibrariesā€ to hunt and resolve issues, thus loads of hours studying the schema.

The idea is that an external music drive is ā€œportableā€. Meaning, you can absolutely take a drive from my computer, to yours assuming the mounting point is correct. With any POSIX compliant OS (UNIX, Linux, MacOS, etcā€¦) system, the relative path works perfectly as itā€™s relative to Engine Library/:open_file_folder:. You can take a ā€œmusicā€ drive from your Mac (formatted in exFAT of course) and mount it on your media players and it would work perfectly.

The ā€œrootā€ database will be on your local machine and serves as the hub for any mounted storage devices. Againā€¦ brilliant.

Hey buddy, kudos to you if youā€™re gonna provide something to the community. I probably havenā€™t spent as much time as you figuring out the schema, but I can code. So let me know if I can help you with anything.

I guess what youā€™re saying makes sense, but the schemaā€™s good design is defeated by the fact that you canā€™t move your files. I mean, I guess itā€™s cool that you can take your external drive to another Engine DJ and have it work right away. But right now, itā€™s at the expense of not moving a single file, let alone the folder hierarchy, or else it wonā€™t be able to find them.

For me, Iā€™m normally using a couple of sc6000m decks, which are running Engine OS. So thereā€™s not much value for me in having more than one Engine DJ. My music is in one place, which is safe, and depending on where I go, I just push my playlists with Sync Manager to my USB stick and off I go.

Denon knows relocation of files is important because eventually they sort of implemented it (I guess because of the many requests here in the forum?). And donā€™t get me wrong, itā€™s better than nothing. I guess many people keep their music in their documents folder. But others like me, donā€™t.

We would all be happy if you could just tell the program which folder to start looking from. Instead of going to the documents folder by force. Damn, the functionality is there, and I know where my music is. Just let me tell the program where to look for it, for crying out loudā€¦

If this renaming of paths hadnā€™t worked, I would have gone with junctions or symbolic links. I didnā€™t try it but I have a feeling it would work. I use them all the time.

Thereā€™s another idea to try as a workaround.

Anyway, let me know if we can join forces

Alex

Iā€™m in the middle of manually relocating more than 1,100 tracks as I am writing to you and I had to come here and politely say this: I wish the whole Engine DJ programming department not to spend even one more day in this profession as they are a complete disgrace. I can better express my anger now, but Iā€™d better not. How lazy can you be offering Auto Relocate which only scans the Music folder and the Desktop? Really great hardware but the software is a joke. AI also wondered, who was the genius that decided to add the ā€œRemove from collectionā€ option next to the Relocate option and didnā€™t consider adding a warning before deleting a track by mistake. Now, if you donā€™t mind, Iā€™ll return to the magical time of relocating tracks on my glorious Engine DJ software.

5 Likes

I feel you bruh :sweat_smile::laughing::stuck_out_tongue_closed_eyes:

you did a pretty good job with your post. ĀÆ\_(惄)_/ĀÆ