tags:

views:

44

answers:

1

Hi,

I'm designing a cross platform (Windows/Linux/OS X) application, something like a digital audio workstation. I'd like to create a software where users have a fully featured sequencer (multiple tracks with automation) and where it is possible to create instruments using a visual language (as Pure Data/Max MSP).

Ehm... I know that I've already posted a question about a related issue... But in order to decide which technology I should use, I think I'd better to make more investigation.

I'm a quite experted user of audio trackers (Renoise, Protracker,...) and sequencers (FL Studio, Cubase 5), but I didn't ever try to develop even a basic audio tracker. I know just the basic theory of mixing sound and know how basically a DSP works.

My questions are:

  • Where I can find a good tutorial/guide/book about this issue?
  • Do you think using C# (with NAudio) could dramatically reduce performance? I know C++ would be the best choice, but I find C# so elegant and easy to build and port, while C++ is so powerful and fast, but there are too #define and bad things for my taste! ;-)

Thank you.

A: 

For cross platform development in C++ you might want to take a look at Qt. It is as (or more) elegant than C#/WinForms. I've been developing for Windows and Linux for the last three years with it and it's a pleasure to work with.

Look for the book C++ GUI Programming with Qt4. It's an excellent resource.

You should also look for Qt/Phonon backend and see how could it help you to reproduce media.

For C# I've had really bad experiences with WinForms - resizable layouts are a pain to work with and never seems to get really right. There's also Gtk# (from Mono) and WPF. If you want to do cross platform development I'd advise you to target the .NET subsets Mono support. But, otherwise, I'd just do with Qt.

Vitor Py
Thank you for your answer!... Maybe this answer is more related to the other question I've posted. I was wondering if developing core of a such audio application in C# is a wrong choice. BTW I'm looking for a good tutorial/book to understand which common solution and "pattern" are used in real-time audio software (sound generation and processing).
Kill KRT