124 Commits

Author SHA1 Message Date
vsonnier
8f608bbf5c Cleanup: remove some unused params and variables, conversion warnings seen with #550. 2017-05-29 20:22:10 +02:00
vsonnier
56b56685e0 Yet Another Semicolon After Endif left... (#549) 2017-05-27 15:28:42 +02:00
vsonnier
d170f731c5 Fix #549, plus more usual syntax for #548 2017-05-27 07:46:28 +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
af20f680a4 Clearer ThreadBlockingQueue impl by using a field to hold size... 2017-05-21 21:04:12 +02:00
vsonnier
41c7dd231b Fix tabs introduced in latest commits... 2017-05-21 10:03:21 +02:00
vsonnier
e0af609224 Use a circular buffer for ThreadBlockingQueue (allocation-free) 2017-05-21 09:39:29 +02:00
vsonnier
c1fef72103 Use more a reliable time source in Windows for the Timer class 2017-05-20 13:31:55 +02:00
vsonnier
0a19686b51 Remove 'threadlocal' pedantic and very limited usage that is not supported on all platforms 2017-04-05 19:28:18 +02:00
Charles J. Cliffe
8dfb8ea3f1 minor fixes 2017-02-16 21:54:18 -05:00
vsonnier
7d412eccb6 BLOCKING_QUEUE: display current Thread id in both hex and decimal so both worlds are happy (GDB and Visual Studio) 2017-02-14 18:42:12 +01: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
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
c00060a7d9 FIX: size_t definition not visible on some systems, so include stddef.h explicitly 2017-01-29 17:10:44 +01:00
vsonnier
115b0ffa58 CLEANUP: some compiler and static analysis warnings 2017-01-28 14:57:27 +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
68495b4d90 Dual bookmark backup files with user notification, auto-recovery and bail; save top level branch expand states 2016-12-27 13:01:19 -05:00
Charles J. Cliffe
cf056acfe6 Load/Save view ranges 2016-12-27 00:46:12 -05:00
Charles J. Cliffe
2cc05baaa1 Bookmarks/Recents now loading & saving 2016-12-13 21:09:44 -05:00
Charles J. Cliffe
746b7cfcae Bookmarks now save on exit; not loaded on startup yet. 2016-12-12 23:47:05 -05:00
Charles J. Cliffe
020cef12c9 Recents list, DataTree rewindAll(), Bookmark view updates 2016-10-05 19:10:01 -04:00
Charles J. Cliffe
95fd357c72 Add font scale support to meter panel 2016-07-21 18:43:11 -04:00
Charles J. Cliffe
4d2ea8d08a Merge pull request #398 from vsonnier/thread_clean_3
thread_clean_3: Multithreading AudioThread hardening, use of try_pop() and more.
2016-07-08 21:28:11 -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
Charles J. Cliffe
baa5d93ba6 Merge branch 'master' into gain_gui_cleanup 2016-07-06 21:00:04 -04:00
Charles J. Cliffe
a87c58c4a8 Initial Meter Panel work 2016-07-03 20:59:49 -04: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
Charles J. Cliffe
464055ff57 OSX bundled font fix-up 2016-06-28 19:36:37 -04:00
vsonnier
a558102cc5 Rewrite GLFont loading routine with correct paths computation 2016-06-25 17:51:22 +02:00
vsonnier
07102caf54 dB display truncated on the left at big zoom levels + Realign TextPanel font choice on existing fonts because scaling is quite ugly 2016-06-24 22:20:51 +02:00
vsonnier
78cfe9c755 DONE. Now GLFont.getFont() retturns a proxy that automatically selects the best font for the required size 2016-06-23 21:28:04 +02:00
vsonnier
83b62cddeb The quest continues, almost done, but have an idea to rework GLFont.drawString() completly, TODO next time 2016-06-22 21:21:32 +02:00
vsonnier
9962e606a6 FIX out-of-bounds dB display 2016-06-22 19:04:59 +02:00
vsonnier
85178095ca Reset all font caches when font size changes 2016-06-21 21:26:12 +02:00
vsonnier
f52bad6196 Make GLFont its own pixHeight, so don't provide it in drawString() anymore 2016-06-21 21:26:10 +02:00
vsonnier
26bf1d9927 GLFont doCacheGC() in one pass 2016-06-21 21:26:10 +02:00
vsonnier
92221bccdd Save font scale in global settings 2016-06-21 21:26:09 +02:00
vsonnier
f3d4b8868a Force general refresh on font change 2016-06-21 21:26:08 +02:00
vsonnier
46bf72aa0f Refactor: put fonts in their own 'fonts' subdir, because they are quite numerous now 2016-06-21 21:26:07 +02:00
vsonnier
4d12b2f392 Changed medium to 1.5x instead of 1.3333x... 2016-06-21 21:26:06 +02:00
vsonnier
e099c170f6 Kinda works, not perfect though. 2016-06-21 21:26:06 +02:00
vsonnier
3918c7b9f4 wstring/string usage pass, should be clean now 2016-06-14 19:52:15 +02:00
vsonnier
4def8ee0f1 This was seriously fucked up :) Now it seems OK. 2016-06-13 21:50:18 +02:00
Charles J. Cliffe
8ff4176bd9 missing algorithm for replace() 2016-06-12 23:38:22 -04:00
Charles J. Cliffe
8b3fba02cc GCC missing codecvt support 2016-06-12 23:36:38 -04:00
Charles J. Cliffe
61d67e69d6 wstring support for datatree, urlencode for xml..? 2016-06-12 22:49:13 -04:00