I'm thinking of starting a new pet project (so not related to my daytime programming job). This project is going to be a DAW, or Digital Audio Workstation type application. You would be able to record audio into multiple tracks, add VST plugins (unmanaged code, so P/Invoke) that can also eventually do MIDI etc.
Now typically these are supposed to be high-performance, as-realtime-as-possible applications doing lots of DSP where every CPU cycle is valuable, so using C# might not seem to be the most logical choice. But for me this is not about whether C# is the best choice or not, but seeing whether it is possible to do it in C# and how much I can get out of it. I love performance challenges, and also .Net programming so something like this is ideal. If nothing else I'd learn a lot about performance tuning C# applications.
Anyway, I have done many WinForms applications (including my current job), but never any WPF applications. Since I have been out of the loop with the latest WPF developments, would this also be a good time to dig in and learn about WPF, or is this just not going to be a good fit? The UI of my application would need to do a lot of screen updates, track scrolling during playback, waveform drawing, VU meter graphics, etc, so not being familiar with WPF, I'm wondering which is better, WPF or WinForms.
I'm using VS 2008 and .Net 3.5.
Any help appreciated.
EDIT: I have done similar projects in the past using unmanaged code, as well as a few smaller DSP projects using C#, so I am somewhat familiar with this type of application. But doing a major application like this in C# is new to me.