Changelog
=========
-1.4.0
----
-- (added) optional GUI from QJackTrip
-- (added) authentication in hub server mode
-- (added) different number of sending and receiving channels
-- (added) append thread IDs to jack client names
-- (added) new patcher mechanism that doesn't delete existing connections
-- (added) MkDocs based documentation
-- (added) weak jack linking
-- (added) manpage
-- (added) MSVC build
-- (added) RtAudio Meson subproject
-- (added) formatting with clang-format
-- (added) static analysis with clang-tidy
-- (added) cross compilation for Windows
-- (added) flatpaks
-- (added) appstream
-- (added) automated builds and deployment for Linux, macOS and Windows
-- (added) macOS and Windows Installers
-- (fixed) regression in remote client name handling
-- (fixed) long jack client names (> 27 characters) in 1.9.11
-- (fixed) Hardcode Derived Class Names of ProcessPlugins to prevent undefined behavior
-- (update) QJackTrip and JackTrip are now identical
-- (update) Change helpscreen wording for --broadcast argument
-- (update) jitter buffer alternatives
-- (update) RtAudio revive
-- (update) RtAudio device selection
-- (update) build script moved to root directory
+{% for release in releases %}
+## {{ release.Version }} {% if release.Type == 'development' %}(Development){% endif %}
-1.3.0
----
-- (added) async networking in hub listener
-- (added) limiter, compressor, reverb
-- (added) examine audio delay
-- (added) jitter buffer alternatives
-- (added) broadcast output ports
-- (added) PREFIX variable for installation path
-- (added) disconnect on timeout
-- (added) SIGTERM
-- (added) simulate packet loss, jitter
-- (added) hubpatch 5, no auto patching
-- (added) jack client name length check
-- (added) scripts/hubMode/test_hub_mode_server_and_client.sh
-- (added) Meson build
-- (fixed) misc. typos, indentation
-- (fixed) short form IO stat options
-- (fixed) nullptr jack server name when creating jack client
-- (fixed) stop ring buffer blocking when jack has been stopped
-- (fixed) JMess handling of non-western characters
-- (fixed) closing curly brace on mJackTrip client creation
-- (fixed) Warnings
-- (fixed) remove rtaudio device and mpeeraddress msgs.
-- (fixed) signal and slot connections
-- (fixed) incorrect dependency from jacktrip_main
-- (update) RT thread priority for network I/O
-- (update) clipping to saturation
-- (update) build instructions
-
-1.2.2
----
-- (added) bindPort range to reject oddball connections
-- (fixed) jack client name strings
-
-1.2.1
----
-- (added) src/build script builds in ../builddir
-- (fixed) refactor "Master" to be "Hub"
-- (fixed) 1.2.1 correctly versioned and tagged
-
-1.2
----
-- (added) jack patching modes (-p) for Hub Mode server (-S)
-- (fixed) Compilation under ubuntu
-- (removed) setRealtimeProcessPriority()
-- (removed) Rtaudio mode (but still has dependencies)
-- (fixed) IPv4-mapped IPv6 addressing bug
-...
-- (fixed) Fixed compilation for MacOSX10.11.sdk.
-- (update) Updated to RtAudio 4.1.1, and using shared lib in linux.
-
-1.1
----
-- (added) Support for RtAudio. Jacktrip can now be used without Jack
-- (added) DNS Look-up support, now one machine can have a private IP (but still needs to have UDP ports open)
-- (added) New port to Windows XP and Windows Vista (experimental and not tested for a long time, only when using jacktrip as a library)
-- (added) Multiclient Server (experimental and not exposed in the executable)
-
-1.0.5
----
-- (added) Compatibility with JamLink boxes (restricted at the moment to 48KHz, 64 buffer size and 1 channel)
-- (added) New port structure that allows the communication between a public server and a local client
-- (added) Option for packets without header
-- (added) Option to change default client name
-- (fixed) General optimizations and code cleanup
-- (added) Improved, now cross-platform build script
-
-1.0.4
----
-- (fixed) Buss error caused when no physical inputs or outputs ports are available
-
-1.0.3
----
-- (added) Redundancy Algorithm for UDP Packets to avoid glitches with packet losses
-- (fixed) Now compiles on 64bits machines
-- (fixed) Improved exceptions handling
-- (added) Basic Karplus-Strong model added as Plug-in
-- (added) Some functionality reimplemented using signals and slots for more flexibility
-- (added) Multiple-Client-Server in alpha testing, expect it working in the next release
-
-1.0.2 Alpha
----
-- (added) Port offset mode, to use a different UDP port than the default one.
-- (fixed) Improved thread behavior
-
-1.0.1 Alpha
----
-- (added) jamlink mode to connect with jamlink boxes
-- (fixed) thread priority in both Linux and Mac OS X (still need some work on the Mac OS X version)
-- (fixed) Bug that was causing plug-ins not to behave correctly
-- (added) Loopback mode
-- (added) Underrun Modes: Wavetable (default) and set to zeros
-- (added) Check for peer audio settings, program exists if they don't match
-- (added) Automatically connect ports to available physical audio interface.
-
-1.0 Alpha - initial release
----
+{% for change in release.Description %}
+- {{ change }}
+{% endfor %}
+{% endfor %}
--- /dev/null
+- Version: "1.4.3"
+ Date: 2021-12-18
+ Description:
+ - "Generating changelog from YAML file for MkDocs and Flatpaks by @ntonnaett in #442"
+ - "Update jacktrip_globals.h by @cchafe in #443"
+- Version: "1.4.2"
+ Date: 2021-12-06
+ Description:
+ - "[Meson] Set RtAudio subproject to version 5.2.0 by @ntonnaett in #436"
+ - "Verbose mode in GUI by @psiborg112 in #434"
+ - "Help screen for app bundle script by @psiborg112 in #439"
+ - "[GHA] Fix weekly cron job entry by @ntonnaett in #441"
+- Version: "1.4.1"
+ Date: 2021-11-11
+ Description:
+ - "Fix for OSX installer failures by @mikedickey in #431"
+- Version: "1.4.0"
+ Date: 2021-11-03
+ Description:
+ - (added) optional GUI from QJackTrip
+ - (added) authentication in hub server mode
+ - (added) different number of sending and receiving channels
+ - (added) append thread IDs to jack client names
+ - (added) new patcher mechanism that doesn't delete existing connections
+ - (added) MkDocs based documentation
+ - (added) weak jack linking
+ - (added) manpage
+ - (added) MSVC build
+ - (added) RtAudio Meson subproject
+ - (added) formatting with clang-format
+ - (added) static analysis with clang-tidy
+ - (added) cross compilation for Windows
+ - (added) flatpaks
+ - (added) appstream
+ - (added) automated builds and deployment for Linux, macOS and Windows
+ - (added) macOS and Windows Installers
+ - (fixed) regression in remote client name handling
+ - (fixed) long jack client names (> 27 characters) in 1.9.11
+ - (fixed) Hardcode Derived Class Names of ProcessPlugins to prevent undefined behavior
+ - (update) QJackTrip and JackTrip are now identical
+ - (update) Change helpscreen wording for --broadcast argument
+ - (update) jitter buffer alternatives
+ - (update) RtAudio revive
+ - (update) RtAudio device selection
+ - (update) build script moved to root directory
+- Version: "1.3.0"
+ Description:
+ - (added) async networking in hub listener
+ - (added) limiter, compressor, reverb
+ - (added) examine audio delay
+ - (added) jitter buffer alternatives
+ - (added) broadcast output ports
+ - (added) PREFIX variable for installation path
+ - (added) disconnect on timeout
+ - (added) SIGTERM
+ - (added) simulate packet loss, jitter
+ - (added) hubpatch 5, no auto patching
+ - (added) jack client name length check
+ - (added) scripts/hubMode/test_hub_mode_server_and_client.sh
+ - (added) Meson build
+ - (fixed) misc. typos, indentation
+ - (fixed) short form IO stat options
+ - (fixed) nullptr jack server name when creating jack client
+ - (fixed) stop ring buffer blocking when jack has been stopped
+ - (fixed) JMess handling of non-western characters
+ - (fixed) closing curly brace on mJackTrip client creation
+ - (fixed) Warnings
+ - (fixed) remove rtaudio device and mpeeraddress msgs.
+ - (fixed) signal and slot connections
+ - (fixed) incorrect dependency from jacktrip_main
+ - (update) RT thread priority for network I/O
+ - (update) clipping to saturation
+ - (update) build instructions
+- Version: "1.2.2"
+ Description:
+ - (added) bindPort range to reject oddball connections
+ - (fixed) jack client name strings
+- Version: "1.2.1"
+ Description:
+ - (added) src/build script builds in ../builddir
+ - (fixed) refactor "Master" to be "Hub"
+ - (fixed) 1.2.1 correctly Versioned and tagged
+- Version: "1.2"
+ Description:
+ - (added) jack patching modes (-p) for Hub Mode server (-S)
+ - (fixed) Compilation under ubuntu
+ - (removed) setRealtimeProcessPriority()
+ - (removed) Rtaudio mode (but still has dependencies)
+ - (fixed) IPv4-mapped IPv6 addressing bug
+ - ...
+ - (fixed) Fixed compilation for MacOSX10.11.sdk.
+ - (update) Updated to RtAudio 4.1.1, and using shared lib in linux.
+- Version: "1.1"
+ Description:
+ - (added) Support for RtAudio. Jacktrip can now be used without Jack
+ - (added) DNS Look-up support, now one machine can have a private IP (but still needs to have UDP ports open)
+ - (added) New port to Windows XP and Windows Vista (experimental and not tested for a long time, only when using jacktrip as a library)
+ - (added) Multiclient Server (experimental and not exposed in the executable)
+- Version: "1.0.5"
+ Description:
+ - (added) Compatibility with JamLink boxes (restricted at the moment to 48KHz, 64 buffer size and 1 channel)
+ - (added) New port structure that allows the communication between a public server and a local client
+ - (added) Option for packets without header
+ - (added) Option to change default client name
+ - (fixed) General optimizations and code cleanup
+ - (added) Improved, now cross-platform build script
+- Version: "1.0.4"
+ Description:
+ - (fixed) Buss error caused when no physical inputs or outputs ports are available
+- Version: "1.0.3"
+ Description:
+ - (added) Redundancy Algorithm for UDP Packets to avoid glitches with packet losses
+ - (fixed) Now compiles on 64bits machines
+ - (fixed) Improved exceptions handling
+ - (added) Basic Karplus-Strong model added as Plug-in
+ - (added) Some functionality reimplemented using signals and slots for more flexibility
+ - (added) Multiple-Client-Server in alpha testing, expect it working in the next release
+- Version: "1.0.2"
+ Type: development
+ Description:
+ - (added) Port offset mode, to use a different UDP port than the default one.
+ - (fixed) Improved thread behavior
+- Version: "1.0.1"
+ Type: development
+ Description:
+ - (added) jamlink mode to connect with jamlink boxes
+ - (fixed) thread priority in both Linux and Mac OS X (still need some work on the Mac OS X Version)
+ - (fixed) Bug that was causing plug-ins not to behave correctly
+ - (added) Loopback mode
+ - "(added) Underrun Modes: Wavetable (default) and set to zeros"
+ - (added) Check for peer audio settings, program exists if they don't match
+ - (added) Automatically connect ports to available physical audio interface.
+- Version: "1.0"
+ Type: "development"
+ Description:
+ - initial release
--- /dev/null
+mkdocs-material
+mkdocs-macros-plugin
--- /dev/null
+#!/usr/bin/env python3
+
+import sys
+import yaml
+from jinja2 import Template
+
+changelog_file = sys.path[0] + "/../docs/changelog.yml"
+with open(changelog_file) as f:
+ file_array = yaml.load(f, Loader=yaml.FullLoader)
+ releases = { "releases": file_array}
+
+if len(sys.argv) < 3:
+ exit('Not enough arguments')
+
+template_file = sys.argv[1]
+output_file = sys.argv[2]
+
+with open(template_file) as f2:
+ template = Template(f2.read())
+
+with open(output_file, "w") as f_out:
+ f_out.write(template.render(releases))
+
- --socket=system-bus
modules:
- shared-modules/linux-audio/jack2.json
+ - name: python3-pyyaml
+ buildsystem: simple
+ build-commands:
+ - pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} "pyyaml" --no-build-isolation
+ sources:
+ - type: file
+ sha256: 68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2
+ url: https://files.pythonhosted.org/packages/36/2b/61d51a2c4f25ef062ae3f74576b01638bebad5e045f747ff12643df63844/PyYAML-6.0.tar.gz
+ - name: python3-jinja2
+ buildsystem: simple
+ build-commands:
+ - pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} "jinja2" --no-build-isolation
+ sources:
+ - sha256: 594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a
+ type: file
+ url: https://files.pythonhosted.org/packages/bf/10/ff66fea6d1788c458663a84d88787bae15d45daa16f6b3ef33322a51fc7e/MarkupSafe-2.0.1.tar.gz
+ - sha256: 077ce6014f7b40d03b47d1f1ca4b0fc8328a692bd284016f806ed0eaca390ad8
+ type: file
+ url: https://files.pythonhosted.org/packages/20/9a/e5d9ec41927401e41aea8af6d16e78b5e612bca4699d417f646a9610a076/Jinja2-3.0.3-py3-none-any.whl
- name: jacktrip
buildsystem: meson
config-opts:
- --socket=system-bus
modules:
- shared-modules/linux-audio/jack2.json
+ - name: python3-pyyaml
+ buildsystem: simple
+ build-commands:
+ - pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} "pyyaml" --no-build-isolation
+ sources:
+ - type: file
+ sha256: 68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2
+ url: https://files.pythonhosted.org/packages/36/2b/61d51a2c4f25ef062ae3f74576b01638bebad5e045f747ff12643df63844/PyYAML-6.0.tar.gz
+ - name: python3-jinja2
+ buildsystem: simple
+ build-commands:
+ - pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} "jinja2" --no-build-isolation
+ sources:
+ - sha256: 594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a
+ type: file
+ url: https://files.pythonhosted.org/packages/bf/10/ff66fea6d1788c458663a84d88787bae15d45daa16f6b3ef33322a51fc7e/MarkupSafe-2.0.1.tar.gz
+ - sha256: 077ce6014f7b40d03b47d1f1ca4b0fc8328a692bd284016f806ed0eaca390ad8
+ type: file
+ url: https://files.pythonhosted.org/packages/20/9a/e5d9ec41927401e41aea8af6d16e78b5e612bca4699d417f646a9610a076/Jinja2-3.0.3-py3-none-any.whl
- name: jacktrip
buildsystem: meson
config-opts:
- --socket=system-bus
modules:
- shared-modules/linux-audio/jack2.json
+ - name: python3-pyyaml
+ buildsystem: simple
+ build-commands:
+ - pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} "pyyaml" --no-build-isolation
+ sources:
+ - type: file
+ sha256: 68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2
+ url: https://files.pythonhosted.org/packages/36/2b/61d51a2c4f25ef062ae3f74576b01638bebad5e045f747ff12643df63844/PyYAML-6.0.tar.gz
+ - name: python3-jinja2
+ buildsystem: simple
+ build-commands:
+ - pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} "jinja2" --no-build-isolation
+ sources:
+ - sha256: 594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a
+ type: file
+ url: https://files.pythonhosted.org/packages/bf/10/ff66fea6d1788c458663a84d88787bae15d45daa16f6b3ef33322a51fc7e/MarkupSafe-2.0.1.tar.gz
+ - sha256: 077ce6014f7b40d03b47d1f1ca4b0fc8328a692bd284016f806ed0eaca390ad8
+ type: file
+ url: https://files.pythonhosted.org/packages/20/9a/e5d9ec41927401e41aea8af6d16e78b5e612bca4699d417f646a9610a076/Jinja2-3.0.3-py3-none-any.whl
- name: jacktrip
buildsystem: meson
sources:
install_dir: get_option('datadir') / 'applications'
)
+ prog_python = import('python').find_installation('python3')
+
+ metainfo_in = configure_file(
+ input: ['add_changelog_to_metainfo.py', 'org.jacktrip.JackTrip.metainfo.xml.in.in'],
+ output: 'org.jacktrip.JackTrip.metainfo.xml.in',
+ command: [prog_python, '@INPUT@', '@OUTPUT@']
+ )
+
appdata_conf = configuration_data()
appdata_conf.set('appid', application_id)
configure_file(
- input: files('org.jacktrip.JackTrip.metainfo.xml.in'),
+ input: metainfo_in,
output: '@0@.metainfo.xml'.format(application_id),
configuration: appdata_conf,
install_dir: get_option('datadir') / 'metainfo'
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- Copyright 2021 Nils Tonnätt <nils.tonnaett@posteo.de> -->
-<component type="desktop-application">
- <id>@appid@</id>
- <metadata_license>MIT</metadata_license>
- <project_license>GPL-3.0+</project_license>
- <name>JackTrip</name>
- <summary>Connect and play with other musicians</summary>
-
- <description>
- <p>
- JackTrip is a cross-platform multi-machine audio system
- used for network music performance over the Internet.
- It supports any number of channels (as many as the computer/network can handle)
- of bidirectional, high quality, uncompressed audio signal streaming.
- </p>
- <p>
- You can use it between any combination of machines e.g., one end using
- Linux can connect to another using Mac OSX.
- </p>
- </description>
-
- <launchable type="desktop-id">@appid@.desktop</launchable>
-
- <url type="homepage">https://jacktrip.github.io/jacktrip/</url>
- <project_group>JackTrip</project_group>
-
- <provides>
- <binary>jacktrip</binary>
- </provides>
-
- <content_rating type="oars-1.1">
- <content_attribute id="social-audio">intense</content_attribute>
- </content_rating>
-
-</component>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2021 Nils Tonnätt <nils.tonnaett@posteo.de> -->
+<component type="desktop-application">
+ <id>@appid@</id>
+ <metadata_license>MIT</metadata_license>
+ <project_license>GPL-3.0+</project_license>
+ <name>JackTrip</name>
+ <summary>Connect and play with other musicians</summary>
+
+ <description>
+ <p>
+ JackTrip is a cross-platform multi-machine audio system
+ used for network music performance over the Internet.
+ It supports any number of channels (as many as the computer/network can handle)
+ of bidirectional, high quality, uncompressed audio signal streaming.
+ </p>
+ <p>
+ You can use it between any combination of machines e.g., one end using
+ Linux can connect to another using Mac OSX.
+ </p>
+ </description>
+
+ <launchable type="desktop-id">@appid@.desktop</launchable>
+
+ <url type="homepage">https://jacktrip.github.io/jacktrip/</url>
+ <project_group>JackTrip</project_group>
+
+ <provides>
+ <binary>jacktrip</binary>
+ </provides>
+
+ <releases>
+ {%- for release in releases %}
+ <release version="{{ release.Version }}" {%- if release.Date %} date="{{ release.Date }}"{%- endif %}{% if release.Type == 'development' %} type="development"{% endif %}>
+ <description>
+ {%- for change in release.Description %}
+ <p>{{ change }}</p>
+ {%- endfor %}
+ </description>
+ </release>
+ {%- endfor %}
+ </releases>
+
+ <content_rating type="oars-1.1">
+ <content_attribute id="social-audio">intense</content_attribute>
+ </content_rating>
+
+</component>
- Resources: About/Resources.md
- Changelog: About/CHANGELOG.md
- License: About/License.md
+plugins:
+ - macros:
+ include_yaml:
+ - releases: docs/changelog.yml
theme:
name: material
features:
//*****************************************************************
/**
- * \file globals.cpp
+ * \file jacktrip_globals.h
* \author Juan-Pablo Caceres
* \date June 2008
*/
#define __JACKTRIP_GLOBALS_H__
#include "AudioInterface.h"
-//#include "JackAudioInterface.h"
-/// \todo Add this namespace
-// namespace JackTrip
-
-constexpr const char* const gVersion = "1.4.2"; ///< JackTrip version
+constexpr const char* const gVersion = "1.4.3"; ///< JackTrip version
//*******************************************************************************
/// \name Default Values