Skip to content

Commit

Permalink
Merge branch 'master' into ms-external-vocoder
Browse files Browse the repository at this point in the history
  • Loading branch information
tmiw committed Aug 17, 2024
2 parents f6eee16 + e31b578 commit ba1f5d7
Show file tree
Hide file tree
Showing 27 changed files with 745 additions and 198 deletions.
6 changes: 4 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ endif()
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.11" CACHE STRING "Minimum OS X deployment version")

set(PROJECT_NAME FreeDV)
set(PROJECT_VERSION 1.9.9.1)
set(PROJECT_VERSION 1.9.10)
set(PROJECT_DESCRIPTION "HF Digital Voice for Radio Amateurs")
set(PROJECT_HOMEPAGE_URL "https://freedv.org")

Expand Down Expand Up @@ -48,7 +48,9 @@ endif(APPLE)

# Adds a tag to the end of the version string. Leave empty
# for official release builds.
set(FREEDV_VERSION_TAG "")
if(NOT DEFINED FREEDV_VERSION_TAG)
set(FREEDV_VERSION_TAG "devel")
endif(NOT DEFINED FREEDV_VERSION_TAG)

# Prevent in-source builds to protect automake/autoconf config.
# If an in-source build is attempted, you will still need to clean up a few
Expand Down
53 changes: 38 additions & 15 deletions USER_MANUAL.html
Original file line number Diff line number Diff line change
Expand Up @@ -643,22 +643,45 @@ <h1 data-number="17" id="glossary"><span class="header-section-number">17</span>
</tbody>
</table>
<h1 data-number="18" id="release-notes"><span class="header-section-number">18</span> Release Notes</h1>
<h2 data-number="18.1" id="tbd-tbd-2024"><span class="header-section-number">18.1</span> TBD TBD 2024</h2>
<h2 data-number="18.1" id="v1.9.10-tbd-2024"><span class="header-section-number">18.1</span> V1.9.10 TBD 2024</h2>
<ol type="1">
<li>Bugfixes:
<ul>
<li>Fix bug preventing saving of the previously used path when playing back files. (PR #729)</li>
</ul></li>
<li>Enhancements:
<ul>
<li>Show green line indicating RX frequency. (PR #725)</li>
<li>Update configuration of the Voice Keyer feature based on user feedback. (PR #730)</li>
<li>Add monitor volume adjustment. (PR #733)</li>
<li>Avoid modifying the audio device configuration without the user explicitly doing so. (PR #735)</li>
</ul></li>
<li>Build system:
<ul>
<li>Allow overrriding the version tag when building. (PR #727)</li>
<li>Update wxWidgets to 3.2.5. (PR #731)</li>
</ul></li>
</ol>
<h2 data-number="18.2" id="v1.9.9.2-june-2024"><span class="header-section-number">18.2</span> V1.9.9.2 June 2024</h2>
<ol type="1">
<li>Bugfixes:
<ul>
<li>Remove TX attenuation and squelch tooltips. (PR #717)</li>
<li>Disable 800XA radio button when in RX Only mode. (PR #716)</li>
</ul></li>
</ol>
<h2 data-number="18.2" id="v1.9.9.1-april-2024"><span class="header-section-number">18.2</span> V1.9.9.1 April 2024</h2>
<h2 data-number="18.3" id="v1.9.9.1-april-2024"><span class="header-section-number">18.3</span> V1.9.9.1 April 2024</h2>
<ol type="1">
<li>Bugfixes:
<ul>
<li>Revert PR #689 and reimplement fix for original startup delay issue. (PR #712)</li>
</ul></li>
<li>Enhancements:
<ul>
<li>Allow “Msg” column to be resized by the user. (PR #721)</li>
</ul></li>
</ol>
<h2 data-number="18.3" id="v1.9.9-april-2024"><span class="header-section-number">18.3</span> V1.9.9 April 2024</h2>
<h2 data-number="18.4" id="v1.9.9-april-2024"><span class="header-section-number">18.4</span> V1.9.9 April 2024</h2>
<ol type="1">
<li>Bugfixes:
<ul>
Expand All @@ -684,7 +707,7 @@ <h2 data-number="18.3" id="v1.9.9-april-2024"><span class="header-section-number
<li>Add ability to build without LPCNet in preparation for potential future deprecation of 2020/2020B. (PR #711)</li>
</ul></li>
</ol>
<h2 data-number="18.4" id="v1.9.8-february-2024"><span class="header-section-number">18.4</span> V1.9.8 February 2024</h2>
<h2 data-number="18.5" id="v1.9.8-february-2024"><span class="header-section-number">18.5</span> V1.9.8 February 2024</h2>
<ol type="1">
<li>Bugfixes:
<ul>
Expand All @@ -711,21 +734,21 @@ <h2 data-number="18.4" id="v1.9.8-february-2024"><span class="header-section-num
<li>Move FreeDV Reporter dialog code to dialogs section of codebase. (PR #664)</li>
</ul></li>
</ol>
<h2 data-number="18.5" id="v1.9.7.2-january-2024"><span class="header-section-number">18.5</span> V1.9.7.2 January 2024</h2>
<h2 data-number="18.6" id="v1.9.7.2-january-2024"><span class="header-section-number">18.6</span> V1.9.7.2 January 2024</h2>
<ol type="1">
<li>Bugfixes:
<ul>
<li>Another attempt at fixing the crash previously thought to have been fixed by 1.9.7.1. (PR #659)</li>
</ul></li>
</ol>
<h2 data-number="18.6" id="v1.9.7.1-january-2024"><span class="header-section-number">18.6</span> V1.9.7.1 January 2024</h2>
<h2 data-number="18.7" id="v1.9.7.1-january-2024"><span class="header-section-number">18.7</span> V1.9.7.1 January 2024</h2>
<ol type="1">
<li>Bugfixes:
<ul>
<li>Fix issue causing intermittent crashes when filters are enabled while running. (PR #656)</li>
</ul></li>
</ol>
<h2 data-number="18.7" id="v1.9.7-january-2024"><span class="header-section-number">18.7</span> V1.9.7 January 2024</h2>
<h2 data-number="18.8" id="v1.9.7-january-2024"><span class="header-section-number">18.8</span> V1.9.7 January 2024</h2>
<ol type="1">
<li>Bugfixes:
<ul>
Expand Down Expand Up @@ -775,7 +798,7 @@ <h2 data-number="18.7" id="v1.9.7-january-2024"><span class="header-section-numb
<li>Remove no longer used scripts and patch files. (PR #654)</li>
</ul></li>
</ol>
<h2 data-number="18.8" id="v1.9.6-december-2023"><span class="header-section-number">18.8</span> V1.9.6 December 2023</h2>
<h2 data-number="18.9" id="v1.9.6-december-2023"><span class="header-section-number">18.9</span> V1.9.6 December 2023</h2>
<ol type="1">
<li>Bugfixes:
<ul>
Expand All @@ -796,7 +819,7 @@ <h2 data-number="18.8" id="v1.9.6-december-2023"><span class="header-section-num
<li>Add 5368.5 kHz to the default frequency list. (PR #626)</li>
</ul></li>
</ol>
<h2 data-number="18.9" id="v1.9.5-november-2023"><span class="header-section-number">18.9</span> V1.9.5 November 2023</h2>
<h2 data-number="18.10" id="v1.9.5-november-2023"><span class="header-section-number">18.10</span> V1.9.5 November 2023</h2>
<ol type="1">
<li>Bugfixes:
<ul>
Expand Down Expand Up @@ -825,7 +848,7 @@ <h2 data-number="18.9" id="v1.9.5-november-2023"><span class="header-section-num
<li>Report OS usage to FreeDV Reporter. (PR #606)</li>
</ul></li>
</ol>
<h2 data-number="18.10" id="v1.9.4-october-2023"><span class="header-section-number">18.10</span> V1.9.4 October 2023</h2>
<h2 data-number="18.11" id="v1.9.4-october-2023"><span class="header-section-number">18.11</span> V1.9.4 October 2023</h2>
<ol type="1">
<li>Bugfixes:
<ul>
Expand All @@ -843,7 +866,7 @@ <h2 data-number="18.10" id="v1.9.4-october-2023"><span class="header-section-num
</ul></li>
</ul></li>
</ol>
<h2 data-number="18.11" id="v1.9.3-october-2023"><span class="header-section-number">18.11</span> V1.9.3 October 2023</h2>
<h2 data-number="18.12" id="v1.9.3-october-2023"><span class="header-section-number">18.12</span> V1.9.3 October 2023</h2>
<ol type="1">
<li>Bugfixes:
<ul>
Expand Down Expand Up @@ -885,7 +908,7 @@ <h2 data-number="18.11" id="v1.9.3-october-2023"><span class="header-section-num
<li>Refactor rig control handling to improve performance and maintainability. (PR #564)</li>
</ul></li>
</ol>
<h2 data-number="18.12" id="v1.9.2-september-2023"><span class="header-section-number">18.12</span> V1.9.2 September 2023</h2>
<h2 data-number="18.13" id="v1.9.2-september-2023"><span class="header-section-number">18.13</span> V1.9.2 September 2023</h2>
<ol type="1">
<li>Bugfixes:
<ul>
Expand Down Expand Up @@ -928,7 +951,7 @@ <h2 data-number="18.12" id="v1.9.2-september-2023"><span class="header-section-n
<li>Remove unneeded 2400B and 2020B sample files. (PR #521)</li>
</ul></li>
</ol>
<h2 data-number="18.13" id="v1.9.1-august-2023"><span class="header-section-number">18.13</span> V1.9.1 August 2023</h2>
<h2 data-number="18.14" id="v1.9.1-august-2023"><span class="header-section-number">18.14</span> V1.9.1 August 2023</h2>
<ol type="1">
<li>Bugfixes:
<ul>
Expand All @@ -944,7 +967,7 @@ <h2 data-number="18.13" id="v1.9.1-august-2023"><span class="header-section-numb
<li>Add background coloring to indicate that the voice keyer is active. (PR #500)</li>
</ul></li>
</ol>
<h2 data-number="18.14" id="v1.9.0-august-2023"><span class="header-section-number">18.14</span> V1.9.0 August 2023</h2>
<h2 data-number="18.15" id="v1.9.0-august-2023"><span class="header-section-number">18.15</span> V1.9.0 August 2023</h2>
<ol type="1">
<li>Bugfixes:
<ul>
Expand Down Expand Up @@ -979,7 +1002,7 @@ <h2 data-number="18.14" id="v1.9.0-august-2023"><span class="header-section-numb
</ul></li>
</ol>
<p><em>Note: Official Windows releases are now signed using Software Freedom Conservancy’s code certificate. To validate that the installers and binary files are properly signed, right-click on the file, choose Properties and go to the ‘Digital Signatures’ tab.</em></p>
<h2 data-number="18.15" id="earlier-than-v1.9.0"><span class="header-section-number">18.15</span> Earlier than V1.9.0</h2>
<h2 data-number="18.16" id="earlier-than-v1.9.0"><span class="header-section-number">18.16</span> Earlier than V1.9.0</h2>
<p>See <a href="https://github.com/drowe67/codec2/blob/master/CHANGELOG_OLD.md">this</a> for more information about changes in versions prior to v1.9.0.</p>
<h1 data-number="19" id="references"><span class="header-section-number">19</span> References</h1>
<ul>
Expand Down
17 changes: 16 additions & 1 deletion USER_MANUAL.md
Original file line number Diff line number Diff line change
Expand Up @@ -889,7 +889,20 @@ LDPC | Low Density Parity Check Codes - a family of powerful FEC codes

# Release Notes

## TBD TBD 2024
## V1.9.10 TBD 2024

1. Bugfixes:
* Fix bug preventing saving of the previously used path when playing back files. (PR #729)
2. Enhancements:
* Show green line indicating RX frequency. (PR #725)
* Update configuration of the Voice Keyer feature based on user feedback. (PR #730)
* Add monitor volume adjustment. (PR #733)
* Avoid modifying the audio device configuration without the user explicitly doing so. (PR #735)
3. Build system:
* Allow overrriding the version tag when building. (PR #727)
* Update wxWidgets to 3.2.5. (PR #731)

## V1.9.9.2 June 2024

1. Bugfixes:
* Remove TX attenuation and squelch tooltips. (PR #717)
Expand All @@ -899,6 +912,8 @@ LDPC | Low Density Parity Check Codes - a family of powerful FEC codes

1. Bugfixes:
* Revert PR #689 and reimplement fix for original startup delay issue. (PR #712)
2. Enhancements:
* Allow "Msg" column to be resized by the user. (PR #721)

## V1.9.9 April 2024

Expand Down
Binary file modified USER_MANUAL.pdf
Binary file not shown.
2 changes: 1 addition & 1 deletion cmake/BuildWxWidgets.cmake
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
set(WXWIDGETS_VERSION "3.2.4")
set(WXWIDGETS_VERSION "3.2.5")

# Ensure that the wxWidgets library is staticly built.
set(wxBUILD_SHARED OFF CACHE BOOL "Build wx libraries as shared libs")
Expand Down
44 changes: 42 additions & 2 deletions src/config/FreeDVConfiguration.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
//==========================================================================

#include <wx/stdpaths.h>
#include <wx/filename.h>

#include "../defines.h"
#include "FreeDVConfiguration.h"
Expand Down Expand Up @@ -106,12 +107,16 @@ FreeDVConfiguration::FreeDVConfiguration()
, tabLayout("/MainFrame/TabLayout", _(""))

, monitorVoiceKeyerAudio("/Monitor/VoiceKeyerAudio", false)
, monitorVoiceKeyerAudioVol("/Monitor/VoiceKeyerAudioVol", 0)
, monitorTxAudio("/Monitor/TransmitAudio", false)
, monitorTxAudioVol("/Monitor/TransmitAudioVol", 0)

, txRxDelayMilliseconds("/Audio/TxRxDelayMilliseconds", 0)

, externalVocoderRxCommand("/ExternalVocoder/RxCommand", _(""))
, externalVocoderTxCommand("/ExternalVocoder/TxCommand", _(""))

, reportingUserMsgColWidth("/Windows/FreeDVReporter/reportingUserMsgColWidth", 130)
{
// empty
}
Expand Down Expand Up @@ -163,6 +168,35 @@ void FreeDVConfiguration::load(wxConfigBase* config)

load_(config, voiceKeyerWaveFilePath);
load_(config, voiceKeyerWaveFile);

auto wxStandardPathObj = wxStandardPaths::Get();
auto documentsDir = wxStandardPathObj.GetDocumentsDir();

if (voiceKeyerWaveFilePath == "")
{
// Migrate from previous versions where voiceKeyerWaveFilePath wasn't used.
wxString tmp = voiceKeyerWaveFile;
wxString path;
wxString name;
wxString ext;

wxFileName::SplitPath(tmp, &path, &name, &ext);
if (ext != "")
{
name = name + "." + ext;
}

if (path == "")
{
// Default path to the Documents folder if one isn't provided
// (i.e. in the case of the old VK filename default)
path = documentsDir;
}

voiceKeyerWaveFilePath = path;
voiceKeyerWaveFile = name;
}

load_(config, voiceKeyerRxPause);
load_(config, voiceKeyerRepeats);

Expand Down Expand Up @@ -191,9 +225,9 @@ void FreeDVConfiguration::load(wxConfigBase* config)

load_(config, monitorVoiceKeyerAudio);
load_(config, monitorTxAudio);
load_(config, monitorVoiceKeyerAudioVol);
load_(config, monitorTxAudioVol);

auto wxStandardPathObj = wxStandardPaths::Get();
auto documentsDir = wxStandardPathObj.GetDocumentsDir();
quickRecordPath.setDefaultVal(documentsDir);
load_(config, quickRecordPath);

Expand All @@ -204,6 +238,8 @@ void FreeDVConfiguration::load(wxConfigBase* config)

load_(config, externalVocoderRxCommand);
load_(config, externalVocoderTxCommand);

load_(config, reportingUserMsgColWidth);
}

void FreeDVConfiguration::save(wxConfigBase* config)
Expand Down Expand Up @@ -286,11 +322,15 @@ void FreeDVConfiguration::save(wxConfigBase* config)

save_(config, monitorVoiceKeyerAudio);
save_(config, monitorTxAudio);
save_(config, monitorVoiceKeyerAudioVol);
save_(config, monitorTxAudioVol);

save_(config, txRxDelayMilliseconds);

save_(config, externalVocoderRxCommand);
save_(config, externalVocoderTxCommand);

save_(config, reportingUserMsgColWidth);

config->Flush();
}
4 changes: 4 additions & 0 deletions src/config/FreeDVConfiguration.h
Original file line number Diff line number Diff line change
Expand Up @@ -118,9 +118,13 @@ class FreeDVConfiguration : public WxWidgetsConfigStore
ConfigurationDataElement<wxString> tabLayout;

ConfigurationDataElement<bool> monitorVoiceKeyerAudio;
ConfigurationDataElement<float> monitorVoiceKeyerAudioVol;
ConfigurationDataElement<bool> monitorTxAudio;
ConfigurationDataElement<float> monitorTxAudioVol;

ConfigurationDataElement<int> txRxDelayMilliseconds;

ConfigurationDataElement<int> reportingUserMsgColWidth;

ConfigurationDataElement<wxString> externalVocoderRxCommand;
ConfigurationDataElement<wxString> externalVocoderTxCommand;
Expand Down
22 changes: 21 additions & 1 deletion src/gui/controls/plot.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@
//==========================================================================
#ifndef __FDMDV2_PLOT__
#define __FDMDV2_PLOT__

#include <deque>

#include <wx/wx.h>
#include <wx/aui/auibook.h>
#include <wx/rawbmp.h>
Expand Down Expand Up @@ -73,6 +76,8 @@
#define LIGHT_YELLOW_COLOR wxColor(0xFF, 0xFF, 0xB5)
#define DARK_YELLOW_COLOR wxColor(0xFF, 0xFF, 0x08)

#define ORANGE_COLOR wxColor(0xFF, 0xA5, 0x00)

class MainFrame;

//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=
Expand Down Expand Up @@ -111,7 +116,7 @@ class PlotPanel : public wxPanel
virtual void OnMouseLeftDown(wxMouseEvent& event);
void OnMouseLeftUp(wxMouseEvent& event);
virtual void OnMouseRightDown(wxMouseEvent& event);
void OnMouseWheelMoved(wxMouseEvent& event);
virtual void OnMouseWheelMoved(wxMouseEvent& event);
void OnClose(wxCloseEvent& event ){ event.Skip(); }
virtual void OnSize( wxSizeEvent& event ) = 0;
void OnErase(wxEraseEvent& event);
Expand All @@ -126,6 +131,17 @@ class PlotPanel : public wxPanel
virtual void OnShow(wxShowEvent& event);
virtual double GetLabelSize();
virtual void SetLabelSize(double size);

void setSync(bool sync) { sync_ = sync; }
void addOffset(float offset)
{
rxOffsets_.push_back(offset);
if (rxOffsets_.size() >= 20)
{
// Limit to ~2 seconds worth of offsets for averaging
rxOffsets_.pop_front();
}
}

protected:
int m_x;
Expand All @@ -144,6 +160,10 @@ class PlotPanel : public wxPanel
double m_zoomFactor;
int m_greyscale;
int m_line_color;

std::deque<float> rxOffsets_;
bool sync_;

DECLARE_EVENT_TABLE()
};
#endif //__FDMDV2_PLOT__
Loading

0 comments on commit ba1f5d7

Please sign in to comment.