Basically, what Steve said. Just a few variants to consider:
The advantage of all these solutions: you can leave your dialog as is, you just need to build a table Dialog ID - Control ID - Help Text. This usually beats all alternatives.
My general approach
Generally, I advocate to avoid preferences:
- move preferences that affect processing to the place where the processing is accessed.
- avoid preferences that affect details of the user interface (unless there's no way you cannot put it in)
- Make preferences accessible locally where they have an effect
This is "easy" only for a new product, and may not be possible anymore for audacity and its user base.
I don't argue against a centralized dialog where all options are available, but all features should be accessible without. A "preference accumulator" is also very valuable to export and import settings.
Using the same Dialog / Panel locally as in the settings dialog helps a lot (or one that looks like).
I had the pleasure of watching a novice user approach Audacity lately. My general impression is that some options cater to users with the expertise of audio software developers, and they mix with "normal user" options. My impression of her was "intimidated": her task was challenging enough, she was pointed to audacity to deal with a mediocre detail (cleaning up the recorded audio a bit), not worth a lot of investigation or discussion. So it's good to see you guys try to improve :)
Loking at some actual Audacity options, (I probably shouldn't cover them all here, it's already much to long...):
Playback device + Playback settings should be available "near the playback button". This might be accessible through Shift+Click, Right-Click (immediate or popup menu), or a small button near. The click variants can be announced in a tooltip. Similar for recording.
The same goes for Recording, which also should give access to the recording quality. Recording settings are already accessible for "Import Raw".
When importing the WAV, Quality can't be changed. This is good since you have a seinsible default - but it's hard to change after the fact. Double/right-click on the "Stereo, 44.1kHz, 32 bit float" indicator could get you there. (This is only partly preference related: avoid asking for options when the user can fix it later)
I don't know what to do with "Sound architecture". Two things bug me:
- The decision affects both playback and recording (this might be an architectural limitation)
- this decision is hard to make for most users.
- It's not easy to fix because it affects the "common" options of playback / recoding devices
If you are not familiar with audio architectures on your platform, or have expert guidance, it's one of those "try random buttons until it works" options. It helps to label one of the settings "(default)" - usually the less error prone.
You already indicate the audio library used - again, helpful for experts, not so much for average users. Yet, there's nothing you can thell them "Higher quality, Less Latency" would be helpful - but they can't be generalized, obviously. "Pick the one that doesn't stutter or click" could help.
"Interface/Ergonomic order of Audio I/O buttons": Took me a a few tries to understand the difference. This is a typical "I prefer / you prefer" - option. There are few reasons to actually allow such an option:
- Your user base is so opinionated they won't use your product if it has the "wrong" button order
- You have a long history of order A, but need to support order B, alienating your existing users, leadign to above
- your best developer threatens to quit if you don't use "his" style
Otherwise: decide, and throw it out. If it needs to stay in, make it accessible locally. (e.g. right-click).
(The option you have chosen is IMO still better than letting the suer arrange the buttons. users don't want to arrange buttons, they want to record and play audio.)
Show "How to get help" on program start - Again, the effect of this option is not easily predictable unless you remember that dialog at startup. I'd recommend to make the Welcome dialog accessible through "Help", where the user can change this option. (I'd invert the checkbox to "show this everytime Audacity starts", but that might be a personal preference).
The "dB Range" option seems misplaced, and should be accessible through the "Audio Track" popup menu.
The remaining "Interface" options make sense, they affect overall aspects of the application.