Sam Sherrod
Software and Game Developer

Ottodecks - Audio Manipulation Program


Released March 2022
Student Solo Object Oriented Programming Project


This is an audio application that allows you to manipulate music tracks as a DJ would.

I was the sole developer on this project, which was for an object oriented programming course at the University of London using C++ and the JUCE library. I extended the application beyond the class requirements by improving the GUI including two DJ decks, sliders, buttons, a volume and speed control, and the ability to scroll through each track by displaying it as a waveform.

It contains multiple classes with constructors that interact with one another, references, pointers, and header files for each cpp file.

Features include:

  • creating a playlist by loading audio files into it
  • uploading a separate music track from the playlist onto each of the two deck instances for manipulation
  • functionality to change the volume and speed of each track playing
  • functionality to change the speed of each track playing
  • the ability to scroll through a track that's loaded onto a deck
  • search the playlist for a particular track
  • add or delete tracks from the playlist
  • independently Play, Pause, Stop, or Reset a track that's loaddd onto a deck
  • view the the name and length of each track that is playing in seconds.

Technologies used:

  • C++
  • JUCE
  • Audio tracks provided by UoL

Note: For this particular university project, I am unable to show my code to the public due to plagiarism concerns. It is also not viewable online. If you would like to see the code for this, please contact me.