1 |
commit: 13663ab3d2b090900cb411d0df9ad6a89b887f22 |
2 |
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> |
3 |
AuthorDate: Thu Aug 30 22:45:56 2018 +0000 |
4 |
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> |
5 |
CommitDate: Fri Sep 7 20:33:51 2018 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=13663ab3 |
7 |
|
8 |
media-sound/mixxx: Drop 2.0.0 |
9 |
|
10 |
Package-Manager: Portage-2.3.48, Repoman-2.3.10 |
11 |
|
12 |
media-sound/mixxx/Manifest | 3 - |
13 |
.../mixxx/files/mixxx-2.0.0-chromaprint-1.4.patch | 40 --- |
14 |
...nate-unnecessary-heap-allocation-of-qtime.patch | 55 ---- |
15 |
...xx-2.0.0-fix-formatting-of-time-durations.patch | 24 -- |
16 |
...x-2.0.0-fix-formatting-of-time-durations2.patch | 139 ---------- |
17 |
...-2.0.0-fix-missing-pointer-initialization.patch | 271 -------------------- |
18 |
media-sound/mixxx/files/mixxx-2.0.0-gcc62.patch | 24 -- |
19 |
...n-of-time-formatseconds-into-dot-cpp-file.patch | 88 ------- |
20 |
...xx-2.0.0-rmx2-backport-controller-scripts.patch | 280 --------------------- |
21 |
media-sound/mixxx/files/mixxx-2.0.0-sqlite3.patch | 14 -- |
22 |
media-sound/mixxx/mixxx-2.0.0-r5.ebuild | 144 ----------- |
23 |
11 files changed, 1082 deletions(-) |
24 |
|
25 |
diff --git a/media-sound/mixxx/Manifest b/media-sound/mixxx/Manifest |
26 |
index 81cb96df556..878c9c13d2a 100644 |
27 |
--- a/media-sound/mixxx/Manifest |
28 |
+++ b/media-sound/mixxx/Manifest |
29 |
@@ -1,5 +1,2 @@ |
30 |
-DIST mixxx-2.0.0-ffmpeg30.patch 714 BLAKE2B 00c5cdc233262e64fa52abcc97fc15d1347a391d411b5a0e2650bc3d06f1ef994b28c1f5bd942026201850925f6959fa0b3896c5dff48fbad1c28df8bcd8067b SHA512 60788ecab1fa92b825815fff5dfdfefe02fb097e46f7f55f318bb8a8677da42e4601cce51eaaec51988990eebb72d59346d1ec45ed76cac3c8a7f9a9d1e8cf54 |
31 |
-DIST mixxx-2.0.0-ffmpeg31.patch 2844 BLAKE2B ee44c1da8af553cff478d12bc4fb05ae50bd788340ba5e414b6a535873a3c1868363762697ab21580bfa8f4006c0314acdc2c778f80a910c316a49d91c3e0205 SHA512 7207ad72d0ea851b1425ff7472aafe5f828ca70aad0821a1ef1eb54845527532489ac7913f6584e3af5fb53bf3459abc173fbf482f83be8a22358d28b1b5cf74 |
32 |
-DIST mixxx-2.0.0-src.tar.gz 25300881 BLAKE2B a0dbc03350bf6d6a8ce5abd06df50bf58cf3d75fcc3f8614873c807ad8a77d1afb12a8715944ebba80da5750e4c6d6570ea60a5afb83b87f8cc54c7c4d0ccb00 SHA512 8878c0f785e4c5f67724deeca61154d2587969a81d28aef8fa9d526aec8419a218ce2a7ef88d6fcf468d30fa13d31ac9a56ca9082431a35b7e4e040a7ccfbb1a |
33 |
DIST mixxx-2.1.1.tar.gz 34458368 BLAKE2B cf718cfea64fe71e2ccd5f299454fc9d396266052cc2516fa4494216a9d8ae9cea62858bf02e026d5072705df780d6243616d1d1705e3f251bc2392b4dc3d166 SHA512 c0047a238bf39e464f2bc25646ba03138d0b8d27cde667ca7b12bfba5f40d339ce4b426853e048d695b2c59c847e88322e27b91bead467899d7bf1cb43358f20 |
34 |
DIST mixxx-2.1.3.tar.gz 34471372 BLAKE2B 88b634003a6014ebe746cf0f5f2b3d3de6775c6b2a5298898e70c55feb1ae5a54a692f9428103419943e829438b2ac2fdbfa93c45d4624a7aede59f8ecbe98ae SHA512 3aaf207963cb7380d98c9458f9c1d85c2c72bc0bc2197758a47af50ea38a80158c1abacc70ef50398ccd89a4bd4c30d93c65d70112332e529f3a3aed31509324 |
35 |
|
36 |
diff --git a/media-sound/mixxx/files/mixxx-2.0.0-chromaprint-1.4.patch b/media-sound/mixxx/files/mixxx-2.0.0-chromaprint-1.4.patch |
37 |
deleted file mode 100644 |
38 |
index 77827f3d8d8..00000000000 |
39 |
--- a/media-sound/mixxx/files/mixxx-2.0.0-chromaprint-1.4.patch |
40 |
+++ /dev/null |
41 |
@@ -1,40 +0,0 @@ |
42 |
-Backported chromaprint-1.4 API changes based on the fix suggested in: |
43 |
-https://github.com/mixxxdj/mixxx/pull/1073 |
44 |
- |
45 |
-and the work done by Charlie Gehlin in: |
46 |
-https://bugs.gentoo.org/604528 |
47 |
- |
48 |
---- mixxx-2.0.0/src/musicbrainz/chromaprinter.cpp |
49 |
-+++ mixxx-2.0.0/src/musicbrainz/chromaprinter.cpp |
50 |
-@@ -25,6 +25,16 @@ |
51 |
- |
52 |
- QString ChromaPrinter::calcFingerPrint(const Mixxx::SoundSourcePointer& pSoundSource) { |
53 |
- |
54 |
-+ // Type declarations of *fprint and *encoded pointers need to account for Chromaprint API version |
55 |
-+ // (void* -> uint32_t*) and (void* -> char*) changed in versions v1.4.0 or later -- alyptik 12/2016 |
56 |
-+ #if (CHROMAPRINT_VERSION_MINOR > 3) || (CHROMAPRINT_VERSION_MAJOR > 1) |
57 |
-+ typedef uint32_t* uint32_p; |
58 |
-+ typedef char* char_p; |
59 |
-+ #else |
60 |
-+ typedef void* uint32_p; |
61 |
-+ typedef void* char_p; |
62 |
-+ #endif |
63 |
-+ |
64 |
- // this is worth 2min of audio, multiply by 2 because we have 2 channels |
65 |
- // AcoustID only stores a fingerprint for the first two minutes of a song |
66 |
- // on their server so we need only a fingerprint of the first two minutes |
67 |
-@@ -57,12 +67,12 @@ |
68 |
- } |
69 |
- chromaprint_finish(ctx); |
70 |
- |
71 |
-- void* fprint = NULL; |
72 |
-+ uint32_p fprint = NULL; |
73 |
- int size = 0; |
74 |
- int ret = chromaprint_get_raw_fingerprint(ctx, &fprint, &size); |
75 |
- QByteArray fingerprint; |
76 |
- if (ret == 1) { |
77 |
-- void* encoded = NULL; |
78 |
-+ char_p encoded = NULL; |
79 |
- int encoded_size = 0; |
80 |
- chromaprint_encode_fingerprint(fprint, size, |
81 |
- CHROMAPRINT_ALGORITHM_DEFAULT, |
82 |
|
83 |
diff --git a/media-sound/mixxx/files/mixxx-2.0.0-eliminate-unnecessary-heap-allocation-of-qtime.patch b/media-sound/mixxx/files/mixxx-2.0.0-eliminate-unnecessary-heap-allocation-of-qtime.patch |
84 |
deleted file mode 100644 |
85 |
index 04538a01e15..00000000000 |
86 |
--- a/media-sound/mixxx/files/mixxx-2.0.0-eliminate-unnecessary-heap-allocation-of-qtime.patch |
87 |
+++ /dev/null |
88 |
@@ -1,55 +0,0 @@ |
89 |
-diff -dNur a/src/analyserwaveform.cpp b/src/analyserwaveform.cpp |
90 |
---- a/src/analyserwaveform.cpp 2015-12-29 17:10:41.000000000 +0100 |
91 |
-+++ b/src/analyserwaveform.cpp 2017-02-04 21:12:30.127952910 +0100 |
92 |
-@@ -1,6 +1,3 @@ |
93 |
--#include <QImage> |
94 |
--#include <QtDebug> |
95 |
--#include <QTime> |
96 |
- #include <QtDebug> |
97 |
- |
98 |
- #include "analyserwaveform.h" |
99 |
-@@ -40,7 +37,6 @@ |
100 |
- } |
101 |
- } |
102 |
- |
103 |
-- m_timer = new QTime(); |
104 |
- m_analysisDao = new AnalysisDao(m_database, pConfig); |
105 |
- } |
106 |
- |
107 |
-@@ -48,14 +44,13 @@ |
108 |
- qDebug() << "AnalyserWaveform::~AnalyserWaveform()"; |
109 |
- destroyFilters(); |
110 |
- m_database.close(); |
111 |
-- delete m_timer; |
112 |
- delete m_analysisDao; |
113 |
- } |
114 |
- |
115 |
- bool AnalyserWaveform::initialise(TrackPointer tio, int sampleRate, int totalSamples) { |
116 |
- m_skipProcessing = false; |
117 |
- |
118 |
-- m_timer->start(); |
119 |
-+ m_timer.start(); |
120 |
- |
121 |
- if (totalSamples == 0) { |
122 |
- qWarning() << "AnalyserWaveform::initialise - no waveform/waveform summary"; |
123 |
-@@ -320,7 +315,7 @@ |
124 |
- #endif |
125 |
- |
126 |
- qDebug() << "Waveform generation for track" << tio->getId() << "done" |
127 |
-- << m_timer->elapsed()/1000.0 << "s"; |
128 |
-+ << m_timer.elapsed()/1000.0 << "s"; |
129 |
- } |
130 |
- |
131 |
- void AnalyserWaveform::storeIfGreater(float* pDest, float source) { |
132 |
-diff -dNur a/src/analyserwaveform.h b/src/analyserwaveform.h |
133 |
---- a/src/analyserwaveform.h 2015-12-29 17:10:41.000000000 +0100 |
134 |
-+++ b/src/analyserwaveform.h 2017-02-04 21:12:45.367713395 +0100 |
135 |
-@@ -171,7 +171,7 @@ |
136 |
- EngineFilterIIRBase* m_filter[FilterCount]; |
137 |
- std::vector<float> m_buffers[FilterCount]; |
138 |
- |
139 |
-- QTime* m_timer; |
140 |
-+ QTime m_timer; |
141 |
- QSqlDatabase m_database; |
142 |
- AnalysisDao* m_analysisDao; |
143 |
- |
144 |
|
145 |
diff --git a/media-sound/mixxx/files/mixxx-2.0.0-fix-formatting-of-time-durations.patch b/media-sound/mixxx/files/mixxx-2.0.0-fix-formatting-of-time-durations.patch |
146 |
deleted file mode 100644 |
147 |
index 654c01f53b9..00000000000 |
148 |
--- a/media-sound/mixxx/files/mixxx-2.0.0-fix-formatting-of-time-durations.patch |
149 |
+++ /dev/null |
150 |
@@ -1,24 +0,0 @@ |
151 |
-From 76c53b0f0a2be7b5cf85fa523f3521a5725affb2 Mon Sep 17 00:00:00 2001 |
152 |
-From: Uwe Klotz <uwe_klotz@×××.de> |
153 |
-Date: Fri, 8 Jan 2016 18:22:33 +0100 |
154 |
-Subject: [PATCH] Fix formatting of time durations |
155 |
- |
156 |
---- |
157 |
- src/util/time.h | 4 +++- |
158 |
- 1 file changed, 3 insertions(+), 1 deletion(-) |
159 |
- |
160 |
-diff --git a/src/util/time.h b/src/util/time.h |
161 |
-index 29187ad..7b38eb4 100644 |
162 |
---- a/src/util/time.h |
163 |
-+++ b/src/util/time.h |
164 |
-@@ -75,7 +75,9 @@ class Time { |
165 |
- const int days = static_cast<int>(dSeconds) / kSecondsPerDay; |
166 |
- dSeconds -= days * kSecondsPerDay; |
167 |
- |
168 |
-- QTime t = QTime().addMSecs(dSeconds * kMillisPerSecond); |
169 |
-+ // NOTE(uklotzde): Time() constructs a 'null' object, but |
170 |
-+ // we need 'zero' here. |
171 |
-+ QTime t = QTime(0, 0).addMSecs(dSeconds * kMillisPerSecond); |
172 |
- |
173 |
- QString formatString = |
174 |
- (days > 0 ? (QString::number(days) % |
175 |
|
176 |
diff --git a/media-sound/mixxx/files/mixxx-2.0.0-fix-formatting-of-time-durations2.patch b/media-sound/mixxx/files/mixxx-2.0.0-fix-formatting-of-time-durations2.patch |
177 |
deleted file mode 100644 |
178 |
index f8c041e4043..00000000000 |
179 |
--- a/media-sound/mixxx/files/mixxx-2.0.0-fix-formatting-of-time-durations2.patch |
180 |
+++ /dev/null |
181 |
@@ -1,139 +0,0 @@ |
182 |
-diff -dNur a/src/library/basesqltablemodel.cpp b/src/library/basesqltablemodel.cpp |
183 |
---- a/src/library/basesqltablemodel.cpp 2015-12-29 17:10:41.000000000 +0100 |
184 |
-+++ b/src/library/basesqltablemodel.cpp 2017-02-04 21:33:39.403861857 +0100 |
185 |
-@@ -559,7 +559,7 @@ |
186 |
- if (column == fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_DURATION)) { |
187 |
- int duration = value.toInt(); |
188 |
- if (duration > 0) { |
189 |
-- value = Time::formatSeconds(duration, false); |
190 |
-+ value = Time::formatSeconds(duration); |
191 |
- } else { |
192 |
- value = QString(); |
193 |
- } |
194 |
-diff -dNur a/src/library/browse/browsethread.cpp b/src/library/browse/browsethread.cpp |
195 |
---- a/src/library/browse/browsethread.cpp 2015-12-29 17:10:41.000000000 +0100 |
196 |
-+++ b/src/library/browse/browsethread.cpp 2017-02-04 21:32:23.605066421 +0100 |
197 |
-@@ -185,8 +185,7 @@ |
198 |
- item->setData(item->text(), Qt::UserRole); |
199 |
- row_data.insert(COLUMN_COMMENT, item); |
200 |
- |
201 |
-- QString duration = Time::formatSeconds(qVariantValue<int>( |
202 |
-- tio.getDuration()), false); |
203 |
-+ QString duration = Time::formatSeconds(tio.getDuration()); |
204 |
- item = new QStandardItem(duration); |
205 |
- item->setToolTip(item->text()); |
206 |
- item->setData(item->text(), Qt::UserRole); |
207 |
-diff -dNur a/src/library/cratefeature.cpp b/src/library/cratefeature.cpp |
208 |
---- a/src/library/cratefeature.cpp 2015-12-29 17:10:41.000000000 +0100 |
209 |
-+++ b/src/library/cratefeature.cpp 2017-02-04 21:30:54.962474898 +0100 |
210 |
-@@ -493,7 +493,7 @@ |
211 |
- crateListTableModel.index(row, durationColumn)).toInt(); |
212 |
- m_crateList.append(qMakePair(id, QString("%1 (%2) %3") |
213 |
- .arg(name, QString::number(count), |
214 |
-- Time::formatSeconds(duration, false)))); |
215 |
-+ Time::formatSeconds(duration)))); |
216 |
- } |
217 |
- } |
218 |
- |
219 |
-diff -dNur a/src/library/playlistfeature.cpp b/src/library/playlistfeature.cpp |
220 |
---- a/src/library/playlistfeature.cpp 2015-12-29 17:10:41.000000000 +0100 |
221 |
-+++ b/src/library/playlistfeature.cpp 2017-02-04 21:33:06.920378091 +0100 |
222 |
-@@ -168,7 +168,7 @@ |
223 |
- playlistTableModel.index(row, durationColumn)).toInt(); |
224 |
- m_playlistList.append(qMakePair(id, QString("%1 (%2) %3") |
225 |
- .arg(name, QString::number(count), |
226 |
-- Time::formatSeconds(duration, false)))); |
227 |
-+ Time::formatSeconds(duration)))); |
228 |
- } |
229 |
- } |
230 |
- |
231 |
-diff -dNur a/src/trackinfoobject.cpp b/src/trackinfoobject.cpp |
232 |
---- a/src/trackinfoobject.cpp 2015-12-29 17:10:41.000000000 +0100 |
233 |
-+++ b/src/trackinfoobject.cpp 2017-02-04 21:42:36.423323807 +0100 |
234 |
-@@ -293,7 +293,7 @@ |
235 |
- int iDuration = m_iDuration; |
236 |
- lock.unlock(); |
237 |
- |
238 |
-- return Time::formatSeconds(iDuration, false); |
239 |
-+ return Time::formatSeconds(iDuration); |
240 |
- } |
241 |
- |
242 |
- void TrackInfoObject::setLocation(const QString& location) { |
243 |
-diff -dNur a/src/util/time.cpp b/src/util/time.cpp |
244 |
---- a/src/util/time.cpp 2017-02-04 21:29:44.439595305 +0100 |
245 |
-+++ b/src/util/time.cpp 2017-02-04 21:37:54.739803100 +0100 |
246 |
-@@ -1,5 +1,7 @@ |
247 |
- #include "util/time.h" |
248 |
- |
249 |
-+#include "util/assert.h" |
250 |
-+ |
251 |
- // static |
252 |
- LLTIMER Time::s_timer; |
253 |
- // static |
254 |
-@@ -8,7 +10,7 @@ |
255 |
- qint64 Time::s_testElapsed_nsecs = 0; |
256 |
- |
257 |
- // static |
258 |
--QString Time::formatSeconds(double dSeconds, bool showCentis) { |
259 |
-+QString Time::formatSeconds(double dSeconds, Precision precision) { |
260 |
- if (dSeconds < 0) { |
261 |
- return "?"; |
262 |
- } |
263 |
-@@ -24,13 +26,14 @@ |
264 |
- (days > 0 ? (QString::number(days) % |
265 |
- QLatin1String("'d', ")) : QString()) % |
266 |
- QLatin1String(days > 0 || t.hour() > 0 ? "hh:mm:ss" : "mm:ss") % |
267 |
-- QLatin1String(showCentis ? ".zzz" : ""); |
268 |
-+ QLatin1String(Precision::SECONDS == precision ? "" : ".zzz"); |
269 |
- |
270 |
- QString timeString = t.toString(formatString); |
271 |
- |
272 |
- // The format string gives us milliseconds but we want |
273 |
- // centiseconds. Slice one character off. |
274 |
-- if (showCentis) { |
275 |
-+ if (Precision::CENTISECONDS == precision) { |
276 |
-+ DEBUG_ASSERT(1 <= timeString.length()); |
277 |
- timeString = timeString.left(timeString.length() - 1); |
278 |
- } |
279 |
- |
280 |
-diff -dNur a/src/util/time.h b/src/util/time.h |
281 |
---- a/src/util/time.h 2017-02-04 21:29:44.439595305 +0100 |
282 |
-+++ b/src/util/time.h 2017-02-04 21:41:01.476833822 +0100 |
283 |
-@@ -55,10 +55,17 @@ |
284 |
- s_testElapsed_nsecs = elapsed * 1000000; |
285 |
- } |
286 |
- |
287 |
-- // The standard way of formatting a time in seconds. Used for display of |
288 |
-- // track duration, etc. showCentis indicates whether to include |
289 |
-- // centisecond-precision or to round to the nearest second. |
290 |
-- static QString formatSeconds(double dSeconds, bool showCentis); |
291 |
-+ enum class Precision { |
292 |
-+ SECONDS, |
293 |
-+ CENTISECONDS, |
294 |
-+ MILLISECONDS |
295 |
-+ }; |
296 |
-+ |
297 |
-+ // The standard way of formatting a time in seconds. Used for display |
298 |
-+ // of track duration, etc. |
299 |
-+ static QString formatSeconds( |
300 |
-+ double dSeconds, |
301 |
-+ Precision precision = Time::Precision::SECONDS); |
302 |
- |
303 |
- private: |
304 |
- static LLTIMER s_timer; |
305 |
-diff -dNur a/src/widget/wnumberpos.cpp b/src/widget/wnumberpos.cpp |
306 |
---- a/src/widget/wnumberpos.cpp 2015-12-29 17:10:41.000000000 +0100 |
307 |
-+++ b/src/widget/wnumberpos.cpp 2017-02-04 21:41:57.023950430 +0100 |
308 |
-@@ -92,10 +92,10 @@ |
309 |
- QString valueString; |
310 |
- if (valueMillis >= 0) { |
311 |
- valueString = m_skinText % Time::formatSeconds( |
312 |
-- valueMillis / Time::kMillisPerSecond, true); |
313 |
-+ valueMillis / Time::kMillisPerSecond, Time::Precision::MILLISECONDS); |
314 |
- } else { |
315 |
- valueString = m_skinText % QLatin1String("-") % Time::formatSeconds( |
316 |
-- -valueMillis / Time::kMillisPerSecond, true); |
317 |
-+ -valueMillis / Time::kMillisPerSecond, Time::Precision::CENTISECONDS); |
318 |
- } |
319 |
- setText(valueString); |
320 |
- } |
321 |
|
322 |
diff --git a/media-sound/mixxx/files/mixxx-2.0.0-fix-missing-pointer-initialization.patch b/media-sound/mixxx/files/mixxx-2.0.0-fix-missing-pointer-initialization.patch |
323 |
deleted file mode 100644 |
324 |
index 3364995ce4f..00000000000 |
325 |
--- a/media-sound/mixxx/files/mixxx-2.0.0-fix-missing-pointer-initialization.patch |
326 |
+++ /dev/null |
327 |
@@ -1,271 +0,0 @@ |
328 |
-diff -dNur a/src/analyserwaveform.cpp b/src/analyserwaveform.cpp |
329 |
---- a/src/analyserwaveform.cpp 2017-02-04 21:14:33.266016824 +0100 |
330 |
-+++ b/src/analyserwaveform.cpp 2017-02-04 21:19:09.205671982 +0100 |
331 |
-@@ -11,8 +11,8 @@ |
332 |
- |
333 |
- AnalyserWaveform::AnalyserWaveform(ConfigObject<ConfigValue>* pConfig) : |
334 |
- m_skipProcessing(false), |
335 |
-- m_waveformData(NULL), |
336 |
-- m_waveformSummaryData(NULL), |
337 |
-+ m_waveformData(nullptr), |
338 |
-+ m_waveformSummaryData(nullptr), |
339 |
- m_stride(0, 0), |
340 |
- m_currentStride(0), |
341 |
- m_currentSummaryStride(0) { |
342 |
-@@ -37,14 +37,13 @@ |
343 |
- } |
344 |
- } |
345 |
- |
346 |
-- m_analysisDao = new AnalysisDao(m_database, pConfig); |
347 |
-+ m_pAnalysisDao = std::make_unique<AnalysisDao>(m_database, pConfig); |
348 |
- } |
349 |
- |
350 |
- AnalyserWaveform::~AnalyserWaveform() { |
351 |
- qDebug() << "AnalyserWaveform::~AnalyserWaveform()"; |
352 |
- destroyFilters(); |
353 |
- m_database.close(); |
354 |
-- delete m_analysisDao; |
355 |
- } |
356 |
- |
357 |
- bool AnalyserWaveform::initialise(TrackPointer tio, int sampleRate, int totalSamples) { |
358 |
-@@ -115,7 +114,7 @@ |
359 |
- |
360 |
- if (trackId != -1 && (missingWaveform || missingWavesummary)) { |
361 |
- QList<AnalysisDao::AnalysisInfo> analyses = |
362 |
-- m_analysisDao->getAnalysesForTrack(trackId); |
363 |
-+ m_pAnalysisDao->getAnalysesForTrack(trackId); |
364 |
- |
365 |
- QListIterator<AnalysisDao::AnalysisInfo> it(analyses); |
366 |
- while (it.hasNext()) { |
367 |
-@@ -130,7 +129,7 @@ |
368 |
- missingWaveform = false; |
369 |
- } else if (vc != WaveformFactory::VC_KEEP) { |
370 |
- // remove all other Analysis except that one we should keep |
371 |
-- m_analysisDao->deleteAnalysis(analysis.analysisId); |
372 |
-+ m_pAnalysisDao->deleteAnalysis(analysis.analysisId); |
373 |
- } |
374 |
- } if (analysis.type == AnalysisDao::TYPE_WAVESUMMARY) { |
375 |
- vc = WaveformFactory::waveformSummaryVersionToVersionClass(analysis.version); |
376 |
-@@ -140,7 +139,7 @@ |
377 |
- missingWavesummary = false; |
378 |
- } else if (vc != WaveformFactory::VC_KEEP) { |
379 |
- // remove all other Analysis except that one we should keep |
380 |
-- m_analysisDao->deleteAnalysis(analysis.analysisId); |
381 |
-+ m_pAnalysisDao->deleteAnalysis(analysis.analysisId); |
382 |
- } |
383 |
- } |
384 |
- } |
385 |
-@@ -273,13 +272,13 @@ |
386 |
- tio->setWaveform(ConstWaveformPointer()); |
387 |
- // Since clear() could delete the waveform, clear our pointer to the |
388 |
- // waveform's vector data first. |
389 |
-- m_waveformData = NULL; |
390 |
-+ m_waveformData = nullptr; |
391 |
- m_waveform.clear(); |
392 |
- |
393 |
- tio->setWaveformSummary(ConstWaveformPointer()); |
394 |
- // Since clear() could delete the waveform, clear our pointer to the |
395 |
- // waveform's vector data first. |
396 |
-- m_waveformSummaryData = NULL; |
397 |
-+ m_waveformSummaryData = nullptr; |
398 |
- m_waveformSummary.clear(); |
399 |
- } |
400 |
- |
401 |
-@@ -295,7 +294,7 @@ |
402 |
- m_waveform->setDescription(WaveformFactory::currentWaveformDescription()); |
403 |
- // Since clear() could delete the waveform, clear our pointer to the |
404 |
- // waveform's vector data first. |
405 |
-- m_waveformData = NULL; |
406 |
-+ m_waveformData = nullptr; |
407 |
- m_waveform.clear(); |
408 |
- } |
409 |
- |
410 |
-@@ -306,7 +305,7 @@ |
411 |
- m_waveformSummary->setDescription(WaveformFactory::currentWaveformSummaryDescription()); |
412 |
- // Since clear() could delete the waveform, clear our pointer to the |
413 |
- // waveform's vector data first. |
414 |
-- m_waveformSummaryData = NULL; |
415 |
-+ m_waveformSummaryData = nullptr; |
416 |
- m_waveformSummary.clear(); |
417 |
- } |
418 |
- |
419 |
-diff -dNur a/src/analyserwaveform.h b/src/analyserwaveform.h |
420 |
---- a/src/analyserwaveform.h 2017-02-04 21:14:33.266016824 +0100 |
421 |
-+++ b/src/analyserwaveform.h 2017-02-04 21:20:17.308598419 +0100 |
422 |
-@@ -4,12 +4,14 @@ |
423 |
- #include <QTime> |
424 |
- #include <QImage> |
425 |
- #include <QSqlDatabase> |
426 |
-+ |
427 |
- #include <limits> |
428 |
- |
429 |
- #include "configobject.h" |
430 |
- #include "analyser.h" |
431 |
- #include "waveform/waveform.h" |
432 |
- #include "util/math.h" |
433 |
-+#include "util/memory.h" |
434 |
- |
435 |
- //NOTS vrince some test to segment sound, to apply color in the waveform |
436 |
- //#define TEST_HEAT_MAP |
437 |
-@@ -173,7 +175,7 @@ |
438 |
- |
439 |
- QTime m_timer; |
440 |
- QSqlDatabase m_database; |
441 |
-- AnalysisDao* m_analysisDao; |
442 |
-+ std::unique_ptr<AnalysisDao> m_pAnalysisDao; |
443 |
- |
444 |
- #ifdef TEST_HEAT_MAP |
445 |
- QImage* test_heatMap; |
446 |
-diff -dNur a/src/util/memory.h b/src/util/memory.h |
447 |
---- a/src/util/memory.h 1970-01-01 01:00:00.000000000 +0100 |
448 |
-+++ b/src/util/memory.h 2017-02-04 22:19:41.846922929 +0100 |
449 |
-@@ -0,0 +1,149 @@ |
450 |
-+// Taken from https://github.com/bstreiff/cppbits |
451 |
-+// Thank you Brandon Streiff! |
452 |
-+ |
453 |
-+// Implementation of C++14's make_unique for C++11 compilers. |
454 |
-+// |
455 |
-+// This has been tested with: |
456 |
-+// - MSVC 11.0 (Visual Studio 2012) |
457 |
-+// - gcc 4.6.3 |
458 |
-+// - Xcode 4.4 (with clang "4.0") |
459 |
-+// |
460 |
-+// It is based off an implementation proposed by Stephan T. Lavavej for |
461 |
-+// inclusion in the C++14 standard: |
462 |
-+// http://isocpp.org/files/papers/N3656.txt |
463 |
-+// Where appropriate, it borrows the use of MSVC's _VARIADIC_EXPAND_0X macro |
464 |
-+// machinery to compensate for lack of variadic templates. |
465 |
-+// |
466 |
-+// This file injects make_unique into the std namespace, which I acknowledge is |
467 |
-+// technically forbidden ([C++11: 17.6.4.2.2.1/1]), but is necessary in order |
468 |
-+// to have syntax compatibility with C++14. |
469 |
-+// |
470 |
-+// I perform compiler version checking for MSVC, gcc, and clang to ensure that |
471 |
-+// we don't add make_unique if it is already there (instead, we include |
472 |
-+// <memory> to get the compiler-provided one). You can override the compiler |
473 |
-+// version checking by defining the symbol COMPILER_SUPPORTS_MAKE_UNIQUE. |
474 |
-+// |
475 |
-+// |
476 |
-+// =============================================================================== |
477 |
-+// This file is released into the public domain. See LICENCE for more information. |
478 |
-+// =============================================================================== |
479 |
-+ |
480 |
-+#ifndef MIXXX_UTIL_MEMORY_H |
481 |
-+#define MIXXX_UTIL_MEMORY_H |
482 |
-+ |
483 |
-+// If user hasn't specified COMPILER_SUPPORTS_MAKE_UNIQUE then try to figure out |
484 |
-+// based on compiler version if std::make_unique is provided. |
485 |
-+#if !defined(COMPILER_SUPPORTS_MAKE_UNIQUE) |
486 |
-+ // Compiling with -std=c++11 sets __cplusplus=201103L and disables |
487 |
-+ // std::make_unique() from C++14! We need to take this into account. |
488 |
-+ #define CPLUSPLUS_SUPPORTS_MAKE_UNIQUE (__cplusplus > 201103L) |
489 |
-+ #if defined(_MSC_VER) |
490 |
-+ // std::make_unique was added in MSVC 12.0 |
491 |
-+ #if _MSC_VER >= 1800 // MSVC 12.0 (Visual Studio 2013) |
492 |
-+ #define COMPILER_SUPPORTS_MAKE_UNIQUE |
493 |
-+ #endif |
494 |
-+ #elif defined(__clang__) |
495 |
-+ // std::make_unique was added in clang 3.4, but not until Xcode 6. |
496 |
-+ // Annoyingly, Apple makes the clang version defines match the version |
497 |
-+ // of Xcode, not the version of clang. |
498 |
-+ #define CLANG_VERSION (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__) |
499 |
-+ #if defined(__APPLE__) && CLANG_VERSION >= 60000 && CPLUSPLUS_SUPPORTS_MAKE_UNIQUE |
500 |
-+ #define COMPILER_SUPPORTS_MAKE_UNIQUE |
501 |
-+ #elif !defined(__APPLE__) && CLANG_VERSION >= 30400 && CPLUSPLUS_SUPPORTS_MAKE_UNIQUE |
502 |
-+ #define COMPILER_SUPPORTS_MAKE_UNIQUE |
503 |
-+ #endif |
504 |
-+ #elif defined(__GNUC__) |
505 |
-+ // std::make_unique was added in gcc 4.9 |
506 |
-+ #define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) |
507 |
-+ #if GCC_VERSION >= 40900 && CPLUSPLUS_SUPPORTS_MAKE_UNIQUE |
508 |
-+ #define COMPILER_SUPPORTS_MAKE_UNIQUE |
509 |
-+ #endif |
510 |
-+ #endif |
511 |
-+#endif |
512 |
-+ |
513 |
-+#if defined(COMPILER_SUPPORTS_MAKE_UNIQUE) |
514 |
-+ |
515 |
-+// If the compiler supports std::make_unique, then pull in <memory> to get it. |
516 |
-+#include <memory> |
517 |
-+ |
518 |
-+#else |
519 |
-+ |
520 |
-+// Otherwise, the compiler doesn't provide it, so implement it ourselves. |
521 |
-+ |
522 |
-+#include <cstddef> |
523 |
-+#include <memory> |
524 |
-+#include <type_traits> |
525 |
-+#include <utility> |
526 |
-+ |
527 |
-+namespace std { |
528 |
-+ |
529 |
-+template<class _Ty> struct _Unique_if { |
530 |
-+ typedef unique_ptr<_Ty> _Single_object; |
531 |
-+}; |
532 |
-+ |
533 |
-+template<class _Ty> struct _Unique_if<_Ty[]> { |
534 |
-+ typedef unique_ptr<_Ty[]> _Unknown_bound; |
535 |
-+}; |
536 |
-+ |
537 |
-+template<class _Ty, size_t N> struct _Unique_if<_Ty[N]> { |
538 |
-+ typedef void _Known_bound; |
539 |
-+}; |
540 |
-+ |
541 |
-+// |
542 |
-+// template< class T, class... Args > |
543 |
-+// unique_ptr<T> make_unique( Args&&... args); |
544 |
-+// |
545 |
-+ |
546 |
-+#if defined(_MSC_VER) && (_MSC_VER < 1800) |
547 |
-+ |
548 |
-+// Macro machinery because MSVC 11.0 doesn't support variadic templates. |
549 |
-+// The _VARIADIC_EXPAND_0X stuff is defined in <xstddef> |
550 |
-+#define _MAKE_UNIQUE( \ |
551 |
-+ TEMPLATE_LIST, PADDING_LIST, LIST, COMMA, X1, X2, X3, X4) \ |
552 |
-+ template<class _Ty COMMA LIST(_CLASS_TYPE)> inline \ |
553 |
-+ typename _Unique_if<_Ty>::_Single_object make_unique(LIST(_TYPE_REFREF_ARG)) \ |
554 |
-+ { \ |
555 |
-+ return unique_ptr<_Ty>(new _Ty(LIST(_FORWARD_ARG))); \ |
556 |
-+ } \ |
557 |
-+ |
558 |
-+_VARIADIC_EXPAND_0X(_MAKE_UNIQUE, , , , ) |
559 |
-+#undef _MAKE_UNIQUE |
560 |
-+ |
561 |
-+#else // not MSVC 11.0 or earlier |
562 |
-+ |
563 |
-+template<class _Ty, class... Args> |
564 |
-+ typename _Unique_if<_Ty>::_Single_object |
565 |
-+ make_unique(Args&&... args) { |
566 |
-+ return unique_ptr<_Ty>(new _Ty(std::forward<Args>(args)...)); |
567 |
-+ } |
568 |
-+ |
569 |
-+#endif |
570 |
-+ |
571 |
-+// template< class T > |
572 |
-+// unique_ptr<T> make_unique( std::size_t size ); |
573 |
-+ |
574 |
-+template<class _Ty> |
575 |
-+ typename _Unique_if<_Ty>::_Unknown_bound |
576 |
-+ make_unique(size_t n) { |
577 |
-+ typedef typename remove_extent<_Ty>::type U; |
578 |
-+ return unique_ptr<_Ty>(new U[n]()); |
579 |
-+ } |
580 |
-+ |
581 |
-+// template< class T, class... Args > |
582 |
-+// /* unspecified */ make_unique( Args&&... args ) = delete; |
583 |
-+ |
584 |
-+// MSVC 11.0 doesn't support deleted functions, so the best we can do |
585 |
-+// is simply not define the function. |
586 |
-+#if !(defined(_MSC_VER) && (_MSC_VER < 1800)) |
587 |
-+ |
588 |
-+template<class T, class... Args> |
589 |
-+ typename _Unique_if<T>::_Known_bound |
590 |
-+ make_unique(Args&&...) = delete; |
591 |
-+ |
592 |
-+#endif |
593 |
-+ |
594 |
-+} // namespace std |
595 |
-+ |
596 |
-+#endif // !COMPILER_SUPPORTS_MAKE_UNIQUE |
597 |
-+ |
598 |
-+#endif /* MIXXX_UTIL_MEMORY_H */ |
599 |
|
600 |
diff --git a/media-sound/mixxx/files/mixxx-2.0.0-gcc62.patch b/media-sound/mixxx/files/mixxx-2.0.0-gcc62.patch |
601 |
deleted file mode 100644 |
602 |
index c19c914b330..00000000000 |
603 |
--- a/media-sound/mixxx/files/mixxx-2.0.0-gcc62.patch |
604 |
+++ /dev/null |
605 |
@@ -1,24 +0,0 @@ |
606 |
---- a/src/util/math.h 2015-12-29 17:10:41.000000000 +0100 |
607 |
-+++ b/src/util/math.h 2016-09-25 12:54:18.345291146 +0200 |
608 |
-@@ -3,8 +3,20 @@ |
609 |
- |
610 |
- // Causes MSVC to define M_PI and friends. |
611 |
- // http://msdn.microsoft.com/en-us/library/4hwaceh6.aspx |
612 |
-+// Our SConscript defines this but check anyway. |
613 |
-+#ifdef __WINDOWS__ |
614 |
-+#ifndef _USE_MATH_DEFINES |
615 |
- #define _USE_MATH_DEFINES |
616 |
--#include <cmath> |
617 |
-+#endif |
618 |
-+#endif |
619 |
-+ |
620 |
-+#include <math.h> |
621 |
-+#include <cmath> |
622 |
-+// Note: Because of our fpclassify hack, we actualy need to inlude both, |
623 |
-+// the c and the c++ version of the math header. |
624 |
-+// From GCC 6.1.1 math.h depends on cmath, which failes to compile if included |
625 |
-+// after our fpclassify hack |
626 |
-+ |
627 |
- #include <algorithm> |
628 |
- |
629 |
- #include "util/assert.h" |
630 |
|
631 |
diff --git a/media-sound/mixxx/files/mixxx-2.0.0-move-definition-of-time-formatseconds-into-dot-cpp-file.patch b/media-sound/mixxx/files/mixxx-2.0.0-move-definition-of-time-formatseconds-into-dot-cpp-file.patch |
632 |
deleted file mode 100644 |
633 |
index 9a95a5d675e..00000000000 |
634 |
--- a/media-sound/mixxx/files/mixxx-2.0.0-move-definition-of-time-formatseconds-into-dot-cpp-file.patch |
635 |
+++ /dev/null |
636 |
@@ -1,88 +0,0 @@ |
637 |
-From c2af9e6eeb469718b9aa069b90a719fac80dd0d9 Mon Sep 17 00:00:00 2001 |
638 |
-From: Uwe Klotz <uwe_klotz@×××.de> |
639 |
-Date: Fri, 8 Jan 2016 19:25:58 +0100 |
640 |
-Subject: [PATCH] Move definition of Time::formatSeconds() into .cpp file |
641 |
- |
642 |
---- |
643 |
- src/util/time.cpp | 30 ++++++++++++++++++++++++++++++ |
644 |
- src/util/time.h | 29 +---------------------------- |
645 |
- 2 files changed, 31 insertions(+), 28 deletions(-) |
646 |
- |
647 |
-diff --git a/src/util/time.cpp b/src/util/time.cpp |
648 |
-index 998fa73..d8a122b 100644 |
649 |
---- a/src/util/time.cpp |
650 |
-+++ b/src/util/time.cpp |
651 |
-@@ -6,3 +6,33 @@ LLTIMER Time::s_timer; |
652 |
- bool Time::s_testMode = false; |
653 |
- // static |
654 |
- qint64 Time::s_testElapsed_nsecs = 0; |
655 |
-+ |
656 |
-+// static |
657 |
-+QString Time::formatSeconds(double dSeconds, bool showCentis) { |
658 |
-+ if (dSeconds < 0) { |
659 |
-+ return "?"; |
660 |
-+ } |
661 |
-+ |
662 |
-+ const int days = static_cast<int>(dSeconds) / kSecondsPerDay; |
663 |
-+ dSeconds -= days * kSecondsPerDay; |
664 |
-+ |
665 |
-+ // NOTE(uklotzde): Time() constructs a 'null' object, but |
666 |
-+ // we need 'zero' here. |
667 |
-+ QTime t = QTime(0, 0).addMSecs(dSeconds * kMillisPerSecond); |
668 |
-+ |
669 |
-+ QString formatString = |
670 |
-+ (days > 0 ? (QString::number(days) % |
671 |
-+ QLatin1String("'d', ")) : QString()) % |
672 |
-+ QLatin1String(days > 0 || t.hour() > 0 ? "hh:mm:ss" : "mm:ss") % |
673 |
-+ QLatin1String(showCentis ? ".zzz" : ""); |
674 |
-+ |
675 |
-+ QString timeString = t.toString(formatString); |
676 |
-+ |
677 |
-+ // The format string gives us milliseconds but we want |
678 |
-+ // centiseconds. Slice one character off. |
679 |
-+ if (showCentis) { |
680 |
-+ timeString = timeString.left(timeString.length() - 1); |
681 |
-+ } |
682 |
-+ |
683 |
-+ return timeString; |
684 |
-+} |
685 |
-diff --git a/src/util/time.h b/src/util/time.h |
686 |
-index 7b38eb4..b4e2c2d 100644 |
687 |
---- a/src/util/time.h |
688 |
-+++ b/src/util/time.h |
689 |
-@@ -67,34 +67,7 @@ class Time { |
690 |
- // The standard way of formatting a time in seconds. Used for display of |
691 |
- // track duration, etc. showCentis indicates whether to include |
692 |
- // centisecond-precision or to round to the nearest second. |
693 |
-- static QString formatSeconds(double dSeconds, bool showCentis) { |
694 |
-- if (dSeconds < 0) { |
695 |
-- return "?"; |
696 |
-- } |
697 |
-- |
698 |
-- const int days = static_cast<int>(dSeconds) / kSecondsPerDay; |
699 |
-- dSeconds -= days * kSecondsPerDay; |
700 |
-- |
701 |
-- // NOTE(uklotzde): Time() constructs a 'null' object, but |
702 |
-- // we need 'zero' here. |
703 |
-- QTime t = QTime(0, 0).addMSecs(dSeconds * kMillisPerSecond); |
704 |
-- |
705 |
-- QString formatString = |
706 |
-- (days > 0 ? (QString::number(days) % |
707 |
-- QLatin1String("'d', ")) : QString()) % |
708 |
-- QLatin1String(days > 0 || t.hour() > 0 ? "hh:mm:ss" : "mm:ss") % |
709 |
-- QLatin1String(showCentis ? ".zzz" : ""); |
710 |
-- |
711 |
-- QString timeString = t.toString(formatString); |
712 |
-- |
713 |
-- // The format string gives us milliseconds but we want |
714 |
-- // centiseconds. Slice one character off. |
715 |
-- if (showCentis) { |
716 |
-- timeString = timeString.left(timeString.length() - 1); |
717 |
-- } |
718 |
-- |
719 |
-- return timeString; |
720 |
-- } |
721 |
-+ static QString formatSeconds(double dSeconds, bool showCentis); |
722 |
- |
723 |
- private: |
724 |
- static LLTIMER s_timer; |
725 |
|
726 |
diff --git a/media-sound/mixxx/files/mixxx-2.0.0-rmx2-backport-controller-scripts.patch b/media-sound/mixxx/files/mixxx-2.0.0-rmx2-backport-controller-scripts.patch |
727 |
deleted file mode 100644 |
728 |
index a82f27166ab..00000000000 |
729 |
--- a/media-sound/mixxx/files/mixxx-2.0.0-rmx2-backport-controller-scripts.patch |
730 |
+++ /dev/null |
731 |
@@ -1,280 +0,0 @@ |
732 |
-diff -dNur a/res/controllers/Hercules-DJ-Console-RMX-2-scripts.js b/res/controllers/Hercules-DJ-Console-RMX-2-scripts.js |
733 |
---- a/res/controllers/Hercules-DJ-Console-RMX-2-scripts.js 2015-12-29 17:10:41.000000000 +0100 |
734 |
-+++ b/res/controllers/Hercules-DJ-Console-RMX-2-scripts.js 2017-02-04 22:01:01.629506434 +0100 |
735 |
-@@ -1,128 +1,159 @@ |
736 |
--/*╔══:::Made Lovingly By Circuitfry:::═════════════════════════════════╗ |
737 |
-- ║ Hercules DJConsole RMX 2 Mapping Scripts v. 0.1.3 ║ |
738 |
-- ╚════════════════════════════════════════════════════════════════════╝ |
739 |
-- * Version 0.1.0: Basic Midi Wizard Mapping |
740 |
-- * Version 0.1.1: Partially-Functional platters (version 1). |
741 |
-- * Version 0.1.2: Functional platters (version 1) |
742 |
-- * Version 0.1.3: Functional EQ Kill/Pitch Bending buttons |
743 |
-- Functional Looping/Sample/Effect pads |
744 |
-- Bugfix: Source 2 Gain knob doesn't load tracks. |
745 |
-- Overhaul: MIDI Scripting file. |
746 |
-- Worklog: Need to implement Microphone/Source1/Source2 input. |
747 |
-- * Note 1: [DEP] Means the command is meant for Mixxx v1.10.x + below. |
748 |
-- * Note 2: [FUT] Means the command is meant for Mixxx v1.11.x + above. |
749 |
--*/ |
750 |
--function DJCRMX2(){} |
751 |
--DJCRMX2.scratching = []; |
752 |
-+/* ╔══:::Made Lovingly By Circuitfry:::═════════════════════════════════╗ |
753 |
-+ * ║ Hercules DJConsole RMX 2 Mapping Scripts ║ |
754 |
-+ * ╚════════════════════════════════════════════════════════════════════╝ |
755 |
-+ */ |
756 |
- |
757 |
--/* [ Function init ] - Version 0.1.3 |
758 |
-- * Initiates some global variables and assigns an ID. Required. |
759 |
--*/ |
760 |
--DJCRMX2.init = function(id){ |
761 |
-- DJCRMX2.id = id; |
762 |
-- DJCRMX2.scratching[1]=false; |
763 |
-- DJCRMX2.scratching[2]=false; |
764 |
-- engine.setValue("[Microphone]","enabled",0); |
765 |
-- engine.setValue("[Microphone]","talkover",0); |
766 |
-+function DJCRMX2() {} |
767 |
-+DJCRMX2.decks = []; |
768 |
-+ |
769 |
-+/* [ Function init ] |
770 |
-+ * Initiates some global variables and assigns an ID. Required. |
771 |
-+ */ |
772 |
-+DJCRMX2.init = function (id) { |
773 |
-+ DJCRMX2.id = id; |
774 |
-+ DJCRMX2.decks[1] = new DJCRMX2.Deck(1); |
775 |
-+ DJCRMX2.decks[2] = new DJCRMX2.Deck(2); |
776 |
-+ engine.setValue("[Microphone]", "enabled", 0); |
777 |
-+ engine.setValue("[Microphone]", "talkover", 0); |
778 |
- } |
779 |
- |
780 |
--/* [ Function wheelPress ] - Version 0.1.2 |
781 |
-- * Detects whether a jog wheel is pressed or not and sets a specific |
782 |
-- * variable on and off accordingly. |
783 |
--*/ |
784 |
--DJCRMX2.wheelPress = function (channel, control, value, status, group){ |
785 |
-- if (status == 0x90) // If status #144 is active (2 possibilities) |
786 |
-- { |
787 |
-- if (value == 0x7F) // And the jog wheel is pressed down: |
788 |
-- { /* engine.scratchEnable(int,int,float,float,float,bool); |
789 |
-- * [ int deck ] Which track/platter is playing? |
790 |
-- * [ int intervalsPerRev ] # of MIDI signals sent in 1 spin. |
791 |
-- * [ float rpm ] Imaginary vinyl rotation speed. |
792 |
-- * [ float alpha ] Just a fine-tuning variable. |
793 |
-- * [ float beta ] Just a fine-tuning variable. |
794 |
-- * [ bool ramp ] As far as I know, nothing... |
795 |
-- */ |
796 |
-- var alpha = 1.0/8; |
797 |
-- var beta = alpha/32; |
798 |
-- if(group=="[Channel1]") |
799 |
-- { |
800 |
-- engine.scratchEnable(1, 250, 50, alpha, beta); |
801 |
-- DJCRMX2.scratching[1] = true; //[DEP] |
802 |
-- } |
803 |
-- if(group=="[Channel2]") |
804 |
-- { |
805 |
-- engine.scratchEnable(2, 250, 50, alpha, beta); |
806 |
-- DJCRMX2.scratching[2] = true; //[DEP] |
807 |
-- } |
808 |
-- |
809 |
-- } |
810 |
-- if (value == 0x00 ) // If the jog wheel is released: |
811 |
-- { |
812 |
-- if(group=="[Channel1]") |
813 |
-- { |
814 |
-- DJCRMX2.scratching[1] = false; // <- v1.10.x and below |
815 |
-- engine.scratchDisable(1); |
816 |
-- } |
817 |
-- if(group=="[Channel2]") |
818 |
-- { |
819 |
-- DJCRMX2.scratching[2] = false; // <- v1.10.x and below |
820 |
-- engine.scratchDisable(2); |
821 |
-- } |
822 |
-- } |
823 |
-- } |
824 |
-- else //Default setting where button is not held down. |
825 |
-- { |
826 |
-- DJCRMX2.scratching[1] = false; // Only for v1.10.x and below |
827 |
-- DJCRMX2.scratching[2] = false; // Only for v1.10.x and below |
828 |
-- engine.scratchDisable(1); |
829 |
-- engine.scratchDisable(2); |
830 |
-- } |
831 |
-- return; |
832 |
-+//////////////////////////////////////////////////////////////////////// |
833 |
-+// Decks // |
834 |
-+//////////////////////////////////////////////////////////////////////// |
835 |
-+ |
836 |
-+DJCRMX2.Deck = function(number) { |
837 |
-+ this.number = number; |
838 |
-+ this.group = "[Channel" + this.number + "]"; |
839 |
-+ this.scratchTimer = 0; |
840 |
-+}; |
841 |
-+ |
842 |
-+DJCRMX2.Deck.prototype.wheelPress = function (value) { |
843 |
-+ if (this.scratchTimer != 0) { |
844 |
-+ // The wheel was touched again, reset the timer. |
845 |
-+ engine.stopTimer(this.scratchTimer); |
846 |
-+ this.scratchTimer = 0; |
847 |
-+ } |
848 |
-+ if (value == 0x7F) { |
849 |
-+ // And the jog wheel is pressed down: |
850 |
-+ |
851 |
-+ /* engine.scratchEnable(int,int,float,float,float,bool); |
852 |
-+ * [ int deck ] Which track/platter is playing? |
853 |
-+ * [ int intervalsPerRev ] # of MIDI signals sent in 1 spin. |
854 |
-+ * [ float rpm ] Imaginary vinyl rotation speed. |
855 |
-+ * [ float alpha ] Just a fine-tuning variable. |
856 |
-+ * [ float beta ] Just a fine-tuning variable. |
857 |
-+ * [ bool ramp ] As far as I know, nothing... |
858 |
-+ */ |
859 |
-+ |
860 |
-+ var alpha = 1.0 / 8; |
861 |
-+ var beta = alpha / 32; |
862 |
-+ engine.scratchEnable(this.number, 256, 33 + 1/3, alpha, beta); |
863 |
-+ } else { |
864 |
-+ // The wheel touch sensor can be overly sensitive, so don't release scratch mode right away. |
865 |
-+ // Depending on how fast the platter was moving, lengthen the time we'll wait. |
866 |
-+ var scratchRate = Math.abs(engine.getValue(this.group, "scratch2")); |
867 |
-+ var inertiaTime = Math.pow(1.8, scratchRate) * 50; |
868 |
-+ if (inertiaTime < 100) { |
869 |
-+ // Just do it now. |
870 |
-+ this.finishWheelPress(); |
871 |
-+ } else { |
872 |
-+ this.scratchTimer = engine.beginTimer( |
873 |
-+ 100, "DJCRMX2.decks[" + this.number + "].finishWheelPress()", true); |
874 |
-+ } |
875 |
-+ } |
876 |
-+} |
877 |
-+ |
878 |
-+DJCRMX2.Deck.prototype.finishWheelPress = function() { |
879 |
-+ this.scratchTimer = 0; |
880 |
-+ var play = engine.getValue(this.group, "play"); |
881 |
-+ if (play != 0) { |
882 |
-+ // If we are playing, just hand off to the engine. |
883 |
-+ engine.scratchDisable(this.number, true); |
884 |
-+ } else { |
885 |
-+ // If things are paused, there will be a non-smooth handoff between scratching and jogging. |
886 |
-+ // Instead, keep scratch on until the platter is not moving. |
887 |
-+ var scratchRate = Math.abs(engine.getValue(this.group, "scratch2")); |
888 |
-+ if (scratchRate < 0.01) { |
889 |
-+ // The platter is basically stopped, now we can disable scratch and hand off to jogging. |
890 |
-+ engine.scratchDisable(this.number, false); |
891 |
-+ } else { |
892 |
-+ // Check again soon. |
893 |
-+ this.scratchTimer = engine.beginTimer( |
894 |
-+ 100, "DJCRMX2.decks[" + this.number + "].finishWheelPress()", true); |
895 |
-+ } |
896 |
-+ } |
897 |
-+}; |
898 |
-+ |
899 |
-+ |
900 |
-+/* [ Function wheelTurn ] |
901 |
-+ * Pays attention to the current deck, checks scratching, affects the |
902 |
-+ * song accordingly. |
903 |
-+ */ |
904 |
-+DJCRMX2.Deck.prototype.wheelTurn = function (value) { |
905 |
-+ var newValue = 0; |
906 |
-+ // Spinning backwards = 127 or less (less meaning faster) |
907 |
-+ // Spinning forwards = 1 or more (more meaning faster) |
908 |
-+ if (value - 64 > 0) { |
909 |
-+ newValue = value - 128; |
910 |
-+ } else { |
911 |
-+ newValue = value; |
912 |
-+ } |
913 |
-+ |
914 |
-+ if (engine.isScratching(this.number)) { |
915 |
-+ engine.scratchTick(this.number, newValue); |
916 |
-+ } else { |
917 |
-+ engine.setValue(this.group, "jog", newValue); |
918 |
-+ } |
919 |
- } |
920 |
-+ |
921 |
-+/* [ Function wheelPress ] |
922 |
-+ * Detects whether a jog wheel is pressed or not and sets a specific |
923 |
-+ * variable on and off accordingly. |
924 |
-+ */ |
925 |
-+DJCRMX2.wheelPress = function (channel, control, value, status, group) { |
926 |
-+ var deck = 0; |
927 |
-+ if (group == "[Channel1]") { |
928 |
-+ deck = 1; |
929 |
-+ } else if (group == "[Channel2]") { |
930 |
-+ deck = 2; |
931 |
-+ } else { |
932 |
-+ return; |
933 |
-+ } |
934 |
-+ DJCRMX2.decks[deck].wheelPress(value); |
935 |
-+} |
936 |
-+ |
937 |
- |
938 |
--/* [ Function wheelTurn ] - Version 0.1.2 |
939 |
-- * Pays attention to the current deck, checks scratching, affects the |
940 |
-- * song accordingly. |
941 |
--*/ |
942 |
--DJCRMX2.wheelTurn = function (channel, control, value, status, group){ |
943 |
-- var newValue=0; |
944 |
-- // Spinning backwards = 127 or less (less meaning faster) |
945 |
-- // Spinning forwards = 1 or more (more meaning faster) |
946 |
-- if (value-64 > 0) newValue = (value-128); |
947 |
-- else newValue=value; |
948 |
-- //if (!engine.isScratching(DJCRMX2.currentDeck)) // [FUT] |
949 |
-- if(group=="[Channel1]") |
950 |
-- { |
951 |
-- if(DJCRMX2.scratching[1]==true) {engine.scratchTick(1,newValue);return;} |
952 |
-- } |
953 |
-- else if(group=="[Channel2]") |
954 |
-- { |
955 |
-- if(DJCRMX2.scratching[2]==true) {engine.scratchTick(2,newValue);return;} |
956 |
-- } |
957 |
-- engine.setValue(group, "jog", newValue); |
958 |
-- return; |
959 |
-+/* [ Function wheelTurn ] |
960 |
-+ * Pays attention to the current deck, checks scratching, affects the |
961 |
-+ * song accordingly. |
962 |
-+ */ |
963 |
-+DJCRMX2.wheelTurn = function (channel, control, value, status, group) { |
964 |
-+ var deck = 0; |
965 |
-+ if (group == "[Channel1]") { |
966 |
-+ deck = 1; |
967 |
-+ } else if (group == "[Channel2]") { |
968 |
-+ deck = 2; |
969 |
-+ } else { |
970 |
-+ return; |
971 |
-+ } |
972 |
-+ DJCRMX2.decks[deck].wheelTurn(value); |
973 |
- } |
974 |
- |
975 |
--DJCRMX2.micSwitch = function (channel, control, value, status) //??? |
976 |
-+DJCRMX2.micSwitch = function (channel, control, value, status) |
977 |
- { |
978 |
-- if(status == 0x90 && control == 0x48 && value == 0x7F) |
979 |
-- { |
980 |
-- engine.setValue("[Microphone]","enabled",1); |
981 |
-- engine.setValue("[Microphone]","talkover",1); |
982 |
-- } |
983 |
-- if(status == 0x90 && control == 0x48 && value == 0x00) |
984 |
-- { |
985 |
-- engine.setValue("[Microphone]","enabled",0); |
986 |
-- engine.setValue("[Microphone]","talkover",0); |
987 |
-- } |
988 |
-+ if (status == 0x90 && control == 0x48 && value == 0x7F) { |
989 |
-+ engine.setValue("[Microphone]","enabled",1); |
990 |
-+ engine.setValue("[Microphone]","talkover",1); |
991 |
-+ } else if (status == 0x90 && control == 0x48 && value == 0x00) { |
992 |
-+ engine.setValue("[Microphone]","enabled",0); |
993 |
-+ engine.setValue("[Microphone]","talkover",0); |
994 |
-+ } |
995 |
- } |
996 |
- |
997 |
--/* [ Function shutdown ] - Version 0.1.3 |
998 |
-- * Sets variables down for shutoff. |
999 |
--*/ |
1000 |
--DJCRMX2.shutdown = function(id){ |
1001 |
-- DJCRMX2.scratching[1]=false; |
1002 |
-- DJCRMX2.scratching[2]=false; |
1003 |
-- engine.setValue("[Microphone]","enabled",0); |
1004 |
-- engine.setValue("[Microphone]","talkover",0); |
1005 |
-+/* [ Function shutdown ] - Version 0.1.3 |
1006 |
-+ * Sets variables down for shutoff. |
1007 |
-+ */ |
1008 |
-+DJCRMX2.shutdown = function (id) { |
1009 |
-+ engine.setValue("[Microphone]", "enabled", 0); |
1010 |
-+ engine.setValue("[Microphone]", "talkover", 0); |
1011 |
- } |
1012 |
|
1013 |
diff --git a/media-sound/mixxx/files/mixxx-2.0.0-sqlite3.patch b/media-sound/mixxx/files/mixxx-2.0.0-sqlite3.patch |
1014 |
deleted file mode 100644 |
1015 |
index a8cb15e63c6..00000000000 |
1016 |
--- a/media-sound/mixxx/files/mixxx-2.0.0-sqlite3.patch |
1017 |
+++ /dev/null |
1018 |
@@ -1,14 +0,0 @@ |
1019 |
-https://bugs.gentoo.org/622776 |
1020 |
- |
1021 |
---- mixxx-2.0.0/src/library/trackcollection.h |
1022 |
-+++ mixxx-2.0.0/src/library/trackcollection.h |
1023 |
-@@ -34,8 +34,7 @@ |
1024 |
- #include "library/dao/libraryhashdao.h" |
1025 |
- |
1026 |
- #ifdef __SQLITE3__ |
1027 |
--typedef struct sqlite3_context sqlite3_context; |
1028 |
--typedef struct Mem sqlite3_value; |
1029 |
-+#include <sqlite3.h> |
1030 |
- #endif |
1031 |
- |
1032 |
- class TrackInfoObject; |
1033 |
|
1034 |
diff --git a/media-sound/mixxx/mixxx-2.0.0-r5.ebuild b/media-sound/mixxx/mixxx-2.0.0-r5.ebuild |
1035 |
deleted file mode 100644 |
1036 |
index a8fcb5ca5c8..00000000000 |
1037 |
--- a/media-sound/mixxx/mixxx-2.0.0-r5.ebuild |
1038 |
+++ /dev/null |
1039 |
@@ -1,144 +0,0 @@ |
1040 |
-# Copyright 1999-2018 Gentoo Foundation |
1041 |
-# Distributed under the terms of the GNU General Public License v2 |
1042 |
- |
1043 |
-EAPI=6 |
1044 |
- |
1045 |
-inherit flag-o-matic scons-utils toolchain-funcs |
1046 |
- |
1047 |
-DESCRIPTION="Advanced Digital DJ tool based on Qt" |
1048 |
-HOMEPAGE="https://www.mixxx.org/" |
1049 |
-SRC_URI="https://downloads.${PN}.org/${P}/${P}-src.tar.gz" |
1050 |
- |
1051 |
-# Upstream patches |
1052 |
-SRC_URI+=" https://github.com/mixxxdj/mixxx/commit/51d95ba58d99309f439cb7e2d1285cfb33aa0f63.patch -> ${PN}-2.0.0-ffmpeg30.patch" |
1053 |
-SRC_URI+=" https://github.com/mixxxdj/mixxx/commit/869e07067b15e09bf7ef886a8772afdfb79cbc3c.patch -> ${PN}-2.0.0-ffmpeg31.patch" |
1054 |
- |
1055 |
-LICENSE="GPL-2" |
1056 |
-SLOT="0" |
1057 |
-KEYWORDS="amd64 x86" |
1058 |
-IUSE="aac debug doc ffmpeg hid mp3 mp4 opus shout wavpack" |
1059 |
- |
1060 |
-# fails to compile system-fidlib. Add ">media-libs/fidlib-0.9.10-r1" once this |
1061 |
-# got fixed |
1062 |
-RDEPEND=" |
1063 |
- dev-db/sqlite |
1064 |
- dev-libs/protobuf:0= |
1065 |
- dev-qt/qtconcurrent:5 |
1066 |
- dev-qt/qtcore:5 |
1067 |
- dev-qt/qtgui:5 |
1068 |
- dev-qt/qtnetwork:5 |
1069 |
- dev-qt/qtopengl:5 |
1070 |
- dev-qt/qtscript:5[scripttools] |
1071 |
- dev-qt/qtsql:5 |
1072 |
- dev-qt/qtsvg:5 |
1073 |
- dev-qt/qtwidgets:5 |
1074 |
- dev-qt/qtxml:5 |
1075 |
- media-libs/chromaprint |
1076 |
- media-libs/flac |
1077 |
- media-libs/libid3tag |
1078 |
- media-libs/libogg |
1079 |
- media-libs/libsndfile |
1080 |
- >=media-libs/libsoundtouch-1.5 |
1081 |
- media-libs/libvorbis |
1082 |
- >=media-libs/portaudio-19_pre |
1083 |
- media-libs/portmidi |
1084 |
- media-libs/rubberband |
1085 |
- media-libs/taglib |
1086 |
- media-libs/vamp-plugin-sdk |
1087 |
- sci-libs/fftw:3.0= |
1088 |
- virtual/libusb:1 |
1089 |
- virtual/opengl |
1090 |
- x11-libs/libX11 |
1091 |
- aac? ( |
1092 |
- media-libs/faad2 |
1093 |
- media-libs/libmp4v2:0 |
1094 |
- ) |
1095 |
- hid? ( dev-libs/hidapi ) |
1096 |
- mp3? ( media-libs/libmad ) |
1097 |
- mp4? ( media-libs/libmp4v2:= ) |
1098 |
- opus? ( media-libs/opusfile ) |
1099 |
- shout? ( media-libs/libshout ) |
1100 |
- wavpack? ( media-sound/wavpack ) |
1101 |
- ffmpeg? ( media-video/ffmpeg:0= ) |
1102 |
-" |
1103 |
-# media-libs/rubberband RDEPENDs on sci-libs/fftw:3.0 |
1104 |
-DEPEND=" |
1105 |
- ${RDEPEND} |
1106 |
- virtual/pkgconfig |
1107 |
- dev-qt/qttest:5 |
1108 |
- dev-qt/qtxmlpatterns:5 |
1109 |
-" |
1110 |
- |
1111 |
-PATCHES=( |
1112 |
- "${FILESDIR}"/${PN}-2.0.0-docs.patch |
1113 |
- |
1114 |
- "${DISTDIR}"/${P}-ffmpeg30.patch |
1115 |
- "${DISTDIR}"/${P}-ffmpeg31.patch |
1116 |
- |
1117 |
- "${FILESDIR}"/${P}-chromaprint-1.4.patch #604528 |
1118 |
- "${FILESDIR}"/${P}-gcc62.patch #595090 |
1119 |
- |
1120 |
- "${FILESDIR}"/${PN}-2.0.0-sqlite3.patch #622776 |
1121 |
- |
1122 |
- # The following patches were taken from sunny-overlay (bug #608430) |
1123 |
- "${FILESDIR}"/${P}-fix-formatting-of-time-durations.patch |
1124 |
- "${FILESDIR}"/${P}-eliminate-unnecessary-heap-allocation-of-qtime.patch |
1125 |
- "${FILESDIR}"/${P}-fix-missing-pointer-initialization.patch |
1126 |
- "${FILESDIR}"/${P}-move-definition-of-time-formatseconds-into-dot-cpp-file.patch |
1127 |
- "${FILESDIR}"/${P}-fix-formatting-of-time-durations2.patch |
1128 |
- "${FILESDIR}"/${P}-rmx2-backport-controller-scripts.patch |
1129 |
-) |
1130 |
- |
1131 |
-src_prepare() { |
1132 |
- # use multilib compatible directory for plugins |
1133 |
- sed -i -e "/unix_lib_path =/s/'lib'/'$(get_libdir)'/" src/SConscript || die |
1134 |
- |
1135 |
- default |
1136 |
-} |
1137 |
- |
1138 |
-src_configure() { |
1139 |
- local myoptimize=0 |
1140 |
- |
1141 |
- # Required for >=qt-5.7.0 (bug #590690) |
1142 |
- append-cxxflags -std=c++11 |
1143 |
- |
1144 |
- # Try to get cpu type based on CFLAGS. |
1145 |
- # Bug #591968 |
1146 |
- for i in $(get-flag mcpu) $(get-flag march) ; do |
1147 |
- if [[ ${i} = native ]] ; then |
1148 |
- myoptimize="native" |
1149 |
- break |
1150 |
- fi |
1151 |
- done |
1152 |
- |
1153 |
- myesconsargs=( |
1154 |
- prefix="${EPREFIX}/usr" |
1155 |
- qtdir="${EPREFIX}/usr/$(get_libdir)/qt5" |
1156 |
- faad="$(usex aac 1 0)" |
1157 |
- ffmpeg="$(usex ffmpeg 1 0)" |
1158 |
- hid="$(usex hid 1 0)" |
1159 |
- hifieq=1 |
1160 |
- m4a="$(usex mp4 1 0)" |
1161 |
- mad="$(usex mp3 1 0)" |
1162 |
- optimize="${myoptimize}" |
1163 |
- opus="$(usex opus 1 0)" |
1164 |
- qdebug="$(usex debug 1 0)" |
1165 |
- qt5=1 |
1166 |
- shoutcast="$(usex shout 1 0)" |
1167 |
- vinylcontrol=1 |
1168 |
- wv="$(usex wavpack 1 0)" |
1169 |
- ) |
1170 |
-} |
1171 |
- |
1172 |
-src_compile() { |
1173 |
- CC="$(tc-getCC)" CXX="$(tc-getCXX)" LINKFLAGS="${LDFLAGS}" \ |
1174 |
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" escons ${myesconsargs[@]} |
1175 |
-} |
1176 |
- |
1177 |
-src_install() { |
1178 |
- CC="$(tc-getCC)" CXX="$(tc-getCXX)" LINKFLAGS="${LDFLAGS}" \ |
1179 |
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" escons ${myesconsargs[@]} \ |
1180 |
- install_root="${ED}"/usr install |
1181 |
- |
1182 |
- dodoc README Mixxx-Manual.pdf |
1183 |
-} |