This project has moved and is read-only. For the latest updates, please go here.

About the Documentation

Jul 26, 2015 at 5:19 PM
Hi, I'm having a little trouble understanding the setup for this documentation. I was expecting an MSDN type of thing where each class has it's own uses explained and then demonstrated. Instead it seems like a bunch of links to different end products. I.e. here's how you play a WAV file. Or links to pluralsight... Which is very useful, but doesn't help me understand what everything does. Searching through the documentation seems to further hint at this kind of setup. I searched for: NAudio.Wave.WaveFileReader and got 0 results.

Please tell me I'm wrong about this...
Jul 27, 2015 at 10:53 AM
hi Forgility,

Unfortunately, there is no MSDN style documentation for NAudio. There are around 70 articles, plus the demo projects which show how to use most of the features of NAudio. And the Pluralsight course will be helpful if you are a subscriber. But yes I agree that NAudio could do with more comprehensive documentation than we currently have. It is something we are always looking to improve and I welcome any contributions to the project in this area.
Jul 28, 2015 at 4:48 PM
Edited Jul 28, 2015 at 4:49 PM
Is there any way at all for me to find out what individual classes/methods do? I just don't understand... with no proper documentation how do you expect people to pick this up with any kind of ease? For example, I'm currently looking into what WaveInCapabilities does - all I'm getting is that it's a struct. And after googling for a bit I can maybe make the guess that it gives you device names etc. Names of classes can often be deceiving, but it's pretty much the only quick and easy way I have to read the code. I mean what use is the sample code you've given us if we have to make assumptions about what its components do based on context, instead of having a dictionary definition on-hand. I really want to use the library, but it's unnecessarily hard at the moment. Still gonna fucking try though... I am grateful that you've provided this tool, it seems super powerful and I'm sure it's really comprehensive once you get used to it. I just think for people who are just getting acquainted with audio programming - it's needlessly difficult.
Jul 28, 2015 at 5:01 PM
NAudio contains managed wrappers for hundreds of methods, interfaces and structures from the Windows SDK. So the documentation for things like WaveInCapabilities is on MSDN. It wouldn't make sense for me to copy the MSDN documentation for the entirety of WinMM, WASAPI, ACM, MediaFoundation, DMO, DirectSound, WindowsMedia, MIDI etc and even if I wanted to, it would take years to do.

NAudio does attempt to hide some of the complexities of the Windows API methods, but unfortunately it has not all been abstracted away, so there are concepts from the various Windows APIs that you need to understand in order to work effectively. None of this is to deny that the NAudio documentation could be a lot better than it currently is. But you need to understand there are no full time developers on NAudio. It's all volunteer effort in spare time, and a most of the contributions I have received over the years have come with no documentation whatsoever.