Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package jacktrip for openSUSE:Factory checked in at 2024-03-06 23:05:42 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/jacktrip (Old) and /work/SRC/openSUSE:Factory/.jacktrip.new.1770 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "jacktrip" Wed Mar 6 23:05:42 2024 rev:16 rq:1155476 version:2.2.3 Changes: -------- --- /work/SRC/openSUSE:Factory/jacktrip/jacktrip.changes 2024-02-12 18:55:22.241347270 +0100 +++ /work/SRC/openSUSE:Factory/.jacktrip.new.1770/jacktrip.changes 2024-03-06 23:06:14.553037486 +0100 @@ -1,0 +2,12 @@ +Wed Mar 6 08:11:51 UTC 2024 - Andrea Manzini <andrea.manz...@suse.com> + +- Update to 2.2.3: + * Updating domain name for virtual studio endpoints + * Adding files for building a docker image + * Use correct number of channels for the selected CoreAudio stream + * Optimized image layers for docker container image + * Blacklisting Generic Low Latency ASIO Driver + * Don't send ping data in heartbeats until after vsPinger has started + * Prevent server crash by ensuring ports are closed before reuse + +------------------------------------------------------------------- Old: ---- jacktrip-2.2.2.tar.gz New: ---- jacktrip-2.2.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ jacktrip.spec ++++++ --- /var/tmp/diff_new_pack.1jvzRY/_old 2024-03-06 23:06:15.157059403 +0100 +++ /var/tmp/diff_new_pack.1jvzRY/_new 2024-03-06 23:06:15.157059403 +0100 @@ -18,7 +18,7 @@ Name: jacktrip -Version: 2.2.2 +Version: 2.2.3 Release: 0 Summary: Multi-machine network music performance over the Internet License: GPL-3.0-only AND MIT AND LGPL-3.0-only ++++++ jacktrip-2.2.2.tar.gz -> jacktrip-2.2.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jacktrip-2.2.2/.dockerignore new/jacktrip-2.2.3/.dockerignore --- old/jacktrip-2.2.2/.dockerignore 1970-01-01 01:00:00.000000000 +0100 +++ new/jacktrip-2.2.3/.dockerignore 2024-03-04 18:37:43.000000000 +0100 @@ -0,0 +1,8 @@ +* +!docs +!meson* +!container +!src +!subprojects +!linux +!win \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jacktrip-2.2.2/Dockerfile new/jacktrip-2.2.3/Dockerfile --- old/jacktrip-2.2.2/Dockerfile 1970-01-01 01:00:00.000000000 +0100 +++ new/jacktrip-2.2.3/Dockerfile 2024-03-04 18:37:43.000000000 +0100 @@ -0,0 +1,63 @@ +# JackTrip container image using Redhat Universal Base Image ubi-init +# +# Copyright (c) 2023-2024 JackTrip Labs, Inc. +# MIT License. +# +# To build this from repository root: "podman build -t jacktrip/jacktrip ." + +# container image versions +ARG FEDORA_VERSION=34 +ARG JACK_VERSION=latest + + +############### +# STAGE BUILDER +############### +# use a temporary container to build jacktrip +FROM registry.fedoraproject.org/fedora:${FEDORA_VERSION} AS builder + +# install tools require to build jacktrip +RUN dnf install -y --nodocs gcc gcc-c++ meson python3-pyyaml python3-jinja2 qt5-qtbase-devel jack-audio-connection-kit-devel + +# copy files from repository to build container +COPY . /root + +# configure and run the build +RUN cd /root \ + && PKG_CONFIG_PATH=/usr/local/lib/pkgconfig meson setup -Ddefault_library=static -Dnogui=true --buildtype release builddir \ + && meson compile -C builddir + +# stage files in INSTALLDIR +ENV INSTALLDIR=/opt +RUN mkdir -p ${INSTALLDIR}/usr/local/bin/ ${INSTALLDIR}/usr/lib64/ ${INSTALLDIR}/etc/systemd/system/ \ + && cp /lib64/libQt5Core.so.5 /lib64/libQt5Network.so.5 ${INSTALLDIR}/usr/lib64/ \ + && cp /root/builddir/jacktrip ${INSTALLDIR}/usr/local/bin/ \ + && strip ${INSTALLDIR}/usr/local/bin/jacktrip +COPY linux/container/jacktrip.service ${INSTALLDIR}/etc/systemd/system/ + + +######################## +# STAGE JACKTRIP (FINAL) +######################## +# use the jack ubi-init container +FROM jacktrip/jack:${JACK_VERSION} + +# install libraries that we need for things to run +RUN dnf install -y --nodocs libicu pcre libstdc++ compat-openssl11 pcre2-utf16 + +# add jacktrip user, enable service and allow access to jackd +RUN useradd -r -m -N -G audio -s /usr/sbin/nologin jacktrip \ + && chown -R jacktrip.audio /home/jacktrip \ + && chmod g+rwx /home/jacktrip \ + && ln -s /etc/systemd/system/jacktrip.service /etc/systemd/system/multi-user.target.wants \ + && sed -i 's,PassEnvironment=.*,PassEnvironment=SAMPLE_RATE BUFFER_SIZE JACK_OPTS JACKTRIP_OPTS,' /etc/systemd/system/defaults.service \ + && sed -i 's,WantedBy=.*,WantedBy=multi-user.target jack.service jacktrip.service,' /etc/systemd/system/defaults.service \ + && echo 'if [[ -z "$JACKTRIP_OPTS" ]]; then JACKTRIP_OPTS="-S -t -z --hubpatch 4 --bufstrategy 4 -q auto"; fi' >> /usr/sbin/defaults.sh \ + && echo 'echo "JACKTRIP_OPTS=\"$JACKTRIP_OPTS\"" > /etc/default/jacktrip' >> /usr/sbin/defaults.sh + +# copy the artifacts we built into the final container image +COPY --from=builder /opt / + +# jacktrip hub server listens on 4464 and uses 61000+ for clients +EXPOSE 4464/tcp +EXPOSE 61000-61100/udp \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jacktrip-2.2.2/docs/changelog.yml new/jacktrip-2.2.3/docs/changelog.yml --- old/jacktrip-2.2.2/docs/changelog.yml 2024-02-09 23:22:19.000000000 +0100 +++ new/jacktrip-2.2.3/docs/changelog.yml 2024-03-04 18:37:43.000000000 +0100 @@ -1,3 +1,11 @@ +- Version: "2.2.3" + Date: 2024-03-04 + Description: + - (added) New container images for JackTrip hub server + - (fixed) Support for audio interfaces on OSX with multiple channels + - (fixed) Hub server crashes when trying to rebind ports + - (fixed) VS Mode blacklisted Generic Low Latency ASIO Driver + - (fixed) VS Mode inconsistent initial connection state - Version: "2.2.2" Date: 2024-02-09 Description: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jacktrip-2.2.2/linux/container/README.md new/jacktrip-2.2.3/linux/container/README.md --- old/jacktrip-2.2.2/linux/container/README.md 1970-01-01 01:00:00.000000000 +0100 +++ new/jacktrip-2.2.3/linux/container/README.md 2024-03-04 18:37:43.000000000 +0100 @@ -0,0 +1,69 @@ +# Run a JackTrip Server in a Container + +Copyright (c) 2023-2024 JackTrip Labs, Inc. +See [MIT License](../../LICENSES/MIT.txt) + +This repository provides the source code for building a container image to +run your own JackTrip hub server. It uses the +[Jack base container](https://github.com/jacktriplabs/jack-container) +and runs the [Jack Audio Connection Kit](https://jackaudio.org/) +(`jackd`) and JackTrip servers as systemd services. The `jackd` server +is configued to use the `dummy` audio backend so that no audio interface +is required. + +New container images are built automatically for each release of JackTrip +and made freely available on +[Docker Hub](https://hub.docker.com/repository/docker/jacktrip/jacktrip/general). + +To build a container image using `podman`: + +```bash +podman build -t jacktrip/jacktrip . +``` + +To run a JackTrip container using `podman`: + +```bash +podman run --name jacktrip --network=host --shm-size=128M -d jacktrip/jacktrip +``` + +`jackd` requires the ability to lock about 128MB of shared memory, and +both `jackd` and `jacktrip` will try to run realtime priority threads. +Be sure that your memory limits (`ulimit`) are set appropriately. + +``` +ulimit -l 128000000 +ulimit -r 10 +``` + +If using `docker`, you will need to run this as a privileged container: + +```bash +docker run --name jacktrip --network=host --shm-size=128M --privileged -d jacktrip/jacktrip +``` + +Docker Desktop users on Mac and Windows computers may prefer to specify +a port range instead of using host networking: + +```bash +docker run --name jacktrip -p 4464:4464/tcp -p 61000-61100:61000-61100/udp --shm-size=128M --privileged -d jacktrip/jacktrip +``` + +By default, the servers will run using a sample rate of 48Khz and buffer +size of 128. You can override these using the following environment +variables: + +* __SAMPLE_RATE__: use this to set the sample rate for the `jackd` server. +Note that all clients connecting to the server must use the same setting. +The default is 48000. + +* __BUFFER_SIZE__: use this to set the buffer size, also known as frames +per period, for the `jackd` server. The default is 128. + +* __JACK_OPTS__: use this to override all of the options passed to the +`jackd` server. __SAMPLE_RATE__ and __BUFFER_SIZE__ will be ignored +if this is defined. + +* __JACKTRIP_OPTS__: use this to override all of the options passed to the +`jacktrip` server. The default options are: +`-S -t -z --hubpatch 4 --bufstrategy 4 -q auto` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jacktrip-2.2.2/linux/container/jacktrip.service new/jacktrip-2.2.3/linux/container/jacktrip.service --- old/jacktrip-2.2.2/linux/container/jacktrip.service 1970-01-01 01:00:00.000000000 +0100 +++ new/jacktrip-2.2.3/linux/container/jacktrip.service 2024-03-04 18:37:43.000000000 +0100 @@ -0,0 +1,33 @@ +[Unit] +Description=JackTrip-Server +After=network.target jack.service defaults.service +Wants=jack.service defaults.service + +[Service] +Type=simple +User=jacktrip +Group=audio +NoNewPrivileges=true +ProtectSystem=true +ProtectHome=true +Nice=-20 +#IOSchedulingClass=realtime +#IOSchedulingPriority=0 +Environment="JACK_NO_AUDIO_RESERVATION=1" +Environment="JACK_NO_START_SERVER=1" +Environment="JACK_PROMISCUOUS_SERVER=audio" +EnvironmentFile=/etc/default/jacktrip +ExecStartPre=/usr/local/bin/jack_wait -w -t 5 +ExecStart=/usr/local/bin/jacktrip $JACKTRIP_OPTS +Restart=always +RestartSec=5 +StandardOutput=journal +StandardError=inherit +SyslogIdentifier=jacktrip +LimitMEMLOCK=infinity +LimitRTPRIO=99 +LimitNOFILE=200000 +LimitNPROC=200000 + +[Install] +WantedBy=multi-user.target diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jacktrip-2.2.2/releases/edge/mac-manifests.json new/jacktrip-2.2.3/releases/edge/mac-manifests.json --- old/jacktrip-2.2.2/releases/edge/mac-manifests.json 2024-02-09 23:22:19.000000000 +0100 +++ new/jacktrip-2.2.3/releases/edge/mac-manifests.json 2024-03-04 18:37:43.000000000 +0100 @@ -2,6 +2,16 @@ "app_name": "JackTrip", "releases": [ { + "version": "2.2.2", + "changelog": "Full changelog at https://github.com/jacktrip/jacktrip/releases/tag/v2.2.2", + "download": { + "date": "2024-02-10T00:00:00Z", + "url": "https://files.jacktrip.org/app-builds/JackTrip-v2.2.2-macOS-x64-signed-installer.pkg", + "downloadSize": "177374348", + "sha256": "80048be618c272c108fd9a45fb77167ca09686406a24065dba20edf05aabd088" + } + }, + { "version": "2.2.1", "changelog": "Full changelog at https://github.com/jacktrip/jacktrip/releases/tag/v2.2.1", "download": { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jacktrip-2.2.2/releases/edge/win-manifests.json new/jacktrip-2.2.3/releases/edge/win-manifests.json --- old/jacktrip-2.2.2/releases/edge/win-manifests.json 2024-02-09 23:22:19.000000000 +0100 +++ new/jacktrip-2.2.3/releases/edge/win-manifests.json 2024-03-04 18:37:43.000000000 +0100 @@ -2,6 +2,16 @@ "app_name": "JackTrip", "releases": [ { + "version": "2.2.2", + "changelog": "Full changelog at https://github.com/jacktrip/jacktrip/releases/tag/v2.2.2", + "download": { + "date": "2024-02-10T00:00:00Z", + "url": "https://files.jacktrip.org/app-builds/JackTrip-v2.2.2-Windows-x64-signed-installer.msi", + "downloadSize": "108511232", + "sha256": "f2ea2d2ea1b40607e1fc6fc22cac4f51630b66da4e8f1925f529396bb57e6010" + } + }, + { "version": "2.2.1", "changelog": "Full changelog at https://github.com/jacktrip/jacktrip/releases/tag/v2.2.1", "download": { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jacktrip-2.2.2/releases/stable/linux-manifests.json new/jacktrip-2.2.3/releases/stable/linux-manifests.json --- old/jacktrip-2.2.2/releases/stable/linux-manifests.json 2024-02-09 23:22:19.000000000 +0100 +++ new/jacktrip-2.2.3/releases/stable/linux-manifests.json 2024-03-04 18:37:43.000000000 +0100 @@ -2,6 +2,16 @@ "app_name": "JackTrip", "releases": [ { + "version": "2.2.2", + "changelog": "Full changelog at https://github.com/jacktrip/jacktrip/releases/tag/v2.2.2", + "download": { + "date": "2024-02-10T00:00:00Z", + "url": "https://files.jacktrip.org/app-builds/JackTrip-v2.2.2-Linux-x64-binary.zip", + "downloadSize": "1239713", + "sha256": "d0c7e3291d3b1753968a52812a6cae9b926ed1d5c17c23e2a87c1a09f14f10ea" + } + }, + { "version": "2.2.1", "changelog": "Full changelog at https://github.com/jacktrip/jacktrip/releases/tag/v2.2.1", "download": { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jacktrip-2.2.2/releases/stable/mac-manifests.json new/jacktrip-2.2.3/releases/stable/mac-manifests.json --- old/jacktrip-2.2.2/releases/stable/mac-manifests.json 2024-02-09 23:22:19.000000000 +0100 +++ new/jacktrip-2.2.3/releases/stable/mac-manifests.json 2024-03-04 18:37:43.000000000 +0100 @@ -2,6 +2,16 @@ "app_name": "JackTrip", "releases": [ { + "version": "2.2.2", + "changelog": "Full changelog at https://github.com/jacktrip/jacktrip/releases/tag/v2.2.2", + "download": { + "date": "2024-02-10T00:00:00Z", + "url": "https://files.jacktrip.org/app-builds/JackTrip-v2.2.2-macOS-x64-signed-installer.pkg", + "downloadSize": "177374348", + "sha256": "80048be618c272c108fd9a45fb77167ca09686406a24065dba20edf05aabd088" + } + }, + { "version": "2.2.1", "changelog": "Full changelog at https://github.com/jacktrip/jacktrip/releases/tag/v2.2.1", "download": { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jacktrip-2.2.2/releases/stable/win-manifests.json new/jacktrip-2.2.3/releases/stable/win-manifests.json --- old/jacktrip-2.2.2/releases/stable/win-manifests.json 2024-02-09 23:22:19.000000000 +0100 +++ new/jacktrip-2.2.3/releases/stable/win-manifests.json 2024-03-04 18:37:43.000000000 +0100 @@ -2,6 +2,16 @@ "app_name": "JackTrip", "releases": [ { + "version": "2.2.2", + "changelog": "Full changelog at https://github.com/jacktrip/jacktrip/releases/tag/v2.2.2", + "download": { + "date": "2024-02-10T00:00:00Z", + "url": "https://files.jacktrip.org/app-builds/JackTrip-v2.2.2-Windows-x64-signed-installer.msi", + "downloadSize": "108511232", + "sha256": "f2ea2d2ea1b40607e1fc6fc22cac4f51630b66da4e8f1925f529396bb57e6010" + } + }, + { "version": "2.2.1", "changelog": "Full changelog at https://github.com/jacktrip/jacktrip/releases/tag/v2.2.1", "download": { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jacktrip-2.2.2/src/Regulator.cpp new/jacktrip-2.2.3/src/Regulator.cpp --- old/jacktrip-2.2.2/src/Regulator.cpp 2024-02-09 23:22:19.000000000 +0100 +++ new/jacktrip-2.2.3/src/Regulator.cpp 2024-03-04 18:37:43.000000000 +0100 @@ -919,6 +919,10 @@ //******************************************************************************* bool Regulator::getStats(RingBuffer::IOStat* stat, bool reset) { + if (!mFPPratioIsSet) { + return false; + } + if (reset) { // all are unused, this is copied from superclass mUnderruns = 0; mOverflows = 0; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jacktrip-2.2.2/src/Settings.h new/jacktrip-2.2.3/src/Settings.h --- old/jacktrip-2.2.2/src/Settings.h 2024-02-09 23:22:19.000000000 +0100 +++ new/jacktrip-2.2.3/src/Settings.h 2024-03-04 18:37:43.000000000 +0100 @@ -61,14 +61,11 @@ public: Settings(bool guiEnabled = false, QObject* parent = nullptr) - : QObject(parent) + : QObject(parent), mGuiEnabled(guiEnabled), mAudioTester(new AudioTester) + { #ifdef NO_GUI - , mGuiEnabled(false) -#else - , mGuiEnabled(guiEnabled) + mGuiEnabled = false; #endif - , mAudioTester(new AudioTester) - { } /// \brief Parses command line input diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jacktrip-2.2.2/src/UdpDataProtocol.cpp new/jacktrip-2.2.3/src/UdpDataProtocol.cpp --- old/jacktrip-2.2.2/src/UdpDataProtocol.cpp 2024-02-09 23:22:19.000000000 +0100 +++ new/jacktrip-2.2.3/src/UdpDataProtocol.cpp 2024-03-04 18:37:43.000000000 +0100 @@ -85,6 +85,11 @@ , mBindPort(bind_port) , mPeerPort(peer_port) , mRunMode(runmode) +#if defined(_WIN32) + , mSocket(INVALID_SOCKET) +#else + , mSocket(-1) +#endif , mAudioPacket(NULL) , mFullPacket(NULL) , mUdpRedundancyFactor(udp_redundancy_factor) @@ -112,14 +117,34 @@ { delete[] mAudioPacket; delete[] mFullPacket; - if (mRunMode == RECEIVER) { -#ifdef _WIN32 + closeSocket(); + wait(); +} + +//******************************************************************************* +void UdpDataProtocol::stop() +{ + closeSocket(); + DataProtocol::stop(); +} + +//******************************************************************************* +void UdpDataProtocol::closeSocket() +{ + if (mRunMode != RECEIVER) { + return; + } +#if defined(_WIN32) + if (mSocket != INVALID_SOCKET) { closesocket(mSocket); + mSocket = INVALID_SOCKET; + } #else + if (mSocket != -1) { ::close(mSocket); -#endif + mSocket = -1; } - wait(); +#endif } //******************************************************************************* diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jacktrip-2.2.2/src/UdpDataProtocol.h new/jacktrip-2.2.3/src/UdpDataProtocol.h --- old/jacktrip-2.2.2/src/UdpDataProtocol.h 2024-02-09 23:22:19.000000000 +0100 +++ new/jacktrip-2.2.3/src/UdpDataProtocol.h 2024-03-04 18:37:43.000000000 +0100 @@ -85,6 +85,9 @@ */ virtual ~UdpDataProtocol(); + /// \brief Stops the execution of the Thread + virtual void stop(); + /** \brief Set the Peer address to connect to * \param peerHostOrIP IPv4 number or host name */ @@ -196,6 +199,7 @@ int full_packet_size); private: + void closeSocket(); bool datagramAvailable(); int mBindPort; ///< Local Port number to Bind diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jacktrip-2.2.2/src/gui/DeviceControlsGroup.qml new/jacktrip-2.2.3/src/gui/DeviceControlsGroup.qml --- old/jacktrip-2.2.2/src/gui/DeviceControlsGroup.qml 2024-02-09 23:22:19.000000000 +0100 +++ new/jacktrip-2.2.3/src/gui/DeviceControlsGroup.qml 2024-03-04 18:37:43.000000000 +0100 @@ -123,6 +123,7 @@ } Item { + visible: isUsingRtAudio Layout.preferredWidth: 40 * virtualstudio.uiScale Layout.preferredHeight: 64 * virtualstudio.uiScale Layout.bottomMargin: 5 * virtualstudio.uiScale @@ -132,7 +133,6 @@ Button { id: changeDevicesButton - visible: isUsingRtAudio width: 36 * virtualstudio.uiScale height: 36 * virtualstudio.uiScale anchors.top: parent.top diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jacktrip-2.2.2/src/gui/Setup.qml new/jacktrip-2.2.3/src/gui/Setup.qml --- old/jacktrip-2.2.2/src/gui/Setup.qml 2024-02-09 23:22:19.000000000 +0100 +++ new/jacktrip-2.2.3/src/gui/Setup.qml 2024-03-04 18:37:43.000000000 +0100 @@ -136,6 +136,7 @@ } enabled: !Boolean(audio.devicesError) && audio.backendAvailable && audio.audioReady onClicked: { + audio.stopAudio(true); virtualstudio.studioToJoin = virtualstudio.currentStudio.id; virtualstudio.windowState = "connected"; virtualstudio.saveSettings(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jacktrip-2.2.2/src/gui/Studio.qml new/jacktrip-2.2.3/src/gui/Studio.qml --- old/jacktrip-2.2.2/src/gui/Studio.qml 2024-02-09 23:22:19.000000000 +0100 +++ new/jacktrip-2.2.3/src/gui/Studio.qml 2024-03-04 18:37:43.000000000 +0100 @@ -10,7 +10,7 @@ property string serverLocation: "Germany - Berlin" property string flagImage: "flags/DE.svg" - property string hostname: "app.jacktrip.org" + property string hostname: "app.jacktrip.com" property string studioName: "Test Studio" property string studioId: "" property string inviteKeyString: "" @@ -265,7 +265,7 @@ onClicked: { inviteCopied = true; if (virtualstudio.testMode) { - hostname = "test.jacktrip.org"; + hostname = "test.jacktrip.com"; } if (!inviteKeyString) { clipboard.setText(qsTr("https://" + hostname + "/studios/" + studioId + "?invited=true")); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jacktrip-2.2.2/src/gui/virtualstudio.cpp new/jacktrip-2.2.3/src/gui/virtualstudio.cpp --- old/jacktrip-2.2.2/src/gui/virtualstudio.cpp 2024-02-09 23:22:19.000000000 +0100 +++ new/jacktrip-2.2.3/src/gui/virtualstudio.cpp 2024-03-04 18:37:43.000000000 +0100 @@ -734,10 +734,10 @@ query.addQueryItem(QStringLiteral("client_id"), AUTH_CLIENT_ID); if (m_testMode) { query.addQueryItem(QStringLiteral("returnTo"), - QStringLiteral("https://test.jacktrip.org/")); + QStringLiteral("https://next-test.jacktrip.com/")); } else { query.addQueryItem(QStringLiteral("returnTo"), - QStringLiteral("https://app.jacktrip.org/")); + QStringLiteral("https://www.jacktrip.com/")); } logoutURL.setQuery(query); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jacktrip-2.2.2/src/gui/vsAudio.cpp new/jacktrip-2.2.3/src/gui/vsAudio.cpp --- old/jacktrip-2.2.2/src/gui/vsAudio.cpp 2024-02-09 23:22:19.000000000 +0100 +++ new/jacktrip-2.2.3/src/gui/vsAudio.cpp 2024-03-04 18:37:43.000000000 +0100 @@ -1125,6 +1125,7 @@ #ifdef _WIN32 // Realtek ASIO: seems to crash any computer that tries to use it QString::fromUtf8("Realtek ASIO"), + QString::fromUtf8("Generic Low Latency ASIO Driver"), #endif // JackRouter: crashes if not running; use Jack backend instead QString::fromUtf8("JackRouter"), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jacktrip-2.2.2/src/gui/vsConstants.h new/jacktrip-2.2.3/src/gui/vsConstants.h --- old/jacktrip-2.2.2/src/gui/vsConstants.h 2024-02-09 23:22:19.000000000 +0100 +++ new/jacktrip-2.2.3/src/gui/vsConstants.h 2024-03-04 18:37:43.000000000 +0100 @@ -44,8 +44,8 @@ const QString AUTH_TOKEN_URI = QStringLiteral("https://auth.jacktrip.org/oauth/token"); const QString AUTH_AUDIENCE = QStringLiteral("https://api.jacktrip.org"); const QString AUTH_CLIENT_ID = QStringLiteral("cROUJag0UVKDaJ6jRAKRzlVjKVFNU39I"); -const QString PROD_API_HOST = QStringLiteral("app.jacktrip.org"); -const QString TEST_API_HOST = QStringLiteral("test.jacktrip.org"); +const QString PROD_API_HOST = QStringLiteral("app.jacktrip.com"); +const QString TEST_API_HOST = QStringLiteral("test.jacktrip.com"); const QString AUTH_SERVER_HOST = QStringLiteral("auth.jacktrip.org"); #endif // VSCONSTANTS_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jacktrip-2.2.2/src/gui/vsDevice.cpp new/jacktrip-2.2.3/src/gui/vsDevice.cpp --- old/jacktrip-2.2.2/src/gui/vsDevice.cpp 2024-02-09 23:22:19.000000000 +0100 +++ new/jacktrip-2.2.3/src/gui/vsDevice.cpp 2024-03-04 18:37:43.000000000 +0100 @@ -174,7 +174,7 @@ }; // Add stats to heartbeat body - if (!m_pinger.isNull()) { + if (!m_pinger.isNull() && m_pinger->active()) { VsPinger::PingStat stats = m_pinger->getPingStats(); // API server expects RTTs to be in int64 nanoseconds, so we must convert @@ -349,8 +349,10 @@ // Virtual Studio QString host = studioInfo.sessionId(); host.append(QString::fromStdString(".jacktrip.cloud")); - m_pinger.reset(new VsPinger(QString::fromStdString("wss"), host, - QString::fromStdString("/ping"))); + if (studioInfo.isManaged()) { + m_pinger.reset(new VsPinger(QString::fromStdString("wss"), host, + QString::fromStdString("/ping"))); + } } // stopJackTrip stops the current jacktrip process if applicable @@ -421,7 +423,7 @@ // We have a heartbeat from which we can read the studio auth token // Use it to set up and start the pinger connection QString token = newState["authToken"].toString(); - if (!m_pinger.isNull() && !m_pinger->active()) { + if (!m_pinger.isNull() && !m_pinger->active() && !token.isEmpty()) { m_pinger->setToken(token); m_pinger->start(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jacktrip-2.2.2/src/gui/vsWebSocket.cpp new/jacktrip-2.2.3/src/gui/vsWebSocket.cpp --- old/jacktrip-2.2.2/src/gui/vsWebSocket.cpp 2024-02-09 23:22:19.000000000 +0100 +++ new/jacktrip-2.2.3/src/gui/vsWebSocket.cpp 2024-03-04 18:37:43.000000000 +0100 @@ -91,7 +91,7 @@ req.setRawHeader(QByteArray("Upgrade"), QByteArray("websocket")); req.setRawHeader(QByteArray("Connection"), QByteArray("Upgrade")); req.setRawHeader(QByteArray("Authorization"), authVal.toUtf8()); - req.setRawHeader(QByteArray("Origin"), QByteArray("https://app.jacktrip.org")); + req.setRawHeader(QByteArray("Origin"), QByteArray("http://jacktrip.local")); req.setRawHeader(QByteArray("APIPrefix"), m_apiPrefix.toUtf8()); req.setRawHeader(QByteArray("APISecret"), m_apiSecret.toUtf8()); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jacktrip-2.2.2/src/jacktrip_globals.h new/jacktrip-2.2.3/src/jacktrip_globals.h --- old/jacktrip-2.2.2/src/jacktrip_globals.h 2024-02-09 23:22:19.000000000 +0100 +++ new/jacktrip-2.2.3/src/jacktrip_globals.h 2024-03-04 18:37:43.000000000 +0100 @@ -40,7 +40,7 @@ #include "AudioInterface.h" -constexpr const char* const gVersion = "2.2.2"; ///< JackTrip version +constexpr const char* const gVersion = "2.2.3"; ///< JackTrip version //******************************************************************************* /// \name Default Values diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jacktrip-2.2.2/subprojects/packagefiles/rtaudio-coreaudio-stream-channels.patch new/jacktrip-2.2.3/subprojects/packagefiles/rtaudio-coreaudio-stream-channels.patch --- old/jacktrip-2.2.2/subprojects/packagefiles/rtaudio-coreaudio-stream-channels.patch 1970-01-01 01:00:00.000000000 +0100 +++ new/jacktrip-2.2.3/subprojects/packagefiles/rtaudio-coreaudio-stream-channels.patch 2024-03-04 18:37:43.000000000 +0100 @@ -0,0 +1,11 @@ +--- a/RtAudio.cpp 2024-02-11 15:05:31 ++++ b/RtAudio.cpp 2024-02-11 15:07:49 +@@ -1782,7 +1782,7 @@ + stream_.deviceFormat[mode] = RTAUDIO_FLOAT32; + + if ( streamCount == 1 ) +- stream_.nDeviceChannels[mode] = description.mChannelsPerFrame; ++ stream_.nDeviceChannels[mode] = streamChannels; + else // multiple streams + stream_.nDeviceChannels[mode] = channels; + stream_.nUserChannels[mode] = channels; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jacktrip-2.2.2/subprojects/rtaudio.wrap new/jacktrip-2.2.3/subprojects/rtaudio.wrap --- old/jacktrip-2.2.2/subprojects/rtaudio.wrap 2024-02-09 23:22:19.000000000 +0100 +++ new/jacktrip-2.2.3/subprojects/rtaudio.wrap 2024-03-04 18:37:43.000000000 +0100 @@ -3,7 +3,7 @@ source_url = https://github.com/thestk/rtaudio/archive/refs/tags/6.0.1.tar.gz source_filename = 6.0.1.tar.gz source_hash = 7206c8b6cee43b474f43d64988fefaadfdcfc4264ed38d8de5f5d0e6ddb0a123 -diff_files = rtaudio-remove-input-disconnect-listener.patch +diff_files = rtaudio-remove-input-disconnect-listener.patch,rtaudio-coreaudio-stream-channels.patch [provide] dependency_names = rtaudio