Inspiration
I love music, especially EDM. This program was created for DJs with the intent that they will have a playlist that follows the rules of the circle of fifths, so that they can think less about making the perfect playlist and work more on their mechanical skills.
What it does
It requires a .csv file exported from the Serato DJ software's history tab. Once it parses the file, it stores all the tracks' information into a vector container and assigns a value depending on the key the song is in (based off the Camelot wheel). After that the user selects the starting track, the program finds and displays the user the harmonically compatible tracks relative to that track. The user selects the next track, and the user can continue building the playlist track by track. Once the user is satisfied with their playlist, they are provided with an option to exit the program
How I built it
C++, Serato DJ (for input .csv file)
Challenges I ran into
string parsing in C++ is different than C. The input file is sensitive to how Serato DJ is setup for an individual user. Main.cpp is ugly. Time constraints, I had more ideas I want to add to the program (i.e. export to file).
Accomplishments that I'm proud of
I learned a ton! Good work on string parsing in C, object oriented programming, and combining my developer side with a passion project I've been thinking about for awhile.
What I learned
Serato DJ needs to support developers! How to parse a .csv file and OOP practice
What's next for Harmonic_DJ_Playlist_Generator
Export to file option, Input validation (when building the playlist), and more rules such as a BPM difference % constraint.
Log in or sign up for Devpost to join the conversation.