Fix crash with wxWidgets 3.0: Cursor recapturing in track panel sliders [Patch 0019] From martin@steghoefer.eu 

wxWidgets 3.0 has added a lot of asserts to detect incorrect usage
of its APIs. Now capturing the cursor, when it's already captured,
throws an assertion failure. As the assertion failure window
appears at a very inconvenient moment (when the cursor is captured),
this can lead to Audacity crashing or can even render the whole
Desktop Manager unusable until you find a way to kill
Audacity without using your Desktop Manager (e.g. ssh login)!

The recapturing can occur in the track panel sliders because
the sliders capture the cursor themselves (because they are
also used in other places outside the track panel, where
this is actually necessary), but the track panel also manages
the cursor capturing because it needs it for other operations.

Fixed the recapturing problem by letting the sliders capture the cursor
only if necessary.

git-svn-id: http://audacity.googlecode.com/svn/audacity-src/trunk@13602 47890b92-0858-11df-a26f-8b716316a5bc
Fix crash with wxWidgets 3.0: Opening the logger dialog caused a segmentation fault due to an incorrect cast (superseding r13426). [Patch 0020] From martin@steghoefer.eu

The casting macros wxStaticCast and wxDynamicCast from wxWidgets only work within the hierarchy registered to the wxWidgets class runtime information. But neither the base class wxLog nor the derived class AudacityLogger involved in the cast qualify for this.

This error wasn't visible with wxWidgets 2.8 because asserts weren't activated there by default, which prevented the code that causes the invalid memory access from being executed.

Note: After original creation of this fix, the line causing the crash has been changed in r13426 from using wxStaticCast to wxDynamicCast, which avoids the crash for now thanks to a lucky coincidence. It's still not the desired behaviour (before this fix the runtime type check only checked for wxEvtHandler instead of AudacityLogger) and could start to crash again, depending on implementation details of wxDynamicCast.  Hence this fix was still needed, and it was adjusted accordingly.

git-svn-id: http://audacity.googlecode.com/svn/audacity-src/trunk@13603 47890b92-0858-11df-a26f-8b716316a5bc
Fix runtime problem with wxWidgets 3.0: Dialog size assert. [Patch 0021] From martin@steghoefer.eu (adjusted by James).

Due to changes in sizing of dialogs with wx3, an assert about the size of the preferences dialog (was max 800x600) fails, which causes an error dialog to pop up. We've recently decided that screens have got bigger, and increased the default size of the Audacity window.  Rather than remove this assert, we've upped its limits so that we can go further before we hit the limit.  Other code to try to keep the dialog size near to 800x600 has not been changed.



git-svn-id: http://audacity.googlecode.com/svn/audacity-src/trunk@13604 47890b92-0858-11df-a26f-8b716316a5bc
Fix type problem with wxWidgets 3.0: Use enum wxRasterOperationMode instead of int.  [Patch 0022] from martin@steghoefer.eu


This change from the old int type to the real enum wxRasterOperationMode was missed during the fix of similar problems in r13403 (when similar fixes were applied), probably because ImageRoll and the affected variable are currently unused and the problem therefore doesn't cause a compilation error and is only fixed preventively.

Compatibility with wxWidgets 2.8 is assured thanks to a conditional definition of wxRasterOperationMode as int in ImageRoll.h, introduced in r13403.

git-svn-id: http://audacity.googlecode.com/svn/audacity-src/trunk@13605 47890b92-0858-11df-a26f-8b716316a5bc
One more round of effects changes.

The big thing is the common efffects UI.  Right now Ladspa and VST
have been converted to use it and Audiounits will be next.  It makes
everything nice and consistent while reducing the clutter in the
dialog.

Other goodies are:

Ladspa effects now show output controls when supplied by the effect
Ladspa effects now work fine as Analyze type effects
Ladspa now has user presets
VST effects dialog is now less cluttered...leaving more room for the effect
Ladspa and VST effects now share a common UI
Ladspa and VST effects are now usable in chains
Ladspa and VST effects now handle user presets the same way
Currently active effects settings automatically saved and reloaded
Can now do numeric range checking on input fields.

And, as always, plenty of critter squashing.



git-svn-id: http://audacity.googlecode.com/svn/audacity-src/trunk@13606 47890b92-0858-11df-a26f-8b716316a5bc
Found that the problem was a missing "class" on the friend statements.

I totally didn't see it!  It wasn't until I googled the error
that I had to stop, slap myself on the back of the head and
say "DOH!"



git-svn-id: http://audacity.googlecode.com/svn/audacity-src/trunk@13607 47890b92-0858-11df-a26f-8b716316a5bc
New Nyquist crossfade effect added.

git-svn-id: http://audacity.googlecode.com/svn/audacity-src/trunk@13608 47890b92-0858-11df-a26f-8b716316a5bc
Adding the NoiseReduction files to the Mac project.



git-svn-id: http://audacity.googlecode.com/svn/audacity-src/trunk@13609 47890b92-0858-11df-a26f-8b716316a5bc