109 Commits

Author SHA1 Message Date
vsonnier
d170f731c5 Fix #549, plus more usual syntax for #548 2017-05-27 07:46:28 +02:00
vsonnier
fcf9f0bb82 Potential fix for #548, to be tested in Nix-like environnements 2017-05-26 23:22:43 +02:00
vsonnier
9b0ce69e8f Use the nuclear option to solve the hung problem:
Besides deadlocks, a thread can in theory get stuck in a blocking pop(),
not seeing the stopping flag in particular. So assure liveness by making all
pop() timed pop.
2017-05-25 09:32:27 +02:00
vsonnier
77a82e1617 Another fix for the neverending hung application bugs:
- Clear up DemodulatorInstance garbage collection, only do it in a single thread (AppFrame::OnIdle)
- Add a specific mutex lock for the list of deleted demodulators,
- Add a specific lock to control DemodulatorInstance thread lifetimes, protecting IsTerminated() of concurrent join and delete
2017-05-25 08:03:08 +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
9e32141a5f MISC4: Fix ref count of VisualDataDistributor (harmless, currently unused) 2017-02-15 20:45:46 +01:00
vsonnier
65c1722bca FIX: VisualProcessor compilation on Linux targets (#514), ThreadBlockingQueue version... 2017-02-14 18:42:12 +01: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
c0dafb3197 FIX: VisualProcessor compilation on Linux targets (#514), suggested by @abousselmi, also works on MSVC 2017-02-14 18:34:25 +01:00
vsonnier
d3db510643 pre-BLOCKING_QUEUE: Simplified, fixed ThreadQueue, VisualProcessor (use std:deque, cleaner templates, max_size fixes) 2017-02-12 12:53:50 +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
vsonnier
115b0ffa58 CLEANUP: some compiler and static analysis warnings 2017-01-28 14:57:27 +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
2bbae7209f Solo squelch break focus lock/tweak 2016-08-12 22:58:33 -04:00
Charles J. Cliffe
6ea2b5b8e8 More squelch tweaks; include I/Q dB and compare to audio for peak 2016-08-12 21:34:34 -04: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
21c8a81c32 TH_CLEAN_3.5: push() cleanup side of things, assure SDRThread::readStream() to actually check for full + make ThreadQueue notify even in case on not-successfull push(), make it spam notify_all() everytime 2016-07-08 23:30:15 +02:00
vsonnier
b495b388c9 TH_CLEAN_3: Use of non-blocking try_pop() when possible,
AudioThread concurrent access hardening and simplified,
and misc.
2016-07-05 21:45:42 +02:00
vsonnier
52de909cfb THREAD_CLEAN: Clearly distinguish between a request to stop by terminate() from the actual termination isTerminated() 2016-06-28 22:16:34 +02:00
vsonnier
23f3ff132a FIX not-initialized audio samples in mono causing fucked FFT + pedantic touches 2016-06-25 16:02:44 +02:00
Charles J. Cliffe
296b0da04a unnecessary frequency=0 check.. 2016-06-03 20:35:08 -04:00
vsonnier
5bb43f5aaa Replace mutex lock/unlock pairs with guards, cleanups 2016-06-03 18:45:03 +02:00
Charles J. Cliffe
6d63d570aa comment out some noisy stdout logging until there's a proper facility for log outputs 2016-06-02 19:45:34 -04:00
Charles J. Cliffe
99f7beba49 ReBuffer is overkill for scope vis and crashes OSX; just push and delete at reciever; clean up lazy exception-fallback loadSession code 2016-06-02 19:25:52 -04:00
Charles J. Cliffe
d2943b56c4 Merge branch 'session_bugfix' 2016-06-01 19:48:32 -04:00
Charles J. Cliffe
688181e566 Cleanup MSVC warnings and deprecated C++ exception stuff 2016-06-01 19:42:34 -04:00
vsonnier
357dcc967b MISC 1: make IOThread input and output queues returned as ThreadQueueBase*, not void*, cleaner.
then use static_cast for downcasts, because we know what we are doing
2016-06-01 19:42:11 +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
Charles J. Cliffe
3df7461a15 Add OSX About.. dialog, fix menu agc init logic, fix some queue limits 2016-02-28 22:44:17 -05:00
Charles J. Cliffe
65005b60ac Linux - missing header and warning fixes 2016-02-04 18:05:33 -05:00
Charles J. Cliffe
c4dac53532 Fix remaining init order and unused warnings 2016-01-28 18:11:53 -05:00
Stanisław Pitucha
035353123d Fix signed/unsigned variables 2016-01-29 07:49:31 +11:00
Charles J. Cliffe
b75586119c Just lag instead of overloading memory on waterfall overload 2016-01-22 01:31:45 -05: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
4fe7e87e17 Half-band transition floor/ceiling reset 2015-12-31 22:18:53 -05:00
Charles J. Cliffe
01c10efeff Half-band transition and frequency change peak hold tweaks 2015-12-31 21:28:56 -05:00
Charles J. Cliffe
fe264b9da1 clear shifted peak data 2015-12-31 20:52:25 -05:00
Charles J. Cliffe
6df9661db1 Add peak hold to spectrum visuals 2015-12-31 20:44:39 -05:00
Charles J. Cliffe
127f4ff87c fftwf_malloc -> malloc MSVC fix
Calling fftwf_malloc after the first init on Windows crashes?  malloc()
seems to be fine..
2015-12-31 00:25:05 -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
423b590d7c Fix off-by-one error and missing modem bw defaults 2015-12-14 19:31:18 -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
be8cde6ce3 More zoom tweaks, fix half-band tuner step 2015-12-13 14:09:04 -05:00
Charles J. Cliffe
d448f6dfc4 Fix mis-aligned average buffers on view shift 2015-12-12 19:26:02 -05:00
Charles J. Cliffe
aa4478946f Fix demod waterfall/spectrum 2015-12-12 17:38:17 -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
cdc80b890b Add ReBuffer buffer count warning, fix SDRPostThread off-by-one channel reset 2015-12-04 22:10:51 -05:00