MultitrackStudio from Bremmers Audio Design is a multitrack music recording software which supports recording, editing and mixing audio and MIDI tracks. With the growth of Mac worldwide, MultitrackStudio developers felt the urgency of making their application available on Mac OS X.
They had previously used Delphi with VCL (Visual Component Library) a visual component based object oriented framework for developing Microsoft Windows applications. When Embarcadero Technologies released Delphi with FireMonkey, MultitrackStudio developers reworked their custom controls to work with both VCL and FireMonkey.
The Delphi RTL (run time library functions and procedures) provided them with cross platform versions of most common functions and they could program against any C or Cocoa framework. After writing some Mac specific code including Core Audio and Audio Units, they had a running version on Mac.
"FireMonkey source code is very easy to understand because it doesn't have OS-specific code," says Giel Bremmers, Founder. "This allowed us to customize the features as appropriate for our application. We could easily edit the FireMonkey styles and found FireMonkey very easy and powerful to work with."
They have a huge amount of automated GUI tests which are written in Delphi. Making these tests work with FireMonkey was very easy. This meant that from the very first moment when the program was deployed to Mac, hundreds of tests were already available. The MultitrackStudio team worked their way through the tests and modified a few simple things to make the program work like a Mac user would expect.
"The fact that you can switch from debugging the Windows version to debugging the Mac version very quickly is a huge time saver," says Bremmers. "You don't have to leave the IDE at all. All it takes is a couple of mouse clicks to change the target platform, build the program and run it. Thanks to the very fast Delphi compiler this takes about 20 seconds. And thanks to Delphi and FireMonkey we now have a Mac OS X version using our Windows programming skills."