enable support for using the system portaudio library. The latter
also corrects a long standing bug that prevented using config.status
to regenerate src/Makefile.
As a result of the above, I've taken Benjamin's *_LOCAL_CONFIGURE_ARGS
idea and propagated its usage to the other place where ac_configure_args
was being set directly.
Removed old stuff from lib-src/Makefile.in and made the library locations
for portaudio and portmixer like the rest (a symlink in lib-src).
Reworked portmixer's configure.ac to properly detect host apis.
I refactored the code into AudacityApp with a new timer. This is provisional pending discussion - if it is decided that it should go somewhere else I will move it.
At bottom of http://bugzilla.audacityteam.org/show_bug.cgi?id=137#c17:
> I noticed that although when we open the same project a second time with File >
> Open or File > Recent Files we show an error "is already open in another
> window", there is no block on executing the .aup from your file manager and
> opening as many copies of the project as you like. I had not done that when
> Audacity moved the files around in error the first time, but can we block this
> anyway?
This is a different bug from Bug 137, repeatable, and I think lower priority. But I went ahead and fixed it with this commit.
Also fixed previously unnoted bug where AudacityApp::MRUOpen() returned true when it actually failed to open the file. Also removed AudacityApp::OnMRUProject() cruft.
Unfortunately, it still creates a new, empty project window on Win Explorer open whereas Open and Recent Files commands do not. I think that constitutes a new, separate P5 bug.
Overall, this is another aspect of what I was talking about in http://bugzilla.audacityteam.org/show_bug.cgi?id=322#c26. Opening files vs projects got conflated for convenience, but this code is hacked in some regards, rather than being a good design, and that's why this type of bug shows up.
Commit Benjamin's latest patch (with slight rewordings so that if SRC_MAX_RATIO changes again, we don't have to rewrite this message.
Fix looks correct (although partial) to me and USE_LIBSAMPLERATE is off by default anyway.
* Add missing colons to controls text in generators (outside the translatable string, so as to not break translations)
* Also right-justify "Duration" in Chirp and Tone to match other controls.
* TODOs added to possibly move colons back into the translatable string after 2.0 (per Vaughan's suggestion).
Also, in some research I learned that the DirectSound guid to Wave ID function can sometimes return success without writing to the output struct at all. I added a check to initialize and bail if this happens. This can possibly help with some of our USB issues.
In addition, while changing from mode to mode, the Quality dropdown no longer resets to a default value and it remembers how you had them set from session to session.