Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package qloud for openSUSE:Factory checked in at 2026-03-14 22:23:35 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qloud (Old) and /work/SRC/openSUSE:Factory/.qloud.new.8177 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qloud" Sat Mar 14 22:23:35 2026 rev:5 rq:1338990 version:1.4.3 Changes: -------- --- /work/SRC/openSUSE:Factory/qloud/qloud.changes 2023-01-28 19:03:34.980801833 +0100 +++ /work/SRC/openSUSE:Factory/.qloud.new.8177/qloud.changes 2026-03-14 22:24:56.311452104 +0100 @@ -1,0 +2,12 @@ +Sat Mar 14 19:05:03 UTC 2026 - Dirk Müller <[email protected]> + +- update to 1.4.3: + * Add Qt6 support (fix compiler warnings), while keeping Qt5 + support + * Don’t use explicit Qt INCLUDEPATH in src/src.pro + * Don’t use nodiscard warning of QFile.open + * Change weighting window to 10 % cosine (based on this) + * Change some of the default (plotting) parameters + * Some minor improvements (?) according to cppcheck + +------------------------------------------------------------------- Old: ---- qloud-1.4.2.tar.gz New: ---- qloud-1.4.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qloud.spec ++++++ --- /var/tmp/diff_new_pack.zdQGBC/_old 2026-03-14 22:24:56.863474972 +0100 +++ /var/tmp/diff_new_pack.zdQGBC/_new 2026-03-14 22:24:56.867475138 +0100 @@ -1,7 +1,7 @@ # # spec file for package qloud # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,19 +17,19 @@ Name: qloud -Version: 1.4.2 +Version: 1.4.3 Release: 0 Summary: Tool to measure License: GPL-2.0-or-later Group: Productivity/Multimedia/Sound/Utilities URL: https://github.com/molke-productions/qloud Source0: %{url}/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz -BuildRequires: libqt5-linguist BuildRequires: pkgconfig -BuildRequires: pkgconfig(Qt5Charts) -BuildRequires: pkgconfig(Qt5Qwt6) -BuildRequires: pkgconfig(Qt5Widgets) -BuildRequires: pkgconfig(Qt5Xml) +BuildRequires: qt6-tools-linguist +BuildRequires: pkgconfig(Qt6Charts) +BuildRequires: pkgconfig(Qt6Qwt6) +BuildRequires: pkgconfig(Qt6Widgets) +BuildRequires: pkgconfig(Qt6Xml) BuildRequires: pkgconfig(fftw3) BuildRequires: pkgconfig(jack) BuildRequires: pkgconfig(sndfile) @@ -46,11 +46,11 @@ %autosetup -p1 %build -%qmake5 PREFIX=%{_prefix} +%qmake6 PREFIX=%{_prefix} %make_build %install -%qmake5_install +%qmake6_install %files %license LICENSE ++++++ qloud-1.4.2.tar.gz -> qloud-1.4.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/INSTALL.md new/qloud-1.4.3/INSTALL.md --- old/qloud-1.4.2/INSTALL.md 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/INSTALL.md 2025-10-18 18:02:13.000000000 +0200 @@ -1,6 +1,6 @@ # Requirements -* QT5 ( http://trolltech.com/ ), tested with QT 5.15.1 +* Qt6 or Qt5 ( http://trolltech.com/ ) * JACK ( http://jackaudio.org/ ) * sndfile ( http://www.mega-nerd.com/libsndfile/ ) * fftw ( http://www.fftw.org/ ) @@ -8,8 +8,8 @@ # Installation -* look in `src/src.pro` to modify include dirs if you want -* set `PREFIX` (default is `C:\Qloud` on Windows or `/usr/local`) with `qmake` +* modify include directories in `src/src.pro` if needed +* run either `qmake6` or `qmake`, setting `PREFIX` (default is `C:\Qloud` on Windows or `/usr/local`) ``` qmake PREFIX=/usr ``` @@ -22,8 +22,8 @@ ## On Debian/Ubuntu -* install dependencies +* install dependencies for Qt5 (Qt6 should be similar) ``` -sudo apt install qttools5-dev libjack-jackd2-dev libsndfile1-dev libfftw3-dev +sudo apt install qttools5-dev libqt5charts5-dev libjack-jackd2-dev libsndfile1-dev libfftw3-dev ``` `libjack-jackd2-dev` can be exchanged with `libjack-dev` if using jackd1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/README.md new/qloud-1.4.3/README.md --- old/qloud-1.4.2/README.md 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/README.md 2025-10-18 18:02:13.000000000 +0200 @@ -1,30 +1,19 @@ # About -QLoud is a tool to measure a loudspeaker frequency response and distortions. +QLoud is a tool to measure frequency response and distortion. -This was just an attempt of porting it to QT5. It now uses Qt Charts instead of Qwt for plotting. +This was just an attempt to port it to Qt5. It now uses Qt Charts instead of Qwt for plotting. +The original app page is now [archived](https://web.archive.org/web/20250123210056/http://gaydenko.com/qloud/). -The original app page is here: +Writing this app was inspired by [excellent applications written by Fons Adriaensen](https://kokkinizita.linuxaudio.org/linuxaudio/index.html). -http://gaydenko.com/qloud/ - -Writing this app was inspired by excellent applications written -by Fons Adriaensen: - -http://users.skynet.be/solaris/linuxaudio/ - -Theoretical background belongs to Angelo Farina: - -http://pcfarina.eng.unipr.it/ - -In particular, this method was used: - -http://pcfarina.eng.unipr.it/Public/Papers/134-AES00.PDF +Theoretical background belongs to the late [Angelo Farina](https://angelofarina.it/). +In particular, [this method](https://angelofarina.it/Public/Papers/134-AES00.PDF) was used. # Target use -* loudspeaker DIY (crossover tuning). +* loudspeaker DIY (crossover tuning) # Measurement chain @@ -40,8 +29,8 @@ # Result -After audio system response capturing is done, an IR (impulse response) -is calculated. Currently, these IR-aware analysis outcomes are available: +After audio system response capturing is done, an IR (impulse response) is calculated. +Currently, the following IR-aware analysis outcomes are available: * plotting of SPL (sound pressure level) as a function of frequency (dB/Hz) * plotting of IR power as a function of time (dB/s) @@ -52,15 +41,14 @@ * 4th – light green * 5th – light red - -The IR power plot is useful to see room reflections behavior. -The step response plot is useful for speakers time alignment in multiway loudspeakers. +The IR power plot is useful to see room reflection behavior. +The step response plot is useful for speaker time alignment in multiway loudspeakers. # A few hints * move mouse above “?” sign at plot window and wait -* to change a measurement description double-click it +* to change a measurement description, double-click it * to delete a measurement, use the context menu on the measurements table * to see what the app does, just connect the app’s JACK ports directly and try * to see what your sound card does, use loopback for line in/out diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/CapThread.cpp new/qloud-1.4.3/src/CapThread.cpp --- old/qloud-1.4.2/src/CapThread.cpp 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/CapThread.cpp 2025-10-18 18:02:13.000000000 +0200 @@ -52,7 +52,7 @@ void CapThread::run() { try { this->capture->doJob(this->playDbLevel); - } catch(QLE e) { + } catch(QLE const &e) { emit showCritical(e.msg); } emit workIsDone(); // for ticker and IR management diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/Capture.cpp new/qloud-1.4.3/src/Capture.cpp --- old/qloud-1.4.2/src/Capture.cpp 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/Capture.cpp 2025-10-18 18:02:13.000000000 +0200 @@ -59,7 +59,7 @@ try { this->playBuf = excitWav->readFloat(); - } catch(QLE e) { + } catch(QLE const &e) { delete excitWav; this->freeBuffers(); throw QLE(e.msg); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/Capture.h new/qloud-1.4.3/src/Capture.h --- old/qloud-1.4.2/src/Capture.h 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/Capture.h 2025-10-18 18:02:13.000000000 +0200 @@ -16,7 +16,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ - #ifndef CAPTURE_H #define CAPTURE_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/ExcitCfg.cpp new/qloud-1.4.3/src/ExcitCfg.cpp --- old/qloud-1.4.2/src/ExcitCfg.cpp 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/ExcitCfg.cpp 2025-10-18 18:02:13.000000000 +0200 @@ -20,11 +20,11 @@ #include "ExcitCfg.h" ExcitCfg::ExcitCfg() { - this->length = 7; + this->length = 10; this->rate = 48000; - this->depth = 32; - this->fMin = 100; - this->fMax = 10000; + this->depth = 24; + this->fMin = 20; + this->fMax = 20000; } QString ExcitCfg::toString() { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/ExcitForm.cpp new/qloud-1.4.3/src/ExcitForm.cpp --- old/qloud-1.4.2/src/ExcitForm.cpp 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/ExcitForm.cpp 2025-10-18 18:02:13.000000000 +0200 @@ -222,7 +222,7 @@ this->lastCfg = this->qlCfg->getExcit(); this->newCfg = this->lastCfg; this->mapCfgToControls(); - } catch(QLE e) { + } catch(QLE const &e) { emit showCritical(e.msg); return; } @@ -276,7 +276,7 @@ ); eThread->start(QThread::LowestPriority); emit excitInfoChanged(this->getInfoString()); - } catch(QLE e) { + } catch(QLE const &e) { QLUtl::showCritical(this, e.msg); } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/ExcitThread.cpp new/qloud-1.4.3/src/ExcitThread.cpp --- old/qloud-1.4.2/src/ExcitThread.cpp 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/ExcitThread.cpp 2025-10-18 18:02:13.000000000 +0200 @@ -54,7 +54,7 @@ try { Excitation::generate( this->wrkDir, this->cfg); emit generated(); - } catch(QLE e) { + } catch(QLE const &e) { emit showCritical(e.msg); emit showStatus("Excitation generating failed!", 2000); return; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/ExcitThread.h new/qloud-1.4.3/src/ExcitThread.h --- old/qloud-1.4.2/src/ExcitThread.h 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/ExcitThread.h 2025-10-18 18:02:13.000000000 +0200 @@ -28,7 +28,7 @@ public: ExcitThread( QObject* parent, - const QString& wrkDir, + const QString& aWrkDir, const ExcitCfg& aCfg, QWidget* aFeedback ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/Excitation.cpp new/qloud-1.4.3/src/Excitation.cpp --- old/qloud-1.4.2/src/Excitation.cpp 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/Excitation.cpp 2025-10-18 18:02:13.000000000 +0200 @@ -40,17 +40,17 @@ for(int i = 0; i < length; i++) { double t = ((double)i) / cfg.rate; // to be sure our float is below 0db - buf[i] = sin(K * (exp(t/L) - 1.0)) * 0.9999; + buf[i] = sin(K * expm1(t/L)) * 0.9999; } // apply start smoothing window... int winLength = (int)(START_SMOOTH * length); - Weights* w = new Weights("hanning", winLength * 2 + 1); + Weights* w = new Weights(winLength * 2 + 1); for(int i = 0; i <= winLength; i++) buf[i] = buf[i] * w->getPoint(i); delete w; // ... and finish smoothing window winLength = (int)(FINISH_SMOOTH * length); - w = new Weights("hanning", winLength * 2 + 1); + w = new Weights(winLength * 2 + 1); int bufIdx = length - winLength -1; int winIdx = winLength; for(int i = 0; i <= winLength; i++) @@ -73,9 +73,9 @@ ); try { excitOut->writeDouble(wavInfo, buf); - } catch(QLE e) { + } catch(QLE const &e) { delete excitOut; - delete[] buf; + delete[] buf; throw QLE(e.msg); } delete excitOut; @@ -95,7 +95,7 @@ WavOut* filterOut = new WavOut(dirPath + "/" + Excitation::filterFileName()); try { filterOut->writeDouble(wavInfo, buf); - } catch(QLE e) { + } catch(QLE const &e) { delete filterOut; delete[] buf; throw QLE(e.msg); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/FileFft.cpp new/qloud-1.4.3/src/FileFft.cpp --- old/qloud-1.4.2/src/FileFft.cpp 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/FileFft.cpp 2025-10-18 18:02:13.000000000 +0200 @@ -58,7 +58,7 @@ this->fftResultLength, linAmps ); - delete[] linAmps; + delete[] linAmps; double* smoothed = QLUtl::smoothForLog( logAmps, @@ -89,7 +89,7 @@ smoothFactor, this->fftResultLength ); - delete[] linPhase; + delete[] linPhase; double* logPhase = QLUtl::spaceAmpsToFreqs( FileFft::POINTS_AMOUNT, @@ -97,7 +97,6 @@ this->fftResultLength, smoothed ); - delete smoothed; return logPhase; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/FileFft.h new/qloud-1.4.3/src/FileFft.h --- old/qloud-1.4.2/src/FileFft.h 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/FileFft.h 2025-10-18 18:02:13.000000000 +0200 @@ -29,11 +29,11 @@ public: static const int POINTS_AMOUNT = 1024 * 4; - FileFft(const QString& path, const IRInfo& ii); + FileFft(const QString& path, const IRInfo& anIi); ~FileFft(); - double* getAmps(double smooth); - double* getPhase(double smooth); + double* getAmps(double smoothFactor); + double* getPhase(double smoothFactor); double* getFreqs(); private: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/GenThread.cpp new/qloud-1.4.3/src/GenThread.cpp --- old/qloud-1.4.2/src/GenThread.cpp 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/GenThread.cpp 2025-10-18 18:02:13.000000000 +0200 @@ -76,7 +76,7 @@ qlCfg->appendIr(ii); delete qlCfg; - } catch(QLE e) { + } catch(QLE const &e) { QString msg = tr("IR-file calculation failed:\n\n"); msg += e.msg; emit showCritical(msg); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/HarmData.h new/qloud-1.4.3/src/HarmData.h --- old/qloud-1.4.2/src/HarmData.h 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/HarmData.h 2025-10-18 18:02:13.000000000 +0200 @@ -16,7 +16,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ - #ifndef HARMDATA_H #define HARMDATA_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/HarmPlot.cpp new/qloud-1.4.3/src/HarmPlot.cpp --- old/qloud-1.4.2/src/HarmPlot.cpp 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/HarmPlot.cpp 2025-10-18 18:02:13.000000000 +0200 @@ -46,16 +46,15 @@ XAxis->setBase(10.0); XAxis->setLabelFormat("%d"); XAxis->setTitleText(tr("Frequency in Hz")); - XAxis->setRange(10, 10000); + XAxis->setRange(20, 20000); XAxis->setMinorTickCount(8); QValueAxis *YAxis = new QValueAxis(this->chart); YAxis->setTitleText(tr("Distortion in dB")); YAxis->setLabelFormat("%d"); - YAxis->setMax(20); - YAxis->setMin(-120); - YAxis->setTickCount(8); - YAxis->setMinorTickCount(10); + YAxis->setRange(-100, 0); + YAxis->setTickCount(6); + YAxis->setMinorTickCount(3); this->addCurves(XAxis, YAxis); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/Harmonics.cpp new/qloud-1.4.3/src/Harmonics.cpp --- old/qloud-1.4.2/src/Harmonics.cpp 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/Harmonics.cpp 2025-10-18 18:02:13.000000000 +0200 @@ -50,7 +50,7 @@ ); try { this->irSamples = irWav->readDouble(); - } catch(QLE e) { + } catch(QLE const &e) { delete irWav; if(this->irSamples) delete this->irSamples; @@ -61,9 +61,8 @@ // find peak double max = 0.0; - double tmp = 0.0; for(unsigned i=0; i < this->wavInfo->length; i++) { - tmp = fabs(this->irSamples[i]); + double tmp = fabs(this->irSamples[i]); if(tmp > max) { max = tmp; this->maxIdx = i; @@ -136,12 +135,12 @@ samples[i] = this->irSamples[left + i]; // apply windows at edges - Weights* w = new Weights("hanning", leftShift * 2 + 1); + Weights* w = new Weights(leftShift * 2 + 1); for(int i = 0; i <= leftShift; i++) samples[i] *= w->getPoint(i); delete w; - w = new Weights("hanning", rightShift * 2 + 1); + w = new Weights(rightShift * 2 + 1); for(int i = 0; i <= rightShift; i++) samples[i + leftShift] *= w->getPoint(rightShift + i); delete w; @@ -149,7 +148,7 @@ // main harmonics-related work is here fftw_complex* fft = QLUtl::doFFT(samples, length, this->wavInfo->rate); - delete[] samples; + delete[] samples; int fftResultLength = this->wavInfo->rate / 2; double* linAmps = new double[fftResultLength]; @@ -165,7 +164,7 @@ double* logAmps = QLUtl::spaceAmpsToFreqs( Harmonics::POINTS_AMOUNT, freqs, fftResultLength, linAmps ); - delete[] linAmps; + delete[] linAmps; if(num != 1) for(int i=0; i < Harmonics::POINTS_AMOUNT; i++) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/IR.cpp new/qloud-1.4.3/src/IR.cpp --- old/qloud-1.4.2/src/IR.cpp 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/IR.cpp 2025-10-18 18:02:13.000000000 +0200 @@ -46,7 +46,7 @@ double* irSamples =0; try { irSamples = irWav->readDouble(); - } catch(QLE e) { + } catch(QLE const &e) { delete irWav; if(irSamples) delete irSamples; @@ -57,9 +57,8 @@ // find peak double max = 0.0; - double tmp = 0.0; for(unsigned i = 0; i < wavInfo->length; i++) { - tmp = fabs(irSamples[i]); + double tmp = fabs(irSamples[i]); if(tmp > max) { max = tmp; this->maxIdx = i; @@ -95,7 +94,7 @@ try { realFilter = filterWav->readDouble(); realResp = respWav->readDouble(); - } catch(QLE e) { + } catch(QLE const &e) { delete filterWav; delete respWav; if(realFilter) @@ -204,7 +203,7 @@ if( tmpAbs > max ) max = tmpAbs; } - delete[] irBuf; + delete[] irBuf; for(unsigned i = 0; i < fftLength; i++) realIr[i] /= max; @@ -215,7 +214,7 @@ wavInfo->length = fftLength; try { wavOut->writeDouble(*wavInfo, realIr); - } catch(QLE e) { + } catch(QLE const &e) { delete wavOut; delete[] realIr; throw QLE(e.msg); @@ -236,7 +235,7 @@ double* irSamples =0; try { irSamples = irWav->readDouble(); - } catch(QLE e) { + } catch(QLE const &e) { delete irWav; if(irSamples) delete irSamples; @@ -277,7 +276,7 @@ if(leftShift > maxIdx) leftShift = maxIdx; int left = maxIdx - leftShift; - Weights* w = new Weights("hanning", leftShift * 2 + 1); + Weights* w = new Weights(leftShift * 2 + 1); for(int i = 0; i <= leftShift; i++) irSamples[left + i] *= w->getPoint(i); delete w; @@ -287,7 +286,7 @@ int right = maxIdx + rightShift; if(right > int(wavInfo->length)) throw QLE("Window too wide"); - w = new Weights("hanning", rightShift * 2 + 1); + w = new Weights(rightShift * 2 + 1); for(int i = 0; i <= rightShift; i++) irSamples[maxIdx + i] *= w->getPoint(i + rightShift); delete w; @@ -305,7 +304,7 @@ ); try { trimOut->writeDouble(*wavInfo, trimmed); - } catch(QLE e) { + } catch(QLE const &e) { delete trimOut; delete[] trimmed; throw QLE(e.msg); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/IRInfo.h new/qloud-1.4.3/src/IRInfo.h --- old/qloud-1.4.2/src/IRInfo.h 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/IRInfo.h 2025-10-18 18:02:13.000000000 +0200 @@ -16,7 +16,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ - #ifndef IRINFO_H #define IRINFO_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/IRPPlot.cpp new/qloud-1.4.3/src/IRPPlot.cpp --- old/qloud-1.4.2/src/IRPPlot.cpp 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/IRPPlot.cpp 2025-10-18 18:02:13.000000000 +0200 @@ -56,10 +56,9 @@ QValueAxis *YAxis = new QValueAxis(this->chart); YAxis->setTitleText(tr("Power in dB")); YAxis->setLabelFormat("%d"); - YAxis->setMax(20); - YAxis->setMin(-100); - YAxis->setTickCount(7); - YAxis->setMinorTickCount(10); + YAxis->setRange(-100, 0); + YAxis->setTickCount(6); + YAxis->setMinorTickCount(3); QLineSeries* ampCurve = new QLineSeries(this->chart); ampCurve->setPen(QPen(AMP_CURVE_COLOR)); @@ -83,7 +82,7 @@ WavIn* irWav = new WavIn(this->dir + "/" + this->ii.key + IR::irFileName()); try { this->amps = irWav->readDouble(); - } catch(QLE e) { + } catch(QLE const &e) { delete irWav; if(this->amps) { delete this->amps; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/IRPlot.cpp new/qloud-1.4.3/src/IRPlot.cpp --- old/qloud-1.4.2/src/IRPlot.cpp 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/IRPlot.cpp 2025-10-18 18:02:13.000000000 +0200 @@ -55,14 +55,14 @@ QValueAxis *YAxis = new QValueAxis(this->chart); YAxis->setTitleText(tr("Amplitude")); YAxis->setLabelFormat("%.02f"); - YAxis->setMax(1.5); - YAxis->setMin(-1.5); - YAxis->setTickCount(7); - YAxis->setMinorTickCount(10); + YAxis->setRange(-1.0, 1.0); +// YAxis->setTickCount(5); + YAxis->setMinorTickCount(4); QLineSeries* ampCurve = new QLineSeries(this->chart); ampCurve->setPen(QPen(AMP_CURVE_COLOR)); - appendSeries(ampCurve, XAxis, Qt::AlignBottom, "ms", YAxis, Qt::AlignLeft, ""); + appendSeries(ampCurve, XAxis, Qt::AlignBottom, "ms", + YAxis, Qt::AlignLeft, ""); QList<QPointF> points; for (unsigned int i = 0; i < curveLength; i++) @@ -82,7 +82,7 @@ WavIn* irWav = new WavIn(this->dir + "/" + this->ii.key + IR::irFileName()); try { this->amps = irWav->readDouble(); - } catch(QLE e) { + } catch(QLE const &e) { delete irWav; if(this->amps) { delete this->amps; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/IrsForm.cpp new/qloud-1.4.3/src/IrsForm.cpp --- old/qloud-1.4.2/src/IrsForm.cpp 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/IrsForm.cpp 2025-10-18 18:02:13.000000000 +0200 @@ -105,7 +105,7 @@ &this->plots ); w->show(); - } catch(QLE e) { + } catch(QLE const &e) { emit showCritical(e.msg); } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/IrsForm.h new/qloud-1.4.3/src/IrsForm.h --- old/qloud-1.4.2/src/IrsForm.h 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/IrsForm.h 2025-10-18 18:02:13.000000000 +0200 @@ -16,7 +16,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ - #ifndef IRSFORM_H #define IRSFORM_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/IrsModel.cpp new/qloud-1.4.3/src/IrsModel.cpp --- old/qloud-1.4.2/src/IrsModel.cpp 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/IrsModel.cpp 2025-10-18 18:02:13.000000000 +0200 @@ -41,7 +41,7 @@ try { QLCfg cfg(this->workDir); return cfg.getIrs().size(); - } catch(QLE e) { + } catch(QLE const &e) { emit showCritical(e.msg); } return 0; @@ -85,7 +85,7 @@ switch(section) { case 0: return tr("Description"); - case 1: return tr("Used excitation"); + case 1: return tr("Excitation"); case 2: return tr("Max. level [dB]"); } return QVariant(); @@ -109,7 +109,7 @@ try { QLCfg cfg(this->workDir); cfg.replaceIr(ii); - } catch(QLE e) { + } catch(QLE const &e) { emit showCritical(e.msg); return false; } @@ -147,7 +147,7 @@ try { QLCfg cfg(this->workDir); cfg.removeIr(ii.key); - } catch(QLE e) { + } catch(QLE const &e) { emit showCritical(e.msg); return false; } @@ -175,7 +175,7 @@ return false; } QLUtl::checkFileError(trimFile); - } catch(QLE e) { + } catch(QLE const &e) { emit showCritical(e.msg); return false; } @@ -194,7 +194,7 @@ try { QLCfg cfg(this->workDir); this->list = cfg.getIrs(); - } catch(QLE e) { + } catch(QLE const &e) { emit showCritical(e.msg); return; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/IrsView.cpp new/qloud-1.4.3/src/IrsView.cpp --- old/qloud-1.4.2/src/IrsView.cpp 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/IrsView.cpp 2025-10-18 18:02:13.000000000 +0200 @@ -36,10 +36,12 @@ this->setContextMenuPolicy(Qt::DefaultContextMenu); - QLabel* tmp = new QLabel("W88 s, 192000 Hz/32 bit, 99999–99999 Hz"); - int columnWidth = tmp->sizeHint().width(); + this->setColumnWidth(0, 500); + QLabel* tmp; + int columnWidth; + tmp = new QLabel("W88 s, 192000 Hz/32 bit, 99999–99999 Hz"); + columnWidth = tmp->sizeHint().width(); delete tmp; - this->setColumnWidth(0, columnWidth); this->setColumnWidth(1, columnWidth); tmp = new QLabel("WW Max. level [dB]"); columnWidth = tmp->sizeHint().width(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/LineEditDelegate.h new/qloud-1.4.3/src/LineEditDelegate.h --- old/qloud-1.4.2/src/LineEditDelegate.h 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/LineEditDelegate.h 2025-10-18 18:02:13.000000000 +0200 @@ -28,7 +28,7 @@ LineEditDelegate(QObject* parent=0); QWidget *createEditor( - QWidget *parent, + QWidget *aParent, const QStyleOptionViewItem &option, const QModelIndex &index ) const; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/PlotWindow.cpp new/qloud-1.4.3/src/PlotWindow.cpp --- old/qloud-1.4.2/src/PlotWindow.cpp 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/PlotWindow.cpp 2025-10-18 18:02:13.000000000 +0200 @@ -190,7 +190,7 @@ QDoubleSpinBox* cntSmooth = new QDoubleSpinBox(); cntSmooth->setRange(0.25, 256.0); cntSmooth->setSingleStep(0.25); - cntSmooth->setValue(Plotter::DEFAULT_SMOOTH); // 1/6 octave + cntSmooth->setValue(Plotter::DEFAULT_SMOOTH); QWidget* tmp = new QLabel("W9999.99W"); cntSmooth->setFixedWidth( cntSmooth->sizeHint().width() + tmp->sizeHint().width() @@ -211,7 +211,7 @@ double maxMilliSecs = plotter->getMaxTrimLength() * 1000.0; cntWindow->setRange(1.0, maxMilliSecs); cntWindow->setSingleStep(1); - cntWindow->setValue(500); + cntWindow->setValue(20.0); tmp = new QLabel("W25999.0W"); cntWindow->setFixedWidth( cntWindow->sizeHint().width() + tmp->sizeHint().width() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/Plotter.cpp new/qloud-1.4.3/src/Plotter.cpp --- old/qloud-1.4.2/src/Plotter.cpp 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/Plotter.cpp 2025-10-18 18:02:13.000000000 +0200 @@ -16,6 +16,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +#define QT_NO_USE_NODISCARD_FILE_OPEN + #include "Plotter.h" #include "QLCfg.h" @@ -138,7 +140,11 @@ } /* draw tooltip */ +#if QT_VERSION >= QT_VERSION_CHECK(6,0,0) + QToolTip::showText(event->globalPosition().toPoint(), label, this, QRect(), 10000); +#else QToolTip::showText(event->globalPos(), label, this, QRect(), 10000); +#endif /* draw dashed vertical line */ double x = val.x(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/Plotter.h new/qloud-1.4.3/src/Plotter.h --- old/qloud-1.4.2/src/Plotter.h 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/Plotter.h 2025-10-18 18:02:13.000000000 +0200 @@ -16,7 +16,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ - #ifndef PLOTTER_H #define PLOTTER_H @@ -30,7 +29,7 @@ Q_OBJECT public: - static constexpr double DEFAULT_SMOOTH = 6.0; // 1/6 octave + static constexpr double DEFAULT_SMOOTH = 256.0; // (almost) no smoothing Plotter(QWidget *parent = 0); ~Plotter(); @@ -39,8 +38,8 @@ QString getTitle(); void appendSeries(QLineSeries* series, - QAbstractAxis* xaxis, Qt::Alignment xalign, const QString &xunit, - QAbstractAxis* yaxis, Qt::Alignment yalign, const QString &yunit); + QAbstractAxis* xaxis, Qt::Alignment xalign, const QString &xunit, + QAbstractAxis* yaxis, Qt::Alignment yalign, const QString &yunit); void removeSeries(QLineSeries* series, QAbstractAxis* yattached); virtual bool exportSeries(const QString &filename); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/QLCfg.cpp new/qloud-1.4.3/src/QLCfg.cpp --- old/qloud-1.4.2/src/QLCfg.cpp 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/QLCfg.cpp 2025-10-18 18:02:13.000000000 +0200 @@ -16,6 +16,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +#define QT_NO_USE_NODISCARD_FILE_OPEN + #include <QtXml/QtXml> #include "QLCfg.h" #include "QLUtl.h" @@ -271,17 +273,28 @@ QFile file(this->fileName()); file.open(QIODevice::ReadOnly); QLUtl::checkFileError(file); - QString error; - int row, column; QDomDocument doc; - doc.setContent(&file, &error, &row, &column); + QString error; + int row, col; +#if QT_VERSION >= QT_VERSION_CHECK(6,0,0) + auto res = doc.setContent(&file); + error = res.errorMessage; + row = res.errorLine; + col = res.errorColumn; +#else + bool ok = doc.setContent(&file, &error, &row, &col); +#endif file.close(); QLUtl::checkFileError(file); - if(error.length()) { +#if QT_VERSION >= QT_VERSION_CHECK(6,0,0) + if(!error.isEmpty()) { +#else + if (!ok) { +#endif error += " at row "; - error += QVariant(row).toString(); + error += QString::number(row); error += " and column "; - error += QVariant(column).toString(); + error += QString::number(col); throw QLE(error); } return doc; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/QLE.h new/qloud-1.4.3/src/QLE.h --- old/qloud-1.4.2/src/QLE.h 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/QLE.h 2025-10-18 18:02:13.000000000 +0200 @@ -16,7 +16,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ - #ifndef QLE_H #define QLE_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/QLUtl.cpp new/qloud-1.4.3/src/QLUtl.cpp --- old/qloud-1.4.2/src/QLUtl.cpp 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/QLUtl.cpp 2025-10-18 18:02:13.000000000 +0200 @@ -16,6 +16,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +#define QT_NO_USE_NODISCARD_FILE_OPEN + #include <cmath> #include <iostream> #include "QLUtl.h" @@ -140,19 +142,16 @@ double rightFactor = pow(2.0, smoothFactor / 2.0); double leftFactor = 1.0 / rightFactor; - int left; - int right; - double tmp; for(int i = 0; i < length; i++) { - left = int(leftFactor * i + 0.5); + int left = int(leftFactor * i + 0.5); if(left < 0) left = 0; - right = int(rightFactor * i + 0.5); + int right = int(rightFactor * i + 0.5); if(right > length-1 ) right = length -1; - tmp = 0.0; + double tmp = 0.0; int increment = 1; if(right - left > 2048) increment = (right - left) / 2048; @@ -173,19 +172,16 @@ double rightFactor = pow(2.0, smoothFactor / 2.0); double leftFactor = 1.0 / rightFactor; - int left; - int right; - double tmp; for(int i = 0; i < length; i++) { - left = int(leftFactor * i + 0.5); + int left = int(leftFactor * i + 0.5); if(left < 0) left = 0; - right = int(rightFactor * i + 0.5); + int right = int(rightFactor * i + 0.5); if(right > length-1 ) right = length -1; - tmp = 0.0; + double tmp = 0.0; for(int j = left; j <= right; j++) tmp += in[j]; @@ -212,26 +208,22 @@ delta++; } - int left; - int right; - double tmp; - int deltaInUse; for(int i = 0; i < length; i++) { - deltaInUse = delta; + int deltaInUse = delta; - left = i - deltaInUse; + int left = i - deltaInUse; if(left < 0) { deltaInUse = i; left = 0; } - right = i + deltaInUse; + int right = i + deltaInUse; if(right > length-1 ) { deltaInUse = length - 1 - i; right = length - 1; } - tmp = 0.0; + double tmp = 0.0; for(int j = left; j <= right; j++) tmp += in[j]; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/QLUtl.h new/qloud-1.4.3/src/QLUtl.h --- old/qloud-1.4.2/src/QLUtl.h 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/QLUtl.h 2025-10-18 18:02:13.000000000 +0200 @@ -21,7 +21,6 @@ #include <QtWidgets> #include <fftw3.h> -#include "QLUtl.h" #include "QLE.h" static const bool QL_DEBUG = true; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/QLWin.cpp new/qloud-1.4.3/src/QLWin.cpp --- old/qloud-1.4.2/src/QLWin.cpp 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/QLWin.cpp 2025-10-18 18:02:13.000000000 +0200 @@ -75,7 +75,7 @@ int excitLayoutIndex = mainLayout->indexOf(wrkGroup) + 1; // create Capture group - QGroupBox* capGroup = new QGroupBox(tr("Capturing audiosystem response")); + QGroupBox* capGroup = new QGroupBox(tr("Capturing audio system response")); QVBoxLayout* capLayout = new QVBoxLayout(); // Capture top @@ -107,7 +107,7 @@ this->playDb = new QDoubleSpinBox(); this->playDb->setRange(-100, 0); this->playDb->setSingleStep(1); - this->playDb->setValue(-6); + this->playDb->setValue(-10); tmp = new QLabel("W-100W"); this->playDb->setFixedWidth( this->playDb->sizeHint().width() + tmp->sizeHint().width() @@ -125,7 +125,7 @@ this->delayCombo->addItem("10"); this->delayCombo->addItem("20"); this->delayCombo->addItem("40"); - this->delayCombo->setCurrentIndex(0); + this->delayCombo->setCurrentIndex(2); capBottom->addWidget(this->delayCombo); capBottom->addSpacing(QLWin::BIG_SPACE); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/SplPlot.cpp new/qloud-1.4.3/src/SplPlot.cpp --- old/qloud-1.4.2/src/SplPlot.cpp 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/SplPlot.cpp 2025-10-18 18:02:13.000000000 +0200 @@ -1,3 +1,5 @@ +#define QT_NO_USE_NODISCARD_FILE_OPEN + #include "SplPlot.h" #include "IR.h" #include "FileFft.h" @@ -31,34 +33,33 @@ ((QLogValueAxis*) XAxis)->setBase(10.0); ((QLogValueAxis*) XAxis)->setLabelFormat("%d"); XAxis->setTitleText(tr("Frequency in Hz")); - XAxis->setRange(10, 100000); + XAxis->setRange(20, 20000); ((QLogValueAxis *) XAxis)->setMinorTickCount(8); YAxis = new QValueAxis(this->chart); YAxis->setTitleText(tr("Amplitude in dB")); ((QValueAxis *) YAxis)->setLabelFormat("%d"); - YAxis->setMax(20); - YAxis->setMin(-100); - ((QValueAxis *) YAxis)->setTickCount(7); - ((QValueAxis *) YAxis)->setMinorTickCount(10); + YAxis->setRange(-80, 0); + ((QValueAxis *) YAxis)->setTickCount(5); + ((QValueAxis *) YAxis)->setMinorTickCount(3); this->ampCurve = new QLineSeries(this->chart); this->ampCurve->setPen(QPen(AMP_CURVE_COLOR)); - appendSeries(ampCurve, XAxis, Qt::AlignBottom, "Hz", YAxis, Qt::AlignLeft, "dB"); + appendSeries(ampCurve, XAxis, Qt::AlignBottom, "Hz", + YAxis, Qt::AlignLeft, "dB"); if(QLCfg::USE_PHASE) { YPAxis = new QValueAxis(this->chart); YPAxis->setTitleText(tr("Phase in degrees")); ((QValueAxis *) YPAxis)->setLabelFormat("%d"); - YPAxis->setMax(180); - YPAxis->setMin(-180); + YPAxis->setRange(-180, 180); this->phaseCurve = new QLineSeries(this->chart); this->phaseCurve->setPen(QPen(PHASE_CURVE_COLOR)); } - this->smoothFactor = Plotter::DEFAULT_SMOOTH; // 1/6 octave - this->winLength = 0.5; // 500 ms for right window + this->smoothFactor = Plotter::DEFAULT_SMOOTH; + this->winLength = 0.05; // 50 ms for right window this->recalculate(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/StepPlot.cpp new/qloud-1.4.3/src/StepPlot.cpp --- old/qloud-1.4.2/src/StepPlot.cpp 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/StepPlot.cpp 2025-10-18 18:02:13.000000000 +0200 @@ -53,8 +53,7 @@ QValueAxis *YAxis = new QValueAxis(this->chart); YAxis->setTitleText(tr("Amplitude")); YAxis->setLabelFormat("%.02f"); - YAxis->setMax(1.5); - YAxis->setMin(-1.5); + YAxis->setRange(-1.0, 1.0); QLineSeries* ampCurve = new QLineSeries(this->chart); ampCurve->setPen(QPen(AMP_CURVE_COLOR)); @@ -80,7 +79,7 @@ WavIn* irWav = new WavIn(this->dir + "/" + this->ii.key + IR::irFileName()); try { this->amps = irWav->readDouble(); - } catch(QLE e) { + } catch(QLE const &e) { delete irWav; if(this->amps) { delete this->amps; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/TickPoster.h new/qloud-1.4.3/src/TickPoster.h --- old/qloud-1.4.2/src/TickPoster.h 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/TickPoster.h 2025-10-18 18:02:13.000000000 +0200 @@ -16,7 +16,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ - #ifndef TICKPOSTER_H #define TICKPOSTER_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/WavInfo.h new/qloud-1.4.3/src/WavInfo.h --- old/qloud-1.4.2/src/WavInfo.h 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/WavInfo.h 2025-10-18 18:02:13.000000000 +0200 @@ -16,7 +16,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ - #ifndef WAVINFO_H #define WAVINFO_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/WavOut.h new/qloud-1.4.3/src/WavOut.h --- old/qloud-1.4.2/src/WavOut.h 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/WavOut.h 2025-10-18 18:02:13.000000000 +0200 @@ -20,8 +20,8 @@ #define WAVOUT_H #include <QtCore> -#include <WavInfo.h> -#include <QLE.h> +#include "WavInfo.h" +#include "QLE.h" class WavOut { public: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/Weights.cpp new/qloud-1.4.3/src/Weights.cpp --- old/qloud-1.4.2/src/Weights.cpp 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/Weights.cpp 2025-10-18 18:02:13.000000000 +0200 @@ -20,32 +20,28 @@ #include <cmath> #include "Weights.h" -Weights::Weights(char const* name, int pointsAmount) { +Weights::Weights(int pointsAmount) { this->points = 0; if( pointsAmount < 2 ) throw QLE("points amount must be > 2!"); this->length = pointsAmount; - // define constants for window - double a, b; - if( ! strcmp("hanning", name) ) { - a = 0.5; - b = 0.5; - } else if( ! strcmp("hamming", name) ) { - a = 0.54; - b = 0.46; - } else - throw QLE("unknown window type!"); + // define window constant +// // Hann +// double a = 0.5; +// // Hamming +// double a = 25/46; + // Cosine 10 % + double a = 0.9; // generate weights this->points = new double[pointsAmount]; double factor = M_PI * 2.0 / (this->length - 1); for(int i=0; i < this->length; i++) - this->points[i] = a - b * cos(factor * i); + this->points[i] = a - (1 - a) * cos(factor * i); } - Weights::~Weights() { if(this->points) delete this->points; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/Weights.h new/qloud-1.4.3/src/Weights.h --- old/qloud-1.4.2/src/Weights.h 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/Weights.h 2025-10-18 18:02:13.000000000 +0200 @@ -23,7 +23,7 @@ class Weights { public: - Weights(char const* name, int pointsAmount); + Weights(int pointsAmount); ~Weights(); double getPoint(int pointNum) const; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/main.cpp new/qloud-1.4.3/src/main.cpp --- old/qloud-1.4.2/src/main.cpp 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/main.cpp 2025-10-18 18:02:13.000000000 +0200 @@ -31,7 +31,7 @@ QString locale = QLocale::system().name(); QTranslator qtTranslator; #if QT_VERSION >= QT_VERSION_CHECK(6,0,0) - if (qtTranslator.load(QLocale::system(), u"qtbase"_qs, u"_"_qs, + if (qtTranslator.load(QLocale::system(), "qtbase", "_", QLibraryInfo::path(QLibraryInfo::TranslationsPath))) app.installTranslator(&qtTranslator); #else @@ -73,7 +73,7 @@ w->show(); app.exec(); delete w; - } catch(QLE e) { + } catch(QLE const &e) { QLUtl::d(e.msg); } return 0; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/qloud_fr.ts new/qloud-1.4.3/src/qloud_fr.ts --- old/qloud-1.4.2/src/qloud_fr.ts 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/qloud_fr.ts 2025-10-18 18:02:13.000000000 +0200 @@ -310,7 +310,7 @@ </message> <message> <location filename="QLWin.cpp" line="78"/> - <source>Capturing audiosystem response</source> + <source>Capturing audio system response</source> <translation>Enregistrement de la réponse du système audio</translation> </message> <message> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.2/src/src.pro new/qloud-1.4.3/src/src.pro --- old/qloud-1.4.2/src/src.pro 2021-12-17 19:14:52.000000000 +0100 +++ new/qloud-1.4.3/src/src.pro 2025-10-18 18:02:13.000000000 +0200 @@ -1,85 +1,77 @@ include(../config.pri) SOURCES += main.cpp \ - CapThread.cpp \ - Capture.cpp \ - Excitation.cpp \ - ExcitCfg.cpp \ - ExcitForm.cpp \ - ExcitThread.cpp \ - FileFft.cpp \ - GenThread.cpp \ - HarmData.cpp \ - Harmonics.cpp \ - HarmPlot.cpp \ - IR.cpp \ - IRInfo.cpp \ - IRPlot.cpp \ - IRPPlot.cpp \ - IrsForm.cpp \ - IrsModel.cpp \ - IrsView.cpp \ - JackWrap.cpp \ - LineEditDelegate.cpp \ - Plotter.cpp \ - PlotWindow.cpp \ - QLCfg.cpp \ - QLUtl.cpp \ - QLWin.cpp \ - SplPlot.cpp \ - StepPlot.cpp \ - TickPoster.cpp \ - WavIn.cpp \ - WavInfo.cpp \ - WavOut.cpp \ - Weights.cpp - -CONFIG += warn_on \ - thread \ - qt \ - exceptions \ - build_all \ - release + CapThread.cpp \ + Capture.cpp \ + Excitation.cpp \ + ExcitCfg.cpp \ + ExcitForm.cpp \ + ExcitThread.cpp \ + FileFft.cpp \ + GenThread.cpp \ + HarmData.cpp \ + Harmonics.cpp \ + HarmPlot.cpp \ + IR.cpp \ + IRInfo.cpp \ + IRPlot.cpp \ + IRPPlot.cpp \ + IrsForm.cpp \ + IrsModel.cpp \ + IrsView.cpp \ + JackWrap.cpp \ + LineEditDelegate.cpp \ + Plotter.cpp \ + PlotWindow.cpp \ + QLCfg.cpp \ + QLUtl.cpp \ + QLWin.cpp \ + SplPlot.cpp \ + StepPlot.cpp \ + TickPoster.cpp \ + WavIn.cpp \ + WavInfo.cpp \ + WavOut.cpp \ + Weights.cpp + +CONFIG += warn_on thread qt exceptions build_all release HEADERS += CapThread.h \ - Capture.h \ - Excitation.h \ - ExcitCfg.h \ - ExcitForm.h \ - ExcitThread.h \ - FileFft.h \ - GenThread.h \ - HarmData.h \ - Harmonics.h \ - HarmPlot.h \ - IR.h \ - IRInfo.h \ - IRPlot.h \ - IRPPlot.h \ - IrsForm.h \ - IrsModel.h \ - IrsView.h \ - JackInfo.h \ - JackWrap.h \ - LineEditDelegate.h \ - Plotter.h \ - PlotWindow.h \ - QLCfg.h \ - QLE.h \ - QLUtl.h \ - QLWin.h \ - SplPlot.h \ - StepPlot.h \ - TickPoster.h \ - WavInfo.h \ - WavIn.h \ - WavOut.h \ - Weights.h - -QT += xml \ - widgets \ - charts \ - printsupport + Capture.h \ + Excitation.h \ + ExcitCfg.h \ + ExcitForm.h \ + ExcitThread.h \ + FileFft.h \ + GenThread.h \ + HarmData.h \ + Harmonics.h \ + HarmPlot.h \ + IR.h \ + IRInfo.h \ + IRPlot.h \ + IRPPlot.h \ + IrsForm.h \ + IrsModel.h \ + IrsView.h \ + JackInfo.h \ + JackWrap.h \ + LineEditDelegate.h \ + Plotter.h \ + PlotWindow.h \ + QLCfg.h \ + QLE.h \ + QLUtl.h \ + QLWin.h \ + SplPlot.h \ + StepPlot.h \ + TickPoster.h \ + WavInfo.h \ + WavIn.h \ + WavOut.h \ + Weights.h + +QT += xml widgets charts printsupport TEMPLATE = app TARGET = ../bin/qloud @@ -87,26 +79,23 @@ MOC_DIR = ../moc DESTDIR = . -CONFIG += debug +### lessThan(QT_MAJOR_VERSION, 6): INCLUDEPATH += /usr/include/qt +### greaterThan(QT_MAJOR_VERSION, 6): INCLUDEPATH += /usr/include/qt6 -INCLUDEPATH += /usr/include/qt +CONFIG += debug -LIBS += -lsndfile \ --lfftw3 \ --ljack +LIBS += -lsndfile -lfftw3 -ljack INSTALLS += target target.path = $$PREFIX/bin -TRANSLATIONS += \ - qloud_en.ts \ - qloud_fr.ts +TRANSLATIONS += qloud_en.ts qloud_fr.ts LOCALE_DIR = ../locale updateqm.input = TRANSLATIONS updateqm.output = $$LOCALE_DIR/${QMAKE_FILE_BASE}.qm updateqm.commands = $$QMAKE_LRELEASE ${QMAKE_FILE_IN} \ - -qm $$LOCALE_DIR/${QMAKE_FILE_BASE}.qm + -qm $$LOCALE_DIR/${QMAKE_FILE_BASE}.qm updateqm.CONFIG += no_link target_predeps QMAKE_EXTRA_COMPILERS += updateqm
