SHA256
1
0
forked from pool/audacity

Accepting request 812959 from home:plater

- Update to release 2.4.1 and remove:
  0001-Bug2436-Cross-project-paste-should-duplicate-block-f.patch
- Now needs wxWidgets >=3.1.1 to build.

OBS-URL: https://build.opensuse.org/request/show/812959
OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/audacity?expand=0&rev=141
This commit is contained in:
Dave Plater 2020-06-09 15:03:03 +00:00 committed by Git OBS Bridge
parent 5ccd68e0c3
commit d09665e690
6 changed files with 46 additions and 162 deletions

View File

@ -1,109 +0,0 @@
From 242b7fd7b7a7e4a720706a8bb6cf1d4a17099e2e Mon Sep 17 00:00:00 2001
From: Paul Licameli <paul.licameli@audacityteam.org>
Date: Mon, 18 May 2020 07:53:01 -0400
Subject: [PATCH] Bug2436: Cross-project paste should duplicate block files...
... to avoid data loss!
Bug caused by commit c2feee6
---
src/DirManager.cpp | 2 +-
src/WaveTrack.cpp | 4 +++-
src/WaveTrack.h | 3 ++-
src/menus/EditMenus.cpp | 7 +++++--
4 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/src/DirManager.cpp b/src/DirManager.cpp
index 71922a395..5278ce916 100644
--- a/src/DirManager.cpp
+++ b/src/DirManager.cpp
@@ -400,7 +400,7 @@ DirManager::DirManager()
srand(time(NULL));
// Set up local temp subdir
- // Previously, Audacity just named project temp directories "project0",
+ // Previously, Audacity just na med project temp directories "project0",
// "project1" and so on. But with the advent of recovery code, we need a
// unique name even after a crash. So we create a random project index
// and make sure it is not used already. This will not pose any performance
diff --git a/src/WaveTrack.cpp b/src/WaveTrack.cpp
index 9feded420..b4ef344a3 100644
--- a/src/WaveTrack.cpp
+++ b/src/WaveTrack.cpp
@@ -530,10 +530,12 @@ void WaveTrack::Trim (double t0, double t1)
-WaveTrack::Holder WaveTrack::EmptyCopy() const
+WaveTrack::Holder WaveTrack::EmptyCopy(
+ const std::shared_ptr<DirManager> &pDirManager ) const
{
auto result = std::make_shared<WaveTrack>( mDirManager, mFormat, mRate );
result->Init(*this);
+ result->mDirManager = pDirManager ? pDirManager : mDirManager;
return result;
}
diff --git a/src/WaveTrack.h b/src/WaveTrack.h
index c99f249d8..e870434aa 100644
--- a/src/WaveTrack.h
+++ b/src/WaveTrack.h
@@ -160,7 +160,8 @@ private:
// Make another track copying format, rate, color, etc. but containing no
// clips
- Holder EmptyCopy() const;
+ Holder EmptyCopy(
+ const std::shared_ptr<DirManager> &pDirManager = {} ) const;
// If forClipboard is true,
// and there is no clip at the end time of the selection, then the result
diff --git a/src/menus/EditMenus.cpp b/src/menus/EditMenus.cpp
index 6a4b550e3..6e14f4f7d 100644
--- a/src/menus/EditMenus.cpp
+++ b/src/menus/EditMenus.cpp
@@ -2,6 +2,7 @@
#include "../AdornedRulerPanel.h"
#include "../Clipboard.h"
#include "../CommonCommandFlags.h"
+#include "../DirManager.h"
#include "../LabelTrack.h"
#include "../Menus.h"
#include "../NoteTrack.h"
@@ -75,6 +76,7 @@ bool DoPasteText(AudacityProject &project)
bool DoPasteNothingSelected(AudacityProject &project)
{
auto &tracks = TrackList::Get( project );
+ auto &dirManager = DirManager::Get( project );
auto &trackFactory = TrackFactory::Get( project );
auto &selectedRegion = ViewInfo::Get( project ).selectedRegion;
auto &window = ProjectWindow::Get( project );
@@ -101,7 +103,7 @@ bool DoPasteNothingSelected(AudacityProject &project)
// Cause duplication of block files on disk, when copy is
// between projects
locker.emplace(wc);
- uNewTrack = wc->EmptyCopy();
+ uNewTrack = wc->EmptyCopy( dirManager.shared_from_this() );
pNewTrack = uNewTrack.get();
},
#ifdef USE_MIDI
@@ -379,6 +381,7 @@ void OnPaste(const CommandContext &context)
{
auto &project = context.project;
auto &tracks = TrackList::Get( project );
+ auto &dirManager = DirManager::Get( project );
auto &trackFactory = TrackFactory::Get( project );
auto &selectedRegion = ViewInfo::Get( project ).selectedRegion;
const auto &settings = ProjectSettings::Get( project );
@@ -596,7 +599,7 @@ void OnPaste(const CommandContext &context)
wt->ClearAndPaste(t0, t1, wc, true, true);
}
else {
- auto tmp = wt->EmptyCopy();
+ auto tmp = wt->EmptyCopy( dirManager.shared_from_this() );
tmp->InsertSilence( 0.0,
// MJS: Is this correct?
clipboard.Duration() );
--
2.16.4

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5d1c096d7b04ff8d5dbca3dca5b9d9f8e62093b5ea6e57ae5f821ae3132dc88f
size 63934879

3
Audacity-2.4.1.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:50240f07471373a7e5c2df65cc26eeeaaced9a0850ad1f95cb795f171ea3009f
size 63935461

View File

@ -23,10 +23,10 @@ I: Program uses operation a <= b <= c, which is not well defined.
E: audacity mathmeaning SplashDialog.cpp:148
Index: audacity-Audacity-2.3.3/lib-src/portmidi/pm_linux/finddefault.c
Index: audacity-Audacity-2.4.1/lib-src/portmidi/pm_linux/finddefault.c
===================================================================
--- audacity-Audacity-2.3.3.orig/lib-src/portmidi/pm_linux/finddefault.c 2019-11-15 13:14:55.000000000 +0200
+++ audacity-Audacity-2.3.3/lib-src/portmidi/pm_linux/finddefault.c 2020-02-02 15:41:26.235929851 +0200
--- audacity-Audacity-2.4.1.orig/lib-src/portmidi/pm_linux/finddefault.c 2020-05-19 11:43:53.000000000 +0200
+++ audacity-Audacity-2.4.1/lib-src/portmidi/pm_linux/finddefault.c 2020-06-08 11:50:49.379072582 +0200
@@ -5,6 +5,8 @@
#include <stdlib.h>
#include <stdio.h>
@ -36,10 +36,10 @@ Index: audacity-Audacity-2.3.3/lib-src/portmidi/pm_linux/finddefault.c
#include "portmidi.h"
#define STRING_MAX 256
Index: audacity-Audacity-2.3.3/include/audacity/EffectAutomationParameters.h
Index: audacity-Audacity-2.4.1/include/audacity/EffectAutomationParameters.h
===================================================================
--- audacity-Audacity-2.3.3.orig/include/audacity/EffectAutomationParameters.h 2019-11-15 13:14:55.000000000 +0200
+++ audacity-Audacity-2.3.3/include/audacity/EffectAutomationParameters.h 2020-02-02 15:41:26.235929851 +0200
--- audacity-Audacity-2.4.1.orig/include/audacity/EffectAutomationParameters.h 2020-05-19 11:43:53.000000000 +0200
+++ audacity-Audacity-2.4.1/include/audacity/EffectAutomationParameters.h 2020-06-08 11:50:49.379072582 +0200
@@ -135,7 +135,7 @@ public:
bool ReadFloat(const wxString & key, float *pf) const

View File

@ -1,3 +1,30 @@
-------------------------------------------------------------------
Mon Jun 8 09:37:32 UTC 2020 - Dave Plater <davejplater@gmail.com>
- Update to release 2.4.1 and remove:
0001-Bug2436-Cross-project-paste-should-duplicate-block-f.patch
- Now needs wxWidgets >=3.1.1 to build.
- Upstream changes:
* A new Time Toolbar showing current record/playback time has been
split from the Selection Toolbar. It can be resized large.
* Presets for more effects can be imported and exported.
* A new Multi-View mode for tracks. In this mode both
spectrogram and waveform views are shown at the same time.
* Opus available as a new audio export format on Windows and Linux.
* Easier to convert labels between point labels and range labels.
* New Loudness Normalization effect.
* New RMS measurement analyzer.
* New Noise Gate effect.
* New Spectral Delete effect.
* 2237 - Equalization effects have no Import or Export for curves
* 2261 - Graphic EQ sliders have no frequency labels
* 2265 - Track heights are reset to default on project re-opening
* 2303 - Playback does not start at the saved cursor position on
reopening a saved project.
* 2314 - Zoom in fail when playing
See also:
https://wiki.audacityteam.org/wiki/New_features_in_Audacity_2.4.1
-------------------------------------------------------------------
Mon May 18 11:11:10 UTC 2020 - Dave Plater <davejplater@gmail.com>

View File

@ -16,10 +16,8 @@
#
%bcond_without mad
Name: audacity
Version: 2.4.0
Version: 2.4.1
Release: 0
Summary: A Multi Track Digital Audio Editor
License: GPL-2.0-or-later
@ -36,23 +34,15 @@ Patch1: audacity-flacversion.patch
Patch2: audacity-misc-errors.patch
# PATCH-FIX-UPSTREAM audacity-no_return_in_nonvoid.patch
Patch3: audacity-no_return_in_nonvoid.patch
Patch4: 0001-Bug2436-Cross-project-paste-should-duplicate-block-f.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: cmake
BuildRequires: desktop-file-utils
#Audacity only builds with gcc >= 4.9
# WARNING: Anything built against wxWidgets with gcc >= 5 needs widgets built with relax-abi.diff and gcc >= 5
%if 0%{?suse_version} == 1315
BuildRequires: cpp7
BuildRequires: gcc7
BuildRequires: gcc7-c++
%else
BuildRequires: gcc-c++
%endif
#!BuildIgnore: gstreamer-0_10-plugins-base
BuildRequires: hicolor-icon-theme
BuildRequires: wxWidgets-3_0-nostl-devel
BuildRequires: libmp3lame-devel
BuildRequires: wxWidgets-3_2-nostl-devel
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(expat)
BuildRequires: pkgconfig(flac) >= 1.3.1
@ -64,21 +54,18 @@ BuildRequires: pkgconfig(libavformat) >= 52.12
BuildRequires: pkgconfig(libavutil)
BuildRequires: pkgconfig(lilv-0) >= 0.16
BuildRequires: pkgconfig(lv2)
BuildRequires: pkgconfig(mad)
BuildRequires: pkgconfig(ogg)
BuildRequires: pkgconfig(shared-mime-info)
BuildRequires: pkgconfig(sndfile)
BuildRequires: pkgconfig(soundtouch)
BuildRequires: pkgconfig(soxr)
BuildRequires: pkgconfig(suil-0) >= 0.8.2
BuildRequires: pkgconfig(twolame)
BuildRequires: pkgconfig(vamp-hostsdk)
BuildRequires: pkgconfig(vorbis)
BuildRequires: pkgconfig(vorbisenc)
BuildRequires: pkgconfig(vorbisfile)
%if %{with mad}
BuildRequires: libmp3lame-devel
BuildRequires: pkgconfig(mad)
BuildRequires: pkgconfig(twolame)
%endif
# This would require to patch our portaudio package with "PortMixer"... an extra API that never got integrated in PortAudio.
#BuildRequires: portaudio-devel
Recommends: %{name}-lang
@ -113,20 +100,12 @@ This package contains extra plugins for audacity.
cp -f %{SOURCE1} LICENSE_NYQUIST.txt
# Make sure we use the system versions.
rm -rf lib-src/{expat,libvamp,libsoxr,ffmpeg}/
%if %{with mad}
rm -rf lib-src/lame
%endif
%build
%if 0%{suse_version} == 1315
# WARNING: Do not alter, only for Leap.
export CC="%{_bindir}/gcc-7"
export CXX="%{_bindir}/g++-7"
export CPP="%{_bindir}/cpp-7"
%endif
export CFLAGS="%{optflags} -fno-strict-aliasing"
export CXXFLAGS="$CFLAGS -std=gnu++11"
%if 1 == 1
aclocal -I m4
autoconf
%configure \
@ -137,15 +116,13 @@ autoconf
--disable-dynamic-loading \
%endif
--with-ffmpeg=system \
%if %{with mad}
--with-libmad=system \
--with-libtwolame=system \
--with-lame=system \
%else
--without-libmad \
--without-libtwolame \
%endif
--docdir=%{_docdir}/%{name}/
%else
%cmake
%endif
make %{?_smp_mflags}
@ -160,21 +137,10 @@ rm -rf %{buildroot}%{_datadir}/pixmaps/
rm %{buildroot}%{_docdir}/%{name}/LICENSE.txt
%find_lang %{name}
%post
%desktop_database_post
%icon_theme_cache_post
%mime_database_post
%postun
%desktop_database_postun
%icon_theme_cache_postun
%mime_database_postun
%files plugins
%license LICENSE.txt
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/libsuil_x11.so
%{_libdir}/%{name}/libsuil_x11_in_gtk2.so
%{_libdir}/%{name}/libsuil*.so
%files
%defattr(-,root,root)