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
8f31fd9f5b
Recording is now writing playable .WAV files
2017-11-02 00:01:22 -04:00
Charles J. Cliffe
6af64752be
Merge branch 'master' into audio_recording
2017-11-01 22:34:28 -04:00
vsonnier
d55d7e9b75
Halloween Warning cleanup:
...
- wxFont SetFont() deprecated warnings, suppressed by re-generating forms with latest wxFormBuilder,
- double-to-float implicit conversion in CubicVR2
2017-10-31 11:08:15 +01:00
vsonnier
d8ff4ea1de
Squash some warnings with std::shared_ptr init seen on Ubuntu 16.04
2017-10-29 15:06:24 +01:00
vsonnier
89d12ef4e3
#513 Workaround in case the number of samples rates is too much to be handled by the menu, decimate to 25 max.
2017-10-28 13:12:27 +02: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
vsonnier
3cc49bdb15
Fixes #581 ?: Do not set std::shared_ptr to nullptr in constructors (useless anyway) since they could be wrongly interpreted
2017-10-16 18:50:55 +02:00
vsonnier
6019207bd4
VisualProcessor : protect against null input queue
2017-10-15 08:51:01 +02:00
vsonnier
f4107c1541
Optimized VisualProcessor by using a non-recursive mutex and making some ops non-blocking, small AudioThread opt as well
2017-10-14 11:34:25 +02:00
Charles J. Cliffe
38fab6ac51
Add 'R' toggle key + fixes from initial testing
2017-10-12 00:08:22 -04: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
Charles J. Cliffe
21dd062da0
Merge branch 'master' into audio_recording
2017-09-24 23:56:37 -04:00
Charles J. Cliffe
a398bc57f1
Initial AudioSink thread base and recoring preference
2017-09-24 23:50:08 -04:00
vsonnier
1a73f627a2
Frequency entry dialog font is slightly too big to fit, use the same as Label dialog instead
2017-09-24 12:46:33 +02:00
vsonnier
927d727a16
Try not to use atomics in performance code
2017-09-22 22:53:59 +02:00
vsonnier
aec0100f78
ThreadBlockingQueue : remove useless/dangerous operations, forbid both copy and assignment.
2017-09-10 19:35:12 +02:00
vsonnier
afedca05c6
Updated liquid-dsp v1.30 Windows binaries to GCC 7.2.0 (MSYS2)
2017-09-02 21:49:20 +02: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
87077a89c1
Fix #574 : cannot enter frequency offsets > 2GHz
2017-09-01 18:39:35 +02:00
vsonnier
252b6bf9f8
AudioThread polishing
2017-09-01 06:18:35 +02:00
vsonnier
3a5b30dda8
Fix AudioThread nullptr check
2017-08-31 21:29:53 +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
3842cf087f
More terminate()-and-flush calls missed before
2017-08-29 18:48:59 +02:00
vsonnier
dc9c67bec1
Fix a DemodulatorInstance dangling reference
2017-08-29 06:40:07 +02:00
vsonnier
03bf38fea8
Squashing an actual memory leak in SDRPostThread by simplifying the code
2017-08-28 21:22:07 +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
3c3939e0b7
Use nullptr instead of NULL when shared_ptr is used
2017-08-27 13:00:32 +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
c112026a2c
Make processing queues timed-push, to be able to escape deadlocks. Rollback 'restart device when blocked' that is ineffective in practice.
2017-08-26 23:34:48 +02:00
vsonnier
ebca762ea8
Fix crash introduced with #559 , fix hanging thread at application termination
2017-08-25 18:52:33 +02:00
vsonnier
a018a36100
Add a read-only TX antenna menu entry showing the active one, closing #559
2017-08-25 07:28:14 +02:00
vsonnier
2c20f728d5
Settings UI even better, fix device config not right w.r.t real antenna presence
2017-08-24 21:26:28 +02:00
vsonnier
f5f4a80f23
Rollback addition of AGC,PPM in the SDRdevices menu, because not all devices support it. Keep Antenna selection, though
2017-08-23 23:49:52 +02:00
vsonnier
1042c62c3b
Initial commit: Antenna support, Enhanced Settings menu, Enhanced SDR device dialog
2017-08-23 23:27:49 +02:00
vsonnier
e32e687fe8
Make IOThreads terminate() fully non-blocking and misc.
...
- Thanks to timed-pop() usage, it is no longer needed to nudge queues with dummy to wake them
- Less bad luck to be stuck there
- Misc: leave the trace about the audio thread staturation, useful despite it raises some alarm among users...
2017-08-14 09:46:53 +02:00
vsonnier
acc6d2a31d
Restart the device automatically if stuck with read stream errors
2017-08-13 22:14:12 +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
98c7c30aee
Yet another Thread termination problem found, and try killing the app if the closing turns bad
2017-08-13 12:11:14 +02:00
vsonnier
33107bfa9e
Fix #565 , Solo mode is now saved into session files
2017-08-12 18:09:36 +02:00
vsonnier
e67a29f5b6
Don't get stuck when closing application just because some Demodulators refuse to die
2017-08-12 11:30:32 +02:00
vsonnier
33aa0cade6
Fix bad re-loading, setting and UI glitches for Device Runtime settings, and misc.
...
- Quite obvious on the SDRPlay RSP2 for ex.
- Random cleanups by using the for-each construct at some places for clarity.
2017-08-12 08:17:40 +02:00
Dell-Ray Sackett
ab6cb059b9
boolean not a valid keyword
...
changed boolean to bool in garbageCollect
2017-06-01 21:12:06 -07:00
Dell-Ray Sackett
b315bac97f
Change boolean to bool
...
void DemodulatorMgr::garbageCollect(boolean forcedGC)
should be
void DemodulatorMgr::garbageCollect(bool forcedGC)
2017-06-01 21:05:49 -07:00
vsonnier
3604b7f1ff
Even better thread and application termination:
...
- Now that timed-pop()/try_pop() prevent indefinite blocking it is best to flush() on thread stopping to unblock push()
- Reworked a bit the CubicSDR::OnExit() sequence, see comments.
2017-06-01 19:57:58 +02:00
vsonnier
8f608bbf5c
Cleanup: remove some unused params and variables, conversion warnings seen with #550 .
2017-05-29 20:22:10 +02:00
vsonnier
3095f8205a
CubicVR2: more restricted operators on structures by removing convert-to-pointer. ( Fix #550 ?)
2017-05-28 12:59:08 +02:00
vsonnier
56b56685e0
Yet Another Semicolon After Endif left... ( #549 )
2017-05-27 15:28:42 +02:00
vsonnier
3de3d3eee8
Tentative fix #549 prt 3
2017-05-27 12:36:47 +02:00
vsonnier
b3dd0b0d6e
Tentative fix #548 part 2
2017-05-27 09:49:19 +02:00
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
a0526f757e
ReBuffer somewhat cleaner, safer code
2017-05-26 10:29:47 +02:00
vsonnier
44cdfa8521
Make ReBuffer also GC its own memory + cleanups:
...
- Use deque in ReBuffer instead of vector (as before) because it allows freeing its memory
- Random cleanup: remove mutable when not needed.
2017-05-25 16:39:01 +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
8776908340
Fixes #546 , when MTU > nb samples per-frame, overflow management was wrong.
2017-05-23 11:09:29 +02:00
vsonnier
5797548739
SoapySDRThread tweak: directly resize to the final size when building SDRThreadIQData
2017-05-23 11:09:28 +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
fc2716518d
SoapySDRThread: more comments about the relation between MTU and sample rate
2017-05-21 09:20:41 +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
a541e55ff6
SaopySDRThread simplified, (small) perf improvement: No longer use inpBuffer,
...
write to SDRThreadIQData->data directly.
2017-05-20 13:31:46 +02:00
Charles J. Cliffe
1bf7c22f00
Donation list update
2017-05-11 22:51:39 -04:00
Charles J. Cliffe
91fd255c86
Remove temporary windows SSB filtering solution
2017-04-20 21:19:55 -04:00
Charles J. Cliffe
21b2b3d191
MSVC serial fix-up
2017-04-20 20:41:03 -04:00
Charles J. Cliffe
f9dc1aeb32
Use the right function..
2017-04-20 19:53:08 -04:00
Charles J. Cliffe
43a9150107
Fix rig control menu, add serial port detection and selection dialog
2017-04-20 19:40:09 -04: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
vsonnier
c8cca67fc7
Bookmarks: fix for #525 item 2, other cleanups.
2017-04-01 19:38:08 +02:00
Charles J. Cliffe
f4d090e65b
Tweaks for bookmark selection, activation and group renaming
2017-03-30 22:26:11 -04:00
Charles J. Cliffe
1529fe3306
Fix flip-flopping config path conflict when using alternate build name.
2017-03-21 19:30:36 -04:00
Charles J. Cliffe
ec10f2523e
Some additional custom build opts; fix compile order issue on OSX; patch tuning label font glitch.
2017-03-20 20:20:17 -04:00
Charles J. Cliffe
38e41eb85e
Groups now renamed like everything else; remove onRenameGroup dc
2017-03-16 23:23:21 -04:00
Charles J. Cliffe
243c744c0a
Fix the label editing issue :)
2017-03-15 21:23:13 -04:00
vsonnier
772e24fdb3
Better comments on CF32 format coming out of SoapySDR
2017-03-10 19:12:54 +01:00
vsonnier
97639d1d09
BIG FIX: Truncated stream of incoming samples on 32 bit targets !
...
This one is a veryy old long standing bug I was look for. All 32 bit Windows builds
suffered indeed of corrupted sound defects in all circumstances (reported even on rtl-sdr.com coments)
that had no identifiable origin... Until now.
Given the fix, all 32 bit adress targets should be affected as well...
2017-03-08 22:52:20 +01:00
vsonnier
294713945a
Bookmarks: a BookmarkEntry owns its DataNode, so free it in destructor
2017-03-07 18:30:33 +01:00
vsonnier
9726f0eec6
Bookmarks: no need to Delete a tree element when the next steps will take care of it
2017-03-06 19:51:27 +01:00
vsonnier
925203b4a5
Bookmarks (cont...) : more understanding, more comments, more fixes. NOW memory management should be clean...
2017-03-04 11:22:44 +01:00
vsonnier
7bab9588e1
Bookmarks: rollback delete item data procedures: reading wxWidgets labyrinthine code more carefully
...
item data is properly deleted by Delete or DeleteChildren. On the other hand, SetItemData simply overwrites the pointer,
so take care or releasing ressources there
2017-03-04 09:02:15 +01:00
vsonnier
b30f9e9bbb
Bookmarks: assure proper recursive cleanup of ItemData for all levels of a tree item
2017-03-03 22:49:58 +01:00
vsonnier
aab899d63c
Bookmarks fixes: try to cleanup Recent entries in order
2017-03-03 20:33:14 +01:00
vsonnier
c1184d24db
Bookmarks: cleanup item data properly
2017-03-02 22:10:17 +01:00
Vincent Sonnier
5fe844b8af
Should fix #520
2017-03-02 11:25:39 +01:00
vsonnier
bd65377162
BookmarkPanel was missing the Disconect matching the new Connect...
2017-03-01 22:25:27 +01:00
vsonnier
2760d3d12e
Status/tootips additions: Gain, Bookmarks. Fix Bookmark mousewheel handling (for Windows <= 7) for the tree view
2017-03-01 22:13:41 +01:00
vsonnier
b149da864a
Bookmark fixes and cleanups:
...
- Fix Search field not working on Windows 7 (at least), hope I didn't break all the other platforms
- Memory management is tedious there, with lots of BookmarkEntry* / BookmarkRangeEntry* shared and dangling around
we cannot reasonably know when to clean up safely. So go nuclear and std::shared_ptr those things.
2017-02-28 19:05:36 +01:00
vsonnier
469fc41805
AppFrrame::OnMenu() tidy, correct wrong ColorTheme name (harmless)
2017-02-26 11:18:09 +01:00
vsonnier
946a9801dc
FIX: Inactive demod bendwiths are restored to 0 from sessions, because they were erroneously saved as such.
...
The problem lies in DemodulatorPreThread:
- settings were actually get/set unprotected from concurrent access (bendwiths, frequencies, sample rates...etc) so make them atomic.
- If bandwith has changed, return the new value instead of the current one, just like frequencies.
2017-02-20 21:39:12 +01:00
vsonnier
051ebec49f
BLOCKING_QUEUE: let audio-out try_push() too, else it often blocks evrything while in debugger...
2017-02-18 10:15:47 +01:00
Charles J. Cliffe
8dfb8ea3f1
minor fixes
2017-02-16 21:54:18 -05:00
vsonnier
9e32141a5f
MISC4: Fix ref count of VisualDataDistributor (harmless, currently unused)
2017-02-15 20:45:46 +01:00
vsonnier
3ed65eff8e
BLOCKING_QUEUE: don't forget to cleanup if we try_push()
2017-02-15 20:27:57 +01:00
vsonnier
65c1722bca
FIX: VisualProcessor compilation on Linux targets ( #514 ), ThreadBlockingQueue version...
2017-02-14 18:42:12 +01: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
c0dafb3197
FIX: VisualProcessor compilation on Linux targets ( #514 ), suggested by @abousselmi, also works on MSVC
2017-02-14 18:34:25 +01:00
vsonnier
977ffa3e3d
MISC2: Position labels better according to font scale (working this time)
2017-02-13 18:38:16 +01:00
vsonnier
2b0a2822a7
MISC: Position labels better according to font scale
2017-02-12 22:27:46 +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
Charles J. Cliffe
8c1d785ff6
About Dialog panel padding tweak
2017-02-08 21:22:56 -05:00
Charles J. Cliffe
a4ae7fefb9
About dialog size adjustment
2017-02-08 19:48:28 -05:00
Charles J. Cliffe
6ce061280a
New 'About' dialog and minor cleanup
2017-02-07 21:48:22 -05:00
Charles J. Cliffe
a05741fa9e
Minor re-tweak of main waterfall default lines, version bump
2017-02-05 20:47:47 -05:00
vsonnier
a161cf51f9
OPTION1: Boost line numbers of main and demod waterfall from 512/128 to 1024/256
2017-02-05 18:54:17 +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
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
vsonnier
2d97353365
Add a proper icon to the SDR Devices dialog
2017-01-27 23:34:48 +01:00
vsonnier
848d1bf0e3
Manage B key correctly activated for spectrum, not waterfall. Add another independent B (dB) key for audio scope
2017-01-27 23:23:25 +01:00
vsonnier
532f34c608
Theme set/change now consistent over the UI
2017-01-27 23:23:25 +01:00
Charles J. Cliffe
0b10ea5fb7
Allow updating of an existing range
2017-01-24 23:14:39 -05:00
vsonnier
196c664cf4
Device Sample Rate improvements: UI, changed device sample rates to be expressed as long instead of int at some places for safety/consistency. Also pedantic harmless traces changes.
2017-01-21 12:56:16 +01:00
Charles J. Cliffe
5e4f5d7d96
IsMaximized() return is ambiguous for OSX full-screen vs. filled-screen; use Y position instead..
2017-01-18 21:24:50 -05:00
Charles J. Cliffe
066d634d24
Don't save maximized window state/position on OSX
2017-01-18 20:13:25 -05:00
vsonnier
7ab2b08e7d
UPGRADE_cleanup: removal of ENABLE_LIQUID_EXPERIMENTAL conditionals because the features are now in mainline liquid v1.30
2017-01-14 18:16:41 +01:00
vsonnier
1a53e454ab
FIX: missing demod displays due to wrong input/queue setups order
2017-01-08 12:46:31 +01:00
vsonnier
89cac5db88
FIX: wrong directive placement prevent building witout HAMLIB
2017-01-03 18:41:38 +01:00
Charles J. Cliffe
c3106613a2
Additional license headers, cleanup unused code defs/refs
2017-01-02 21:27:08 -05: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
3cfb0154af
Fix some header orders to make MSVC happy
2017-01-02 01:29:27 -05:00
Charles J. Cliffe
e971f551ad
Set default bookmark sash pos
2017-01-02 00:00:31 -05:00
Charles J. Cliffe
5c89a0783d
Flip recent list; bundle mod path update; version bump
2017-01-01 23:51:37 -05:00
Charles J. Cliffe
79c8c415e2
Show/Hide bookmarks option in display menu
2016-12-27 15:36:33 -05:00
Charles J. Cliffe
1ec92e0d9e
Update theme needs repaint; limit wxColour conversion
2016-12-27 14:46:50 -05:00
Charles J. Cliffe
83cb2659ff
Search actives, return proper expansion states after search
2016-12-27 13:49:47 -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
69e23fd13a
Save expanded group states
2016-12-27 00:59:51 -05:00
Charles J. Cliffe
cf056acfe6
Load/Save view ranges
2016-12-27 00:46:12 -05:00
Charles J. Cliffe
9eee45bb9d
Improve keyword searching method; add view range bookmarking support
2016-12-27 00:06:25 -05:00
Charles J. Cliffe
d816dc220a
Basic search, mostly functional
2016-12-26 21:56:19 -05:00
Charles J. Cliffe
a02dbae7d3
Prevent active switch from changing mode
2016-12-23 20:07:49 -05:00
Charles J. Cliffe
02a876272f
Resolve CMakeLists tab/spaces; add non-blocking action dialog for common user requests.
2016-12-23 18:45:25 -05:00
Charles J. Cliffe
2085d0f2c9
Save and load splitter sash positions
2016-12-18 12:00:53 -05:00
Charles J. Cliffe
5870c7f7a2
Remove / clear recent entries
2016-12-17 21:14:13 -05:00
Charles J. Cliffe
870f61cdce
Re-implement tree selection behavior tweaks
2016-12-17 20:47:32 -05:00
Charles J. Cliffe
fd928de3aa
Show drag item name in popup; follow mouse position.
2016-12-16 22:05:25 -05:00
Charles J. Cliffe
5924ebc057
Clean-up some error-prone prototype cruft
2016-12-15 21:53:51 -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
d48887d132
Bookmarking bugs, quirks and improvements
2016-12-12 20:17:47 -05:00
Charles J. Cliffe
4e2fced000
Handle out-of-band bookmarks and actives
2016-11-26 00:39:41 -05:00