Skip to content

Spotlight On: Sounds In Sync

Spotlight On posts focus on Xojo community members. We’ll use this space to tell the stories of people using Xojo, share amazing Xojo-made apps and spread awareness of community resources. If you have an app, a project or a person you want to see featured in Spotlight On, tell us about it!

We first met Mark Franken in 2016 at a Xojo Developer Conference in Houston, Texas. Today, Mark splits his time between writing software and caring for 40 acres of rainforest. But before he traded city life for the wild, he spent decades in film and television post-production. In 2003, while still working in post, he founded Sounds In Sync, a company born out of his desire to solve the problems he faced in the editing room. What started as a side project quickly grew in popularity, and eventually, Mark shifted his focus full-time to software development. As a sound editor, Mark worked on some iconic and award-winning films including The Lord of the Rings: Return of the King, Mad Max: Fury Road, The Great Gatsby, Happy Feet Two, and Peter Rabbit.

Mac, Windows or Linux?

Develop on Mac, build for Mac & Windows

How would you explain your most recent project to a new developer?

I’ve been working on a major update for my app EdiCue, scheduled for release as EdiCue v5 in June 2025.

EdiCue is a tool used by sound editors to “cue” dialogue that needs to be re-recorded in film and TV projects. Typically, this involves working alongside the sound editing application Pro Tools to place clips on the timeline, each clip aligned with a section of dialogue and named with the exact text the actor needs to re-perform (e.g., due to background noise, unclear delivery, or script changes).

For this release, I wanted to streamline the manual cueing process by integrating AI-based speech-to-text. Specifically, I’ve added a new feature that allows users to load a WAV file, transcribe the dialogue using Whisper AI, and then export a Pro Tools session with timeline clips automatically named using the transcribed text and timing.

The integration required wrapping whisper.cpp for use in my Xojo-based application. I worked with Christian from Monkeybread Software (MBS) to build a custom plugin that bridges between Xojo and the compiled Whisper Dylib/DLL files, enabling support for macOS and Windows.

What is something that has surprised you about coding in the last 5 years?

The biggest surprise for me has been how far AI has come in understanding, writing, and explaining code. While it still makes mistakes and doesn’t always produce perfect output, for me it’s now an invaluable tool, working in languages I hadn’t formally learned like Python and C/C++.

Thanks to AI, I’ve been able to build and compile C/C++ libraries and create my own shared libraries (Dylibs/DLLs). This has let me expose C++ functionality through clean C-style APIs, making them accessible from within my Xojo applications. It’s dramatically expanded what my apps are capable of.

In the past, I’d reach out to Christian at Monkeybread Software to write me a  plugin or port specific code to Xojo, something I’ve always appreciated. But for my latest project, I needed to navigate this myself as I wasn’t exactly sure what was required from the start.

With AI’s help, I’ve successfully compiled third-party libraries that use gRPC for both macOS and Windows, built a shared library layer, and exposed the functions I needed to call from Xojo.

I learnt a lot in the process, and now I’m confident in rebuilding and maintaining these libraries as updates are released.

Xojo isn’t the only tool in your kit. What is a piece of software more people should know about?

One tool I highly recommend is Hex Fiend – a hex editor for macOS. I found it especially invaluable while updating my Xojo WAV file classes, where I needed to ensure that I was reading and writing metadata correctly.

Hex Fiend’s main window displays the raw hex data of the file, while a side panel interprets the data for various file formats, including support for WAV files. It decodes the fields, letting you see exactly how your code is affecting the underlying binary layout.

This allowed me to track down a number of bugs in my metadata handling code which would have been hard to track down otherwise.

How did you find Xojo? And when did you start using Xojo?

I first discovered Xojo back in 2002, when it was still known as RealBasic. At the time, I was working as a sound editor on The Lord of the Rings – The Two Towers in New Zealand. A fellow editor visiting from San Francisco introduced me to it, and I was immediately impressed.

I had been using Delphi/Kylix up to that point, but I was looking for a way to build cross-platform desktop apps for Mac and Windows. RealBasic’s ability to generate native applications for both platforms from a single codebase had me sold, and it fit perfectly with the kind of tools I wanted to create for audio post-production workflows.

What did you first build with Xojo? And when was that?

In December 2003, I built my first Xojo app ‘EdiTrace Auto’ for both Mac (OS9) and Windows. It was designed to load EDL (Edit Decision List) files generated by my online comparison tool at EdiTrace.com.

The app would parse the EDL events and convert them into keystroke commands that it could send to Pro Tools, automating the process of recutting sound edits to match the latest picture version delivered by the video editors. This saved sound editors a huge amount of time by eliminating the need to manually conform their sessions to match the new picture cut.

What do you build with it now?

My original app ‘EdiTrace Auto’ eventually evolved into a more powerful tool: EdiLoad. In January 2025, I released EdiLoad v6, which includes a major new feature: the ability to compare the waveforms of “assembled” WAV files against a guide track provided by the picture department.

This lets sound editors verify that WAV files recorded on set are assembling perfectly in-phase, down to the sample, with the guide audio, ensuring audio alignment is sample-accurate.

To implement this, I explored how Fast Fourier Transform (FFT) can be used to analyze the frequency content of complex waveforms. A helpful introduction for me was this YouTube video, which explained the core concepts.

After a fair amount of experimentation, I landed on a solution using an FFT function from an MBS plugin. I transform the two waveforms, sum them, and invert the result to obtain the sample-level offset.

In EdiLoad this processing is handled by a Xojo Worker, which was the first time I had used one. It was a great fit, as each alignment task just required two file paths, a time range, and a handful of user settings. The workers allow the app to access multiple cores while batch-processing all files in the assembly. You can see the feature in action in this EdiLoad v6 demo video.

What is something you worked on that you want to talk about?

One project I’m particularly proud of is writing a set of Xojo classes to read and write Pro Tools session (.ptx) files, despite having no formal software development training.

Pro Tools sessions store their data in a proprietary binary format, and there’s no public specification available. But to deliver key features my clients needed, I had to find a way to read and write these files directly from my Xojo apps.

To reverse-engineer the format, I built several test apps to see how the data was structured, and then modify known parts of the PTX files and compared results. By selectively changing binary data, I was able to track down how specific values were stored. It was a painstaking, months-long process, but it ultimately gave me the tools to read and write session data reliably.

These classes are now in used in three of my desktop apps. I also created a REST API that several online services use to convert marker data into PTX session files, allowing users to generate markers that can be imported directly into Pro Tools.

Do you earn a living with Xojo?

Yes. Xojo, and the supportive Xojo community gave me the opportunity to learn software development in my spare time while I was still working full-time as a sound editor. Over time, I was able to release my own apps through my website, gradually building up a sustainable software business.

After 20 years in post-production, I was able to transition full-time into software development. That shift also gave my family and me the freedom to leave the city (Sydney, Australia) and move to a quieter life in the bush, about six hours up the coast.

Now I work from home, doing what I love, and I’m incredibly grateful for the flexibility it gives me to be present while our kids grow up. It’s not just a career change, it’s been a lifestyle upgrade.

Do you use it for any hobbies?

Not really. When I’m not working, I try to step away from the screen. I spend my downtime in the garden, the bush, or looking after my bees. But I find quite often that I get my best code insights and ideas while I’m in nature.

What’s your biggest Xojo success?

Without a doubt, it’s been getting my applications established across the global film and TV industry, and using my background in sound editing to develop cutting-edge tools that directly support my peers.

The highlight has been receiving not one, but two Engineering Emmy Awards, one for EdiCue and another for EdiLoad. These awards recognized the impact of my apps in setting new standards for technological excellence in television post-production.

Thank you to Mark Franken for answering questions and sharing his Xojo experience with the community. Learn more about Sounds In Sync.

If you have an app, a project or a person you want to see featured in Spotlight On, tell us about it!