Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
9be31e0
tweak amplitude ranges, update and fix readme.md
he29-net Jul 21, 2019
4e2f168
Add and implement advanced settings
he29-net Aug 15, 2019
f5eda87
Display waterfall at native resolution
he29-net Aug 23, 2019
7d630e1
Add waterfall cursor, fix time labels and make density change with wi…
he29-net Aug 23, 2019
249d161
Fix normalization so that full scale sinewave is 0 dBFS; tweak perf. …
he29-net Aug 23, 2019
25aa537
Move FFT analysis to a separate thread for better performance and rea…
he29-net Aug 23, 2019
3707eeb
Performance optimizations and some final touches here and there
he29-net Sep 1, 2019
cb3e701
Improve cursor coordinates display
he29-net Sep 1, 2019
8d639e5
Fix missed transient in the first block despite having overlapping en…
he29-net Sep 16, 2019
36feb65
workaround for QMouseEvent::localPos() bug
he29-net Oct 8, 2019
b650838
Update plugins/SpectrumAnalyzer/SaSpectrumView.cpp
he29-net Oct 13, 2019
42d74db
Make SaProcessor unfriendly to view classes
he29-net Oct 13, 2019
9dd9ef0
Update and improve readme file; use consistent "analyzer" spelling
he29-net Oct 13, 2019
6a5089d
Use QString directly where possible
he29-net Oct 13, 2019
6939702
Fix bug introduced in previous commit
he29-net Oct 13, 2019
11013cc
SaProcessor: make some variables accessed by other classes atomic; ma…
he29-net Oct 17, 2019
edefc93
test a change required to make analyzer work after make install
he29-net Oct 24, 2019
e3c89d5
Build the ringbuffer libary as part of LMMS core
he29-net Oct 28, 2019
5b1f28c
Attempted fix of missing ringbuffer.cpp symbols on Win platforms
he29-net Oct 30, 2019
7cf189c
Move most ringbuffer cmake setup to 3rdparty/, hijack RINGBUFFER_EXPO…
he29-net Oct 30, 2019
11bb2c7
Add LMMS_EXPORT to LocklessRingBuffer methods
he29-net Nov 7, 2019
2963fb6
Revert "Add LMMS_EXPORT to LocklessRingBuffer methods"
PhysSong Nov 7, 2019
6dd2619
Try to fix an export error
PhysSong Nov 7, 2019
6856b3d
Rework LocklessRingBuffer and force export of <sampleFrame> template …
he29-net Nov 9, 2019
0d56ae8
Move <sampleFrame> instances to the bottom of file
he29-net Nov 9, 2019
228dd2f
Revert "Move <sampleFrame> instances to the bottom of file"
he29-net Nov 9, 2019
22e9163
Move specialized write() above the non-specialized one
he29-net Nov 9, 2019
dc2bd91
Move sampleFrame instantiation to the header file
he29-net Nov 9, 2019
8739abb
Try to remove LMMS_EXPORT from LocklessRingBuffer template
he29-net Nov 14, 2019
7a0fc5a
Go back to 'everything in the header' to fix Mac and hope it does not…
he29-net Nov 14, 2019
bf793da
Try removing all LMMS_EXPORTs from LocklessRingBuffer
he29-net Nov 15, 2019
ad49d36
Merge remote-tracking branch 'upstream/master' into analyzer-update
he29-net Nov 15, 2019
a0acc8a
Implement LocklessRingBuffer changes requested in review
he29-net Nov 16, 2019
8ca05a3
Fix code conventions, make some includes harder to read
he29-net Nov 17, 2019
c694277
Forgotten rename
he29-net Nov 17, 2019
0caa748
Fix missing part of waterfall when its width limit is reached
he29-net Nov 18, 2019
a7388b1
Fix drawing bounds of "overload fill-in"; improve comment on waterfal…
he29-net Nov 18, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
tweak amplitude ranges, update and fix readme.md
  • Loading branch information
he29-net committed Oct 9, 2019
commit 9be31e003fd87f6de8be0c1fd35698553d884629
6 changes: 5 additions & 1 deletion plugins/SpectrumAnalyzer/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,15 @@ This plugin consists of three widgets and back-end code to provide them with req

The top-level widget is SaControlDialog. It populates a configuration widget (created dynamically) and instantiates spectrum display widgets. Its main back-end class is SaControls, which holds all configuration values and globally valid constants (e.g. range definitions).

SaSpectrumDisplay and SaWaterfallDisplay show the result of spectrum analysis. Their main back-end class is SaProcessor, which performs FFT analysis on data received from the Analyzer class, which in turn handles the interface with LMMS.
SaSpectrumView and SaWaterfallView show the result of spectrum analysis. Their main back-end class is SaProcessor, which performs FFT analysis on data received from the Analyzer class, which in turn handles the interface with LMMS.


Comment thread
he29-net marked this conversation as resolved.
## Changelog

1.0.3 2019-07-25
- rename and tweak amplitude ranges based on feedback
1.0.2 2019-07-12
- variety of small changes based on code review
1.0.1 2019-06-02
- code style changes
- added tool-tips
Expand Down
6 changes: 3 additions & 3 deletions plugins/SpectrumAnalyzer/SaControls.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -62,10 +62,10 @@ SaControls::SaControls(Analyzer *effect) :
m_freqRangeModel.setValue(m_freqRangeModel.findText(tr("Full (auto)")));

m_ampRangeModel.addItem(tr("Extended"));
m_ampRangeModel.addItem(tr("Default"));
m_ampRangeModel.addItem(tr("Audible"));
m_ampRangeModel.addItem(tr("Noise"));
m_ampRangeModel.setValue(m_ampRangeModel.findText(tr("Default")));
m_ampRangeModel.addItem(tr("Loud"));
m_ampRangeModel.addItem(tr("Silent"));
m_ampRangeModel.setValue(m_ampRangeModel.findText(tr("Audible")));

// FFT block size labels are generated automatically, based on
// FFT_BLOCK_SIZES vector defined in fft_helpers.h
Expand Down
14 changes: 7 additions & 7 deletions plugins/SpectrumAnalyzer/SaControls.h
Original file line number Diff line number Diff line change
Expand Up @@ -59,19 +59,19 @@ const int FRANGE_HIGH_END = 20000;
enum AMPLITUDE_RANGES
{
ARANGE_EXTENDED = 0,
ARANGE_DEFAULT,
ARANGE_AUDIBLE,
ARANGE_NOISE
ARANGE_LOUD,
ARANGE_SILENT
};

const int ARANGE_EXTENDED_START = -80;
const int ARANGE_EXTENDED_END = 20;
const int ARANGE_DEFAULT_START = -30;
const int ARANGE_DEFAULT_END = 0;
const int ARANGE_AUDIBLE_START = -50;
const int ARANGE_AUDIBLE_END = 10;
const int ARANGE_NOISE_START = -60;
const int ARANGE_NOISE_END = -20;
const int ARANGE_AUDIBLE_END = 0;
const int ARANGE_LOUD_START = -30;
const int ARANGE_LOUD_END = 0;
const int ARANGE_SILENT_START = -60;
const int ARANGE_SILENT_END = -10;


class Analyzer;
Expand Down
12 changes: 6 additions & 6 deletions plugins/SpectrumAnalyzer/SaProcessor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -499,10 +499,10 @@ float SaProcessor::getAmpRangeMin(bool linear) const
switch (m_controls->m_ampRangeModel.value())
{
case ARANGE_EXTENDED: return ARANGE_EXTENDED_START;
case ARANGE_AUDIBLE: return ARANGE_AUDIBLE_START;
case ARANGE_NOISE: return ARANGE_NOISE_START;
case ARANGE_SILENT: return ARANGE_SILENT_START;
case ARANGE_LOUD: return ARANGE_LOUD_START;
default:
case ARANGE_DEFAULT: return ARANGE_DEFAULT_START;
case ARANGE_AUDIBLE: return ARANGE_AUDIBLE_START;
}
}

Expand All @@ -512,10 +512,10 @@ float SaProcessor::getAmpRangeMax() const
switch (m_controls->m_ampRangeModel.value())
{
case ARANGE_EXTENDED: return ARANGE_EXTENDED_END;
case ARANGE_AUDIBLE: return ARANGE_AUDIBLE_END;
case ARANGE_NOISE: return ARANGE_NOISE_END;
case ARANGE_SILENT: return ARANGE_SILENT_END;
case ARANGE_LOUD: return ARANGE_LOUD_END;
default:
case ARANGE_DEFAULT: return ARANGE_DEFAULT_END;
case ARANGE_AUDIBLE: return ARANGE_AUDIBLE_END;
}
}

Expand Down