Hello, I’m a happy user of Engine DJ with my Prime Go, which I enjoy using immensely. I currently use a Mac Studio as my main machine, where my Engine DJ library is stored. From there, I regularly use the “Export to Drive” function to sync my collections, playlists, and sets to USB drives and SD cards. I’ve recently purchased a MacBook Pro to be more mobile, and I would like to replicate the same setup on this new device. In other words, I want the MacBook Pro to become my new main system, with the full library, complete with cue points, beat grids, playlists, collections, and set history. Unfortunately, I haven’t been able to find an effective way to transfer my main library from the Mac Studio to the MacBook Pro. If I insert a USB stick prepared on the old computer, it is read correctly on the new one, but I can’t seem to import the main library into Engine DJ on the new machine. Is there an official or recommended way to migrate an entire Engine DJ library from one computer to another, while preserving cue points, beatgrids, and all customizations? Engine DJ 4.3.0 - MacOS Sonoma / Sequoia I would really appreciate any advice or steps you could provide.
Hi, all your music files should be in the mac ‘music’ folder, alongside the ‘engine’ folder containing the db files.
If that’s the case, you should be able to transfer the contents of your existing music folder into the same folder on your new machine, the file paths should be the same.
It’s best to do a fresh export to your performance USB stick once you’re on the new machine.
See this:
The drive on the MacBook Pro does NOT need to be formatted in Fat32 or exFat. Engine DJ desktop will work properly with APFS (Apple File System). Fat32 and exFat IS required for attached drives that you will be using on the standalone units.
I just use rsync to mirror my iMac …[user]/Music folder to my MacBook Pro. All of my music is in the music folder.
There is one big gotcha. The Engine library is in …[user]/Music/Engine Library, specifically …[user]/Music/Engine Library/Database2/m.db. This works as long as your music is in the same relative position to /Engine Library on the MacBook Pro. I purposely bought a MacBook Pro with 2TB so I can mirrror the iMac. If you used the Mac Studio internal drive, but plan to use an attached USB on the MacBook Pro, the paths stored in Engine Library will not match up with your files. If you know how to use SQLite, you could manually correct this. Else, you might want to use a third party software. Maybe someone else can offer an alternative solution.
By the way, “Export to Drive” is syncing for performance drives. When you do that your entire music library is copied to the attached drive and stored in [drive]/Engine Library/Music. The music is reorganized by artist and album, plus some characters are converted (like period to underscore).
Just copy the whole music folder from the studio to the macbook pro if you have space…
In the Music Folder is Engine Library (and the backup folder)
This is assuming you have all your music files in the music folder as well.
Is that 2nd clip the guy piloting that submersible?
Alright, I’ve done a bit of research—and thanks again for your help. Essentially, what I’ve gathered is that the core issue seems to be that I need the exact file path and hard drive names in order to recreate the library structure and allow Engine DJ to recognise the music files along with their hot cues and beat grids.
Unfortunately, this isn’t really possible, as the computer and its internal hard drive have different names from the original desktop setup. I don’t think there’s a straightforward way out of this loop—unless you’ve got the skills to manually tweak the database syntax, which I imagine most people don’t have.
So, unless I’ve missed something (and I really hope I have), it seems the only real solution is to go through some third-party apps that allow you to export and re-import the proper database with all the information intact—though obviously, that comes at a cost.
Here’s hoping a future release of Engine DJ finally sorts out this annoying issue.
Why didn’t you just call the internal drive on the new computer the same as the old one?
I’m on my 3rd MacBook now and each time I’ve been able to seamlessly transfer my music folder and dj software over without issue.
Standard name for the internal drive of a Mac has been “Macintosh HD” since system 1.0. Why change it?
Furthermore, the main drives name doesn’t have to be in the path: Unix path “/“ is the root of the main drive, regardless of its name. And your music files can be referenced relative, like “../iTunes/Music/AC-DC/Highway to hell/highway to hell.mp3”
I did however notice that importing my old Traktor library somehow gave me absolute paths, including my username and harddrive name (through “/mnt/Macintosh HD”). I had to manually change this.
Changing those paths is not really mainstream for non-tech users, but if you want to learn, you can use SQLite to do a search and replace on the path column of your tracks table to fix this…
I wish I had, but I honestly didn’t expect it would lead to this issue. Besides, giving multiple computers the same name can cause all sorts of problems—network-related hiccups, unexpected conflicts, and a whole new layer of complications. Best to keep things simple, especially since Engine DJ is just one part of the wider studio workflow. Anyway, we’ll figure it out somehow. Let’s move on.
The name of the internal disk is actually “Macintosh HD”. Is the path that is totally different
Can you copy paste the paths here, so we know what the difference is? Paths can be different but still mean the same thing (absolute vs relative paths)
(A computers hostname has nothing to do with a files path; except when the file resides on the network; which its not)
Computer A (Desktop): MAC Studio > Users > fltrstudio > Music > Engine Library
Computer B (Laptop): Macintosh HD > Users > paoloxxx > Music > Engine Library
Totally different names actually
From my experience, as stated prior, the paths are stored as relative paths in /Engine Library/Database2/m.db (tracks table). Although, as @Johan says,
-maybe there are some outlying cases.
Is your music in the same relative position to /Engine Library/ on the new laptop? What are the Computer A and Computer B paths to your music?
If you were to open m.db with a SQL browser, such as DB Browser for SQLite, you could see how the relative path is stored in the path column. You may also compare the directory column in Engine DJ desktop to the music files on the Mac Studio vs the laptop.
Your username is different here. That could pose problems, but doesn’t necessarily if the paths are relative. The fact that the harddrive is named different is totally transparant…
But what I was asking for are the paths in Engine DJ itself. Can you, on your original studio computer, open “Terminal.app” and then copy paste this command:
sqlite3 Music/Engine\ Library/Database2/m.db 'SELECT path FROM Track;'
and then copy paste some of the output here. This way I can understand how Engine is referencing your files, and maybe provide a similar command to fix things…
example to make things clearer:
PS: Terminal.app can be found in Macintosh HD > Applications > Utilities > Terminal
thank you Johan for your help. I am getting this error msg from Terminal:
Error: in prepare, near “‘SELECT”: syntax error ‘SELECT ^— error here zsh: command not found: ’
So: On my desktop computer, the music files are located on an external SSD called “1TB” inside my Dropbox folder (where I have my “Catalog” folder) and this is where I keep my music library. Note I don’t use Engine DJ Dropbox link. On the laptop, the music files are stored in the Dropbox folder on the internal drive, which syncs to the same “Catalog” folder, and Engine DJ points to the same files, which I’ve imported into the Engine DJ app.
Hmm, very strange: the forum software replaced the straight single quotes (the ones below the 4) with slanted ones (the one below £), and then the command doesnt work…
Try to replace the ’ with the ’ under the 4, and then it should work. Or manually type it over…
Aha, there is your problem: your library references files on an external drive, and suddenly these files reside on an internal drive. Your library doesn’t know this…
Anyway, if I know whats in your library, and I know the new path I can still devise a search and replace command which fixes this…
Thank you very much. I actually cicn’t get what you meant by this: Try to replace the ’ with the ’ under the 4, and then it should work. Or manually type it over…