Sync Engine DJ library from linux. App development FINISHED!

Hi all. I’ve been working on a way to synchronize from Engine DJ desktop in linux with wine. You know than the only thing than doesn’t work with wine is synchronize because USB drives doesn’t show in user interface.

So, i’ve developed a full program to do it in Python3.

It run under linux but I’m planning to migrate to windows too. By now, the dependencies required to run it is python3 and python3-tk packets. They can be installed easy because they are in normal repositories of all distributions.

I’m still working on it because I must add SoundSwitch files sync. But it’s funcional with stems files.

This is a demo video to ilustrate it

https://ant.japiworld.com:5443/WebRTCApp/streams/488935207799013651365702.mp4

If somebody is interested, let me know. This work is to the community. No license problems.

Regards

9 Likes

Nice dude. May want to share your work with others via github once you see comfortable with that

Need to check It for stability and performance. And add soundswitch file sync. Then It Will be available to everybody

4 Likes

Nice project! I am interested, I’ll try to be aware if you upload the code to some git repo. I was thinking to do something similar but manipulating the database files directly. I’ll see if I find the time to spend on it…

1 Like

Testing and resolving Bugs. Soundswitch files operational. Stay tuned :slight_smile:

1 Like

Hi all.

First version is completed. Now it can transfer playlist from music folder of user to any USB drive, including STEMS and SOUNDSWITCH FILES. Or from one USB drive to another.

First of all, I’ve created a way to recognize USB drives. This can be made pushing a button. The USB drives then become selectionable from the combobox controls. When you do this, you get the content of Engine database in that drive.

Here is a short video to show it:

https://ant.japiworld.com:5443/WebRTCApp/streams/247758961056920249497381.mp4

The next thing is to create a empy database if you select a drive where there is no Engine Library folder. This database is a copy of Library folder when you just installed the software.

Again, here is a short video of this:

https://ant.japiworld.com:5443/WebRTCApp/streams/954139798241363817310321.mp4

Next, you have a origin database from a USB drive. And want to synchronize some Playlist to a USB stick. Or have a USB drive with Playlists and want to synchronize to user music folder of PC. You only need to select the desired Playlist from the left, push procesing button and then push Sinchronize button. You need to select some database on the right side (obviously). Remember, always LEFT TO RIGHT.

Video:

https://ant.japiworld.com:5443/WebRTCApp/streams/882780550710418896075422.mp4

And finaly, you have changed CUES and LOOPS from one USB drive (or any other drive), and want to send these changes to another performance USB drive previusly synchronized. When you select from the left the playlist changed, and have the same Playlist on the right, you can go in the same way to sync this Playlist and select it from the left. No need to select anything on the right. Proccess and Synchronize. The Playlist will be updated with the new performance data from the updated info on the left.

In this video I show you this process. First I set some CUES and LOOP to a track on “DJ_BACKUP” USB drive from Engine DJ software. Then you can see than these CUES and LOOP are not on “DENON_DJ” usb drive (Unmount DJ_BACKUP drive, and mount DENON_DJ drive) then, I open again Engine DJ. Once the units are both mounted, I put the changed library on the left (DJ_BACKUP) and unchanged library on the right (DENON_DJ) and sychronize them.

Now, library on DENON_DJ have the same CUES and LOOP. The library on the right has been updated with the info from the library on the left selected Playlist.

https://ant.japiworld.com:5443/WebRTCApp/streams/178193795903407661501845.mp4

Warnings:
You’ll never change anything of the left selected library. Only the right selection will be altered. This is a important tip if you want to test it.

This program only (by now) can add data to the right selected library. To delete a Playlist you can use Engine Dj directly on Linux (with wine).

Now, a little question?

What functionality would you add to the program?

Thank you.

Regards.

1 Like
4 Likes

New version. Problem with Playlist recognition by Engine DJ software solvented.

3 Likes

Legend <3      

Updated system to copy files to not rewritting files than exist.

1 Like

Version 1.0.3

I’ve cleared my Engine Library on Prime 4+. Deleted all music files, Engine Library folder, stems and SoundSwitch folders.

I’ve begun from 0.

I’ve only conserved profile file, session folder with records, and logo file.

Then I connected my linux laptop through USB, and run this program after reboot Prime 4+ into computer mode. I’ve selected the playlists from USB backup drive (LEFT SIDE) and pushed “Procesar cambios”, then pushed “Sincronizar”

All went ok.

Music files now have the same structure than they have on backup ssd drive. Easy to organize and add new tracks. No folders by artist.

Issues solvented:

Fail to run SoundSwitch proyect on Prime 4+ Engine Lighting, it can’t find all of files inside the proyect folder. Hidden file was not find. SOLVENTED.

Fail to copy tracks files. Tracks path issue. SOLVENTED

By now, no issues detected.

2 Likes

Great work. Might be best to publish these in GitHub and ask people to follow the project. Less work for you to have to double post stuff here :melting_face:

Thank you.

The project is already in github. This is my first time in that plattform. I don’t know if I should make any changes. What do you mean by publishing?

Now, I´d like you (everybody interested) to test the program to find hidden issues, and suggest me new features to include.

I hope this program will be useful to all those who are having problems with synchronization or final file structure.

Regards.

Is it possible to make smart playlists?

Yes, I’ve been thinking about it. I think than sinchronize process in Engine DJ software does not copy smart list. So I’m going to see if it’s posible to make it work on this program.

I’ve been working on it, and in the next version you will have a option to see the tracks of every Playlist in a popup window. On left side and right side.

Tomorrow, if i have time enough I will post a video to show this new funcionalities. And when it pass the tests, It will be available on Github page.

Regards, and thank you very much for your interest.

1 Like

Do you plan to release the source code? Currently, the GitHub repo contains just a README and the license file. The GPLv3 license suggests that it is supposed to be(come) open source.

Yes. Of course. By now you have the AppImage in release section. And when It Will be completed I Will upload the py file too.

Version 1.0.4

Added a button to see the tracks of every selected node in Playlist.

Some issues solvented.

Video to show it:

https://ant.japiworld.com:5443/WebRTCApp/streams/780165253546870564797625.mp4

Working to:

When you update a Playlist in your home music folder library, any Playlist marked with 0 in isPersisted row will not be available on Engine DJ software. Working on it.

Add synchronize of SmartList.

Add red files update to find real path to them. NO MORE RED FILES

NOTE: As uklotzde has suggested to me, I had not actually published the source code. It’s the first time I’ve created something on Github and I still don’t know how it works. The Python file and a text file with all the code are now available. My sincerest apologies. My intention was to make the project easy to execute for anyone who was interested.

https://ant.japiworld.com:5443/WebRTCApp/streams/442947771514093939382171.mp4

In next version…

1 Like

I have been testing this and I can say than Smartlist only can be read from the database in user music folder. When you create a smartlist it’s always created in that folder. So, I implemented a way to sychronize this to a USB, but it must be synchronized back to music user folder to be read by Engine DJ software.

At least, you can syc your smartlist to a USB and then you can go to another pc and sync back to home folder library.

No tested on prime 4+ yet.

Here is a video to show it. I’m transfering a Smartlist from a USB database to /home/user/Engine Library. Previously, I created a Smartlist (saved on that library) and transfered to USB. Then I deleted home Engine Library folder to reset de database. Sync some Playlist to home library and then (in the video) sync Smartlist to home from USB database.

Synchronize Smartlist:

https://ant.japiworld.com:5443/WebRTCApp/streams/348820237043063677937157.mp4

Updating data of Smartlist:

https://ant.japiworld.com:5443/WebRTCApp/streams/567450436951598282526217.mp4