Commit Graph

38 Commits

Author SHA1 Message Date
vsonnier 5ab44e3104 Use spin-locks for short-lived, non-recursive locking sequences 2019-03-03 10:36:10 +01:00
vsonnier 927d727a16 Try not to use atomics in performance code 2017-09-22 22:53:59 +02:00
vsonnier c64baab99d Threads vs. Queues lifetimes, cleanups.
- Ideally Queues must outlive the threads using them, but wasn't done so. Yes, std::shared_ptr them!
- Now queues are always valid in the context of the threads using them.
- No longer need tedious queues deallocation by the original owner.
- Misc cleanups.
2017-08-13 19:19:25 +02:00
vsonnier 4b323e9863 Make ReBuffer refcount management automatic, using std::shared_ptr:
- No longer need to call setRefCount() / decRefCount()
- Restore old ThreadBlockingQueue using std::deque, for std::shared_ptr correct behaviour.
2017-05-24 12:28:37 +02:00
vsonnier c7467a88bc BLOCKING_QUEUE: prepare by raising up max queue lenghts
BLOCKING_QUEUE: Replaced ThreadQueue usage by ThreadBlockingQueue usage
BLOCKING_QUEUE: instrument all push() with timeouts, showed some call have to be non-blocking...
BLOCKING_QUEUE: tuned push()/try_push()
2017-02-14 18:42:05 +01:00
vsonnier 4609386648 COMMENTS,POLISHING: comments fenzy around VisualProcessor machinery,
make process() a true interface as strong hint for derived classes,
plus misc define added for understanding.

BUGFIX: FFTDataDistributor loses incoming samples when compacting internal buffers.

BUGFIX2: FFTDistributor: Frozen Waterfall if internal buffer is no bigger than fftSize
2017-02-05 12:41:43 +01:00
Charles J. Cliffe 3ec14fbe38 Licence fix, add SPDX-License-Identifier, remove unused code files 2017-01-02 21:07:43 -05:00
Charles J. Cliffe 117f56dd9e Clean up redundant internal FFTW3 support; liquid-dsp will use FFTW3 if compiled in. 2016-07-20 18:43:54 -04:00
vsonnier 5bb43f5aaa Replace mutex lock/unlock pairs with guards, cleanups 2016-06-03 18:45:03 +02:00
Charles J. Cliffe b828b3636f Add 'Reduced CPU Usage' menu option and config entry. 2016-03-31 21:32:50 -04:00
Charles J. Cliffe 020145c705 Make FFTW3 optional; liquid-dsp is performing better on it's own.. 2016-03-20 18:56:13 -04:00
Stanisław Pitucha 035353123d Fix signed/unsigned variables 2016-01-29 07:49:31 +11:00
Charles J. Cliffe 62288e485f Improve peak hold usability; add 30 frame delay between resets; don't drag old data around 2016-01-02 01:38:17 -05:00
Charles J. Cliffe 6df9661db1 Add peak hold to spectrum visuals 2015-12-31 20:44:39 -05:00
Charles J. Cliffe 7d6a387a77 Updates and improvements for low-bandwidth input usage 2015-12-29 20:52:49 -05:00
Charles J. Cliffe aa821c8860 Zoom transition improvements, fix a nasty visual data overflow 2015-12-13 16:07:28 -05:00
Charles J. Cliffe 0b03ed47d4 Remap mis-matched averaging buffers on resampler change 2015-12-12 17:28:17 -05:00
Charles J. Cliffe e22e696a7d SpectrumVisualProcessor fixes/tweaks 2015-12-11 22:58:58 -05:00
Charles J. Cliffe fe25aaefdf SpectrumVisualProcessor Zoom rework
- Offloads some zoom processing from liquid-dsp to FFTW
- Eliminates aliases crawling across during zoom
- Doubles internal FFT allowing some additional visual smoothing
- Reduces CPU usage while zoomed deeply
- Eliminates CPU spikes while zooming
2015-12-08 22:17:00 -05:00
Charles J. Cliffe 11aa8e9b05 Right drag spectrum vertically to adjust scale 2015-10-25 00:07:01 -04:00
Charles J. Cliffe 5fd4ba8059 Some DC-Spike removal magic..
Pay no attention to the spike behind the curtain.. <*|:-)
2015-10-21 19:50:53 -04:00
Charles J. Cliffe 125a967ee3 svp header update 2015-09-07 20:53:55 -04:00
Charles J. Cliffe 13140ec28c SpectrumVisualProcessor thread fixes, spectrum label optimize 2015-08-23 17:51:20 -04:00
Charles J. Cliffe 8dc2e6cacc Move waterfall FFT processing to it's own thread. 2015-08-14 19:17:43 -04:00
Charles J. Cliffe 1e493b2e20 Save waterfall / spectrum settings, update session reset 2015-08-13 22:00:05 -04:00
Charles J. Cliffe c77d2c9408 windows fix-up 2015-08-12 22:36:29 -04:00
Charles J. Cliffe 7095993ba2 fft avgeraging float->double to remove some jitter 2015-08-12 22:28:39 -04:00
Charles J. Cliffe b345dc7516 Spectrum averaging control now functional 2015-08-12 22:14:14 -04:00
Charles J. Cliffe 706a113459 Functional waterfall speed control from 1->1024 lines per second 2015-08-11 23:52:03 -04:00
Charles J. Cliffe f4640094b8 Crank up the waterfall zoom limits for more detail :) 2015-08-11 20:37:46 -04:00
Charles J. Cliffe 8494ce3f18 FFTDataDistributor "lines per second" rate control 2015-08-11 19:03:46 -04:00
Charles J. Cliffe 0802f7b756 Experimenting with max speed waterfall (no dropped FFTs :)
- FFT Detail from zoomed-in views is greatly improved with the
additional data
2015-08-11 00:50:43 -04:00
Charles J. Cliffe 2cff389d6b SpectrumVisualProcessor now working, cleanup, refactoring 2015-08-03 01:38:38 -04:00
Charles J. Cliffe c448070319 Spectrum, Waterfall new headers 2015-07-31 21:47:44 -04:00
Charles J. Cliffe 77f172027e Spectrum, Waterfall processor prep 2015-07-31 21:47:21 -04:00
Charles J. Cliffe 61add8ae09 VisualProcessor now a template base, more tweaking needed 2015-07-31 21:03:17 -04:00
Charles J. Cliffe 52e6de5f9d prep code from waterfall/spectrum setData 2015-07-28 18:19:39 -04:00
Charles J. Cliffe 10bc0c8ec5 spectrum + waterfall processor init 2015-07-27 22:30:25 -04:00