Mark J. Fine - 6 days ago

Not sure how often people check here, but I wanted to point out that I've been doing a bit of maintenance on my branch of the software at https://sourceforge.net/p/drm/code/HEAD/tree/branches/dream-mjf/. The changes have been fairly well tested in in macOS, Fedora 44, and Windows 11. Here is a list of the changes made since v2.3 per ChangeLog:

  • Added a tuning offset for DRM mode
  • Added a station name filter to the Stations dialog
  • Added a synchronisation feature that finds the currently tuned frequency in the Stations dialog
  • Cleaned up well over 80 deprecation notices across all platforms (Note: Windows still has around 88 integer mismatch warnings and Linux has about 9 related to qwt internals, but I'm leaving all of those alone)
  • Fixed lockups when xHE-AAC drops out and restarts
  • Fixed incorrect processing of input audio at startup
  • Fixed crashing when closing app in AM mode
  • Fixed display of the correct Speex user-defined setting at startup
  • Fixed character set used by Eibi data in the Stations dialog
  • Fixed display of user-defined column widths and position in Stations dialog
  • Fixed opening of audio test files from the menu
  • Fixed resetting of device and title bar when closing an audio test file in macOS (Linux & Windows has problems returning from pSound, and macOS sometimes still causes a trap segfault when closing a test file)
  • Fixed returning to the user-set input device rather than the default when closing an audio test file - when it doesn't crash - see above)
  • Fixed the character set display in the Stations dialog when using EiBi
  • Fixed out of date Eibi lookup data using 21 July 26 data
  • Fixed data initialisation issues at startup
  • Fixed randomly ordered display of audio inputs and outputs in the Settings menu
  • Fixed inability to change input or output sources from the menu without crashing in Windows
  • Fixed ability to build with and use Hamlib in Windows

Things I'm still looking at/considering per TODO:

  • Continuing to look at currently marked TODOs
  • Continuing to clean up conditional warnings regarding unused variables and unnecessary header references
  • Closing audio test files still remains an issue across all platforms and seems to be a timing issue with the processing loop in macOS (traps); as well as problems returning from pSound in Linux and Windows. Not certain this is something of a high priority since the general user may not even know (or even care) about using the test files, and the workaround is to just start the app using an optional "-f \<filepath>" for this feature, then just killing the app. Or just opening the file using the File/Open... interface provided and then just killing the app.
  • Hamlib integration under Windows is still a little clunky when looking at exported variables (e.g., hamlib_version). Looking at a better way to either discover why the compiler ignores those valid library references per <rig.h> or at least a more elegant way of retrieving them.</rig.h>
  • The current source of DRM schedule data is woefully out of date. Am looking for a solution that incorporates data from two different sources and provides it using the current mechanisms in Dream. What doesn't help is that TDF's test transmissions seem to change week-to-week. Am currently thinking of creating a mirror for this branch on my github account. The benefit of this would provide a valid alternate URL for updated DRM data. Also not sure that this SourceForge site is currently being maintained anymore. That said, am likewise unsure if this solution is viable from a licensing standpoint.
  • Would like to add a quick connect/disconnect button for Hamlib, for when you want to use an alternate tuning mechanism using the same pipe
  • Long shot is to investigate TDF's TDFCast MM stream.
  • Another long shot is updating to Qt6, since Qt5 has been EOL for well over a year. Quite frankly I may just leave this for later, since it will be intense and the football just restarted (Up the Gunners!).

Note that I've done close to nothing regarding the transmission side of the app (CTx) that wasn't necessitated by Hamlib interface changes. As a non-ham I know of no way to test it.

If anyone has any other comments, questions, bug reports, or suggestions, feel free to pipe in.

I think the app in it's current state now serves really well as a good general purpose DRM demodulator and AM demodulator with Speex DSP (I use it at -25db); as well as for interfacing to the various SDR apps via Hamlib's Airspy/gpredict and/or Gqrx settings.

 

Last edit: Mark J. Fine 6 days ago