Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package jack for openSUSE:Factory checked in at 2021-02-01 13:24:34 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/jack (Old) and /work/SRC/openSUSE:Factory/.jack.new.28504 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "jack" Mon Feb 1 13:24:34 2021 rev:68 rq:866445 version:1.9.17 Changes: -------- --- /work/SRC/openSUSE:Factory/jack/jack.changes 2021-01-19 16:01:14.755293950 +0100 +++ /work/SRC/openSUSE:Factory/.jack.new.28504/jack.changes 2021-02-01 13:24:36.501766438 +0100 @@ -1,0 +2,11 @@ +Sun Jan 24 16:01:41 UTC 2021 - Dirk M��ller <dmueller@suse.com> + +- update to 1.9.17: + * Fix jack_control stopping after first command iteration + * Fix registry keys for Windows, add 32bit compat ones on 64bit + * Fix library compat/current version under macOS + * Fix return codes of jackd on success + * Ignore DB_VERSION_MISMATCH error on windows, it is expected + * Remove old workaround for asio4all, as it breaks with jack-router + +------------------------------------------------------------------- @@ -9 +20 @@ -- Update to 0.9.16 +- Update to 1.9.16 Old: ---- jack-1.9.16.tar.gz New: ---- jack-1.9.17.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ jack.spec ++++++ --- /var/tmp/diff_new_pack.7a7h5F/_old 2021-02-01 13:24:37.149767455 +0100 +++ /var/tmp/diff_new_pack.7a7h5F/_new 2021-02-01 13:24:37.153767461 +0100 @@ -22,7 +22,7 @@ %define wdbus 1 %define sonum 0 Name: jack -Version: 1.9.16 +Version: 1.9.17 Release: 0 #to_be_filled_by_service Summary: Jack-Audio Connection Kit ++++++ jack-1.9.16.tar.gz -> jack-1.9.17.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jack2-1.9.16/.github/ISSUE_TEMPLATE/bug_report.md new/jack2-1.9.17/.github/ISSUE_TEMPLATE/bug_report.md --- old/jack2-1.9.16/.github/ISSUE_TEMPLATE/bug_report.md 1970-01-01 01:00:00.000000000 +0100 +++ new/jack2-1.9.17/.github/ISSUE_TEMPLATE/bug_report.md 2021-01-15 16:00:40.000000000 +0100 @@ -0,0 +1,31 @@ +--- +name: Bug report ���� +about: Create a report to help us improve +title: '' +labels: bug +assignees: '' +--- + +<!-- NOTE: Bugs reported here are exclusively for jack2. --> + +## Describe the bug + +A clear and concise description of what the bug is. + +## Environment + +* **JACK Version:** Which version of jack2 are you using? (e.g. the output of `jackd --version` or a git commit checksum) +* **Operating System:** What operating system or distribution in which version are you using? (e.g. Linux, macOS, Windows) +* **Installation:** How did you install jack2? (e.g. package manager, from source) + +## Steps To Reproduce + +```bash +# Paste a minimal code example here (e.g. about how you started JACK) +``` + +### Expected vs. actual behavior + +A clear and concise description of what you expected to happen vs. what happened. + +<!-- Paste error messages in code blocks in their entirety. Use gist if very long or attach log files. --> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jack2-1.9.16/.github/ISSUE_TEMPLATE/feature_request.md new/jack2-1.9.17/.github/ISSUE_TEMPLATE/feature_request.md --- old/jack2-1.9.16/.github/ISSUE_TEMPLATE/feature_request.md 1970-01-01 01:00:00.000000000 +0100 +++ new/jack2-1.9.17/.github/ISSUE_TEMPLATE/feature_request.md 2021-01-15 16:00:40.000000000 +0100 @@ -0,0 +1,21 @@ +--- +name: Feature Request ���� +about: Suggest a new idea for the project. +labels: enhancement +--- + +<!-- NOTE: Feature requests suggested here are exclusively for jack2. --> + +## Summary + +Brief explanation of the feature. + +### Basic example + +If the proposal involves a new feature or change in behavior, include a basic code example. Omit this section if it's not applicable. + +### Motivation + +Why are we doing this? What use cases does it support? What is the expected outcome? + +<!-- We are always happy about new contributors. If you can provide a pull request yourself for the feature that you are proposing, please say so! --> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jack2-1.9.16/ChangeLog.rst new/jack2-1.9.17/ChangeLog.rst --- old/jack2-1.9.16/ChangeLog.rst 2020-10-16 21:10:40.000000000 +0200 +++ new/jack2-1.9.17/ChangeLog.rst 2021-01-15 16:00:40.000000000 +0100 @@ -1,6 +1,21 @@ ChangeLog ######### +* 1.9.17 (2021-01-15) + + * Fix jack_control stopping after first command iteration + * Fix registry keys for Windows, add 32bit compat ones on 64bit + * Fix library compat/current version under macOS + * Fix return codes of jackd on success + * Ignore DB_VERSION_MISMATCH error on windows, it is expected + * Remove old workaround for asio4all, as it breaks with jack-router + +External changes, related to macOS/Windows installer: + * Add jack-router to Windows installer, opt-in + * Support for arm64 macOS builds + * Show welcome and license pages on windows installer + * Update QjackCtl used in macOS/Windows installers to v0.9.0, with some commits cherry-picked from develop branch + * 1.9.16 (2020-10-16) * Fix/revert a change in how meta-data definitions were exposed (regression in 1.9.15) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jack2-1.9.16/common/JackConstants.h new/jack2-1.9.17/common/JackConstants.h --- old/jack2-1.9.16/common/JackConstants.h 2020-10-16 21:10:40.000000000 +0200 +++ new/jack2-1.9.17/common/JackConstants.h 2021-01-15 16:00:40.000000000 +0100 @@ -24,7 +24,7 @@ #include "config.h" #endif -#define VERSION "1.9.16" +#define VERSION "1.9.17" #define BUFFER_SIZE_MAX 8192 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jack2-1.9.16/common/JackMetadata.cpp new/jack2-1.9.17/common/JackMetadata.cpp --- old/jack2-1.9.16/common/JackMetadata.cpp 2020-10-16 21:10:40.000000000 +0200 +++ new/jack2-1.9.17/common/JackMetadata.cpp 2021-01-15 16:00:40.000000000 +0100 @@ -123,9 +123,32 @@ #endif if ((ret = fDBenv->open (fDBenv, dbpath, DB_CREATE | DB_INIT_LOCK | DB_INIT_MPOOL | DB_THREAD, 0)) != 0) { - jack_error ("cannot open DB environment: %s", db_strerror (ret)); - fDBenv = NULL; - return -1; +#ifdef WIN32 + // new versions of jack2 are built with HAVE_MIXED_SIZE_ADDRESSING, which induces this error, this is expected + if (ret == DB_VERSION_MISMATCH) { + // cleanup old stuff + snprintf (dbpath, sizeof(dbpath), "%s/jack_db/metadata.db", fDBFilesDir); + remove (dbpath); + + snprintf (dbpath, sizeof(dbpath), "%s/jack_db/__db.001", fDBFilesDir); + remove (dbpath); + + snprintf (dbpath, sizeof(dbpath), "%s/jack_db/__db.002", fDBFilesDir); + remove (dbpath); + + snprintf (dbpath, sizeof(dbpath), "%s/jack_db/__db.003", fDBFilesDir); + remove (dbpath); + + // try again fresh + ret = fDBenv->open (fDBenv, dbpath, DB_CREATE | DB_INIT_LOCK | DB_INIT_MPOOL | DB_THREAD, 0); + } + if (ret != 0) +#endif + { + jack_error ("cannot open DB environment: %s", db_strerror (ret)); + fDBenv = NULL; + return -1; + } } if ((ret = db_create (&fDB, fDBenv, 0)) != 0) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jack2-1.9.16/common/Jackdmp.cpp new/jack2-1.9.17/common/Jackdmp.cpp --- old/jack2-1.9.16/common/Jackdmp.cpp 2020-10-16 21:10:40.000000000 +0200 +++ new/jack2-1.9.17/common/Jackdmp.cpp 2021-01-15 16:00:40.000000000 +0100 @@ -97,7 +97,7 @@ fprintf(file, "jackdmp " VERSION "\n" "Copyright 2001-2005 Paul Davis and others.\n" "Copyright 2004-2016 Grame.\n" - "Copyright 2016-2020 Filipe Coelho.\n" + "Copyright 2016-2021 Filipe Coelho.\n" "jackdmp comes with ABSOLUTELY NO WARRANTY\n" "This is free software, and you are welcome to redistribute it\n" "under certain conditions; see the file COPYING for details\n"); @@ -253,8 +253,6 @@ printf( "jackdmp version " VERSION " tmpdir " jack_server_dir " protocol %d" "\n", JACK_PROTOCOL_VERSION); - exit(-1); - } int main(int argc, char** argv) @@ -269,6 +267,7 @@ for(int a = 1; a < argc; ++a) { if( !strcmp(argv[a], "--version") || !strcmp(argv[a], "-V") ) { print_version(); + return 0; } } const char *options = "-d:X:I:P:uvshrRL:STFl:t:mn:p:C:" @@ -495,11 +494,13 @@ } break; + case 'h': + usage(stdout, server_ctl); + return_value = 0; + goto destroy_server; + default: fprintf(stderr, "unknown option character %c\n", optopt); - /*fallthru*/ - - case 'h': usage(stdout, server_ctl); goto destroy_server; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jack2-1.9.16/common/jack/systemdeps.h new/jack2-1.9.17/common/jack/systemdeps.h --- old/jack2-1.9.16/common/jack/systemdeps.h 2020-10-16 21:10:40.000000000 +0200 +++ new/jack2-1.9.17/common/jack/systemdeps.h 2021-01-15 16:00:40.000000000 +0100 @@ -124,10 +124,10 @@ #endif /* __APPLE__ || __linux__ || __sun__ || sun */ -#if defined(__arm__) || defined(__aarch64__) || defined(__mips__) || defined(__ppc__) || defined(__powerpc__) +#if (defined(__arm__) || defined(__aarch64__) || defined(__mips__) || defined(__ppc__) || defined(__powerpc__)) && !defined(__APPLE__) #undef POST_PACKED_STRUCTURE #define POST_PACKED_STRUCTURE -#endif /* __arm__ || __aarch64__ || __ppc__ || __powerpc__ */ +#endif /* __arm__ || __aarch64__ || __mips__ || __ppc__ || __powerpc__ */ /** define JACK_LIB_EXPORT, useful for internal clients */ #if defined(_WIN32) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jack2-1.9.16/common/shm.h new/jack2-1.9.17/common/shm.h --- old/jack2-1.9.16/common/shm.h 2020-10-16 21:10:40.000000000 +0200 +++ new/jack2-1.9.17/common/shm.h 2021-01-15 16:00:40.000000000 +0100 @@ -105,7 +105,12 @@ shm_ANDROID = 4 /* Android shared memory */ } jack_shmtype_t; +#ifdef __APPLE__ + /* we need to align and pack data to 32bit so that x86_64 and arm64 work together */ + typedef int32_t jack_shm_registry_index_t; +#else typedef int16_t jack_shm_registry_index_t; +#endif /** * A structure holding information about shared memory allocated by diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jack2-1.9.16/common/wscript new/jack2-1.9.17/common/wscript --- old/jack2-1.9.16/common/wscript 2020-10-16 21:10:40.000000000 +0200 +++ new/jack2-1.9.17/common/wscript 2021-01-15 16:00:40.000000000 +0100 @@ -196,7 +196,10 @@ '../windows/JackMMCSS.cpp', ] - if not bld.env['IS_WINDOWS']: + if bld.env['IS_MACOSX']: + clientlib.cnum = bld.env['JACK_API_VERSION'] + clientlib.vnum = bld.env['JACK_VERSION'] + elif not bld.env['IS_WINDOWS']: clientlib.vnum = bld.env['JACK_API_VERSION'] if bld.env['IS_LINUX']: @@ -304,7 +307,10 @@ '../windows/JackNetWinSocket.cpp', ] - if not bld.env['IS_WINDOWS']: + if bld.env['IS_MACOSX']: + serverlib.cnum = bld.env['JACK_API_VERSION'] + serverlib.vnum = bld.env['JACK_VERSION'] + elif not bld.env['IS_WINDOWS']: serverlib.vnum = bld.env['JACK_API_VERSION'] if bld.env['IS_LINUX']: @@ -366,7 +372,10 @@ if bld.env['IS_WINDOWS']: netlib.source += ['../windows/JackNetWinSocket.cpp','../windows/JackWinThread.cpp', '../windows/JackMMCSS.cpp', '../windows/JackWinTime.c'] - if not bld.env['IS_WINDOWS']: + if bld.env['IS_MACOSX']: + netlib.cnum = bld.env['JACK_API_VERSION'] + netlib.vnum = bld.env['JACK_VERSION'] + elif not bld.env['IS_WINDOWS']: netlib.vnum = bld.env['JACK_API_VERSION'] create_jack_process_obj(bld, 'netmanager', 'JackNetManager.cpp', serverlib) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jack2-1.9.16/linux/JackLinuxFutex.cpp new/jack2-1.9.17/linux/JackLinuxFutex.cpp --- old/jack2-1.9.16/linux/JackLinuxFutex.cpp 2020-10-16 21:10:40.000000000 +0200 +++ new/jack2-1.9.17/linux/JackLinuxFutex.cpp 2021-01-15 16:00:40.000000000 +0100 @@ -29,6 +29,10 @@ #include <syscall.h> #include <linux/futex.h> +#if !defined(SYS_futex) && defined(SYS_futex_time64) +#define SYS_futex SYS_futex_time64 +#endif + namespace Jack { @@ -67,7 +71,7 @@ if (! fFutex->internal) return true; } - ::syscall(__NR_futex, fFutex, fFutex->internal ? FUTEX_WAKE_PRIVATE : FUTEX_WAKE, 1, NULL, NULL, 0); + ::syscall(SYS_futex, fFutex, fFutex->internal ? FUTEX_WAKE_PRIVATE : FUTEX_WAKE, 1, NULL, NULL, 0); return true; } @@ -94,7 +98,7 @@ if (__sync_bool_compare_and_swap(&fFutex->futex, 1, 0)) return true; - if (::syscall(__NR_futex, fFutex, fFutex->internal ? FUTEX_WAIT_PRIVATE : FUTEX_WAIT, 0, NULL, NULL, 0) != 0 && errno != EWOULDBLOCK) + if (::syscall(SYS_futex, fFutex, fFutex->internal ? FUTEX_WAIT_PRIVATE : FUTEX_WAIT, 0, NULL, NULL, 0) != 0 && errno != EWOULDBLOCK) return false; } } @@ -122,7 +126,7 @@ if (__sync_bool_compare_and_swap(&fFutex->futex, 1, 0)) return true; - if (::syscall(__NR_futex, fFutex, fFutex->internal ? FUTEX_WAIT_PRIVATE : FUTEX_WAIT, 0, &timeout, NULL, 0) != 0 && errno != EWOULDBLOCK) + if (::syscall(SYS_futex, fFutex, fFutex->internal ? FUTEX_WAIT_PRIVATE : FUTEX_WAIT, 0, &timeout, NULL, 0) != 0 && errno != EWOULDBLOCK) return false; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jack2-1.9.16/macosx/Jack-Info.plist new/jack2-1.9.17/macosx/Jack-Info.plist --- old/jack2-1.9.16/macosx/Jack-Info.plist 2020-10-16 21:10:40.000000000 +0200 +++ new/jack2-1.9.17/macosx/Jack-Info.plist 1970-01-01 01:00:00.000000000 +0100 @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>CFBundleDevelopmentRegion</key> - <string>English</string> - <key>CFBundleExecutable</key> - <string>Jackservermp</string> - <key>CFBundleGetInfoString</key> - <string>Jackdmp 1.9.13, @03-17 Paul Davis, Grame, Filipe Coelho</string> - <key>CFBundleIdentifier</key> - <string>com.grame.Jackmp</string> - <key>CFBundleInfoDictionaryVersion</key> - <string>6.0</string> - <key>CFBundlePackageType</key> - <string>FMWK</string> - <key>CFBundleShortVersionString</key> - <string></string> - <key>CFBundleSignature</key> - <string>????</string> - <key>CFBundleVersion</key> - <string>1.9.13</string> -</dict> -</plist> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jack2-1.9.16/macosx/JackAtomic_os.h new/jack2-1.9.17/macosx/JackAtomic_os.h --- old/jack2-1.9.16/macosx/JackAtomic_os.h 2020-10-16 21:10:40.000000000 +0200 +++ new/jack2-1.9.17/macosx/JackAtomic_os.h 2021-01-15 16:00:40.000000000 +0100 @@ -48,9 +48,7 @@ return result; } -#endif - -#if defined(__i386__) || defined(__x86_64__) +#elif defined(__i386__) || defined(__x86_64__) #define LOCK "lock ; " @@ -67,6 +65,13 @@ return ret; } +#else + +static inline char CAS(volatile UInt32 value, UInt32 newvalue, volatile void* addr) +{ + return __sync_bool_compare_and_swap ((UInt32*)addr, value, newvalue); +} + #endif #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jack2-1.9.16/macosx/coreaudio/JackCoreAudioAdapter.mm new/jack2-1.9.17/macosx/coreaudio/JackCoreAudioAdapter.mm --- old/jack2-1.9.16/macosx/coreaudio/JackCoreAudioAdapter.mm 2020-10-16 21:10:40.000000000 +0200 +++ new/jack2-1.9.17/macosx/coreaudio/JackCoreAudioAdapter.mm 2021-01-15 16:00:40.000000000 +0100 @@ -911,21 +911,21 @@ } // AUHAL -#ifdef MAC_OS_X_VERSION_10_5 - ComponentDescription cd = {kAudioUnitType_Output, kAudioUnitSubType_HALOutput, kAudioUnitManufacturer_Apple, 0, 0}; - Component HALOutput = FindNextComponent(NULL, &cd); - err1 = OpenAComponent(HALOutput, &fAUHAL); +#if (defined(MAC_OS_X_VERSION_10_5) && (MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_5)) + AudioComponentDescription cd = {kAudioUnitType_Output, kAudioUnitSubType_HALOutput, kAudioUnitManufacturer_Apple, 0, 0}; + AudioComponent HALOutput = AudioComponentFindNext(NULL, &cd); + err1 = AudioComponentInstanceNew(HALOutput, &fAUHAL); if (err1 != noErr) { - jack_error("Error calling OpenAComponent"); + jack_error("Error calling AudioComponentInstanceNew"); printError(err1); goto error; } #else - AudioComponentDescription cd = {kAudioUnitType_Output, kAudioUnitSubType_HALOutput, kAudioUnitManufacturer_Apple, 0, 0}; - AudioComponent HALOutput = AudioComponentFindNext(NULL, &cd); - err1 = AudioComponentInstanceNew(HALOutput, &fAUHAL); + ComponentDescription cd = {kAudioUnitType_Output, kAudioUnitSubType_HALOutput, kAudioUnitManufacturer_Apple, 0, 0}; + Component HALOutput = FindNextComponent(NULL, &cd); + err1 = OpenAComponent(HALOutput, &fAUHAL); if (err1 != noErr) { - jack_error("Error calling AudioComponentInstanceNew"); + jack_error("Error calling OpenAComponent"); printError(err1); goto error; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jack2-1.9.16/macosx/coreaudio/JackCoreAudioDriver.mm new/jack2-1.9.17/macosx/coreaudio/JackCoreAudioDriver.mm --- old/jack2-1.9.16/macosx/coreaudio/JackCoreAudioDriver.mm 2020-10-16 21:10:40.000000000 +0200 +++ new/jack2-1.9.17/macosx/coreaudio/JackCoreAudioDriver.mm 2021-01-15 16:00:40.000000000 +0100 @@ -1649,21 +1649,21 @@ } // AUHAL -#ifdef MAC_OS_X_VERSION_10_5 - ComponentDescription cd = {kAudioUnitType_Output, kAudioUnitSubType_HALOutput, kAudioUnitManufacturer_Apple, 0, 0}; - Component HALOutput = FindNextComponent(NULL, &cd); - err1 = OpenAComponent(HALOutput, &fAUHAL); +#if (defined(MAC_OS_X_VERSION_10_5) && (MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_5)) + AudioComponentDescription cd = {kAudioUnitType_Output, kAudioUnitSubType_HALOutput, kAudioUnitManufacturer_Apple, 0, 0}; + AudioComponent HALOutput = AudioComponentFindNext(NULL, &cd); + err1 = AudioComponentInstanceNew(HALOutput, &fAUHAL); if (err1 != noErr) { - jack_error("Error calling OpenAComponent"); + jack_error("Error calling AudioComponentInstanceNew"); printError(err1); goto error; } #else - AudioComponentDescription cd = {kAudioUnitType_Output, kAudioUnitSubType_HALOutput, kAudioUnitManufacturer_Apple, 0, 0}; - AudioComponent HALOutput = AudioComponentFindNext(NULL, &cd); - err1 = AudioComponentInstanceNew(HALOutput, &fAUHAL); + ComponentDescription cd = {kAudioUnitType_Output, kAudioUnitSubType_HALOutput, kAudioUnitManufacturer_Apple, 0, 0}; + Component HALOutput = FindNextComponent(NULL, &cd); + err1 = OpenAComponent(HALOutput, &fAUHAL); if (err1 != noErr) { - jack_error("Error calling AudioComponentInstanceNew"); + jack_error("Error calling OpenAComponent"); printError(err1); goto error; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jack2-1.9.16/macosx/install_jackdmp new/jack2-1.9.17/macosx/install_jackdmp --- old/jack2-1.9.16/macosx/install_jackdmp 2020-10-16 21:10:40.000000000 +0200 +++ new/jack2-1.9.17/macosx/install_jackdmp 1970-01-01 01:00:00.000000000 +0100 @@ -1,54 +0,0 @@ -# Install jackdmp and overwrite JACK installation - -# Plug-ins -[ -d Panda.framework ] && sudo cp -r Panda.framework /Library/Frameworks -[ -d JackRouter.plugin ] && sudo cp -r JackRouter.plugin /Library/Audio/Plug-Ins/HAL/ - -# Copy libraries and exe -sudo cp -r Jackmp.framework /Library/Frameworks/ -sudo cp -r Jackservermp.framework /Library/Frameworks/ -sudo cp -r Jacknet.framework /Library/Frameworks/ -sudo install -d /usr/local/bin -sudo cp jackdmp /usr/local/bin -[ -f jack_load ] && sudo cp jack_load /usr/local/bin -[ -f jack_unload ] && sudo cp jack_unload /usr/local/bin -[ -f jack_netsource ] && sudo cp jack_netsource /usr/local/bin - -# Copy drivers -sudo install -d /usr/local/lib/jackmp -sudo cp jack_coreaudio.so /usr/local/lib/jackmp -sudo cp jack_coremidi.so /usr/local/lib/jackmp -sudo cp jack_dummy.so /usr/local/lib/jackmp -sudo cp jack_loopback.so /usr/local/lib/jackmp -[ -f jack_net.so ] && sudo cp jack_net.so /usr/local/lib/jackmp -[ -f jack_netone.so ] && sudo cp jack_netone.so /usr/local/lib/jackmp - -# Copy tools -[ -f netmanager.so ] && sudo cp netmanager.so /usr/local/lib/jackmp -[ -f netadapter.so ] && sudo cp netadapter.so /usr/local/lib/jackmp -[ -f audioadapter.so ] && sudo cp audioadapter.so /usr/local/lib/jackmp - -# Create links to jackmp resources -cd /usr/local/bin && [ -f jackd ] && sudo rm jackd - -cd /usr/local/lib && [ -f libjack.0.dylib ] && sudo rm libjack.0.dylib -cd /usr/local/lib && [ -f libjack.dylib ] && sudo rm libjack.dylib - -cd /usr/local/lib && [ -f libjackserver.0.dylib ] && sudo rm libjackserver.0.dylib -cd /usr/local/lib && [ -f libjackserver.dylib ] && sudo rm libjackserver.dylib - -cd /usr/local/lib && [ -f libjacknet.dylib ] && sudo rm libjacknet.dylib -cd /usr/local/lib && [ -f libjacknet.0.dylib ] && sudo rm libjacknet.0.dylib - -cd /usr/local/lib && sudo ln -s /Library/Frameworks/Jackmp.framework/Jackmp libjack.dylib -cd /usr/local/lib && sudo ln -s /Library/Frameworks/Jackmp.framework/Jackmp libjack.0.dylib - -cd /usr/local/lib && sudo ln -s /Library/Frameworks/Jackservermp.framework/Jackservermp libjackserver.dylib -cd /usr/local/lib && sudo ln -s /Library/Frameworks/Jackservermp.framework/Jackservermp libjackserver.0.dylib - -cd /usr/local/lib && sudo ln -s /Library/Frameworks/Jacknet.framework/Jacknet libjacknet.dylib -cd /usr/local/lib && sudo ln -s /Library/Frameworks/Jacknet.framework/Jacknet libjacknet.0.dylib - -cd /usr/local/bin && sudo ln -s jackdmp jackd - - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jack2-1.9.16/macosx/remove_jackdmp new/jack2-1.9.17/macosx/remove_jackdmp --- old/jack2-1.9.16/macosx/remove_jackdmp 2020-10-16 21:10:40.000000000 +0200 +++ new/jack2-1.9.17/macosx/remove_jackdmp 1970-01-01 01:00:00.000000000 +0100 @@ -1,12 +0,0 @@ -# Remove jackdmp resources -sudo rm -r "/usr/local/lib/jackmp" -sudo rm "/usr/local/bin/jackdmp" -sudo rm -r "/usr/local/lib/jackd" -sudo rm "/usr/local/lib/libjackmp.dylib" -sudo rm -r "/Library/Frameworks/Jackmp.framework" -sudo rm -r "/Library/Frameworks/Jackservermp.framework" -sudo rm -r "/Library/Frameworks/Jacknet.framework" -sudo rm -r "/Library/Audio/Plug-Ins/HAL/JackRouter.plugin" - -# Tries to restore jack - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jack2-1.9.16/tools/jack_control new/jack2-1.9.17/tools/jack_control --- old/jack2-1.9.16/tools/jack_control 2020-10-16 21:10:40.000000000 +0200 +++ new/jack2-1.9.17/tools/jack_control 2021-01-15 16:00:40.000000000 +0100 @@ -397,7 +397,7 @@ print("DBus exception: %s" % str(e)) return 1 - return 0 + return 0 if __name__ == '__main__': sys.exit(main()) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jack2-1.9.16/waflib/Tools/ccroot.py new/jack2-1.9.17/waflib/Tools/ccroot.py --- old/jack2-1.9.16/waflib/Tools/ccroot.py 2020-10-16 21:10:40.000000000 +0200 +++ new/jack2-1.9.17/waflib/Tools/ccroot.py 2021-01-15 16:00:40.000000000 +0100 @@ -575,12 +575,10 @@ cnum = getattr(self, 'cnum', str(nums[0])) cnums = cnum.split('.') - if len(cnums)>len(nums) or nums[0:len(cnums)] != cnums: - raise Errors.WafError('invalid compatibility version %s' % cnum) libname = node.name if libname.endswith('.dylib'): - name3 = libname.replace('.dylib', '.%s.dylib' % self.vnum) + name3 = libname.replace('.dylib', '.%s.dylib' % cnums[0]) name2 = libname.replace('.dylib', '.%s.dylib' % cnum) else: name3 = libname + '.' + self.vnum diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jack2-1.9.16/windows/README_MINGW new/jack2-1.9.17/windows/README_MINGW --- old/jack2-1.9.16/windows/README_MINGW 2020-10-16 21:10:40.000000000 +0200 +++ new/jack2-1.9.17/windows/README_MINGW 2021-01-15 16:00:40.000000000 +0100 @@ -1,24 +1,31 @@ -HOW TO COMPILE JACK USING WAF AND MINGW -======================================= +HOW TO COMPILE JACK ON WINDOWS/MINGW +==================================== Rev. 1 - 2019-09-01 - First version Rev. 2 - 2019-09-18 - Include contributions from @Schroedingers-Cat Rev. 3 - 2019-12-14 - Include contributions from @Schroedingers-Cat - +Rev. 4 - 2020-11-27 - Rename, update intro and JackRouter build instructions Introduction ------------ -This guide contains detailed instructions for building JACK on a modern MinGW -installation. It was conceived as the starting point for unifying the JACK build -process across all platforms. - -As this is work in progress, there are still a couple of caveats: - -- Asynchronous mode is unusable with low latencies -- JackRouter still builds using a Visual Studio project -- Lots of real world testing is needed +This guide was originally called "How to compile JACK using WAF and MinGW" +and later renamed to "How to compile JACK on Windows/MinGW" to avoid confusion +with the official way of building JACK for Windows, which is cross-compiling +on Linux. That should be considered the only officially supported method now. + +Latest binary releases can be found here: https://jackaudio.org/downloads/ +JackRouter here: https://github.com/jackaudio/jack-router/tree/main/binaries + +JACK is primarily targeted at Unix systems and thus the required toolchain is +Unix-centric. So the majority of the guide is actually about setting up the +required build tools. Once done, the build process itself does not differ much +from that found on other platforms. + +The information here can be of interest to anyone wishing to contribute to the +development of Windows specific code in JACK, and wants to avoid double booting, +VMs, etc. That can be particularly helpful when it comes to debug or testing. @@ -179,28 +186,38 @@ Compiling JackRouter -------------------- +Source code for JackRouter is not considered part of JACK anymore so you need to +clone an additional repository: + +git clone https://github.com/jackaudio/jack-router + Visual Studio with MFC support is needed to build the included JackRouter VS project. The project was tested to successfully generate a 64bit version of JackRouter.dll using Visual Studio 2017 and 2019. MFC support can be added from the VS installer, by selecting Workloads/Visual C++ build tools/Visual C++ MFC -for x86 and x64 (valid for VS 2017). Once ready, just open and build the project +for x86 and x64 (valid for VS 2017). -windows/JackRouter/JackRouter_MinGW_deps.vcxproj +Once ready, just open and build the project -Differences from the original JackRouter.vcxproj: +win/JackRouter.sln -- Depends on the asiosdk files from the previous MinGW JACK installation (i.e., - it points to absolute paths starting with C:\msys64\opt) -- Links to the jack.dll.a created by the previous build, instead of libjack.lib - This means JackRouter.dll will currently depend on libjack-0.dll -- Force includes stdint.h and defines _STDINT_H to avoid int8_t, int32_t and - uint32_t basic types redefinition during compilation +Notes: + +- The project assumes the needed ASIO SDK is located in C:\Program Files\asiosdk + you can simply copy the SDK from the MinGW JACK installation, i.e. from + C:\msys64\opt to C:\Program Files +- Links against C:\Program Files\JACK2\lib\libjack64.dll.a which is the libjack + version installed by the official installer. You will have to update that path + so it points to the jack.dll.a created by the MinGW build instead. Running and distributing ------------------------ +!! This section is kept for historical reasons. The official JACK for Windows +build method includes the necessary steps to create a installer. !! + An automated installation process should copy files to two destinations. One for the JACK server binary and standalone tools, and another for the client library. The latter is needed by JACK enabled applications in order to be able to connect diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jack2-1.9.16/windows/inno/win32.iss new/jack2-1.9.17/windows/inno/win32.iss --- old/jack2-1.9.16/windows/inno/win32.iss 2020-10-16 21:10:40.000000000 +0200 +++ new/jack2-1.9.17/windows/inno/win32.iss 2021-01-15 16:00:40.000000000 +0100 @@ -9,45 +9,55 @@ AppVersion={#VERSION} DefaultDirName={commonpf32}\JACK2 DisableDirPage=yes +DisableWelcomePage=no +LicenseFile=..\..\COPYING OutputBaseFilename=jack2-win32-{#VERSION} OutputDir=. UsePreviousAppDir=no [Types] -Name: "full"; Description: "Full installation"; +Name: "full"; Description: "Full installation (without JACK-Router)"; +Name: "router"; Description: "Full installation (with JACK-Router)"; Name: "custom"; Description: "Custom installation"; Flags: iscustom; [Components] -Name: qjackctl; Description: "QJackCtl application (recommended)"; Types: full; -Name: dev; Description: "Developer resources"; Types: full; +Name: jackserver; Description: "JACK Server and tools"; Types: full router custom; Flags: fixed; +Name: qjackctl; Description: "QjackCtl application (recommended)"; Types: full router; +Name: router; Description: "JACK-Router ASIO Driver"; Types: router; +Name: dev; Description: "Developer resources"; Types: full router; [Files] ; icon -Source: "jack.ico"; DestDir: "{app}"; +Source: "jack.ico"; DestDir: "{app}"; Components: jackserver; Flags: ignoreversion; ; jackd and server libs -Source: "win32\bin\jackd.exe"; DestDir: "{app}"; -Source: "win32\lib\libjacknet.dll"; DestDir: "{app}"; -Source: "win32\lib\libjackserver.dll"; DestDir: "{app}"; +Source: "win32\bin\jackd.exe"; DestDir: "{app}"; Components: jackserver; Flags: ignoreversion; +Source: "win32\lib\libjacknet.dll"; DestDir: "{app}"; Components: jackserver; Flags: ignoreversion; +Source: "win32\lib\libjackserver.dll"; DestDir: "{app}"; Components: jackserver; Flags: ignoreversion; ; drivers -Source: "win32\lib\jack\*.dll"; DestDir: "{app}\jack"; +Source: "win32\lib\jack\*.dll"; DestDir: "{app}\jack"; Components: jackserver; Flags: ignoreversion; ; tools -Source: "win32\bin\jack_*.exe"; DestDir: "{app}\tools"; +Source: "win32\bin\jack_*.exe"; DestDir: "{app}\tools"; Components: jackserver; Flags: ignoreversion; ; jack client lib (NOTE goes into windir) -Source: "win32\lib\libjack.dll"; DestDir: "{win}"; +Source: "win32\lib\libjack.dll"; DestDir: "{win}"; Components: jackserver; Flags: ignoreversion; ; qjackctl -Source: "win32\bin\qjackctl.exe"; DestDir: "{app}\qjackctl"; Components: qjackctl; -Source: "Qt5*.dll"; DestDir: "{app}\qjackctl"; Components: qjackctl; -Source: "qwindows.dll"; DestDir: "{app}\qjackctl\platforms"; Components: qjackctl; +Source: "win32\bin\qjackctl.exe"; DestDir: "{app}\qjackctl"; Components: qjackctl; Flags: ignoreversion; +Source: "Qt5*.dll"; DestDir: "{app}\qjackctl"; Components: qjackctl; Flags: ignoreversion; +Source: "qwindows.dll"; DestDir: "{app}\qjackctl\platforms"; Components: qjackctl; Flags: ignoreversion; ; dev -Source: "win32\include\jack\*.h"; DestDir: "{app}\include\jack"; Components: dev; -Source: "win32\lib\*.a"; DestDir: "{app}\lib"; Components: dev; -Source: "win32\lib\*.def"; DestDir: "{app}\lib"; Components: dev; -Source: "win32\lib\*.lib"; DestDir: "{app}\lib"; Components: dev; -Source: "win32\lib\jack\*.a"; DestDir: "{app}\lib\jack"; Components: dev; +Source: "win32\include\jack\*.h"; DestDir: "{app}\include\jack"; Components: dev; Flags: ignoreversion; +Source: "win32\lib\*.a"; DestDir: "{app}\lib"; Components: dev; Flags: ignoreversion; +Source: "win32\lib\*.def"; DestDir: "{app}\lib"; Components: dev; Flags: ignoreversion; +Source: "win32\lib\*.lib"; DestDir: "{app}\lib"; Components: dev; Flags: ignoreversion; +Source: "win32\lib\jack\*.a"; DestDir: "{app}\lib\jack"; Components: dev; Flags: ignoreversion; +; router +Source: "win32\jack-router\README.txt"; DestDir: "{app}\jack-router"; Components: router; Flags: ignoreversion; +Source: "win32\jack-router\win32\JackRouter.dll"; DestDir: "{app}\jack-router\win32"; Components: router; Flags: ignoreversion regserver; +Source: "win32\jack-router\win32\JackRouter.ini"; DestDir: "{app}\jack-router\win32"; Components: router; Flags: ignoreversion; [Icons] -Name: "{commonprograms}\QJackCtl"; Filename: "{app}\qjackctl\qjackctl.exe"; IconFilename: "{app}\jack.ico"; WorkingDir: "{app}"; Comment: "Graphical Interface for JACK"; Components: qjackctl; +Name: "{commonprograms}\QjackCtl"; Filename: "{app}\qjackctl\qjackctl.exe"; IconFilename: "{app}\jack.ico"; WorkingDir: "{app}"; Comment: "Graphical Interface for JACK"; Components: qjackctl; [Registry] -Root: HKLM; Subkey: "Software\JACK"; Flags: deletevalue uninsdeletekeyifempty uninsdeletevalue; ValueType: string; ValueName: "Location"; ValueData: "{app}\jackd.exe" +Root: HKLM; Subkey: "Software\JACK"; Flags: deletevalue uninsdeletekeyifempty uninsdeletevalue; ValueType: string; ValueName: "ServerExecutable"; ValueData: "{app}\jackd.exe" +Root: HKLM; Subkey: "Software\JACK"; Flags: deletevalue uninsdeletekeyifempty uninsdeletevalue; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}" Root: HKLM; Subkey: "Software\JACK"; Flags: deletevalue uninsdeletekeyifempty uninsdeletevalue; ValueType: string; ValueName: "Version"; ValueData: "{#VERSION}" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jack2-1.9.16/windows/inno/win64.iss new/jack2-1.9.17/windows/inno/win64.iss --- old/jack2-1.9.16/windows/inno/win64.iss 2020-10-16 21:10:40.000000000 +0200 +++ new/jack2-1.9.17/windows/inno/win64.iss 2021-01-15 16:00:40.000000000 +0100 @@ -10,49 +10,65 @@ AppVersion={#VERSION} DefaultDirName={commonpf64}\JACK2 DisableDirPage=yes +DisableWelcomePage=no +LicenseFile=..\..\COPYING OutputBaseFilename=jack2-win64-{#VERSION} OutputDir=. UsePreviousAppDir=no [Types] -Name: "full"; Description: "Full installation"; +Name: "full"; Description: "Full installation (without JACK-Router)"; +Name: "router"; Description: "Full installation (with JACK-Router)"; Name: "custom"; Description: "Custom installation"; Flags: iscustom; [Components] -Name: qjackctl; Description: "QJackCtl application (recommended)"; Types: full; -Name: dev; Description: "Developer resources"; Types: full; +Name: jackserver; Description: "JACK Server and tools"; Types: full router custom; Flags: fixed; +Name: qjackctl; Description: "QjackCtl application (recommended)"; Types: full router; +Name: router; Description: "JACK-Router ASIO Driver"; Types: router; +Name: dev; Description: "Developer resources"; Types: full router; [Files] ; icon -Source: "jack.ico"; DestDir: "{app}"; +Source: "jack.ico"; DestDir: "{app}"; Components: jackserver; Flags: ignoreversion; ; jackd and server libs -Source: "win64\bin\jackd.exe"; DestDir: "{app}"; -Source: "win64\lib\libjacknet64.dll"; DestDir: "{app}"; -Source: "win64\lib\libjackserver64.dll"; DestDir: "{app}"; +Source: "win64\bin\jackd.exe"; DestDir: "{app}"; Components: jackserver; Flags: ignoreversion; +Source: "win64\lib\libjacknet64.dll"; DestDir: "{app}"; Components: jackserver; Flags: ignoreversion; +Source: "win64\lib\libjackserver64.dll"; DestDir: "{app}"; Components: jackserver; Flags: ignoreversion; ; drivers -Source: "win64\lib\jack\*.dll"; DestDir: "{app}\jack"; +Source: "win64\lib\jack\*.dll"; DestDir: "{app}\jack"; Components: jackserver; Flags: ignoreversion; ; tools -Source: "win64\bin\jack_*.exe"; DestDir: "{app}\tools"; +Source: "win64\bin\jack_*.exe"; DestDir: "{app}\tools"; Components: jackserver; Flags: ignoreversion; ; jack client lib (NOTE goes into windir) -Source: "win64\lib\libjack64.dll"; DestDir: "{win}"; -Source: "win64\lib32\libjack.dll"; DestDir: "{win}"; +Source: "win64\lib\libjack64.dll"; DestDir: "{win}"; Components: jackserver; Flags: ignoreversion; +Source: "win64\lib32\libjack.dll"; DestDir: "{win}"; Components: jackserver; Flags: ignoreversion; ; qjackctl -Source: "win64\bin\qjackctl.exe"; DestDir: "{app}\qjackctl"; Components: qjackctl; -Source: "Qt5*.dll"; DestDir: "{app}\qjackctl"; Components: qjackctl; -Source: "qwindows.dll"; DestDir: "{app}\qjackctl\platforms"; Components: qjackctl; +Source: "win64\bin\qjackctl.exe"; DestDir: "{app}\qjackctl"; Components: qjackctl; Flags: ignoreversion; +Source: "Qt5*.dll"; DestDir: "{app}\qjackctl"; Components: qjackctl; Flags: ignoreversion; +Source: "qwindows.dll"; DestDir: "{app}\qjackctl\platforms"; Components: qjackctl; Flags: ignoreversion; ; dev -Source: "win64\include\jack\*.h"; DestDir: "{app}\include\jack"; Components: dev; -Source: "win64\lib\*.a"; DestDir: "{app}\lib"; Components: dev; -Source: "win64\lib\*.def"; DestDir: "{app}\lib"; Components: dev; -Source: "win64\lib\*.lib"; DestDir: "{app}\lib"; Components: dev; -Source: "win64\lib32\*.a"; DestDir: "{app}\lib32"; Components: dev; -Source: "win64\lib32\*.def"; DestDir: "{app}\lib32"; Components: dev; -Source: "win64\lib32\*.lib"; DestDir: "{app}\lib32"; Components: dev; -Source: "win64\lib\jack\*.a"; DestDir: "{app}\lib\jack"; Components: dev; +Source: "win64\include\jack\*.h"; DestDir: "{app}\include\jack"; Components: dev; Flags: ignoreversion; +Source: "win64\lib\*.a"; DestDir: "{app}\lib"; Components: dev; Flags: ignoreversion; +Source: "win64\lib\*.def"; DestDir: "{app}\lib"; Components: dev; Flags: ignoreversion; +Source: "win64\lib\*.lib"; DestDir: "{app}\lib"; Components: dev; Flags: ignoreversion; +Source: "win64\lib32\*.a"; DestDir: "{app}\lib32"; Components: dev; Flags: ignoreversion; +Source: "win64\lib32\*.def"; DestDir: "{app}\lib32"; Components: dev; Flags: ignoreversion; +Source: "win64\lib32\*.lib"; DestDir: "{app}\lib32"; Components: dev; Flags: ignoreversion; +Source: "win64\lib\jack\*.a"; DestDir: "{app}\lib\jack"; Components: dev; Flags: ignoreversion; +; router +Source: "win64\jack-router\README.txt"; DestDir: "{app}\jack-router"; Components: router; Flags: ignoreversion; +Source: "win64\jack-router\win32\JackRouter.dll"; DestDir: "{app}\jack-router\win32"; Components: router; Flags: ignoreversion regserver 32bit; +Source: "win64\jack-router\win32\JackRouter.ini"; DestDir: "{app}\jack-router\win32"; Components: router; Flags: ignoreversion; +Source: "win64\jack-router\win64\JackRouter.dll"; DestDir: "{app}\jack-router\win64"; Components: router; Flags: ignoreversion regserver 64bit; +Source: "win64\jack-router\win64\JackRouter.ini"; DestDir: "{app}\jack-router\win64"; Components: router; Flags: ignoreversion; [Icons] -Name: "{commonprograms}\QJackCtl"; Filename: "{app}\qjackctl\qjackctl.exe"; IconFilename: "{app}\jack.ico"; WorkingDir: "{app}"; Comment: "Graphical Interface for JACK"; Components: qjackctl; +Name: "{commonprograms}\QjackCtl"; Filename: "{app}\qjackctl\qjackctl.exe"; IconFilename: "{app}\jack.ico"; WorkingDir: "{app}"; Comment: "Graphical Interface for JACK"; Components: qjackctl; [Registry] -Root: HKLM; Subkey: "Software\JACK"; Flags: deletevalue uninsdeletekeyifempty uninsdeletevalue; ValueType: string; ValueName: "Location"; ValueData: "{app}\jackd.exe" +Root: HKLM; Subkey: "Software\JACK"; Flags: deletevalue uninsdeletekeyifempty uninsdeletevalue; ValueType: string; ValueName: "ServerExecutable"; ValueData: "{app}\jackd.exe" +Root: HKLM; Subkey: "Software\JACK"; Flags: deletevalue uninsdeletekeyifempty uninsdeletevalue; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}" Root: HKLM; Subkey: "Software\JACK"; Flags: deletevalue uninsdeletekeyifempty uninsdeletevalue; ValueType: string; ValueName: "Version"; ValueData: "{#VERSION}" +; 32bit compat keys +Root: HKLM; Subkey: "Software\WOW6432Node\JACK"; Flags: deletevalue uninsdeletekeyifempty uninsdeletevalue; ValueType: string; ValueName: "ServerExecutable"; ValueData: "{app}\jackd.exe" +Root: HKLM; Subkey: "Software\WOW6432Node\JACK"; Flags: deletevalue uninsdeletekeyifempty uninsdeletevalue; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}" +Root: HKLM; Subkey: "Software\WOW6432Node\JACK"; Flags: deletevalue uninsdeletekeyifempty uninsdeletevalue; ValueType: string; ValueName: "Version"; ValueData: "{#VERSION}" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jack2-1.9.16/windows/portaudio/JackPortAudioAdapter.cpp new/jack2-1.9.17/windows/portaudio/JackPortAudioAdapter.cpp --- old/jack2-1.9.16/windows/portaudio/JackPortAudioAdapter.cpp 2020-10-16 21:10:40.000000000 +0200 +++ new/jack2-1.9.17/windows/portaudio/JackPortAudioAdapter.cpp 2021-01-15 16:00:40.000000000 +0100 @@ -211,8 +211,8 @@ desc = jack_driver_descriptor_construct("audioadapter", JackDriverNone, "netjack audio <==> net backend adapter", &filler); value.ui = 0; - jack_driver_descriptor_add_parameter(desc, &filler, "in-channels", 'i', JackDriverParamInt, &value, NULL, "Maximum number of input channels", NULL); - jack_driver_descriptor_add_parameter(desc, &filler, "out-channels", 'o', JackDriverParamInt, &value, NULL, "Maximum number of output channels", NULL); + jack_driver_descriptor_add_parameter(desc, &filler, "in-channels", 'i', JackDriverParamUInt, &value, NULL, "Maximum number of input channels", NULL); + jack_driver_descriptor_add_parameter(desc, &filler, "out-channels", 'o', JackDriverParamUInt, &value, NULL, "Maximum number of output channels", NULL); jack_driver_descriptor_add_parameter(desc, &filler, "capture", 'C', JackDriverParamString, &value, NULL, "Provide capture ports. Optionally set PortAudio device name", NULL); @@ -230,10 +230,10 @@ jack_driver_descriptor_add_parameter(desc, &filler, "list-devices", 'l', JackDriverParamBool, &value, NULL, "Display available PortAudio devices", NULL); value.ui = 0; - jack_driver_descriptor_add_parameter(desc, &filler, "quality", 'q', JackDriverParamInt, &value, NULL, "Resample algorithm quality (0 - 4)", NULL); + jack_driver_descriptor_add_parameter(desc, &filler, "quality", 'q', JackDriverParamUInt, &value, NULL, "Resample algorithm quality (0 - 4)", NULL); value.ui = 32768; - jack_driver_descriptor_add_parameter(desc, &filler, "ring-buffer", 'g', JackDriverParamInt, &value, NULL, "Fixed ringbuffer size", "Fixed ringbuffer size (if not set => automatic adaptative)"); + jack_driver_descriptor_add_parameter(desc, &filler, "ring-buffer", 'g', JackDriverParamUInt, &value, NULL, "Fixed ringbuffer size", "Fixed ringbuffer size (if not set => automatic adaptative)"); return desc; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jack2-1.9.16/windows/portaudio/JackPortAudioDriver.cpp new/jack2-1.9.17/windows/portaudio/JackPortAudioDriver.cpp --- old/jack2-1.9.16/windows/portaudio/JackPortAudioDriver.cpp 2020-10-16 21:10:40.000000000 +0200 +++ new/jack2-1.9.17/windows/portaudio/JackPortAudioDriver.cpp 2021-01-15 16:00:40.000000000 +0100 @@ -334,10 +334,6 @@ goto error; } - // It seems that some ASIO drivers (like ASIO4All) needs this to restart correctly; - delete fPaDevices; - fPaDevices = new PortAudioDevices(); - err = OpenStream(buffer_size); if (err != paNoError) { jack_error("Pa_OpenStream error = %s", Pa_GetErrorText(err)); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jack2-1.9.16/wscript new/jack2-1.9.17/wscript --- old/jack2-1.9.16/wscript 2020-10-16 21:10:40.000000000 +0200 +++ new/jack2-1.9.17/wscript 2021-01-15 16:00:40.000000000 +0100 @@ -11,7 +11,7 @@ from waflib import Logs, Options, Task, Utils from waflib.Build import BuildContext, CleanContext, InstallContext, UninstallContext -VERSION='1.9.16' +VERSION='1.9.17' APPNAME='jack' JACK_API_VERSION = '0.1.0'
participants (1)
-
Source-Sync