Building TimeCode with JUCE

Jan de Boer, lead developer at Haute Technique, creator of TimeCode

What is your name and what is your role at TimeCode?

My name is Jan de Boer and I’m the lead developer at Haute technique, creator of TimeCode.

What does TimeCode do and what's its story?

Our software is developed for the dance music industry and enables crews to align their activities with what’s happening in the DJ-Booth. TimeCode offers a live view of what the DJ is doing and let’s you send out timecode signals to the hardware and software you will be using in a show. You will know for instance, exactly when the drop hits in a track or what its bpm is. You can perfectly synchronise all your lights, SFX, PYRO and visuals to what’s playing. The application is designed to be used by light operators, vjs, choreo, club owners and that guy doing the fireworks.

Our TimeCode software has been used at the highest professional level for more than four years and was initially developed for Armin Van Buuren and his crew. Now, almost the full DJMAG top 20 DJ's are using our timecode solutions. Early this year we relaunched the product and made it suitable and affordable for a wider audience.

What were the challenges developing TimeCode?

The biggest challenge was to make our software compatible with the DJ hardware from Pioneer. When we started, this was essentially a blackbox to us and without the support of Pioneer at the time, we had to unravel the hardware bit by bit: reading out usb-sticks, finding out how to retrieve the track data and how waveform-data is being stored was an exciting but difficult journey.

Your software runs on Mac and Windows. What was your experience developing multi-platform software?

For almost five years, TimeCode was only a Mac-application and I was surprised to see how relatively easy it was to turn it into a windows-application. We just needed to adjust some macOS specific code. The more time-consuming part was the testing of the software because of the variety of ways the operating systems handle for example sound buffers and network interfaces.

What do you most like about JUCE?

It’s easy to get a project started, everything you need is already present. I don’t have to worry about the framework because it’s reliable and stable, so I can focus on the application itself. JUCE provides a clear structure and to me it feels natural and intuitive to work with.

What do you most dislike about JUCE?

The beginning is easy, but when going deeper into the rabbit hole it sometimes became confusing. It was not always clear how to use some classes or concepts. The latest update to JUCE 5.3.0 improved a lot though. Keep up the good work!

What features would you like the JUCE team to work on next?

It would be really cool if JUCE supported async sockets out of the box.

What can you tell us about your next plans?

We will keep adding awesome features to our TimeCode product line of course, but we will also come up with an exciting new application for the dance industry. I’m not allowed to blabbermouth but I think it will be a game changer.

You can check out TimeCode yourself at

Further Information

© Raw Material Software Limited