Commit Graph

120 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 4605eaccf0 Cleanup: demodulator mgr, instances, threads 2021-04-04 22:14:31 -04:00
Charles J. Cliffe 9ed085123a More AppFrame cleanup, active/current modem verbage adjustments 2019-02-11 22:59:43 -05:00
vsonnier b27a8890d6 Fix #689: Wrong setAudioSampleRate code, thanks @GkvJeep 2018-11-14 20:16:11 +01:00
vsonnier 00c0693574 Fix #675 cut-n-paste giving wrong demod data queue (thanks @GkvJeep) plus boost of AudioThread queue size to prevent stuttering at very high CPU loads 2018-08-31 20:21:45 +02:00
vsonnier 00a864f741 Fix #635 Round 2 for Bookmarkview on Windows, should be OK now 2018-03-24 08:45:50 +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 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
vsonnier fc0f20f07d Removed recording duration limitation:
- Limit WAV size to 2GB for maximum compatibility,
- Continue recording on another file when size gets too big (XXX_001.wav, then XXX_002.wav and so on)
- The sequence assure up to 2000GB worth of recording which should be enough
- Changed file pattern to international Year.Month.Day so its recognizable whether you are English of French or whatever :)
2018-01-07 08:59:39 +01:00
Charles J. Cliffe be75c62778 Menu and demod display tweaks 2018-01-02 23:51:32 -05:00
Charles J. Cliffe e6cd2ae774 AppImage fix - put_time req. GCC 5+ 2017-12-31 20:59:06 -05:00
Charles J. Cliffe 326a993a29 Sequence recording on format change; user label as filename when available 2017-11-16 23:53:30 -05:00
Charles J. Cliffe f8e51df8cd Demod instance start/stop recording setup 2017-10-09 20:07:40 -04:00
Charles J. Cliffe c202d99a2a initial audio sink file and thread handling rough-in 2017-09-26 23:25:55 -04:00
vsonnier 030628c5ed SDRPostThread is better using try_push, restore previous audio-related code in DemodulatorInstance 2017-09-02 16:24:25 +02:00
vsonnier 9bbcb582e3 Fix hang when the active demodulator goes out-of-bandwwidth by changing sample rate 2017-08-31 20:51:37 +02:00
vsonnier 3f90cbb858 Flush queues on terminate() calls to unblock push()s and so ease threads termination 2017-08-28 20:53:21 +02:00
vsonnier b52c4ac8a6 This lock is actually needed, restore it. 2017-08-27 13:35:11 +02:00
vsonnier 37712c7a81 Simplify SDRPostThread: no longer binding methods, directly use the true list of demodulators 2017-08-27 12:39:28 +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 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
Charles J. Cliffe f4d090e65b Tweaks for bookmark selection, activation and group renaming 2017-03-30 22:26:11 -04: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 5c72b97309 Merge branch 'develop' into master 2017-01-02 21:22:13 -05: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 560caccbc7 Apply theme to bookmark panel, implement RGBA4f->wxColour operator 2016-09-29 21:57:23 -04:00
Charles J. Cliffe 367a723947 Active modem tracking; update only when necessary 2016-09-22 20:40:07 -04:00
Charles J. Cliffe 9f5c674646 Make sure squelch lock is released on de-activate too 2016-08-13 14:18:41 -04:00
Charles J. Cliffe dedac01709 Moving signal ceil/floor for squelch 2016-08-10 14:02:25 -04:00
Charles J. Cliffe 0f5b891b20 Fix Digital scope 2016-07-24 17:24:29 -04:00
Charles J. Cliffe 0090838070 Make modemFactories function ref vs. instances which carry other dsp kit stuff 2016-07-24 15:25:17 -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 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 55ca1c465a Basic support is here for user labels, even if DataTree only support 8bit strings
Regenerated fonts with up to 254 characters. Rendering is OK, but DataTree do not able to save it...
2016-06-12 17:05:11 +02:00
vsonnier 00e241a784 LABEL: first attempt, <user_label> is read from session XML, apparently also saved. 2016-06-11 07:46:07 +02:00
Charles J. Cliffe fa9dfc2fb4 Rough visual cue for demod instances, implement squelch break indicator 2016-06-03 20:05:38 -04:00
vsonnier 5bb43f5aaa Replace mutex lock/unlock pairs with guards, cleanups 2016-06-03 18:45:03 +02:00
Charles J. Cliffe 5a6d97e480 Bingo.. DemodulatorInstance deltaLock atomic_bool was uninitialized.. :) 2016-06-02 22:28:17 -04: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 f22ef685f5 Static analysis related fixes 2016-03-30 19:34:36 -04:00
Charles J. Cliffe b155338b1d Fix broken lastGain property usage 2016-03-07 20:15:27 -05:00
Charles J. Cliffe 1cd8759880 Add center lock and modem tracking to rig control 2016-02-29 23:14:23 -05:00
Charles J. Cliffe 93d2c73fb9 Add delta lock -- lock modem relative to center frequency 2016-02-15 17:43:10 -05:00
Stanisław Pitucha c59f72d4a0 Cleanup unused var warnings
Clean up compiling output so that actual issues can be spotted. Remove multiple
cases of unused parameter. Remove unused isActive at startup. (demod is started
regardless)
2016-01-27 11:21:53 +11:00
Charles J. Cliffe 76d69ffd78 Add GMSK, fix modem bandwidth logic, cleanup. 2015-11-30 21:58:54 -05:00
Charles J. Cliffe 380a5e4c2e Fix case where re-activation shows old mode dialog 2015-11-29 15:16:44 -05:00
Charles J. Cliffe 7e4d173996 Basic console window for digital output
- Probably end up making this a single tabbed dialog but this works for
the moment
2015-11-28 23:03:07 -05:00
Charles J. Cliffe eb7986e25f Save/load modem settings, race fixes, legacy session support 2015-11-27 00:05:21 -05:00