Where to start converting Windows / MFC synth to Linux?

Programming applications for making music on Linux.

Moderators: khz, MattKingUSA

guerrian
Established Member
Posts: 6
Joined: Tue Feb 27, 2018 7:38 pm

Where to start converting Windows / MFC synth to Linux?

Postby guerrian » Tue Feb 27, 2018 8:23 pm

I have some C++ code for a stand alone synthesiser program that I wrote a while ago to work on Windows 7 / MFC. I no longer have the machine or the Visual Studio compiler. Now I have a machine running Linux Mint I would like to try to convert the program and perhaps develop it. The main interaction it had with the OS, beyond just being a regular C++ program was to dump audio data to a buffer via a call back function. It also had a basic real time graphical user interface with some on screen sliders. I am a noob when it comes to Linux development and I was hoping to find a simple C / C++ example demonstrating how to render a wave (a sine wave for example) to the audio output. But I could not find such an example. What are the minimal C / C++ libraries I need to send the rendered audio data from memory to the sound output? Do I need to use Jack and ALSA to achieve this?
Linux Mint 18.1 Cinnamon 64-bit (version 3.2.7), Intel Core i7-4790, NVIDIA GeForce GTX 750 Ti

User avatar
falkTX
Established Member
Posts: 6646
Joined: Sat Jan 09, 2010 3:04 pm

Re: Where to start converting Windows / MFC synth to Linux?

Postby falkTX » Tue Feb 27, 2018 8:33 pm

Regarding the UI, Qt (and its QtCreator IDE) might be the most easy and straight forward path for you.
To handle audio, you can talk to the JACK API directly yes. It's quite the simple API after you understand its concept about clients and ports.

If you need something other than JACK, RtAudio is a good, simple choice.

Lyberta
Established Member
Posts: 681
Joined: Sat Nov 01, 2014 8:15 pm
Location: The Internet

Re: Where to start converting Windows / MFC synth to Linux?

Postby Lyberta » Wed Feb 28, 2018 5:15 pm

Yep, Qt is nice when it comes to desktop GUI. If you wanna see some C++ example code that works in GNU/Linux, you can check my library. It has bindings for ALSA and JACK bindings are coming soon.


Return to “Developer's Section”

Who is online

Users browsing this forum: No registered users and 2 guests