From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 4EA2C1382C5 for ; Wed, 21 Feb 2018 11:09:03 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 35E1FE0884; Wed, 21 Feb 2018 11:09:02 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 0640AE0884 for ; Wed, 21 Feb 2018 11:09:01 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id BBE27335C49 for ; Wed, 21 Feb 2018 11:09:00 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 485B41F1 for ; Wed, 21 Feb 2018 11:08:59 +0000 (UTC) From: "Lars Wendler" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Lars Wendler" Message-ID: <1519211330.18dbd4fcf1bca48ad8b368346bfe73e2f2f40f02.polynomial-c@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: media-sound/audacity/files/, media-sound/audacity/ X-VCS-Repository: repo/gentoo X-VCS-Files: media-sound/audacity/audacity-2.2.2.ebuild media-sound/audacity/files/audacity-2.2.2-midi.patch X-VCS-Directories: media-sound/audacity/files/ media-sound/audacity/ X-VCS-Committer: polynomial-c X-VCS-Committer-Name: Lars Wendler X-VCS-Revision: 18dbd4fcf1bca48ad8b368346bfe73e2f2f40f02 X-VCS-Branch: master Date: Wed, 21 Feb 2018 11:08:59 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: ca5b708d-0082-4832-a1e0-bc91f93a1677 X-Archives-Hash: e3e6f9c6ba545f0adfc5fedf4d5040a6 commit: 18dbd4fcf1bca48ad8b368346bfe73e2f2f40f02 Author: Lars Wendler gentoo org> AuthorDate: Wed Feb 21 10:42:32 2018 +0000 Commit: Lars Wendler gentoo org> CommitDate: Wed Feb 21 11:08:50 2018 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=18dbd4fc media-sound/audacity: Fixed compilation with USE="-midi" Thanks to Matt Whitlock for providing the initial patch. Closes: https://bugs.gentoo.org/637110 Package-Manager: Portage-2.3.24, Repoman-2.3.6 media-sound/audacity/audacity-2.2.2.ebuild | 8 + .../audacity/files/audacity-2.2.2-midi.patch | 168 +++++++++++++++++++++ 2 files changed, 176 insertions(+) diff --git a/media-sound/audacity/audacity-2.2.2.ebuild b/media-sound/audacity/audacity-2.2.2.ebuild index af62f464499..cb2b8ea861f 100644 --- a/media-sound/audacity/audacity-2.2.2.ebuild +++ b/media-sound/audacity/audacity-2.2.2.ebuild @@ -49,6 +49,14 @@ REQUIRED_USE="soundtouch? ( midi )" S="${WORKDIR}/${MY_P}-rc1" +PATCHES=( + "${FILESDIR}/${PN}-2.2.2-midi.patch" +) + +src_prepare() { + epatch "${PATCHES[@]}" +} + src_configure() { local WX_GTK_VER="3.0" need-wxwidgets unicode diff --git a/media-sound/audacity/files/audacity-2.2.2-midi.patch b/media-sound/audacity/files/audacity-2.2.2-midi.patch new file mode 100644 index 00000000000..10a0f1f6eb0 --- /dev/null +++ b/media-sound/audacity/files/audacity-2.2.2-midi.patch @@ -0,0 +1,168 @@ +https://bugs.gentoo.org/637110 + +Original patch by Matt Whitlock +Forward-ported from version 2.2.0 to 2.2.2 + +--- audacity-minsrc-2.2.2-rc1/src/AudioIO.cpp ++++ audacity-minsrc-2.2.2-rc1/src/AudioIO.cpp +@@ -976,6 +976,7 @@ + }; + #endif + ++#ifdef EXPERIMENTAL_MIDI_OUT + // return the system time as a double + static double streamStartTime = 0; // bias system time to small number + +@@ -995,6 +996,7 @@ + + return PaUtil_GetTime() - streamStartTime; + } ++#endif + + const int AudioIO::StandardRates[] = { + 8000, +@@ -1803,6 +1805,7 @@ + } + #endif + ++#ifdef EXPERIMENTAL_MIDI_OUT + // We use audio latency to estimate how far ahead of DACS we are writing + if (mPortStreamV19 != NULL && mLastPaError == paNoError) { + const PaStreamInfo* info = Pa_GetStreamInfo(mPortStreamV19); +@@ -1811,6 +1814,7 @@ + mAudioOutLatency = info->outputLatency; + mSystemMinusAudioTimePlusLatency += mAudioOutLatency; + } ++#endif + + return (mLastPaError == paNoError); + } +@@ -1955,8 +1959,10 @@ + + double playbackTime = 4.0; + ++#ifdef EXPERIMENTAL_MIDI_OUT + streamStartTime = 0; + streamStartTime = SystemTime(mUsingAlsa); ++#endif + + #ifdef EXPERIMENTAL_SCRUBBING_SUPPORT + bool scrubbing = (options.pScrubbingOptions != nullptr); +@@ -2830,7 +2836,9 @@ + + mPlaybackTracks.clear(); + mCaptureTracks.clear(); ++#ifdef HAVE_MIDI + mMidiPlaybackTracks.clear(); ++#endif + + #ifdef EXPERIMENTAL_SCRUBBING_SUPPORT + mScrubQueue.reset(); +@@ -4669,13 +4677,13 @@ + (float *)alloca(framesPerBuffer*numPlaybackChannels * sizeof(float)) : + (float *)outputBuffer; + ++#ifdef EXPERIMENTAL_MIDI_OUT + if (gAudioIO->mCallbackCount++ == 0) { + // This is effectively mSystemMinusAudioTime when the buffer is empty: + gAudioIO->mStartTime = SystemTime(gAudioIO->mUsingAlsa) - gAudioIO->mT0; + // later, mStartTime - mSystemMinusAudioTime will tell us latency + } + +-#ifdef EXPERIMENTAL_MIDI_OUT + /* GSW: Save timeInfo in case MidiPlayback needs it */ + gAudioIO->mAudioCallbackClockTime = PaUtil_GetTime(); + +@@ -5051,7 +5059,9 @@ + : gAudioIO->mTime >= gAudioIO->mT1)) + // PRL: singalling MIDI output complete is necessary if + // not USE_MIDI_THREAD, otherwise it's harmlessly redundant ++#ifdef EXPERIMENTAL_MIDI_OUT + gAudioIO->mMidiOutputComplete = true, ++#endif + callbackReturn = paComplete; + } + +@@ -5114,7 +5124,9 @@ + + // PRL: singalling MIDI output complete is necessary if + // not USE_MIDI_THREAD, otherwise it's harmlessly redundant ++#ifdef EXPERIMENTAL_MIDI_OUT + gAudioIO->mMidiOutputComplete = true, ++#endif + callbackReturn = paComplete; + } + } +--- audacity-minsrc-2.2.2-rc1/src/Project.cpp ++++ audacity-minsrc-2.2.2-rc1/src/Project.cpp +@@ -460,10 +460,11 @@ + } ); + + for (const auto &name : sortednames) { +- ++#ifdef USE_MIDI + if (Importer::IsMidi(name)) + AudacityProject::DoImportMIDI(mProject, name); + else ++#endif + mProject->Import(name); + } + +@@ -3046,9 +3047,11 @@ + #endif + + { ++#ifdef USE_MIDI + if (Importer::IsMidi(fileName)) + DoImportMIDI(this, fileName); + else ++#endif + Import(fileName); + + ZoomAfterImport(nullptr); +--- audacity-minsrc-2.2.2-rc1/src/tracks/playabletrack/notetrack/ui/NoteTrackButtonHandle.cpp ++++ audacity-minsrc-2.2.2-rc1/src/tracks/playabletrack/notetrack/ui/NoteTrackButtonHandle.cpp +@@ -9,6 +9,9 @@ + **********************************************************************/ + + #include "../../../../Audacity.h" ++ ++#ifdef USE_MIDI ++ + #include "NoteTrackButtonHandle.h" + + #include "../../../../HitTestResult.h" +@@ -113,3 +116,4 @@ + return RefreshCode::RefreshNone; + } + ++#endif +--- audacity-minsrc-2.2.2-rc1/src/tracks/playabletrack/notetrack/ui/NoteTrackVZoomHandle.cpp ++++ audacity-minsrc-2.2.2-rc1/src/tracks/playabletrack/notetrack/ui/NoteTrackVZoomHandle.cpp +@@ -9,6 +9,9 @@ + **********************************************************************/ + + #include "../../../../Audacity.h" ++ ++#ifdef USE_MIDI ++ + #include "NoteTrackVZoomHandle.h" + #include "../../../../Experimental.h" + #include "NoteTrackVRulerControls.h" +@@ -332,3 +335,5 @@ + TrackVRulerControls::DrawZooming + ( dc, mRect, panelRect, mZoomStart, mZoomEnd ); + } ++ ++#endif +--- audacity-minsrc-2.2.2-rc1/src/tracks/ui/TimeShiftHandle.cpp ++++ audacity-minsrc-2.2.2-rc1/src/tracks/ui/TimeShiftHandle.cpp +@@ -604,7 +604,7 @@ + { + trySnap = true; + if (pTrack->GetKind() == Track::Wave) { +- auto wt = static_cast(pTrack); ++ auto wt = static_cast(pTrack.get()); + const double rate = wt->GetRate(); + // set it to a sample point + desiredSlideAmount = rint(desiredSlideAmount * rate) / rate;