Commit Graph

75 Commits

Author SHA1 Message Date
Charles J. Cliffe a409822429 Enumerator class and warnings cleanup 2021-04-22 00:34:45 -04:00
Charles J. Cliffe 0b97bd360a Cleanup: audio file, audio threads 2021-04-04 22:13:31 -04:00
vsonnier f2de1dd987 Fix #601 ?: Removed deadlock that prevent Audio controller threads to die. 2018-01-22 20:11:13 +01:00
vsonnier 033bbd07df AudioThread: re-apply consistent formating 2018-01-22 07:10:45 +01:00
vsonnier fc1c1c3b4d AudioThread: rollback deviceCleanup() to only doing terminate + TEST: apply to all platforms 2018-01-22 07:04:45 +01:00
vsonnier 36224defd7 AudioThread: Rework mutex usage (again) + added proper cleanups (hopefully) 2018-01-21 18:08:46 +01:00
Charles J. Cliffe 7baaca1216 OSX crash-on-exit fix, File menu tidying, Confirm bookmark reset 2018-01-14 18:56:30 -05:00
vsonnier 3334538e64 Fix boolean usage instead of bool (we are not Java, are we ?) 2018-01-13 12:17:02 +01:00
vsonnier 26deefd606 Added #583: add periodic file generation, plus other options:
- Added a Recording menu,
git commit -m Added
2018-01-13 11:50:31 +01:00
Charles J. Cliffe b9e4f6aeba Recording path notify, bookmark panel record buttons, tweaks and adjustments 2017-12-04 22:44:47 -05:00
Charles J. Cliffe 6af64752be Merge branch 'master' into audio_recording 2017-11-01 22:34:28 -04:00
vsonnier 230a87d8df AudioThread: Revised mutex usage for devices vs. AudioThread* due to erroneous implem., creating crashes in some cases
(damn those things are hard...)
2017-10-28 11:57:01 +02:00
Charles J. Cliffe a398bc57f1 Initial AudioSink thread base and recoring preference 2017-09-24 23:50:08 -04:00
vsonnier 927d727a16 Try not to use atomics in performance code 2017-09-22 22:53:59 +02:00
vsonnier 252b6bf9f8 AudioThread polishing 2017-09-01 06:18:35 +02:00
vsonnier a8f8f4a7e2 Initial commit: working... 2017-08-27 11:11:30 +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 a0526f757e ReBuffer somewhat cleaner, safer code 2017-05-26 10:29:47 +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 25f7ba386d BLOCKING_QUEUE: remove ThreadBlockingQueue dependency to ThreadQueue, remove ThreadQueue.h from CMakeLists 2017-02-14 18:42:11 +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
Charles J. Cliffe 3ec14fbe38 Licence fix, add SPDX-License-Identifier, remove unused code files 2017-01-02 21:07:43 -05: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 567d84711f THREAD_CLEAN_PART2: Assure correct terminate()/isTerminated(delay)/delete sequence +
Removed the NotifyQueue between DemodulatorInstance participants, actually not needed
since DemodulatorInstance::IsTerminated() is explicitly called on some events for cleanups

DELETE_CLEANUP: properly nullify deleted pointers when needed
2016-07-03 14:22:41 +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 5bb43f5aaa Replace mutex lock/unlock pairs with guards, cleanups 2016-06-03 18:45:03 +02:00
vsonnier fc4fa3e74f MISC 2: Make ReferenceCounter refcount itself protected by the same mutex of the whole class, for state consistency 2016-06-01 19:46:45 +02:00
Charles J. Cliffe f22ef685f5 Static analysis related fixes 2016-03-30 19:34:36 -04:00
Charles J. Cliffe c303b68284 Basic X/Y scope plot while in digital mode 2015-11-29 13:35:12 -05:00
Charles J. Cliffe c30cce9114 Add functional Spectrum view to demodulator visuals
- Might need to do some renaming from Scope->AVDisplay or something for
ScopeCanvas to avoid confusion.
2015-08-24 01:31:37 -04:00
Charles J. Cliffe 10e35002f1 AudioThread & demod worker IOThread queues, cleanup 2015-07-30 19:30:46 -04:00
Charles J. Cliffe 05cd99bbf1 IOThread all the things! 2015-07-29 20:57:02 -04:00
Charles J. Cliffe 57e988572f type updates 2015-07-19 23:19:10 -04:00
Charles J. Cliffe 2a9eadbf9a Issue #81 patches from @dovandung 2015-05-27 23:22:19 -04:00
Charles J. Cliffe 4147582d2a Refactor for sample rate changes, audio thread race crash fixes 2015-03-15 21:02:26 -04:00
Charles J. Cliffe b197a7ddb2 Can now set output sample rate, demodulator sample rate doesn't adjust yet so I find it rather hilarious at the moment :) 2015-03-13 22:25:07 -04:00
Charles J. Cliffe 84bd856c53 Remove unused non-mixer based code, simplifies audio thread and can be emulated by overloading thread device ids anyways 2015-03-12 19:34:50 -04:00
Charles J. Cliffe 9d9bb8f103 OSX .app compiles but with runtime dylib errors
Regular binary compilation works, manual wxWidgets compile required for
app (port version doesn’t work for me).
Fixed-up app has runtime errors with dylib files but otherwise verifies…
2015-02-17 21:26:14 -05:00
Charles J. Cliffe c69d05010c Merge remote-tracking branch 'origin/mixer-fixes' into waterfall-optimize 2015-02-11 21:35:44 -05:00
Charles J. Cliffe 261d2dbe5f audio thread locking fixes 2015-02-11 21:35:27 -05:00
Charles J. Cliffe add04883eb Audio thread mixer adjustments
- Automatic gain balance
- Clipping prevention
2015-02-08 18:59:08 -05:00
Charles J. Cliffe 963e26bc07 Linux somewhat functional 2015-01-18 01:36:28 -05:00
Charles J. Cliffe 60b5dbb07f Per-demodulator gain settings 2015-01-10 20:33:30 -05:00
Charles J. Cliffe 95fcb30733 Audio thread lock fix 2015-01-08 21:12:49 -05:00
Charles J. Cliffe 9f945026b8 Fix frequency related data types for >2Ghz 2015-01-04 17:11:20 -05:00
Charles J. Cliffe 334618d000 cleanup, refactor, right mouse waterfall zoom drag 2015-01-03 17:07:39 -05:00
Charles J. Cliffe 955ec54b44 Audio device selection fixes for OSX 2014-12-31 22:38:59 -05:00
Charles J. Cliffe 6679b20fbb Can now choose demodulator output devices 2014-12-31 21:31:37 -05:00
Charles J. Cliffe b7793ef905 Squelch slider/signal indicator 2014-12-31 19:45:01 -05:00