From 162514cab17c465a5056d8027a2119123a4cb384 Mon Sep 17 00:00:00 2001 From: =?utf8?q?IOhannes=20m=20zm=C3=B6lnig=20=28Debian/GNU=29?= Date: Mon, 19 Aug 2024 08:46:45 +0200 Subject: [PATCH] New upstream version 2.3.1+ds --- docs/changelog.yml | 8 ++++++++ macos/meson_native_minversion_11.ini | 10 ++++++++++ macos/meson_native_universal_11.ini | 11 ++++++++++ releases/edge/mac-manifests.json | 30 ++++++++++++++++++++++++++++ releases/edge/win-manifests.json | 30 ++++++++++++++++++++++++++++ releases/stable/linux-manifests.json | 10 ++++++++++ releases/stable/mac-manifests.json | 10 ++++++++++ releases/stable/win-manifests.json | 10 ++++++++++ src/Regulator.cpp | 21 ++++++++++--------- src/UdpDataProtocol.cpp | 7 +++++++ src/gui/Login.qml | 27 ++----------------------- src/gui/Recommendations.qml | 18 ++++++++--------- src/jacktrip_globals.h | 2 +- 13 files changed, 150 insertions(+), 44 deletions(-) create mode 100644 macos/meson_native_minversion_11.ini create mode 100644 macos/meson_native_universal_11.ini diff --git a/docs/changelog.yml b/docs/changelog.yml index 4362431..4f4be6d 100644 --- a/docs/changelog.yml +++ b/docs/changelog.yml @@ -1,3 +1,11 @@ +- Version: "2.3.1" + Date: 2024-07-26 + Description: + - (updated) VS Mode stronger recommendations for audio devices + - (updated) Reverting OSX builds from Qt 6.2.8 back to 6.2.6 + - (fixed) Crash when JackTrip fails to connect using PLC + - (fixed) Screen sharing on OSX freezes when window is hidden + - (fixed) Sanity check for maximum UDP packet size - Version: "2.3.0" Date: 2024-05-15 Description: diff --git a/macos/meson_native_minversion_11.ini b/macos/meson_native_minversion_11.ini new file mode 100644 index 0000000..6d85821 --- /dev/null +++ b/macos/meson_native_minversion_11.ini @@ -0,0 +1,10 @@ +[constants] +minversion_args = ['-mmacosx-version-min=11'] + +[built-in options] +c_args = minversion_args +cpp_args = minversion_args +objcpp_args = minversion_args +c_link_args = minversion_args +cpp_link_args = minversion_args +objcpp_link_args = minversion_args diff --git a/macos/meson_native_universal_11.ini b/macos/meson_native_universal_11.ini new file mode 100644 index 0000000..c91f052 --- /dev/null +++ b/macos/meson_native_universal_11.ini @@ -0,0 +1,11 @@ +[constants] +minversion_args = ['-mmacosx-version-min=11'] +universal_args = ['-arch', 'x86_64', '-arch', 'arm64'] + +[built-in options] +c_args = universal_args + minversion_args +cpp_args = universal_args + minversion_args +objcpp_args = universal_args + minversion_args +c_link_args = universal_args + minversion_args +cpp_link_args = universal_args + minversion_args +objcpp_link_args = universal_args + minversion_args diff --git a/releases/edge/mac-manifests.json b/releases/edge/mac-manifests.json index efc8137..0a0061e 100644 --- a/releases/edge/mac-manifests.json +++ b/releases/edge/mac-manifests.json @@ -1,6 +1,36 @@ { "app_name": "JackTrip", "releases": [ + { + "version": "2.3.0", + "changelog": "Full changelog at https://github.com/jacktrip/jacktrip/releases/tag/v2.3.0", + "download": { + "date": "2024-05-15T00:00:00Z", + "url": "https://files.jacktrip.org/app-builds/JackTrip-v2.3.0-macOS-x64-signed-installer.pkg", + "downloadSize": "197443395", + "sha256": "384d8e84d733fcb0a0a951503030d5ed4f55b1e2810a5f8dc3337c40d8376c7d" + } + }, + { + "version": "2.3.0-beta2", + "changelog": "Full changelog at https://github.com/jacktrip/jacktrip/releases/tag/v2.3.0-beta2", + "download": { + "date": "2024-05-09T00:00:00Z", + "url": "https://files.jacktrip.org/app-builds/JackTrip-v2.3.0-beta2-macOS-x64-signed-installer.pkg", + "downloadSize": "197442162", + "sha256": "b31dd19fbb95462f500755d613927518d55e8c94338100954230462c09c989b3" + } + }, + { + "version": "2.3.0-beta1", + "changelog": "Full changelog at https://github.com/jacktrip/jacktrip/releases/tag/v2.3.0-beta1", + "download": { + "date": "2024-05-04T00:00:00Z", + "url": "https://files.jacktrip.org/app-builds/JackTrip-v2.3.0-beta1-macOS-x64-signed-installer.pkg", + "downloadSize": "177351316", + "sha256": "fdd884383fe25cbae6296d3614906a080366c3c51fbdd16b9d756c40d65666fc" + } + }, { "version": "2.2.5", "changelog": "Full changelog at https://github.com/jacktrip/jacktrip/releases/tag/v2.2.5", diff --git a/releases/edge/win-manifests.json b/releases/edge/win-manifests.json index 9a71d21..6ccfe39 100644 --- a/releases/edge/win-manifests.json +++ b/releases/edge/win-manifests.json @@ -1,6 +1,36 @@ { "app_name": "JackTrip", "releases": [ + { + "version": "2.3.0", + "changelog": "Full changelog at https://github.com/jacktrip/jacktrip/releases/tag/v2.3.0", + "download": { + "date": "2024-05-15T00:00:00Z", + "url": "https://files.jacktrip.org/app-builds/JackTrip-v2.3.0-Windows-x64-signed-installer.msi", + "downloadSize": "116105216", + "sha256": "0ec59f472224cbe7fe33fc5818525a931509d7588af6aae613e738196c77e4b1" + } + }, + { + "version": "2.3.0-beta2", + "changelog": "Full changelog at https://github.com/jacktrip/jacktrip/releases/tag/v2.3.0-beta2", + "download": { + "date": "2024-05-09T00:00:00Z", + "url": "https://files.jacktrip.org/app-builds/JackTrip-v2.3.0-beta2-Windows-x64-signed-installer.msi", + "downloadSize": "116101120", + "sha256": "2c6a3a16066b25a0f541c1c7fdc8a63c29e8437053301adf325d3ca6f42bf8cf" + } + }, + { + "version": "2.3.0-beta1", + "changelog": "Full changelog at https://github.com/jacktrip/jacktrip/releases/tag/v2.3.0-beta1", + "download": { + "date": "2024-05-04T00:00:00Z", + "url": "https://files.jacktrip.org/app-builds/JackTrip-v2.3.0-beta1-Windows-x64-signed-installer.msi", + "downloadSize": "116215808", + "sha256": "c75903089415487e983a80de0d780979815fcaa2c66020af67a2ed0a1bc0e904" + } + }, { "version": "2.2.5", "changelog": "Full changelog at https://github.com/jacktrip/jacktrip/releases/tag/v2.2.5", diff --git a/releases/stable/linux-manifests.json b/releases/stable/linux-manifests.json index 514ed82..454b1b6 100644 --- a/releases/stable/linux-manifests.json +++ b/releases/stable/linux-manifests.json @@ -1,6 +1,16 @@ { "app_name": "JackTrip", "releases": [ + { + "version": "2.3.0", + "changelog": "Full changelog at https://github.com/jacktrip/jacktrip/releases/tag/v2.3.0", + "download": { + "date": "2024-05-15T00:00:00Z", + "url": "https://files.jacktrip.org/app-builds/JackTrip-v2.3.0-Linux-x64-binary.zip", + "downloadSize": "1193479", + "sha256": "cfe0982a82a01ce776f404af10095c37e35616ebe5b259a59d568f4c3330eec1" + } + }, { "version": "2.2.5", "changelog": "Full changelog at https://github.com/jacktrip/jacktrip/releases/tag/v2.2.5", diff --git a/releases/stable/mac-manifests.json b/releases/stable/mac-manifests.json index 7caef64..0121eec 100644 --- a/releases/stable/mac-manifests.json +++ b/releases/stable/mac-manifests.json @@ -1,6 +1,16 @@ { "app_name": "JackTrip", "releases": [ + { + "version": "2.3.0", + "changelog": "Full changelog at https://github.com/jacktrip/jacktrip/releases/tag/v2.3.0", + "download": { + "date": "2024-05-15T00:00:00Z", + "url": "https://files.jacktrip.org/app-builds/JackTrip-v2.3.0-macOS-x64-signed-installer.pkg", + "downloadSize": "197443395", + "sha256": "384d8e84d733fcb0a0a951503030d5ed4f55b1e2810a5f8dc3337c40d8376c7d" + } + }, { "version": "2.2.5", "changelog": "Full changelog at https://github.com/jacktrip/jacktrip/releases/tag/v2.2.5", diff --git a/releases/stable/win-manifests.json b/releases/stable/win-manifests.json index e8451be..879b29c 100644 --- a/releases/stable/win-manifests.json +++ b/releases/stable/win-manifests.json @@ -1,6 +1,16 @@ { "app_name": "JackTrip", "releases": [ + { + "version": "2.3.0", + "changelog": "Full changelog at https://github.com/jacktrip/jacktrip/releases/tag/v2.3.0", + "download": { + "date": "2024-05-15T00:00:00Z", + "url": "https://files.jacktrip.org/app-builds/JackTrip-v2.3.0-Windows-x64-signed-installer.msi", + "downloadSize": "116105216", + "sha256": "0ec59f472224cbe7fe33fc5818525a931509d7588af6aae613e738196c77e4b1" + } + }, { "version": "2.2.5", "changelog": "Full changelog at https://github.com/jacktrip/jacktrip/releases/tag/v2.2.5", diff --git a/src/Regulator.cpp b/src/Regulator.cpp index a92a724..d73bc96 100644 --- a/src/Regulator.cpp +++ b/src/Regulator.cpp @@ -307,17 +307,20 @@ Regulator::Regulator(int rcvChannels, int bit_res, int localFPP, int qLen, int b Regulator::~Regulator() { - delete[] mXfrBuffer; - delete[] mBroadcastBuffer; - delete[] mSlotBuf; - delete pushStat; - delete pullStat; - for (int i = 0; i < mNumChannels; i++) - delete mChanData[i]; + if (mInitialized) { + delete[] mXfrBuffer; + delete[] mBroadcastBuffer; + delete[] mSlotBuf; + delete[] mSlots; + delete pushStat; + delete pullStat; + delete mTime; + delete ba; + for (int i = 0; i < mNumChannels; i++) + delete mChanData[i]; + } if (m_b_BroadcastRingBuffer) delete m_b_BroadcastRingBuffer; - delete mTime; - delete ba; if (mWorkerThreadPtr != nullptr) { mWorkerThreadPtr->quit(); mWorkerThreadPtr->wait(); diff --git a/src/UdpDataProtocol.cpp b/src/UdpDataProtocol.cpp index 417ee82..7c9eb37 100644 --- a/src/UdpDataProtocol.cpp +++ b/src/UdpDataProtocol.cpp @@ -497,6 +497,13 @@ void UdpDataProtocol::run() int full_redundant_packet_size = full_packet_size * mUdpRedundancyFactor; int8_t* full_redundant_packet = NULL; + if (full_redundant_packet_size > 0x10000) { + throw std::runtime_error( + "Maximum UDP packet size exceeded! Either reduce your " + "Jack period size, the number of send channels or " + "the packet redundancy."); + } + // Set realtime priority (function in jacktrip_globals.h) if (gVerboseFlag) std::cout << " UdpDataProtocol:run" << mRunMode diff --git a/src/gui/Login.qml b/src/gui/Login.qml index a11e1d5..d52400b 100644 --- a/src/gui/Login.qml +++ b/src/gui/Login.qml @@ -101,7 +101,7 @@ Item { Text { id: deviceVerificationExplanation - text: `Please sign in and confirm the following code using your web browser. Return here when you are done.` + text: `To get started, please sign in and confirm the following code using your web browser. Return here when you are done.` font.family: "Poppins" font.pixelSize: 11 * virtualstudio.fontScale * virtualstudio.uiScale anchors.horizontalCenter: parent.horizontalCenter @@ -239,7 +239,6 @@ Item { height: 48 * virtualstudio.uiScale property bool showBackButton: !virtualstudio.vsFtux - property bool showClassicModeButton: virtualstudio.vsFtux Item { id: backButton @@ -263,32 +262,10 @@ Item { } } - Item { - id: classicModeButton - visible: parent.showClassicModeButton - anchors.verticalCenter: parent.verticalCenter - x: (parent.x + parent.width / 2) - classicModeButton.width - 8 * virtualstudio.uiScale - width: 160 * virtualstudio.uiScale; height: 32 * virtualstudio.uiScale - Text { - text: "Use Classic Mode" - font.underline: true - font.family: "Poppins" - font.pixelSize: 11 * virtualstudio.fontScale * virtualstudio.uiScale - anchors.horizontalCenter: parent.horizontalCenter - anchors.verticalCenter: parent.verticalCenter - color: textColour - } - MouseArea { - anchors.fill: parent - onClicked: () => { virtualstudio.windowState = "login"; virtualstudio.toStandard(); } - cursorShape: Qt.PointingHandCursor - } - } - Item { id: resetCodeButton visible: true - x: (parent.showBackButton || parent.showClassicModeButton) ? (parent.x + parent.width / 2) + 8 * virtualstudio.uiScale : (parent.x + parent.width / 2) - resetCodeButton.width / 2 + x: parent.showBackButton ? (parent.x + parent.width / 2) + 8 * virtualstudio.uiScale : (parent.x + parent.width / 2) - resetCodeButton.width / 2 anchors.verticalCenter: parent.verticalCenter width: 144 * virtualstudio.uiScale; height: 32 * virtualstudio.uiScale Text { diff --git a/src/gui/Recommendations.qml b/src/gui/Recommendations.qml index 6d4e949..5e5fd57 100644 --- a/src/gui/Recommendations.qml +++ b/src/gui/Recommendations.qml @@ -347,7 +347,7 @@ Item { Text { id: audioInterfaceRecommendationHeaderNonWindows visible: !onWindows - text: "External Audio Device Recommended" + text: "Use Recommended Audio Devices" font { family: "Poppins"; weight: Font.Bold; pixelSize: fontMedium * virtualstudio.fontScale * virtualstudio.uiScale } color: textColour anchors.horizontalCenter: parent.horizontalCenter @@ -358,10 +358,10 @@ Item { Text { id: audioInterfaceRecommendationSubheaderNonWindows visible: !onWindows - text: "Your audio device controls the quality of sound, and can also have a big impact on latency." + text: "Many audio devices are too slow to work well with JackTrip." + "

" - + "It's OK to use the audio device that is built into your computer, but external USB and " - + "Thunderbolt audio interfaces will usually produce better quality and lower latency." + + "We recommend external USB or Thunderbolt interfaces released within the past " + + "few years for the best quality, low latency and glitch-free sound." font { family: "Poppins"; pixelSize: fontSmall * virtualstudio.fontScale * virtualstudio.uiScale } color: textColour width: 600 @@ -375,7 +375,7 @@ Item { Text { id: audioInterfaceRecommendationHeaderWindows visible: onWindows - text: "External Audio Device Recommended" + text: "Use Recommended Audio Devices" font { family: "Poppins"; weight: Font.Bold; pixelSize: fontMedium * virtualstudio.fontScale * virtualstudio.uiScale } color: textColour anchors.horizontalCenter: parent.horizontalCenter @@ -386,12 +386,12 @@ Item { Text { id: audioInterfaceRecommendationSubheaderWindows visible: onWindows - text: "Your audio device controls the quality of sound, and can also have a big impact on latency." - + "

" + text: "Many audio devices are too slow to work well with JackTrip." + + "
" + "ASIO drivers are required for low latency on Windows. " + "

" - + "It's OK to use the audio device that is built into your computer, but external USB and " - + "Thunderbolt devices will produce better quality and much lower latency." + + "We recommend external USB or Thunderbolt interfaces released within the past " + + "few years for the best quality, low latency and glitch-free sound." font { family: "Poppins"; pixelSize: fontSmall * virtualstudio.fontScale * virtualstudio.uiScale } color: textColour width: 600 diff --git a/src/jacktrip_globals.h b/src/jacktrip_globals.h index a7bc3e3..0e587de 100644 --- a/src/jacktrip_globals.h +++ b/src/jacktrip_globals.h @@ -40,7 +40,7 @@ #include "AudioInterface.h" -constexpr const char* const gVersion = "2.3.0"; ///< JackTrip version +constexpr const char* const gVersion = "2.3.1"; ///< JackTrip version //******************************************************************************* /// \name Default Values -- 2.30.2