Package: audacity / 2.0.6-2

Metadata

Package Version Patches format
audacity 2.0.6-2 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
fix minsrc autoreconf.patch | (download)

lib-src/Makefile.am | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 fix autoreconf for the minimal audacity source tarball.
 The minimal audacity source tarball does not ship every library in lib-src.
wxWidgets 3.0.patch | (download)

configure.ac | 26 13 + 13 - 0 !
lib-src/FileDialog/FileDialog.h | 4 2 + 2 - 0 !
lib-src/FileDialog/Makefile.am | 4 4 + 0 - 0 !
lib-src/FileDialog/configure.ac | 48 35 + 13 - 0 !
lib-src/FileDialog/wx30/FileDialogPrivate.cpp | 61 61 + 0 - 0 !
lib-src/FileDialog/wx30/FileDialogPrivate.h | 47 47 + 0 - 0 !
lib-src/lib-widget-extra/configure.ac | 25 13 + 12 - 0 !
src/AudacityApp.cpp | 4 2 + 2 - 0 !
src/AudacityLogger.cpp | 4 2 + 2 - 0 !
src/Benchmark.cpp | 12 6 + 6 - 0 !
src/CaptureEvents.cpp | 2 1 + 1 - 0 !
src/CaptureEvents.h | 2 1 + 1 - 0 !
src/DirManager.cpp | 12 6 + 6 - 0 !
src/LabelTrack.cpp | 8 4 + 4 - 0 !
src/LyricsWindow.cpp | 4 2 + 2 - 0 !
src/Menus.cpp | 4 2 + 2 - 0 !
src/MixerBoard.cpp | 4 2 + 2 - 0 !
src/PitchName.cpp | 4 4 + 0 - 0 !
src/PlatformCompatibility.cpp | 7 6 + 1 - 0 !
src/Profiler.cpp | 3 3 + 0 - 0 !
src/Project.cpp | 40 32 + 8 - 0 !
src/Project.h | 3 3 + 0 - 0 !
src/Sequence.cpp | 10 5 + 5 - 0 !
src/Shuttle.cpp | 2 1 + 1 - 0 !
src/Tags.cpp | 2 1 + 1 - 0 !
src/TrackPanel.cpp | 14 7 + 7 - 0 !
src/blockfile/SimpleBlockFile.cpp | 8 4 + 4 - 0 !
src/commands/CompareAudioCommand.cpp | 4 2 + 2 - 0 !
src/commands/ScriptCommandRelay.cpp | 2 1 + 1 - 0 !
src/commands/Validators.h | 2 1 + 1 - 0 !
src/effects/BassTreble.cpp | 1 1 + 0 - 0 !
src/effects/Compressor.cpp | 1 1 + 0 - 0 !
src/effects/FindClipping.cpp | 2 1 + 1 - 0 !
src/effects/ladspa/LadspaEffect.cpp | 18 8 + 10 - 0 !
src/effects/ladspa/LoadLadspa.cpp | 2 1 + 1 - 0 !
src/effects/nyquist/Nyquist.cpp | 10 2 + 8 - 0 !
src/export/ExportFFmpeg.cpp | 2 1 + 1 - 0 !
src/export/ExportFFmpegDialogs.cpp | 2 1 + 1 - 0 !
src/export/ExportMP2.cpp | 4 2 + 2 - 0 !
src/export/ExportMP3.cpp | 2 1 + 1 - 0 !
src/export/ExportMultiple.cpp | 12 6 + 6 - 0 !
src/import/Import.cpp | 4 2 + 2 - 0 !
src/import/ImportFFmpeg.cpp | 4 2 + 2 - 0 !
src/import/ImportGStreamer.cpp | 6 3 + 3 - 0 !
src/import/ImportOGG.cpp | 2 1 + 1 - 0 !
src/import/ImportRaw.cpp | 2 1 + 1 - 0 !
src/ondemand/ODManager.cpp | 2 1 + 1 - 0 !
src/ondemand/ODTask.cpp | 2 1 + 1 - 0 !
src/prefs/KeyConfigPrefs.cpp | 6 3 + 3 - 0 !
src/prefs/PrefsDialog.cpp | 2 0 + 2 - 0 !
src/prefs/QualityPrefs.cpp | 4 2 + 2 - 0 !
src/toolbars/DeviceToolBar.cpp | 6 2 + 4 - 0 !
src/toolbars/ToolsToolBar.cpp | 2 1 + 1 - 0 !
src/widgets/ASlider.cpp | 6 3 + 3 - 0 !
src/widgets/ExpandingToolBar.cpp | 1 1 + 0 - 0 !
src/widgets/FileHistory.cpp | 2 1 + 1 - 0 !
src/widgets/Grabber.cpp | 2 1 + 1 - 0 !
src/widgets/Grid.cpp | 52 44 + 8 - 0 !
src/widgets/Grid.h | 13 13 + 0 - 0 !
src/widgets/ImageRoll.cpp | 6 3 + 3 - 0 !
src/widgets/ImageRoll.h | 17 13 + 4 - 0 !
src/widgets/KeyView.cpp | 4 2 + 2 - 0 !
src/widgets/TimeTextCtrl.cpp | 5 3 + 2 - 0 !
src/widgets/numformatter.cpp | 8 8 + 0 - 0 !
src/widgets/numformatter.h | 15 12 + 3 - 0 !
src/widgets/valnum.cpp | 8 8 + 0 - 0 !
src/widgets/valnum.h | 15 12 + 3 - 0 !
src/xml/XMLWriter.cpp | 6 3 + 3 - 0 !
68 files changed, 444 insertions(+), 186 deletions(-)

 compile audacity against wxwidgets 3.0
 Solved compilation issues:
 (1.) Allow wxWidgets 3.0 in various configure scripts.
 (2.) The file dialog was derived from an internal wx class that
 disappeared in wx3.0 (discussed in further detail below).
 (3.) In several places the types in interfaces changed between
 wxChar* and wxString. I've tried to modify the code so it works with
 both interfaces (thanks to implicit conversion; may look a bit weird
 in some places).
 (4.) Calls to "wxTheApp->SuspendIdleCallback()" are no longer
 supported. They were part of a workaround for a clipboard problem,
 which fortunately doesn't seem to be there any longer in wx3.0, so I
 deactivated it for wx3.0.
 (5.) AddPendingEvent() and ProcessEvent() now have the visibility
 "protected" in wxWindow. It has always been a bad idea to call them
 directly on a wxWindow object, but now it's explicitly forbidden.
 Instead, those functions should be called on the object returned by
 GetEventHandler().
 (6.) The class wxStandardPaths is now a singleton and has to be
 treated as such (no more explicit constructor calls).
 (7.) "wxLogWarning" is a macro now, so the "::" prefix doesn't work
 on it anymore.
 (8.) Several int types (which were actually used as enums) are now
 real enum types (e.g. wxRasterOperationMode, wxMouseButton) and have
 to be used as such.
 (9.) Apart from the FD constants (which have been fixed in Olly's
 patch already) there are some other constants which have received a
 prefix (e.g. wx* -> wxFONTFAMILY_*, wx* -> wxFONTSTYLE_*, wx* ->
 wxFONTWEIGHT_*).
 (10.) Signature changes in constructors of wxFlexGridSizer and wxIcon
 and wxSizeEvent
 (11.) Missing includes (missing header files were probably included
 indirectly in wx2.8 by chance)
 (12.) When deriving from the abstract class wxGridTableBase,
clang ftbfs.patch | (download)

lib-src/libnyquist/nyquist/ffts/src/fftlib.c | 48 24 + 24 - 0 !
1 file changed, 24 insertions(+), 24 deletions(-)

 fix build failure with clang
 Fixed undefined reference error in lib-src/libnyquist/nyquist/ffts/src/fftlib.c
fix cursor recapturing sliders.patch | (download)

src/widgets/ASlider.cpp | 4 3 + 1 - 0 !
1 file changed, 3 insertions(+), 1 deletion(-)

 fix cursor recapturing in track panel sliders
 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,
 throughs an assertion failure. This can be the case 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.
 Fix the recapturing problem by letting the sliders capture the cursor
 only if necessary.
workaround wxwidgets fit recovery.patch | (download)

src/AutoRecovery.cpp | 23 23 + 0 - 0 !
1 file changed, 23 insertions(+)

 workaround for wx bug causing layout problems in recovery dialog
 Workaround for a bug in wxWidgets 3.0 that causes the Fit()
 function to fail in certain desktop environments (gnome, xfce)
 before the first window of the same style class is shown on
 screen (http://trac.wxwidgets.org/ticket/16440). As a workaround,
 call Fit() and other methods that depend on its results again
 *after* we know that the window has been shown. While the bug
 may affect other calls to Fit() on a low level, the workaround
 is necessary only for the recovery dialog, which is particularly
 vulnerable because:
 1. It is shown very, very early in the program execution and
 therefore very likely to be the first dialog of its style class
 shown on screen.
 2. It doesn't have scrollbars or flexible-size controls that
 could compensate the wrong dialog size.
wxwidgets clipboard reentry workaround.patch | (download)

src/Project.cpp | 10 7 + 3 - 0 !
src/TrackPanel.cpp | 4 3 + 1 - 0 !
src/TrackPanel.h | 12 10 + 2 - 0 !
3 files changed, 20 insertions(+), 6 deletions(-)

 workaround for wxwidgets bug: reentry in clipboard
 The wxWidgets bug http://trac.wxwidgets.org/ticket/16636 prevents
 us from doing clipboard operations in wxShowEvent and wxTimerEvent
 processing because those event could possibly be processed during
 the (not sufficiently protected) Yield() of a first clipboard
 operation, causing reentry. Audacity had a workaround in place
 for this problem (the class "CaptureEvents"), which however isn't
 applicable with wxWidgets 3.0 because it's based on changing the
 gdk event handler, a change that would be overridden by wxWidgets's
 own gdk event handler change.
 Instead, as a new workaround, specifically protect those processings
 of wxShowEvent and wxTimerEvent that try to do clipboard operations
 from being executed within Yield(). This is done by delaying their
 execution by posting pure wxWidgets events - which are never executed
 during Yield().
wxwidgets effect dialogs segfault.patch | (download)

src/effects/lv2/LV2Effect.cpp | 4 2 + 2 - 0 !
src/effects/vamp/VampEffect.cpp | 4 2 + 2 - 0 !
2 files changed, 4 insertions(+), 4 deletions(-)

 fix effect dialog segfault due to events before initialization
 Both the LV2EffectDialog and the VampEffectDialog receive EVT_TEXT events
 before they are properly initialized. To prevent this, a workaround was
 already in place, but was only active on Windows. Activated the workaround
 for wxGTK with wxWidgets >= 3.0, too.