vsonnier
64e44d6172
Merge remote-tracking branch 'origin/master' into audio_recording
2018-01-10 19:00:04 +01:00
vsonnier
0f72a0f683
Fix #593 : Make the middle of the range always the central frequency
2018-01-09 20:22:56 +01:00
vsonnier
978cf492f8
Merge remote-tracking branch 'origin/master' into audio_recording
2018-01-09 07:07:11 +01:00
vsonnier
f1208c7f5c
When saving bookmarks, use active information when available
...
+ Fixed std::string <=> std::wstring conversions using wxString
+ cleanups.
2018-01-08 19:26:34 +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
vsonnier
8f45451df2
Choose a valid audio output if the modem-saved one is not recognized.
2018-01-06 16:15:40 +01:00
vsonnier
8daadc3603
Missing trace in AudioSink queue saturation
2018-01-06 15:10:25 +01:00
vsonnier
1dbfcedcd2
Fix to record below-squelch levels as audio silence
2018-01-06 14:19:32 +01:00
vsonnier
d4251b41fb
Feature #486 : Save/Load bookmarks into files
2018-01-06 10:22:14 +01:00
Charles J. Cliffe
be75c62778
Menu and demod display tweaks
2018-01-02 23:51:32 -05:00
Charles J. Cliffe
8609667f33
About Dialog code update, passive vcredist install
2018-01-02 00:13:09 -05:00
Charles J. Cliffe
f625cb6eea
Donation list update
2018-01-01 22:12:04 -05:00
Charles J. Cliffe
e6cd2ae774
AppImage fix - put_time req. GCC 5+
2017-12-31 20:59:06 -05:00
Charles J. Cliffe
9b1f7b828c
Merge branch 'master' into audio_recording
2017-12-31 14:54:41 -05:00
Charles J. Cliffe
5c45c1cf6b
Record muted, toggle-all recording /w shift-R, status texts
2017-12-29 22:46:39 -05:00
Charles J. Cliffe
b9e4f6aeba
Recording path notify, bookmark panel record buttons, tweaks and adjustments
2017-12-04 22:44:47 -05:00
vsonnier
ada56440fc
Fix reloading of gains at startup.
2017-11-25 09:47:43 +01:00
vsonnier
4b077af873
Fix for gain sliders not perfectly following integer gain steps from the menu (i.e RSPx RF gains)
2017-11-20 18:53:38 +01:00
vsonnier
e44af72b00
Assure Gain control <==> Settings menu synchronization in case of mutually depdendent updates
2017-11-19 17:06:11 +01: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
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