From b97ac2a0809535b93713e223364f866318df0ce8 Mon Sep 17 00:00:00 2001 From: sletz Date: Tue, 20 Dec 2011 10:45:15 +0000 Subject: [PATCH 001/209] Version 1.9.9 started. git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@4655 0c269be4-1314-0410-8aa9-9f06e86f4224 --- ChangeLog | 4 ++++ common/JackConstants.h | 2 +- doxyfile | 2 +- macosx/Jack-Info.plist | 4 ++-- windows/Setup/jack.ci | 2 +- windows/Setup/jack64.ci | 2 +- windows/jackaudioadapter.rc | 8 ++++---- windows/jackd.rc | 8 ++++---- windows/jackdummydriver.rc | 8 ++++---- windows/jackloopbackdriver.rc | 8 ++++---- windows/jacknetadapter.rc | 8 ++++---- windows/jacknetdriver.rc | 8 ++++---- windows/jacknetmanager.rc | 8 ++++---- windows/jacknetonedriver.rc | 8 ++++---- windows/jackportaudio.rc | 8 ++++---- windows/jackwinmme.rc | 8 ++++---- windows/libjack.rc | 8 ++++---- windows/libjacknet.rc | 8 ++++---- windows/libjackserver.rc | 8 ++++---- windows/resource.rc | 8 ++++---- wscript | 2 +- 21 files changed, 67 insertions(+), 63 deletions(-) diff --git a/ChangeLog b/ChangeLog index 15c83a4e..36c9c457 100644 --- a/ChangeLog +++ b/ChangeLog @@ -36,6 +36,10 @@ John Emmas Jackdmp changes log --------------------------- +2011-12-20 Stephane Letz + + * Version 1.9.9 started. + 2011-11-25 Stephane Letz * More robust dynamic port management in JACK/CoreMidi bridge. diff --git a/common/JackConstants.h b/common/JackConstants.h index 02c2cf06..9aa32a38 100644 --- a/common/JackConstants.h +++ b/common/JackConstants.h @@ -24,7 +24,7 @@ #include "config.h" #endif -#define VERSION "1.9.8" +#define VERSION "1.9.9" #define BUFFER_SIZE_MAX 8192 diff --git a/doxyfile b/doxyfile index 4c4d302e..ba2e12af 100644 --- a/doxyfile +++ b/doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = "Jack2" # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 1.9.8 +PROJECT_NUMBER = 1.9.9 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. diff --git a/macosx/Jack-Info.plist b/macosx/Jack-Info.plist index ef6c3bfa..d01dad25 100644 --- a/macosx/Jack-Info.plist +++ b/macosx/Jack-Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable Jackservermp CFBundleGetInfoString - Jackdmp 1.9.8, @03-11 Paul Davis, Grame + Jackdmp 1.9.9, @03-11 Paul Davis, Grame CFBundleIdentifier com.grame.Jackmp CFBundleInfoDictionaryVersion @@ -19,6 +19,6 @@ CFBundleSignature ???? CFBundleVersion - 1.9.8 + 1.9.9 diff --git a/windows/Setup/jack.ci b/windows/Setup/jack.ci index 545b9950..aabefe25 100644 --- a/windows/Setup/jack.ci +++ b/windows/Setup/jack.ci @@ -1,7 +1,7 @@ <*project version = 4 civer = "Free v4.14.5" winver = "2.6/5.1.2600" > . - Jack_v1.9.8_32_setup.exe + Jack_v1.9.9_32_setup.exe Jack diff --git a/windows/Setup/jack64.ci b/windows/Setup/jack64.ci index 702f6c0c..d351ae52 100644 --- a/windows/Setup/jack64.ci +++ b/windows/Setup/jack64.ci @@ -1,7 +1,7 @@ <*project version = 4 civer = "Free v4.14.5" winver = "2.8/6.1.7600" > . - Jack_v1.9.8_64_setup.exe + Jack_v1.9.9_64_setup.exe Jack diff --git a/windows/jackaudioadapter.rc b/windows/jackaudioadapter.rc index 2c29dee7..b82b06f5 100644 --- a/windows/jackaudioadapter.rc +++ b/windows/jackaudioadapter.rc @@ -11,8 +11,8 @@ // LANGUAGE LANG_FRENCH, SUBLANG_DEFAULT 1 VERSIONINFO - FILEVERSION 1,9,8,0 - PRODUCTVERSION 1,9,8,0 + FILEVERSION 1,9,9,0 + PRODUCTVERSION 1,9,9,0 FILEOS VOS_UNKNOWN FILETYPE VFT_DLL BEGIN @@ -23,14 +23,14 @@ BEGIN VALUE "Comments", "\0" VALUE "CompanyName", "Grame\0" VALUE "FileDescription", "Jackmp Audio Adapter for Windows\0" - VALUE "FileVersion", "1, 9, 8, 0\0" + VALUE "FileVersion", "1, 9, 9, 0\0" VALUE "InternalName", "audioadapter\0" VALUE "LegalCopyright", "Copyright Grame © 2006-2011\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "audioadapter.dll\0" VALUE "PrivateBuild", "\0" VALUE "ProductName", "audioadapter\0" - VALUE "ProductVersion", "1, 9, 8, 0\0" + VALUE "ProductVersion", "1, 9, 9, 0\0" VALUE "SpecialBuild", "\0" END END diff --git a/windows/jackd.rc b/windows/jackd.rc index 0af38293..9f0f909a 100644 --- a/windows/jackd.rc +++ b/windows/jackd.rc @@ -11,8 +11,8 @@ // LANGUAGE LANG_FRENCH, SUBLANG_DEFAULT 1 VERSIONINFO - FILEVERSION 1,9,8,0 - PRODUCTVERSION 1,9,8,0 + FILEVERSION 1,9,9,0 + PRODUCTVERSION 1,9,9,0 FILEOS VOS_UNKNOWN FILETYPE VFT_APP BEGIN @@ -23,14 +23,14 @@ BEGIN VALUE "Comments", "\0" VALUE "CompanyName", "Grame\0" VALUE "FileDescription", "Jack server for Windows\0" - VALUE "FileVersion", "1, 9, 8, 0\0" + VALUE "FileVersion", "1, 9, 9, 0\0" VALUE "InternalName", "jackd\0" VALUE "LegalCopyright", "Copyright Grame © 2006-2011\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "jackd.exe\0" VALUE "PrivateBuild", "\0" VALUE "ProductName", "jackd\0" - VALUE "ProductVersion", "1, 9, 8, 0\0" + VALUE "ProductVersion", "1, 9, 9, 0\0" VALUE "SpecialBuild", "\0" END END diff --git a/windows/jackdummydriver.rc b/windows/jackdummydriver.rc index 881a3811..a5fa070d 100644 --- a/windows/jackdummydriver.rc +++ b/windows/jackdummydriver.rc @@ -11,8 +11,8 @@ // LANGUAGE LANG_FRENCH, SUBLANG_DEFAULT 1 VERSIONINFO - FILEVERSION 1,9,8,0 - PRODUCTVERSION 1,9,8,0 + FILEVERSION 1,9,9,0 + PRODUCTVERSION 1,9,9,0 FILEOS VOS_UNKNOWN FILETYPE VFT_DLL BEGIN @@ -23,14 +23,14 @@ BEGIN VALUE "Comments", "\0" VALUE "CompanyName", "Grame\0" VALUE "FileDescription", "Jackmp Dummy Driver for Windows\0" - VALUE "FileVersion", "1, 9, 8, 0\0" + VALUE "FileVersion", "1, 9, 9, 0\0" VALUE "InternalName", "jack_dummy\0" VALUE "LegalCopyright", "Copyright Grame © 2006-2011\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "jack_dummy.dll\0" VALUE "PrivateBuild", "\0" VALUE "ProductName", "jack_dummy\0" - VALUE "ProductVersion", "1, 9, 8, 0\0" + VALUE "ProductVersion", "1, 9, 9, 0\0" VALUE "SpecialBuild", "\0" END END diff --git a/windows/jackloopbackdriver.rc b/windows/jackloopbackdriver.rc index 878605cc..00657edf 100644 --- a/windows/jackloopbackdriver.rc +++ b/windows/jackloopbackdriver.rc @@ -11,8 +11,8 @@ // LANGUAGE LANG_FRENCH, SUBLANG_DEFAULT 1 VERSIONINFO - FILEVERSION 1,9,8,0 - PRODUCTVERSION 1,9,8,0 + FILEVERSION 1,9,9,0 + PRODUCTVERSION 1,9,9,0 FILEOS VOS_UNKNOWN FILETYPE VFT_DLL BEGIN @@ -23,14 +23,14 @@ BEGIN VALUE "Comments", "\0" VALUE "CompanyName", "Grame\0" VALUE "FileDescription", "Jackmp Loopback Driver for Windows\0" - VALUE "FileVersion", "1, 9, 8, 0\0" + VALUE "FileVersion", "1, 9, 9, 0\0" VALUE "InternalName", "jack_loopback\0" VALUE "LegalCopyright", "Copyright Grame © 2006-2011\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "jack_loopback.dll\0" VALUE "PrivateBuild", "\0" VALUE "ProductName", "jack_loopback\0" - VALUE "ProductVersion", "1, 9, 8, 0\0" + VALUE "ProductVersion", "1, 9, 9, 0\0" VALUE "SpecialBuild", "\0" END END diff --git a/windows/jacknetadapter.rc b/windows/jacknetadapter.rc index ba5c2ae8..f8439bd4 100644 --- a/windows/jacknetadapter.rc +++ b/windows/jacknetadapter.rc @@ -11,8 +11,8 @@ // LANGUAGE LANG_FRENCH, SUBLANG_DEFAULT 1 VERSIONINFO - FILEVERSION 1,9,8,0 - PRODUCTVERSION 1,9,8,0 + FILEVERSION 1,9,9,0 + PRODUCTVERSION 1,9,9,0 FILEOS VOS_UNKNOWN FILETYPE VFT_DLL BEGIN @@ -23,14 +23,14 @@ BEGIN VALUE "Comments", "\0" VALUE "CompanyName", "Grame\0" VALUE "FileDescription", "Jackmp Net Adapter for Windows\0" - VALUE "FileVersion", "1, 9, 8, 0\0" + VALUE "FileVersion", "1, 9, 9, 0\0" VALUE "InternalName", "netadapter\0" VALUE "LegalCopyright", "Copyright Grame © 2006-2011\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "netadapter.dll\0" VALUE "PrivateBuild", "\0" VALUE "ProductName", "netadapter\0" - VALUE "ProductVersion", "1, 9, 8, 0\0" + VALUE "ProductVersion", "1, 9, 9, 0\0" VALUE "SpecialBuild", "\0" END END diff --git a/windows/jacknetdriver.rc b/windows/jacknetdriver.rc index 9df605a3..284645b4 100644 --- a/windows/jacknetdriver.rc +++ b/windows/jacknetdriver.rc @@ -11,8 +11,8 @@ // LANGUAGE LANG_FRENCH, SUBLANG_DEFAULT 1 VERSIONINFO - FILEVERSION 1,9,8,0 - PRODUCTVERSION 1,9,8,0 + FILEVERSION 1,9,9,0 + PRODUCTVERSION 1,9,9,0 FILEOS VOS_UNKNOWN FILETYPE VFT_DLL BEGIN @@ -23,14 +23,14 @@ BEGIN VALUE "Comments", "\0" VALUE "CompanyName", "Grame\0" VALUE "FileDescription", "Jackmp Net Driver for Windows\0" - VALUE "FileVersion", "1, 9, 8, 0\0" + VALUE "FileVersion", "1, 9, 9, 0\0" VALUE "InternalName", "jack_netdriver\0" VALUE "LegalCopyright", "Copyright Grame © 2006-2011\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "jack_netdriver.dll\0" VALUE "PrivateBuild", "\0" VALUE "ProductName", "jack_netdriver\0" - VALUE "ProductVersion", "1, 9, 8, 0\0" + VALUE "ProductVersion", "1, 9, 9, 0\0" VALUE "SpecialBuild", "\0" END END diff --git a/windows/jacknetmanager.rc b/windows/jacknetmanager.rc index 2691e8fe..ba44b9b0 100644 --- a/windows/jacknetmanager.rc +++ b/windows/jacknetmanager.rc @@ -11,8 +11,8 @@ // LANGUAGE LANG_FRENCH, SUBLANG_DEFAULT 1 VERSIONINFO - FILEVERSION 1,9,8,0 - PRODUCTVERSION 1,9,8,0 + FILEVERSION 1,9,9,0 + PRODUCTVERSION 1,9,9,0 FILEOS VOS_UNKNOWN FILETYPE VFT_DLL BEGIN @@ -23,14 +23,14 @@ BEGIN VALUE "Comments", "\0" VALUE "CompanyName", "Grame\0" VALUE "FileDescription", "Jackmp Net Manager for Windows\0" - VALUE "FileVersion", "1, 9, 8, 0\0" + VALUE "FileVersion", "1, 9, 9, 0\0" VALUE "InternalName", "netmanager\0" VALUE "LegalCopyright", "Copyright Grame © 2006-2011\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "netmanager.dll\0" VALUE "PrivateBuild", "\0" VALUE "ProductName", "netmanager\0" - VALUE "ProductVersion", "1, 9, 8, 0\0" + VALUE "ProductVersion", "1, 9, 9, 0\0" VALUE "SpecialBuild", "\0" END END diff --git a/windows/jacknetonedriver.rc b/windows/jacknetonedriver.rc index 6c57a212..a458931f 100644 --- a/windows/jacknetonedriver.rc +++ b/windows/jacknetonedriver.rc @@ -11,8 +11,8 @@ // LANGUAGE LANG_FRENCH, SUBLANG_DEFAULT 1 VERSIONINFO - FILEVERSION 1,9,8,0 - PRODUCTVERSION 1,9,8,0 + FILEVERSION 1,9,9,0 + PRODUCTVERSION 1,9,9,0 FILEOS VOS_UNKNOWN FILETYPE VFT_DLL BEGIN @@ -23,14 +23,14 @@ BEGIN VALUE "Comments", "\0" VALUE "CompanyName", "Grame\0" VALUE "FileDescription", "Jackmp NetOne Driver for Windows\0" - VALUE "FileVersion", "1, 9, 8, 0\0" + VALUE "FileVersion", "1, 9, 9, 0\0" VALUE "InternalName", "jack_netonedriver\0" VALUE "LegalCopyright", "Copyright Grame © 2006-2011\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "jack_netonedriver.dll\0" VALUE "PrivateBuild", "\0" VALUE "ProductName", "jack_netonedriver\0" - VALUE "ProductVersion", "1, 9, 8, 0\0" + VALUE "ProductVersion", "1, 9, 9, 0\0" VALUE "SpecialBuild", "\0" END END diff --git a/windows/jackportaudio.rc b/windows/jackportaudio.rc index 991c4bd8..ec7fda1d 100644 --- a/windows/jackportaudio.rc +++ b/windows/jackportaudio.rc @@ -11,8 +11,8 @@ // LANGUAGE LANG_FRENCH, SUBLANG_DEFAULT 1 VERSIONINFO - FILEVERSION 1,9,8,0 - PRODUCTVERSION 1,9,8,0 + FILEVERSION 1,9,9,0 + PRODUCTVERSION 1,9,9,0 FILEOS VOS_UNKNOWN FILETYPE VFT_DLL BEGIN @@ -23,14 +23,14 @@ BEGIN VALUE "Comments", "\0" VALUE "CompanyName", "Grame\0" VALUE "FileDescription", "Jackmp PortAudio Driver for Windows\0" - VALUE "FileVersion", "1, 9, 8, 0\0" + VALUE "FileVersion", "1, 9, 9, 0\0" VALUE "InternalName", "jack_portaudio\0" VALUE "LegalCopyright", "Copyright Grame © 2006-2011\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "jack_portaudio.dll\0" VALUE "PrivateBuild", "\0" VALUE "ProductName", "jack_portaudio\0" - VALUE "ProductVersion", "1, 9, 8, 0\0" + VALUE "ProductVersion", "1, 9, 9, 0\0" VALUE "SpecialBuild", "\0" END END diff --git a/windows/jackwinmme.rc b/windows/jackwinmme.rc index 8ee884b7..92a92ce7 100644 --- a/windows/jackwinmme.rc +++ b/windows/jackwinmme.rc @@ -11,8 +11,8 @@ // LANGUAGE LANG_FRENCH, SUBLANG_DEFAULT 1 VERSIONINFO - FILEVERSION 1,9,8,0 - PRODUCTVERSION 1,9,8,0 + FILEVERSION 1,9,9,0 + PRODUCTVERSION 1,9,9,0 FILEOS VOS_UNKNOWN FILETYPE VFT_DLL BEGIN @@ -23,14 +23,14 @@ BEGIN VALUE "Comments", "\0" VALUE "CompanyName", "Grame\0" VALUE "FileDescription", "Jackmp WinMME Driver for Windows\0" - VALUE "FileVersion", "1, 9, 8, 0\0" + VALUE "FileVersion", "1, 9, 9, 0\0" VALUE "InternalName", "jack_portaudio\0" VALUE "LegalCopyright", "Copyright Grame © 2006-2011\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "jack_winmme.dll\0" VALUE "PrivateBuild", "\0" VALUE "ProductName", "jack_winmme\0" - VALUE "ProductVersion", "1, 9, 8, 0\0" + VALUE "ProductVersion", "1, 9, 9, 0\0" VALUE "SpecialBuild", "\0" END END diff --git a/windows/libjack.rc b/windows/libjack.rc index 753aeb8e..65f5cd5d 100644 --- a/windows/libjack.rc +++ b/windows/libjack.rc @@ -11,8 +11,8 @@ // LANGUAGE LANG_FRENCH, SUBLANG_DEFAULT 1 VERSIONINFO - FILEVERSION 1,9,8,0 - PRODUCTVERSION 1,9,8,0 + FILEVERSION 1,9,9,0 + PRODUCTVERSION 1,9,9,0 FILEOS VOS_UNKNOWN FILETYPE VFT_DLL BEGIN @@ -23,14 +23,14 @@ BEGIN VALUE "Comments", "\0" VALUE "CompanyName", "Grame\0" VALUE "FileDescription", "Jack client library for Windows\0" - VALUE "FileVersion", "1, 9, 8, 0\0" + VALUE "FileVersion", "1, 9, 9, 0\0" VALUE "InternalName", "libjack\0" VALUE "LegalCopyright", "Copyright Grame © 2006-2011\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "libjack.dll\0" VALUE "PrivateBuild", "\0" VALUE "ProductName", "libjack\0" - VALUE "ProductVersion", "1, 9, 8, 0\0" + VALUE "ProductVersion", "1, 9, 9, 0\0" VALUE "SpecialBuild", "\0" END END diff --git a/windows/libjacknet.rc b/windows/libjacknet.rc index 7431af9b..aa9c34a3 100644 --- a/windows/libjacknet.rc +++ b/windows/libjacknet.rc @@ -11,8 +11,8 @@ // LANGUAGE LANG_FRENCH, SUBLANG_DEFAULT 1 VERSIONINFO - FILEVERSION 1,9,8,0 - PRODUCTVERSION 1,9,8,0 + FILEVERSION 1,9,9,0 + PRODUCTVERSION 1,9,9,0 FILEOS VOS_UNKNOWN FILETYPE VFT_DLL BEGIN @@ -23,14 +23,14 @@ BEGIN VALUE "Comments", "\0" VALUE "CompanyName", "Grame\0" VALUE "FileDescription", "Jack Net library for Windows\0" - VALUE "FileVersion", "1, 9, 8, 0\0" + VALUE "FileVersion", "1, 9, 9, 0\0" VALUE "InternalName", "libjacknet\0" VALUE "LegalCopyright", "Copyright Grame © 2006-2011\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "libjacknet.dll\0" VALUE "PrivateBuild", "\0" VALUE "ProductName", "libjacknet\0" - VALUE "ProductVersion", "1, 9, 8, 0\0" + VALUE "ProductVersion", "1, 9, 9, 0\0" VALUE "SpecialBuild", "\0" END END diff --git a/windows/libjackserver.rc b/windows/libjackserver.rc index b930ccc7..45834585 100644 --- a/windows/libjackserver.rc +++ b/windows/libjackserver.rc @@ -11,8 +11,8 @@ // LANGUAGE LANG_FRENCH, SUBLANG_DEFAULT 1 VERSIONINFO - FILEVERSION 1,9,8,0 - PRODUCTVERSION 1,9,8,0 + FILEVERSION 1,9,9,0 + PRODUCTVERSION 1,9,9,0 FILEOS VOS_UNKNOWN FILETYPE VFT_DLL BEGIN @@ -23,14 +23,14 @@ BEGIN VALUE "Comments", "\0" VALUE "CompanyName", "Grame\0" VALUE "FileDescription", "Jack server library for Windows\0" - VALUE "FileVersion", "1, 9, 8, 0\0" + VALUE "FileVersion", "1, 9, 9, 0\0" VALUE "InternalName", "libjackserver\0" VALUE "LegalCopyright", "Copyright Grame © 2006-2011\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "libjackserver.dll\0" VALUE "PrivateBuild", "\0" VALUE "ProductName", "libjackserver\0" - VALUE "ProductVersion", "1, 9, 8, 0\0" + VALUE "ProductVersion", "1, 9, 9, 0\0" VALUE "SpecialBuild", "\0" END END diff --git a/windows/resource.rc b/windows/resource.rc index 902ea5ee..c9f29c26 100644 --- a/windows/resource.rc +++ b/windows/resource.rc @@ -14,8 +14,8 @@ LANGUAGE LANG_FRENCH, SUBLANG_FRENCH #ifndef _MAC VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,9,8,0 - PRODUCTVERSION 1,9,8,0 + FILEVERSION 1,9,9,0 + PRODUCTVERSION 1,9,9,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -33,14 +33,14 @@ BEGIN VALUE "Comments", "\0" VALUE "CompanyName", "Grame\0" VALUE "FileDescription", "Jackmp for Windows\0" - VALUE "FileVersion", "1, 9, 8, 0\0" + VALUE "FileVersion", "1, 9, 9, 0\0" VALUE "InternalName", "libjackmp\0" VALUE "LegalCopyright", "Copyright Grame © 2006-2011\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "libjackmp.dll\0" VALUE "PrivateBuild", "\0" VALUE "ProductName", "libjackmp\0" - VALUE "ProductVersion", "1, 9, 8, 0\0" + VALUE "ProductVersion", "1, 9, 9, 0\0" VALUE "SpecialBuild", "\0" END END diff --git a/wscript b/wscript index 2b41fc06..e2d18c57 100644 --- a/wscript +++ b/wscript @@ -11,7 +11,7 @@ import Task import re import Logs -VERSION='1.9.8' +VERSION='1.9.9' APPNAME='jack' JACK_API_VERSION = '0.1.0' From 5f09cb3990e7559dc54871e2ab26ea9a02b03ca5 Mon Sep 17 00:00:00 2001 From: sletz Date: Tue, 20 Dec 2011 14:57:52 +0000 Subject: [PATCH 002/209] Cleanup headers. git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@4656 0c269be4-1314-0410-8aa9-9f06e86f4224 --- common/JackDriverInfo.h | 57 +++++++++++++++++++++++++++++++++++++ common/JackDriverLoader.cpp | 1 + common/JackDriverLoader.h | 32 ++------------------- common/JackInternalClient.h | 5 ++-- common/JackServer.h | 1 + common/driver_interface.h | 2 ++ 6 files changed, 65 insertions(+), 33 deletions(-) create mode 100644 common/JackDriverInfo.h diff --git a/common/JackDriverInfo.h b/common/JackDriverInfo.h new file mode 100644 index 00000000..42b084f9 --- /dev/null +++ b/common/JackDriverInfo.h @@ -0,0 +1,57 @@ +/* +Copyright (C) 2001-2005 Paul Davis +Copyright (C) 2004-2008 Grame + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +*/ + +#ifndef __JackDriverInfo__ +#define __JackDriverInfo__ + +#include "driver_interface.h" +//#include "JackControlAPI.h" +//#include "JackPlatformPlug.h" +#include "JackDriver.h" +#include "JackSystemDeps.h" + +typedef Jack::JackDriverClientInterface* (*driverInitialize) (Jack::JackLockedEngine*, Jack::JackSynchro*, const JSList*); + +class SERVER_EXPORT JackDriverInfo +{ + + private: + + driverInitialize fInitialize; + DRIVER_HANDLE fHandle; + Jack::JackDriverClientInterface* fBackend; + + public: + + JackDriverInfo():fInitialize(NULL),fHandle(NULL),fBackend(NULL) + {} + ~JackDriverInfo(); + + Jack::JackDriverClientInterface* Open(jack_driver_desc_t* driver_desc, Jack::JackLockedEngine*, Jack::JackSynchro*, const JSList*); + + Jack::JackDriverClientInterface* GetBackend() + { + return fBackend; + } + +}; + +#endif + diff --git a/common/JackDriverLoader.cpp b/common/JackDriverLoader.cpp index f7de89ee..034c1426 100644 --- a/common/JackDriverLoader.cpp +++ b/common/JackDriverLoader.cpp @@ -20,6 +20,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #include "JackSystemDeps.h" #include "JackDriverLoader.h" +#include "JackDriverInfo.h" #include "JackConstants.h" #include "JackError.h" #include diff --git a/common/JackDriverLoader.h b/common/JackDriverLoader.h index dc8cc701..0adde288 100644 --- a/common/JackDriverLoader.h +++ b/common/JackDriverLoader.h @@ -24,38 +24,10 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #include "driver_interface.h" #include "JackControlAPI.h" #include "JackPlatformPlug.h" -#include "JackDriver.h" -#include "JackSystemDeps.h" - -typedef jack_driver_desc_t* (*JackDriverDescFunction) (); -typedef Jack::JackDriverClientInterface* (*driverInitialize) (Jack::JackLockedEngine*, Jack::JackSynchro*, const JSList*); - -class SERVER_EXPORT JackDriverInfo -{ - - private: - - driverInitialize fInitialize; - DRIVER_HANDLE fHandle; - Jack::JackDriverClientInterface* fBackend; - - public: - - JackDriverInfo():fInitialize(NULL),fHandle(NULL),fBackend(NULL) - {} - ~JackDriverInfo(); - - Jack::JackDriverClientInterface* Open(jack_driver_desc_t* driver_desc, Jack::JackLockedEngine*, Jack::JackSynchro*, const JSList*); - - Jack::JackDriverClientInterface* GetBackend() - { - return fBackend; - } - -}; +//#include "JackDriver.h" +//#include "JackSystemDeps.h" jack_driver_desc_t* jack_find_driver_descriptor(JSList* drivers, const char* name); - JSList* jack_drivers_load(JSList* drivers); JSList* jack_internals_load(JSList* internals); diff --git a/common/JackInternalClient.h b/common/JackInternalClient.h index 19885c8b..d8479271 100644 --- a/common/JackInternalClient.h +++ b/common/JackInternalClient.h @@ -63,7 +63,6 @@ class JackInternalClient : public JackClient typedef int (*InitializeCallback)(jack_client_t*, const char*); typedef int (*InternalInitializeCallback)(jack_client_t*, const JSList* params); typedef void (*FinishCallback)(void *); -typedef jack_driver_desc_t * (*JackDriverDescFunction) (); class JackLoadableInternalClient : public JackInternalClient { @@ -92,7 +91,7 @@ class JackLoadableInternalClient1 : public JackLoadableInternalClient InitializeCallback fInitialize; char fObjectData[JACK_LOAD_INIT_LIMIT]; - + public: JackLoadableInternalClient1(JackServer* server, JackSynchro* table, const char* object_data); @@ -111,7 +110,7 @@ class JackLoadableInternalClient2 : public JackLoadableInternalClient InternalInitializeCallback fInitialize; const JSList* fParameters; - + public: JackLoadableInternalClient2(JackServer* server, JackSynchro* table, const JSList* parameters); diff --git a/common/JackServer.h b/common/JackServer.h index bdbd8ea8..04032721 100644 --- a/common/JackServer.h +++ b/common/JackServer.h @@ -24,6 +24,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #include "JackCompilerDeps.h" #include "driver_interface.h" #include "JackDriverLoader.h" +#include "JackDriverInfo.h" #include "JackConnectionManager.h" #include "JackGlobals.h" #include "JackPlatformPlug.h" diff --git a/common/driver_interface.h b/common/driver_interface.h index b67a2546..0ea06214 100644 --- a/common/driver_interface.h +++ b/common/driver_interface.h @@ -146,6 +146,8 @@ jack_driver_descriptor_add_parameter( const char * short_desc, /* A short (~30 chars) description for the user */ const char * long_desc); /* A longer description for the user, if NULL short_desc will be used */ +typedef jack_driver_desc_t * (*JackDriverDescFunction) (); + #ifdef __cplusplus } #endif From a9a781158f84084b12be94f2a1813bb3dba3f5df Mon Sep 17 00:00:00 2001 From: sletz Date: Tue, 20 Dec 2011 15:04:08 +0000 Subject: [PATCH 003/209] Remove duplicated declaration. git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@4657 0c269be4-1314-0410-8aa9-9f06e86f4224 --- linux/driver.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/linux/driver.h b/linux/driver.h index 4e353b4b..6e1466f4 100644 --- a/linux/driver.h +++ b/linux/driver.h @@ -231,8 +231,6 @@ typedef struct _jack_driver } jack_driver_t; -typedef jack_driver_desc_t * (*JackDriverDescFunction) (); - void jack_driver_init (jack_driver_t *); void jack_driver_release (jack_driver_t *); From 85f28768ff467919ec746432ee29a27094884398 Mon Sep 17 00:00:00 2001 From: sletz Date: Tue, 20 Dec 2011 15:05:03 +0000 Subject: [PATCH 004/209] Cleanup headers(2). git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@4658 0c269be4-1314-0410-8aa9-9f06e86f4224 --- common/JackDriverInfo.h | 2 -- common/JackDriverLoader.h | 2 -- 2 files changed, 4 deletions(-) diff --git a/common/JackDriverInfo.h b/common/JackDriverInfo.h index 42b084f9..f2b862f5 100644 --- a/common/JackDriverInfo.h +++ b/common/JackDriverInfo.h @@ -22,8 +22,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #define __JackDriverInfo__ #include "driver_interface.h" -//#include "JackControlAPI.h" -//#include "JackPlatformPlug.h" #include "JackDriver.h" #include "JackSystemDeps.h" diff --git a/common/JackDriverLoader.h b/common/JackDriverLoader.h index 0adde288..50db7508 100644 --- a/common/JackDriverLoader.h +++ b/common/JackDriverLoader.h @@ -24,8 +24,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #include "driver_interface.h" #include "JackControlAPI.h" #include "JackPlatformPlug.h" -//#include "JackDriver.h" -//#include "JackSystemDeps.h" jack_driver_desc_t* jack_find_driver_descriptor(JSList* drivers, const char* name); JSList* jack_drivers_load(JSList* drivers); From 2bac065714c0d54d2c0c071760f76cde35682ac5 Mon Sep 17 00:00:00 2001 From: sletz Date: Mon, 2 Jan 2012 15:12:03 +0000 Subject: [PATCH 005/209] Adrian Knoth fix in midiseq.c. git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@4659 0c269be4-1314-0410-8aa9-9f06e86f4224 --- ChangeLog | 4 ++++ example-clients/midiseq.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 36c9c457..a7bb633e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -36,6 +36,10 @@ John Emmas Jackdmp changes log --------------------------- +2012-01-01 Stephane Letz + + * Fix in midiseq.c. + 2011-12-20 Stephane Letz * Version 1.9.9 started. diff --git a/example-clients/midiseq.c b/example-clients/midiseq.c index 60b3e483..bc0591b0 100644 --- a/example-clients/midiseq.c +++ b/example-clients/midiseq.c @@ -102,7 +102,7 @@ int main(int narg, char **args) loop_index = 0; num_notes = (narg - 3)/3; note_frqs = malloc(num_notes*sizeof(unsigned char)); - note_starts = malloc(num_notes*sizeof(unsigned char)); + note_starts = malloc(num_notes*sizeof(jack_nframes_t)); note_lengths = malloc(num_notes*sizeof(jack_nframes_t)); loop_nsamp = atoi(args[2]); for(i=0; i Date: Tue, 3 Jan 2012 16:45:21 +0000 Subject: [PATCH 006/209] Cleanup. git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@4660 0c269be4-1314-0410-8aa9-9f06e86f4224 --- ChangeLog | 2 +- windows/JackWinNamedPipe.cpp | 24 +++++++++++------------ windows/JackWinNamedPipeServerChannel.cpp | 2 +- 3 files changed, 13 insertions(+), 15 deletions(-) diff --git a/ChangeLog b/ChangeLog index a7bb633e..cdd6ae66 100644 --- a/ChangeLog +++ b/ChangeLog @@ -38,7 +38,7 @@ John Emmas 2012-01-01 Stephane Letz - * Fix in midiseq.c. + * Adrian Knoth fix in midiseq.c. 2011-12-20 Stephane Letz diff --git a/windows/JackWinNamedPipe.cpp b/windows/JackWinNamedPipe.cpp index 8d277673..aefc22b3 100644 --- a/windows/JackWinNamedPipe.cpp +++ b/windows/JackWinNamedPipe.cpp @@ -290,9 +290,9 @@ bool JackWinNamedPipeServer::Accept() if (ConnectNamedPipe(fNamedPipe, NULL)) { return true; } else { - jack_error("Cannot bind server pipe name = %s err = %ld", fName, GetLastError()); + jack_error("Cannot connect server pipe name = %s err = %ld", fName, GetLastError()); if (GetLastError() == ERROR_PIPE_CONNECTED) { - jack_error("pipe already connnected = %s ", fName); + jack_error("Pipe already connnected = %s", fName); return true; } else { return false; @@ -303,20 +303,18 @@ bool JackWinNamedPipeServer::Accept() JackWinNamedPipeClient* JackWinNamedPipeServer::AcceptClient() { if (ConnectNamedPipe(fNamedPipe, NULL)) { - JackWinNamedPipeClient* client = new JackWinNamedPipeClient(fNamedPipe, fName); // Init the pipe to the default value fNamedPipe = INVALID_HANDLE_VALUE; - return client; + return new JackWinNamedPipeClient(fNamedPipe, fName);; } else { - switch (GetLastError()) { - - case ERROR_PIPE_CONNECTED: - return new JackWinNamedPipeClient(fNamedPipe, fName); - - default: - jack_error("Cannot connect server pipe name = %s err = %ld", fName, GetLastError()); - return NULL; - break; + jack_error("Cannot connect server pipe name = %s err = %ld", fName, GetLastError()); + if (GetLastError() == ERROR_PIPE_CONNECTED) { + jack_error("Pipe already connnected = %s", fName); + // Init the pipe to the default value + fNamedPipe = INVALID_HANDLE_VALUE; + return new JackWinNamedPipeClient(fNamedPipe, fName); + } else { + return NULL; } } } diff --git a/windows/JackWinNamedPipeServerChannel.cpp b/windows/JackWinNamedPipeServerChannel.cpp index cf95b36b..b995fdfd 100644 --- a/windows/JackWinNamedPipeServerChannel.cpp +++ b/windows/JackWinNamedPipeServerChannel.cpp @@ -507,7 +507,7 @@ void JackWinNamedPipeServerChannel::Stop() bool JackWinNamedPipeServerChannel::Init() { - jack_log("JackWinNamedPipeServerChannel::Init "); + jack_log("JackWinNamedPipeServerChannel::Init"); JackWinNamedPipeClient* pipe; // Accept first client, that is the JackWinNamedPipeServerNotifyChannel object From 30442d9f1089df4d4277c6d9b8900b53bcd8a02b Mon Sep 17 00:00:00 2001 From: sletz Date: Wed, 4 Jan 2012 11:42:34 +0000 Subject: [PATCH 007/209] Fix library symbols export issue. git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@4661 0c269be4-1314-0410-8aa9-9f06e86f4224 --- ChangeLog | 6 +++++- common/JackDebugClient.h | 2 +- common/JackLibClient.h | 2 +- common/JackLibGlobals.h | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index cdd6ae66..981e73c2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -36,7 +36,11 @@ John Emmas Jackdmp changes log --------------------------- -2012-01-01 Stephane Letz +2012-01-04 Stephane Letz + + * Fix library symbols export issue. + +2012-01-02 Stephane Letz * Adrian Knoth fix in midiseq.c. diff --git a/common/JackDebugClient.h b/common/JackDebugClient.h index f781b075..1f1dd34c 100644 --- a/common/JackDebugClient.h +++ b/common/JackDebugClient.h @@ -46,7 +46,7 @@ PortFollower; \brief A "decorator" debug client to validate API use. */ -class LIB_EXPORT JackDebugClient : public JackClient +class JackDebugClient : public JackClient { protected: diff --git a/common/JackLibClient.h b/common/JackLibClient.h index 000c9aa6..a294ab45 100644 --- a/common/JackLibClient.h +++ b/common/JackLibClient.h @@ -32,7 +32,7 @@ namespace Jack \brief Client on the library side. */ -class LIB_EXPORT JackLibClient : public JackClient +class JackLibClient : public JackClient { private: diff --git a/common/JackLibGlobals.h b/common/JackLibGlobals.h index be36cb47..1fa688ef 100644 --- a/common/JackLibGlobals.h +++ b/common/JackLibGlobals.h @@ -50,7 +50,7 @@ class JackClient; \brief Global library static structure: singleton kind of pattern. */ -struct LIB_EXPORT JackLibGlobals +struct JackLibGlobals { JackShmReadWritePtr fGraphManager; /*! Shared memory Port manager */ JackShmReadWritePtr fEngineControl; /*! Shared engine control */ // transport engine has to be writable From 9cb495077c059fec5666fd38b266056776567bfb Mon Sep 17 00:00:00 2001 From: sletz Date: Wed, 4 Jan 2012 13:33:42 +0000 Subject: [PATCH 008/209] Correct export settings. git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@4662 0c269be4-1314-0410-8aa9-9f06e86f4224 --- common/JackNetAPI.cpp | 80 ++++++++++++------------ macosx/Jackdmp.xcodeproj/project.pbxproj | 4 +- windows/libjack.cbp | 6 -- windows/libjacknet.cbp | 6 -- windows/libjackserver.cbp | 6 -- 5 files changed, 41 insertions(+), 61 deletions(-) diff --git a/common/JackNetAPI.cpp b/common/JackNetAPI.cpp index 42f06137..4b74aa7f 100644 --- a/common/JackNetAPI.cpp +++ b/common/JackNetAPI.cpp @@ -86,41 +86,41 @@ extern "C" typedef int (*JackNetSlaveSampleRateCallback) (jack_nframes_t nframes, void *arg); typedef void (*JackNetSlaveShutdownCallback) (void* data); - SERVER_EXPORT jack_net_slave_t* jack_net_slave_open(const char* ip, int port, const char* name, jack_slave_t* request, jack_master_t* result); - SERVER_EXPORT int jack_net_slave_close(jack_net_slave_t* net); + LIB_EXPORT jack_net_slave_t* jack_net_slave_open(const char* ip, int port, const char* name, jack_slave_t* request, jack_master_t* result); + LIB_EXPORT int jack_net_slave_close(jack_net_slave_t* net); - SERVER_EXPORT int jack_net_slave_activate(jack_net_slave_t* net); - SERVER_EXPORT int jack_net_slave_deactivate(jack_net_slave_t* net); + LIB_EXPORT int jack_net_slave_activate(jack_net_slave_t* net); + LIB_EXPORT int jack_net_slave_deactivate(jack_net_slave_t* net); - SERVER_EXPORT int jack_set_net_slave_process_callback(jack_net_slave_t* net, JackNetSlaveProcessCallback net_callback, void *arg); - SERVER_EXPORT int jack_set_net_slave_buffer_size_callback(jack_net_slave_t* net, JackNetSlaveBufferSizeCallback bufsize_callback, void *arg); - SERVER_EXPORT int jack_set_net_slave_sample_rate_callback(jack_net_slave_t* net, JackNetSlaveSampleRateCallback samplerate_callback, void *arg); - SERVER_EXPORT int jack_set_net_slave_shutdown_callback(jack_net_slave_t* net, JackNetSlaveShutdownCallback shutdown_callback, void *arg); + LIB_EXPORT int jack_set_net_slave_process_callback(jack_net_slave_t* net, JackNetSlaveProcessCallback net_callback, void *arg); + LIB_EXPORT int jack_set_net_slave_buffer_size_callback(jack_net_slave_t* net, JackNetSlaveBufferSizeCallback bufsize_callback, void *arg); + LIB_EXPORT int jack_set_net_slave_sample_rate_callback(jack_net_slave_t* net, JackNetSlaveSampleRateCallback samplerate_callback, void *arg); + LIB_EXPORT int jack_set_net_slave_shutdown_callback(jack_net_slave_t* net, JackNetSlaveShutdownCallback shutdown_callback, void *arg); // NetJack master API typedef struct _jack_net_master jack_net_master_t; - SERVER_EXPORT jack_net_master_t* jack_net_master_open(const char* ip, int port, const char* name, jack_master_t* request, jack_slave_t* result); - SERVER_EXPORT int jack_net_master_close(jack_net_master_t* net); + LIB_EXPORT jack_net_master_t* jack_net_master_open(const char* ip, int port, const char* name, jack_master_t* request, jack_slave_t* result); + LIB_EXPORT int jack_net_master_close(jack_net_master_t* net); - SERVER_EXPORT int jack_net_master_recv(jack_net_master_t* net, int audio_input, float** audio_input_buffer, int midi_input, void** midi_input_buffer); - SERVER_EXPORT int jack_net_master_send(jack_net_master_t* net, int audio_output, float** audio_output_buffer, int midi_output, void** midi_output_buffer); + LIB_EXPORT int jack_net_master_recv(jack_net_master_t* net, int audio_input, float** audio_input_buffer, int midi_input, void** midi_input_buffer); + LIB_EXPORT int jack_net_master_send(jack_net_master_t* net, int audio_output, float** audio_output_buffer, int midi_output, void** midi_output_buffer); // NetJack adapter API typedef struct _jack_adapter jack_adapter_t; - SERVER_EXPORT jack_adapter_t* jack_create_adapter(int input, int output, + LIB_EXPORT jack_adapter_t* jack_create_adapter(int input, int output, jack_nframes_t host_buffer_size, jack_nframes_t host_sample_rate, jack_nframes_t adapted_buffer_size, jack_nframes_t adapted_sample_rate); - SERVER_EXPORT int jack_destroy_adapter(jack_adapter_t* adapter); - SERVER_EXPORT void jack_flush_adapter(jack_adapter_t* adapter); + LIB_EXPORT int jack_destroy_adapter(jack_adapter_t* adapter); + LIB_EXPORT void jack_flush_adapter(jack_adapter_t* adapter); - SERVER_EXPORT int jack_adapter_push_and_pull(jack_adapter_t* adapter, float** input, float** output, unsigned int frames); - SERVER_EXPORT int jack_adapter_pull_and_push(jack_adapter_t* adapter, float** input, float** output, unsigned int frames); + LIB_EXPORT int jack_adapter_push_and_pull(jack_adapter_t* adapter, float** input, float** output, unsigned int frames); + LIB_EXPORT int jack_adapter_pull_and_push(jack_adapter_t* adapter, float** input, float** output, unsigned int frames); #ifdef __cplusplus } @@ -855,7 +855,7 @@ struct JackNetAdapter : public JackAudioAdapterInterface { using namespace Jack; -SERVER_EXPORT jack_net_slave_t* jack_net_slave_open(const char* ip, int port, const char* name, jack_slave_t* request, jack_master_t* result) +LIB_EXPORT jack_net_slave_t* jack_net_slave_open(const char* ip, int port, const char* name, jack_slave_t* request, jack_master_t* result) { JackNetExtSlave* slave = new JackNetExtSlave(ip, port, name, request); if (slave->Open(result) == 0) { @@ -866,7 +866,7 @@ SERVER_EXPORT jack_net_slave_t* jack_net_slave_open(const char* ip, int port, co } } -SERVER_EXPORT int jack_net_slave_close(jack_net_slave_t* net) +LIB_EXPORT int jack_net_slave_close(jack_net_slave_t* net) { JackNetExtSlave* slave = (JackNetExtSlave*)net; slave->Close(); @@ -874,37 +874,37 @@ SERVER_EXPORT int jack_net_slave_close(jack_net_slave_t* net) return 0; } -SERVER_EXPORT int jack_set_net_slave_process_callback(jack_net_slave_t* net, JackNetSlaveProcessCallback net_callback, void *arg) +LIB_EXPORT int jack_set_net_slave_process_callback(jack_net_slave_t* net, JackNetSlaveProcessCallback net_callback, void *arg) { JackNetExtSlave* slave = (JackNetExtSlave*)net; return slave->SetProcessCallback(net_callback, arg); } -SERVER_EXPORT int jack_net_slave_activate(jack_net_slave_t* net) +LIB_EXPORT int jack_net_slave_activate(jack_net_slave_t* net) { JackNetExtSlave* slave = (JackNetExtSlave*)net; return slave->Start(); } -SERVER_EXPORT int jack_net_slave_deactivate(jack_net_slave_t* net) +LIB_EXPORT int jack_net_slave_deactivate(jack_net_slave_t* net) { JackNetExtSlave* slave = (JackNetExtSlave*)net; return slave->Stop(); } -SERVER_EXPORT int jack_set_net_slave_buffer_size_callback(jack_net_slave_t *net, JackNetSlaveBufferSizeCallback bufsize_callback, void *arg) +LIB_EXPORT int jack_set_net_slave_buffer_size_callback(jack_net_slave_t *net, JackNetSlaveBufferSizeCallback bufsize_callback, void *arg) { JackNetExtSlave* slave = (JackNetExtSlave*)net; return slave->SetBufferSizeCallback(bufsize_callback, arg); } -SERVER_EXPORT int jack_set_net_slave_sample_rate_callback(jack_net_slave_t *net, JackNetSlaveSampleRateCallback samplerate_callback, void *arg) +LIB_EXPORT int jack_set_net_slave_sample_rate_callback(jack_net_slave_t *net, JackNetSlaveSampleRateCallback samplerate_callback, void *arg) { JackNetExtSlave* slave = (JackNetExtSlave*)net; return slave->SetSampleRateCallback(samplerate_callback, arg); } -SERVER_EXPORT int jack_set_net_slave_shutdown_callback(jack_net_slave_t *net, JackNetSlaveShutdownCallback shutdown_callback, void *arg) +LIB_EXPORT int jack_set_net_slave_shutdown_callback(jack_net_slave_t *net, JackNetSlaveShutdownCallback shutdown_callback, void *arg) { JackNetExtSlave* slave = (JackNetExtSlave*)net; return slave->SetShutdownCallback(shutdown_callback, arg); @@ -912,7 +912,7 @@ SERVER_EXPORT int jack_set_net_slave_shutdown_callback(jack_net_slave_t *net, Ja // Master API -SERVER_EXPORT jack_net_master_t* jack_net_master_open(const char* ip, int port, const char* name, jack_master_t* request, jack_slave_t* result) +LIB_EXPORT jack_net_master_t* jack_net_master_open(const char* ip, int port, const char* name, jack_master_t* request, jack_slave_t* result) { JackNetExtMaster* master = new JackNetExtMaster(ip, port, name, request); if (master->Open(result) == 0) { @@ -923,20 +923,20 @@ SERVER_EXPORT jack_net_master_t* jack_net_master_open(const char* ip, int port, } } -SERVER_EXPORT int jack_net_master_close(jack_net_master_t* net) +LIB_EXPORT int jack_net_master_close(jack_net_master_t* net) { JackNetExtMaster* master = (JackNetExtMaster*)net; master->Close(); delete master; return 0; } -SERVER_EXPORT int jack_net_master_recv(jack_net_master_t* net, int audio_input, float** audio_input_buffer, int midi_input, void** midi_input_buffer) +LIB_EXPORT int jack_net_master_recv(jack_net_master_t* net, int audio_input, float** audio_input_buffer, int midi_input, void** midi_input_buffer) { JackNetExtMaster* master = (JackNetExtMaster*)net; return master->Read(audio_input, audio_input_buffer, midi_input, midi_input_buffer); } -SERVER_EXPORT int jack_net_master_send(jack_net_master_t* net, int audio_output, float** audio_output_buffer, int midi_output, void** midi_output_buffer) +LIB_EXPORT int jack_net_master_send(jack_net_master_t* net, int audio_output, float** audio_output_buffer, int midi_output, void** midi_output_buffer) { JackNetExtMaster* master = (JackNetExtMaster*)net; return master->Write(audio_output, audio_output_buffer, midi_output, midi_output_buffer); @@ -944,7 +944,7 @@ SERVER_EXPORT int jack_net_master_send(jack_net_master_t* net, int audio_output, // Adapter API -SERVER_EXPORT jack_adapter_t* jack_create_adapter(int input, int output, +LIB_EXPORT jack_adapter_t* jack_create_adapter(int input, int output, jack_nframes_t host_buffer_size, jack_nframes_t host_sample_rate, jack_nframes_t adapted_buffer_size, @@ -957,25 +957,25 @@ SERVER_EXPORT jack_adapter_t* jack_create_adapter(int input, int output, } } -SERVER_EXPORT int jack_destroy_adapter(jack_adapter_t* adapter) +LIB_EXPORT int jack_destroy_adapter(jack_adapter_t* adapter) { delete((JackNetAdapter*)adapter); return 0; } -SERVER_EXPORT void jack_flush_adapter(jack_adapter_t* adapter) +LIB_EXPORT void jack_flush_adapter(jack_adapter_t* adapter) { JackNetAdapter* slave = (JackNetAdapter*)adapter; slave->Flush(); } -SERVER_EXPORT int jack_adapter_push_and_pull(jack_adapter_t* adapter, float** input, float** output, unsigned int frames) +LIB_EXPORT int jack_adapter_push_and_pull(jack_adapter_t* adapter, float** input, float** output, unsigned int frames) { JackNetAdapter* slave = (JackNetAdapter*)adapter; return slave->PushAndPull(input, output, frames); } -SERVER_EXPORT int jack_adapter_pull_and_push(jack_adapter_t* adapter, float** input, float** output, unsigned int frames) +LIB_EXPORT int jack_adapter_pull_and_push(jack_adapter_t* adapter, float** input, float** output, unsigned int frames) { JackNetAdapter* slave = (JackNetAdapter*)adapter; return slave->PullAndPush(input, output, frames); @@ -1002,7 +1002,7 @@ static void jack_format_and_log(int level, const char *prefix, const char *fmt, printf("\n"); } -SERVER_EXPORT void jack_error(const char *fmt, ...) +LIB_EXPORT void jack_error(const char *fmt, ...) { va_list ap; va_start(ap, fmt); @@ -1010,7 +1010,7 @@ SERVER_EXPORT void jack_error(const char *fmt, ...) va_end(ap); } -SERVER_EXPORT void jack_info(const char *fmt, ...) +LIB_EXPORT void jack_info(const char *fmt, ...) { va_list ap; va_start(ap, fmt); @@ -1018,7 +1018,7 @@ SERVER_EXPORT void jack_info(const char *fmt, ...) va_end(ap); } -SERVER_EXPORT void jack_log(const char *fmt, ...) +LIB_EXPORT void jack_log(const char *fmt, ...) { va_list ap; va_start(ap, fmt); @@ -1030,13 +1030,13 @@ SERVER_EXPORT void jack_log(const char *fmt, ...) // Empty code for now.. -SERVER_EXPORT void jack_error(const char *fmt, ...) +LIB_EXPORT void jack_error(const char *fmt, ...) {} -SERVER_EXPORT void jack_info(const char *fmt, ...) +LIB_EXPORT void jack_info(const char *fmt, ...) {} -SERVER_EXPORT void jack_log(const char *fmt, ...) +LIB_EXPORT void jack_log(const char *fmt, ...) {} #endif diff --git a/macosx/Jackdmp.xcodeproj/project.pbxproj b/macosx/Jackdmp.xcodeproj/project.pbxproj index 2e2e87c4..fc97ed3e 100644 --- a/macosx/Jackdmp.xcodeproj/project.pbxproj +++ b/macosx/Jackdmp.xcodeproj/project.pbxproj @@ -16283,10 +16283,9 @@ OTHER_CPLUSPLUSFLAGS = ( "-DHAVE_CELT_API_0_7", "-DHAVE_CELT", - "-DSERVER_SIDE", "-DMACH_RPC_MACH_SEMA", - "-D__SMP__", "-DJACK_32_64", + "-D__SMP__", ); OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_1 = "-DJACK_LOCATION=\\\"/usr/local/bin\\\""; OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_2 = "-DADDON_DIR=\\\"/usr/local/lib/jackmp\\\""; @@ -16356,7 +16355,6 @@ OTHER_CPLUSPLUSFLAGS = ( "-DHAVE_CELT_API_0_7", "-DHAVE_CELT", - "-DSERVER_SIDE", "-DMACH_RPC_MACH_SEMA", "-DJACK_32_64", "-D__SMP__", diff --git a/windows/libjack.cbp b/windows/libjack.cbp index d3a1cd1b..ec3aaa67 100644 --- a/windows/libjack.cbp +++ b/windows/libjack.cbp @@ -21,7 +21,6 @@ - @@ -65,7 +64,6 @@ - @@ -109,7 +107,6 @@ - @@ -155,7 +152,6 @@ - @@ -204,7 +200,6 @@ - @@ -253,7 +248,6 @@ - diff --git a/windows/libjacknet.cbp b/windows/libjacknet.cbp index 762880f6..4b53e314 100644 --- a/windows/libjacknet.cbp +++ b/windows/libjacknet.cbp @@ -24,7 +24,6 @@ - @@ -55,7 +54,6 @@ - @@ -86,7 +84,6 @@ - @@ -119,7 +116,6 @@ - @@ -155,7 +151,6 @@ - @@ -191,7 +186,6 @@ - diff --git a/windows/libjackserver.cbp b/windows/libjackserver.cbp index 11289a3d..91af99a4 100644 --- a/windows/libjackserver.cbp +++ b/windows/libjackserver.cbp @@ -21,7 +21,6 @@ - @@ -55,7 +54,6 @@ - @@ -89,7 +87,6 @@ - @@ -125,7 +122,6 @@ - @@ -164,7 +160,6 @@ - @@ -203,7 +198,6 @@ - From aabbb622821b26a87c22f154a6098aff65c0c218 Mon Sep 17 00:00:00 2001 From: sletz Date: Wed, 4 Jan 2012 17:42:10 +0000 Subject: [PATCH 009/209] Correct export settings(2). git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@4663 0c269be4-1314-0410-8aa9-9f06e86f4224 --- common/JackAudioAdapterInterface.cpp | 72 +++++++++++++ common/JackAudioAdapterInterface.h | 79 ++------------ common/JackClientInterface.h | 6 +- common/JackError.cpp | 10 +- common/JackError.h | 18 ++-- common/JackException.cpp | 34 ++++++ common/JackException.h | 14 +-- common/JackLibSampleRateResampler.cpp | 1 + common/JackMidiBufferReadQueue.cpp | 1 + common/JackMidiBufferWriteQueue.cpp | 1 + common/JackNetAPI.cpp | 10 +- common/JackNetDriver.cpp | 3 + common/JackNetInterface.cpp | 13 +++ common/JackNetInterface.h | 11 +- common/JackNetOneDriver.cpp | 1 + common/JackNetSocket.h | 5 +- common/JackNetTool.cpp | 1 + common/JackResampler.cpp | 1 + common/JackResampler.h | 1 - common/JackTools.cpp | 118 +++++++++++++++++++++ common/JackTools.h | 113 ++------------------ common/Jackdmp.cpp | 3 + common/wscript | 5 +- macosx/JackCompilerDeps_os.h | 1 + macosx/Jackdmp.xcodeproj/project.pbxproj | 37 ++++++- macosx/coreaudio/JackCoreAudioDriver.cpp | 1 - macosx/coremidi/JackCoreMidiDriver.cpp | 9 +- macosx/coremidi/JackCoreMidiInputPort.cpp | 1 + macosx/coremidi/JackCoreMidiOutputPort.cpp | 1 + posix/JackNetUnixSocket.cpp | 2 + posix/JackPosixMutex.cpp | 106 ++++++++++++++++++ posix/JackPosixMutex.h | 83 ++------------- posix/JackSocketClientChannel.cpp | 1 + posix/JackSocketClientChannel.h | 1 - windows/JackWinMutex.cpp | 98 +++++++++++++++++ windows/JackWinMutex.h | 78 ++------------ windows/libjack.cbp | 2 + windows/libjacknet.cbp | 1 + windows/libjackserver.cbp | 2 + 39 files changed, 577 insertions(+), 368 deletions(-) create mode 100644 common/JackException.cpp create mode 100644 posix/JackPosixMutex.cpp create mode 100644 windows/JackWinMutex.cpp diff --git a/common/JackAudioAdapterInterface.cpp b/common/JackAudioAdapterInterface.cpp index 6beeed5e..c75b9297 100644 --- a/common/JackAudioAdapterInterface.cpp +++ b/common/JackAudioAdapterInterface.cpp @@ -26,6 +26,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #include "JackLibSampleRateResampler.h" #endif #include "JackTime.h" +#include "JackError.h" #include namespace Jack @@ -317,4 +318,75 @@ namespace Jack return res; } + int JackAudioAdapterInterface::SetHostBufferSize(jack_nframes_t buffer_size) + { + fHostBufferSize = buffer_size; + if (fAdaptative) { + AdaptRingBufferSize(); + } + return 0; + } + + int JackAudioAdapterInterface::SetAdaptedBufferSize(jack_nframes_t buffer_size) + { + fAdaptedBufferSize = buffer_size; + if (fAdaptative) { + AdaptRingBufferSize(); + } + return 0; + } + + int JackAudioAdapterInterface::SetBufferSize(jack_nframes_t buffer_size) + { + SetHostBufferSize(buffer_size); + SetAdaptedBufferSize(buffer_size); + return 0; + } + + int JackAudioAdapterInterface::SetHostSampleRate(jack_nframes_t sample_rate) + { + fHostSampleRate = sample_rate; + fPIControler.Init(double(fHostSampleRate) / double(fAdaptedSampleRate)); + return 0; + } + + int JackAudioAdapterInterface::SetAdaptedSampleRate(jack_nframes_t sample_rate) + { + fAdaptedSampleRate = sample_rate; + fPIControler.Init(double(fHostSampleRate) / double(fAdaptedSampleRate)); + return 0; + } + + int JackAudioAdapterInterface::SetSampleRate(jack_nframes_t sample_rate) + { + SetHostSampleRate(sample_rate); + SetAdaptedSampleRate(sample_rate); + return 0; + } + + void JackAudioAdapterInterface::SetInputs(int inputs) + { + jack_log("JackAudioAdapterInterface::SetInputs %d", inputs); + fCaptureChannels = inputs; + } + + void JackAudioAdapterInterface::SetOutputs(int outputs) + { + jack_log("JackAudioAdapterInterface::SetOutputs %d", outputs); + fPlaybackChannels = outputs; + } + + int JackAudioAdapterInterface::GetInputs() + { + //jack_log("JackAudioAdapterInterface::GetInputs %d", fCaptureChannels); + return fCaptureChannels; + } + + int JackAudioAdapterInterface::GetOutputs() + { + //jack_log ("JackAudioAdapterInterface::GetOutputs %d", fPlaybackChannels); + return fPlaybackChannels; + } + + } // namespace diff --git a/common/JackAudioAdapterInterface.h b/common/JackAudioAdapterInterface.h index 2ae7e374..b8985c91 100644 --- a/common/JackAudioAdapterInterface.h +++ b/common/JackAudioAdapterInterface.h @@ -154,75 +154,16 @@ namespace Jack return 0; } - virtual int SetHostBufferSize(jack_nframes_t buffer_size) - { - fHostBufferSize = buffer_size; - if (fAdaptative) { - AdaptRingBufferSize(); - } - return 0; - } - - virtual int SetAdaptedBufferSize(jack_nframes_t buffer_size) - { - fAdaptedBufferSize = buffer_size; - if (fAdaptative) { - AdaptRingBufferSize(); - } - return 0; - } - - virtual int SetBufferSize(jack_nframes_t buffer_size) - { - SetHostBufferSize(buffer_size); - SetAdaptedBufferSize(buffer_size); - return 0; - } - - virtual int SetHostSampleRate(jack_nframes_t sample_rate) - { - fHostSampleRate = sample_rate; - fPIControler.Init(double(fHostSampleRate) / double(fAdaptedSampleRate)); - return 0; - } - - virtual int SetAdaptedSampleRate(jack_nframes_t sample_rate) - { - fAdaptedSampleRate = sample_rate; - fPIControler.Init(double(fHostSampleRate) / double(fAdaptedSampleRate)); - return 0; - } - - virtual int SetSampleRate(jack_nframes_t sample_rate) - { - SetHostSampleRate(sample_rate); - SetAdaptedSampleRate(sample_rate); - return 0; - } - - void SetInputs(int inputs) - { - jack_log("JackAudioAdapterInterface::SetInputs %d", inputs); - fCaptureChannels = inputs; - } - - void SetOutputs(int outputs) - { - jack_log("JackAudioAdapterInterface::SetOutputs %d", outputs); - fPlaybackChannels = outputs; - } - - int GetInputs() - { - //jack_log("JackAudioAdapterInterface::GetInputs %d", fCaptureChannels); - return fCaptureChannels; - } - - int GetOutputs() - { - //jack_log ("JackAudioAdapterInterface::GetOutputs %d", fPlaybackChannels); - return fPlaybackChannels; - } + virtual int SetHostBufferSize(jack_nframes_t buffer_size); + virtual int SetAdaptedBufferSize(jack_nframes_t buffer_size); + virtual int SetBufferSize(jack_nframes_t buffer_size); + virtual int SetHostSampleRate(jack_nframes_t sample_rate); + virtual int SetAdaptedSampleRate(jack_nframes_t sample_rate); + virtual int SetSampleRate(jack_nframes_t sample_rate); + void SetInputs(int inputs); + void SetOutputs(int outputs); + int GetInputs(); + int GetOutputs(); virtual int GetInputLatency(int port_index) { return 0; } virtual int GetOutputLatency(int port_index) { return 0; } diff --git a/common/JackClientInterface.h b/common/JackClientInterface.h index bd94ed38..523ffbf6 100644 --- a/common/JackClientInterface.h +++ b/common/JackClientInterface.h @@ -13,7 +13,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License -along with this program; if not, write to the Free Software +along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ @@ -36,12 +36,12 @@ class SERVER_EXPORT JackClientInterface { public: - + JackClientInterface() {} virtual ~JackClientInterface() {} - + virtual int Close() = 0; virtual int ClientNotify(int refnum, const char* name, int notify, int sync, const char* message, int value1, int value2) = 0; diff --git a/common/JackError.cpp b/common/JackError.cpp index d78f95e5..6b386f5b 100644 --- a/common/JackError.cpp +++ b/common/JackError.cpp @@ -2,21 +2,21 @@ Copyright (C) 2001 Paul Davis Copyright (C) 2004-2008 Grame Copyright (C) 2008 Nedko Arnaudov - + This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. - + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - + You should have received a copy of the GNU Lesser General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - + */ #include @@ -29,7 +29,7 @@ using namespace Jack; static bool change_thread_log_function(jack_log_function_t log_function) { - return (jack_tls_get(JackGlobals::fKeyLogFunction) == NULL + return (jack_tls_get(JackGlobals::fKeyLogFunction) == NULL && jack_tls_set(JackGlobals::fKeyLogFunction, (void*)log_function)); } diff --git a/common/JackError.h b/common/JackError.h index 3e9d890a..abb596f7 100644 --- a/common/JackError.h +++ b/common/JackError.h @@ -31,14 +31,8 @@ extern "C" { #endif -#define LOG_LEVEL_INFO 1 -#define LOG_LEVEL_ERROR 2 - SERVER_EXPORT void jack_error(const char *fmt, ...); - SERVER_EXPORT void jack_info(const char *fmt, ...); - - // like jack_info() but only if verbose mode is enabled SERVER_EXPORT void jack_log(const char *fmt, ...); SERVER_EXPORT extern void (*jack_error_callback)(const char *desc); @@ -47,14 +41,16 @@ extern "C" SERVER_EXPORT extern void default_jack_error_callback(const char *desc); SERVER_EXPORT extern void default_jack_info_callback(const char *desc); - SERVER_EXPORT extern void silent_jack_error_callback(const char *desc); - SERVER_EXPORT extern void silent_jack_info_callback(const char *desc); + SERVER_EXPORT void silent_jack_error_callback(const char *desc); + SERVER_EXPORT void silent_jack_info_callback(const char *desc); - typedef void (* jack_log_function_t)(int level, const char *message); + SERVER_EXPORT int set_threaded_log_function(); - void jack_log_function(int level, const char *message); + #define LOG_LEVEL_INFO 1 + #define LOG_LEVEL_ERROR 2 - SERVER_EXPORT int set_threaded_log_function(); + void jack_log_function(int level, const char *message); + typedef void (* jack_log_function_t)(int level, const char *message); #ifdef __cplusplus } diff --git a/common/JackException.cpp b/common/JackException.cpp new file mode 100644 index 00000000..53eebdb4 --- /dev/null +++ b/common/JackException.cpp @@ -0,0 +1,34 @@ +/* +Copyright (C) 2008 Grame + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +*/ + +#include "JackException.h" +#include "JackError.h" + +namespace Jack +{ + + void JackException::PrintMessage() + { + std::string str = what(); + if (str != "") { + jack_info(str.c_str()); + } + } + +} diff --git a/common/JackException.h b/common/JackException.h index 8e873e9e..ac8d81ce 100644 --- a/common/JackException.h +++ b/common/JackException.h @@ -20,10 +20,11 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #ifndef __JackException__ #define __JackException__ +#include "JackCompilerDeps.h" + #include #include #include -#include "JackError.h" namespace Jack { @@ -55,14 +56,9 @@ class SERVER_EXPORT JackException : public std::runtime_error { return what(); } - void PrintMessage() - { - std::string str = what(); - if (str != "") { - jack_info(str.c_str()); - } - } -}; + void PrintMessage(); + + }; /*! \brief Exception thrown by JackEngine in temporary mode. diff --git a/common/JackLibSampleRateResampler.cpp b/common/JackLibSampleRateResampler.cpp index 27e36b5e..c23958af 100644 --- a/common/JackLibSampleRateResampler.cpp +++ b/common/JackLibSampleRateResampler.cpp @@ -18,6 +18,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "JackLibSampleRateResampler.h" +#include "JackError.h" namespace Jack { diff --git a/common/JackMidiBufferReadQueue.cpp b/common/JackMidiBufferReadQueue.cpp index c53e596c..67d79b1f 100644 --- a/common/JackMidiBufferReadQueue.cpp +++ b/common/JackMidiBufferReadQueue.cpp @@ -19,6 +19,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "JackMidiBufferReadQueue.h" #include "JackMidiUtil.h" +#include "JackError.h" using Jack::JackMidiBufferReadQueue; diff --git a/common/JackMidiBufferWriteQueue.cpp b/common/JackMidiBufferWriteQueue.cpp index 7e6ae67f..82788155 100644 --- a/common/JackMidiBufferWriteQueue.cpp +++ b/common/JackMidiBufferWriteQueue.cpp @@ -19,6 +19,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "JackMidiBufferWriteQueue.h" #include "JackMidiUtil.h" +#include "JackError.h" using Jack::JackMidiBufferWriteQueue; diff --git a/common/JackNetAPI.cpp b/common/JackNetAPI.cpp index 4b74aa7f..c9300832 100644 --- a/common/JackNetAPI.cpp +++ b/common/JackNetAPI.cpp @@ -19,9 +19,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include #include + #include "JackNetInterface.h" -#include "JackError.h" -#include "JackException.h" #include "JackAudioAdapterInterface.h" #ifdef __cplusplus @@ -122,6 +121,13 @@ extern "C" LIB_EXPORT int jack_adapter_push_and_pull(jack_adapter_t* adapter, float** input, float** output, unsigned int frames); LIB_EXPORT int jack_adapter_pull_and_push(jack_adapter_t* adapter, float** input, float** output, unsigned int frames); + #define LOG_LEVEL_INFO 1 + #define LOG_LEVEL_ERROR 2 + + LIB_EXPORT void jack_error(const char *fmt, ...); + LIB_EXPORT void jack_info(const char *fmt, ...); + LIB_EXPORT void jack_log(const char *fmt, ...); + #ifdef __cplusplus } #endif diff --git a/common/JackNetDriver.cpp b/common/JackNetDriver.cpp index 545eecdf..f895372b 100644 --- a/common/JackNetDriver.cpp +++ b/common/JackNetDriver.cpp @@ -16,6 +16,8 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +#include "JackCompilerDeps.h" +#include "driver_interface.h" #include "JackNetDriver.h" #include "JackEngineControl.h" #include "JackLockedEngine.h" @@ -588,6 +590,7 @@ namespace Jack extern "C" { #endif + SERVER_EXPORT jack_driver_desc_t* driver_get_descriptor() { jack_driver_desc_t * desc; diff --git a/common/JackNetInterface.cpp b/common/JackNetInterface.cpp index 7f81d069..6f819e64 100644 --- a/common/JackNetInterface.cpp +++ b/common/JackNetInterface.cpp @@ -18,6 +18,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #include "JackNetInterface.h" #include "JackException.h" +#include "JackError.h" + #include using namespace std; @@ -608,6 +610,17 @@ namespace Jack uint JackNetSlaveInterface::fSlaveCounter = 0; + void JackNetSlaveInterface::InitAPI() + { + // open Socket API with the first slave + if (fSlaveCounter++ == 0) { + if (SocketAPIInit() < 0) { + jack_error("Can't init Socket API, exiting..."); + throw std::bad_alloc(); + } + } + } + bool JackNetSlaveInterface::Init() { jack_log("JackNetSlaveInterface::Init()"); diff --git a/common/JackNetInterface.h b/common/JackNetInterface.h index 25ec36f0..5f76c7ef 100644 --- a/common/JackNetInterface.h +++ b/common/JackNetInterface.h @@ -206,16 +206,7 @@ namespace Jack void FatalRecvError(); void FatalSendError(); - void InitAPI() - { - // open Socket API with the first slave - if (fSlaveCounter++ == 0) { - if (SocketAPIInit() < 0) { - jack_error("Can't init Socket API, exiting..."); - throw std::bad_alloc(); - } - } - } + void InitAPI(); public: diff --git a/common/JackNetOneDriver.cpp b/common/JackNetOneDriver.cpp index ca012864..38a4e0e9 100644 --- a/common/JackNetOneDriver.cpp +++ b/common/JackNetOneDriver.cpp @@ -753,6 +753,7 @@ JackNetOneDriver::render_jack_ports_to_payload (int bitdepth, JSList *playback_p extern "C" { #endif + SERVER_EXPORT jack_driver_desc_t* driver_get_descriptor () { jack_driver_desc_t * desc; diff --git a/common/JackNetSocket.h b/common/JackNetSocket.h index 8df45c41..ea4f98c8 100644 --- a/common/JackNetSocket.h +++ b/common/JackNetSocket.h @@ -20,7 +20,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #ifndef __JackNetSocket__ #define __JackNetSocket__ -#include "JackError.h" +#include "JackCompilerDeps.h" + #include #include #include @@ -29,7 +30,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. namespace Jack { //get host name********************************* - SERVER_EXPORT int GetHostName ( char * name, int size ); + SERVER_EXPORT int GetHostName(char * name, int size); //net errors *********************************** enum _net_error diff --git a/common/JackNetTool.cpp b/common/JackNetTool.cpp index bd41449c..a81fe4e5 100644 --- a/common/JackNetTool.cpp +++ b/common/JackNetTool.cpp @@ -18,6 +18,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "JackNetTool.h" +#include "JackError.h" #ifdef __APPLE__ diff --git a/common/JackResampler.cpp b/common/JackResampler.cpp index 4077de34..a9183c42 100644 --- a/common/JackResampler.cpp +++ b/common/JackResampler.cpp @@ -18,6 +18,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "JackResampler.h" +#include "JackError.h" #include namespace Jack diff --git a/common/JackResampler.h b/common/JackResampler.h index 89334c77..8dfbefce 100644 --- a/common/JackResampler.h +++ b/common/JackResampler.h @@ -22,7 +22,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #include "ringbuffer.h" #include "types.h" -#include "JackError.h" namespace Jack { diff --git a/common/JackTools.cpp b/common/JackTools.cpp index b9cec837..ac1099e7 100644 --- a/common/JackTools.cpp +++ b/common/JackTools.cpp @@ -294,5 +294,123 @@ void BuildClientPath(char* path_to_so, int path_len, const char* so_name) #endif +template +JackGnuPlotMonitor::JackGnuPlotMonitor(uint32_t measure_cnt, uint32_t measure_points, std::string name) +{ + jack_log ( "JackGnuPlotMonitor::JackGnuPlotMonitor %u measure points - %u measures", measure_points, measure_cnt ); + + fMeasureCnt = measure_cnt; + fMeasurePoints = measure_points; + fTablePos = 0; + fName = name; + fCurrentMeasure = new T[fMeasurePoints]; + fMeasureTable = new T*[fMeasureCnt]; + for ( uint32_t cnt = 0; cnt < fMeasureCnt; cnt++ ) + { + fMeasureTable[cnt] = new T[fMeasurePoints]; + fill_n ( fMeasureTable[cnt], fMeasurePoints, 0 ); + } +} + +template +JackGnuPlotMonitor::~JackGnuPlotMonitor() +{ + jack_log ( "JackGnuPlotMonitor::~JackGnuPlotMonitor" ); + + for ( uint32_t cnt = 0; cnt < fMeasureCnt; cnt++ ) + delete[] fMeasureTable[cnt]; + delete[] fMeasureTable; + delete[] fCurrentMeasure; +} + +template +T JackGnuPlotMonitor::AddNew(T measure_point) +{ + fMeasureId = 0; + return fCurrentMeasure[fMeasureId++] = measure_point; +} + +template +uint32_t JackGnuPlotMonitor::New() +{ + return fMeasureId = 0; +} + +template +T JackGnuPlotMonitor::Add(T measure_point) +{ + return fCurrentMeasure[fMeasureId++] = measure_point; +} + +template +uint32_t JackGnuPlotMonitor::AddLast(T measure_point) +{ + fCurrentMeasure[fMeasureId] = measure_point; + fMeasureId = 0; + return Write(); +} + +template +uint32_t JackGnuPlotMonitor::Write() +{ + for ( uint32_t point = 0; point < fMeasurePoints; point++ ) + fMeasureTable[fTablePos][point] = fCurrentMeasure[point]; + if ( ++fTablePos == fMeasureCnt ) + fTablePos = 0; + return fTablePos; +} + +template +int JackGnuPlotMonitor::Save(std::string name) +{ + std::string filename = ( name.empty() ) ? fName : name; + filename += ".log"; + + jack_log ( "JackGnuPlotMonitor::Save filename %s", filename.c_str() ); + + std::ofstream file ( filename.c_str() ); + + for ( uint32_t cnt = 0; cnt < fMeasureCnt; cnt++ ) + { + for ( uint32_t point = 0; point < fMeasurePoints; point++ ) + file << fMeasureTable[cnt][point] << " \t"; + file << std::endl; + } + + file.close(); + return 0; +} + +template +int JackGnuPlotMonitor::SetPlotFile(std::string* options_list, uint32_t options_number, + std::string* field_names, uint32_t field_number, + std::string name) +{ + std::string title = ( name.empty() ) ? fName : name; + std::string plot_filename = title + ".plt"; + std::string data_filename = title + ".log"; + + std::ofstream file ( plot_filename.c_str() ); + + file << "set multiplot" << std::endl; + file << "set grid" << std::endl; + file << "set title \"" << title << "\"" << std::endl; + + for ( uint32_t i = 0; i < options_number; i++ ) + file << options_list[i] << std::endl; + + file << "plot "; + for ( uint32_t row = 1; row <= field_number; row++ ) + { + file << "\"" << data_filename << "\" using " << row << " title \"" << field_names[row-1] << "\" with lines"; + file << ( ( row < field_number ) ? ", " : "\n" ); + } + + jack_log ( "JackGnuPlotMonitor::SetPlotFile - Save GnuPlot file to '%s'", plot_filename.c_str() ); + + file.close(); + return 0; +} + } // end of namespace diff --git a/common/JackTools.h b/common/JackTools.h index 64be2e23..afb725fc 100644 --- a/common/JackTools.h +++ b/common/JackTools.h @@ -36,10 +36,7 @@ #endif #include "jslist.h" -#include "driver_interface.h" #include "JackCompilerDeps.h" -#include "JackError.h" -#include "JackException.h" #include #include @@ -112,114 +109,26 @@ namespace Jack std::string fName; public: - JackGnuPlotMonitor ( uint32_t measure_cnt = 512, uint32_t measure_points = 5, std::string name = std::string ( "default" ) ) - { - jack_log ( "JackGnuPlotMonitor::JackGnuPlotMonitor %u measure points - %u measures", measure_points, measure_cnt ); - - fMeasureCnt = measure_cnt; - fMeasurePoints = measure_points; - fTablePos = 0; - fName = name; - fCurrentMeasure = new T[fMeasurePoints]; - fMeasureTable = new T*[fMeasureCnt]; - for ( uint32_t cnt = 0; cnt < fMeasureCnt; cnt++ ) - { - fMeasureTable[cnt] = new T[fMeasurePoints]; - fill_n ( fMeasureTable[cnt], fMeasurePoints, 0 ); - } - } - - ~JackGnuPlotMonitor() - { - jack_log ( "JackGnuPlotMonitor::~JackGnuPlotMonitor" ); - - for ( uint32_t cnt = 0; cnt < fMeasureCnt; cnt++ ) - delete[] fMeasureTable[cnt]; - delete[] fMeasureTable; - delete[] fCurrentMeasure; - } - - T AddNew ( T measure_point ) - { - fMeasureId = 0; - return fCurrentMeasure[fMeasureId++] = measure_point; - } - - uint32_t New() - { - return fMeasureId = 0; - } - - T Add ( T measure_point ) - { - return fCurrentMeasure[fMeasureId++] = measure_point; - } - uint32_t AddLast ( T measure_point ) - { - fCurrentMeasure[fMeasureId] = measure_point; - fMeasureId = 0; - return Write(); - } - - uint32_t Write() - { - for ( uint32_t point = 0; point < fMeasurePoints; point++ ) - fMeasureTable[fTablePos][point] = fCurrentMeasure[point]; - if ( ++fTablePos == fMeasureCnt ) - fTablePos = 0; - return fTablePos; - } + JackGnuPlotMonitor(uint32_t measure_cnt = 512, uint32_t measure_points = 5, std::string name = std::string("default")); - int Save ( std::string name = std::string ( "" ) ) - { - std::string filename = ( name.empty() ) ? fName : name; - filename += ".log"; + ~JackGnuPlotMonitor(); - jack_log ( "JackGnuPlotMonitor::Save filename %s", filename.c_str() ); + T AddNew(T measure_point); - std::ofstream file ( filename.c_str() ); + uint32_t New(); - for ( uint32_t cnt = 0; cnt < fMeasureCnt; cnt++ ) - { - for ( uint32_t point = 0; point < fMeasurePoints; point++ ) - file << fMeasureTable[cnt][point] << " \t"; - file << std::endl; - } - - file.close(); - return 0; - } + T Add(T measure_point); - int SetPlotFile ( std::string* options_list = NULL, uint32_t options_number = 0, - std::string* field_names = NULL, uint32_t field_number = 0, - std::string name = std::string ( "" ) ) - { - std::string title = ( name.empty() ) ? fName : name; - std::string plot_filename = title + ".plt"; - std::string data_filename = title + ".log"; + uint32_t AddLast(T measure_point); - std::ofstream file ( plot_filename.c_str() ); + uint32_t Write(); - file << "set multiplot" << std::endl; - file << "set grid" << std::endl; - file << "set title \"" << title << "\"" << std::endl; + int Save(std::string name = std::string("")); - for ( uint32_t i = 0; i < options_number; i++ ) - file << options_list[i] << std::endl; - - file << "plot "; - for ( uint32_t row = 1; row <= field_number; row++ ) - { - file << "\"" << data_filename << "\" using " << row << " title \"" << field_names[row-1] << "\" with lines"; - file << ( ( row < field_number ) ? ", " : "\n" ); - } - - jack_log ( "JackGnuPlotMonitor::SetPlotFile - Save GnuPlot file to '%s'", plot_filename.c_str() ); - - file.close(); - return 0; - } + int SetPlotFile(std::string* options_list = NULL, uint32_t options_number = 0, + std::string* field_names = NULL, uint32_t field_number = 0, + std::string name = std::string("")); }; void BuildClientPath(char* path_to_so, int path_len, const char* so_name); diff --git a/common/Jackdmp.cpp b/common/Jackdmp.cpp index 724cf249..27d18edd 100644 --- a/common/Jackdmp.cpp +++ b/common/Jackdmp.cpp @@ -185,6 +185,9 @@ jackctl_get_parameter( return NULL; } +// Prototype to be found in libjackserver +extern "C" void silent_jack_error_callback(const char *desc); + int main(int argc, char** argv) { jackctl_server_t * server_ctl; diff --git a/common/wscript b/common/wscript index 0f98c444..e61d8906 100644 --- a/common/wscript +++ b/common/wscript @@ -46,6 +46,7 @@ def build(bld): 'JackConnectionManager.cpp', 'ringbuffer.c', 'JackError.cpp', + 'JackException.cpp', 'JackFrameTimer.cpp', 'JackGraphManager.cpp', 'JackPort.cpp', @@ -72,8 +73,8 @@ def build(bld): common_libsources += [ '../posix/JackPosixThread.cpp', '../posix/JackPosixSemaphore.cpp', - '../posix/JackFifo.cpp', '../posix/JackProcessSync.cpp', + '../posix/JackPosixMutex.cpp', '../posix/JackSocket.cpp', '../linux/JackLinuxTime.c', ] @@ -86,6 +87,7 @@ def build(bld): '../posix/JackPosixThread.cpp', '../posix/JackFifo.cpp', '../posix/JackProcessSync.cpp', + '../posix/JackPosixMutex.cpp', '../posix/JackSocket.cpp', '../solaris/JackSolarisTime.c', ] @@ -197,6 +199,7 @@ def build(bld): 'JackNetAPI.cpp', 'JackNetInterface.cpp', 'JackNetTool.cpp', + 'JackException.cpp', 'JackAudioAdapterInterface.cpp', 'JackLibSampleRateResampler.cpp', 'JackResampler.cpp', diff --git a/macosx/JackCompilerDeps_os.h b/macosx/JackCompilerDeps_os.h index 5bc2baa1..c2dc4e8c 100644 --- a/macosx/JackCompilerDeps_os.h +++ b/macosx/JackCompilerDeps_os.h @@ -23,6 +23,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #include "JackConstants.h" #if __GNUC__ + #define PRE_PACKED_STRUCTURE #ifndef POST_PACKED_STRUCTURE diff --git a/macosx/Jackdmp.xcodeproj/project.pbxproj b/macosx/Jackdmp.xcodeproj/project.pbxproj index fc97ed3e..73b2202c 100644 --- a/macosx/Jackdmp.xcodeproj/project.pbxproj +++ b/macosx/Jackdmp.xcodeproj/project.pbxproj @@ -159,6 +159,13 @@ 4B32257F10A3195900838A8E /* netjack_packet.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B3224EC10A315C400838A8E /* netjack_packet.c */; }; 4B32258010A3195A00838A8E /* netjack_packet.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B3224ED10A315C400838A8E /* netjack_packet.h */; }; 4B32258110A3195B00838A8E /* netsource.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B32256310A318E300838A8E /* netsource.c */; }; + 4B327BA714B4B50400976483 /* JackPosixMutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B327BA614B4B50400976483 /* JackPosixMutex.cpp */; }; + 4B327BA814B4B50400976483 /* JackPosixMutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B327BA614B4B50400976483 /* JackPosixMutex.cpp */; }; + 4B327BA914B4B50400976483 /* JackPosixMutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B327BA614B4B50400976483 /* JackPosixMutex.cpp */; }; + 4B327BAA14B4B50400976483 /* JackPosixMutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B327BA614B4B50400976483 /* JackPosixMutex.cpp */; }; + 4B327BAB14B4B50400976483 /* JackPosixMutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B327BA614B4B50400976483 /* JackPosixMutex.cpp */; }; + 4B327BAC14B4B50400976483 /* JackPosixMutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B327BA614B4B50400976483 /* JackPosixMutex.cpp */; }; + 4B327BD614B4B6E700976483 /* JackException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B67AB8C14B4B03800B4AA9A /* JackException.cpp */; }; 4B35C41E0D4731D1000DE7AE /* Jackdmp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D2250834F06A00C94B91 /* Jackdmp.cpp */; }; 4B35C42A0D4731D1000DE7AE /* JackError.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1770834EE4800C94B91 /* JackError.h */; }; 4B35C42B0D4731D1000DE7AE /* JackTime.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1830834EE5800C94B91 /* JackTime.h */; }; @@ -493,6 +500,9 @@ 4B60CE490AAABA31004956AA /* connect.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B60CE480AAABA31004956AA /* connect.c */; }; 4B60CE4A0AAABA31004956AA /* connect.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B60CE480AAABA31004956AA /* connect.c */; }; 4B6654FC127C350100753A79 /* server_control.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B6654FB127C350100753A79 /* server_control.cpp */; }; + 4B67AB8D14B4B03800B4AA9A /* JackException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B67AB8C14B4B03800B4AA9A /* JackException.cpp */; }; + 4B67AB8E14B4B03800B4AA9A /* JackException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B67AB8C14B4B03800B4AA9A /* JackException.cpp */; }; + 4B67AB8F14B4B03800B4AA9A /* JackException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B67AB8C14B4B03800B4AA9A /* JackException.cpp */; }; 4B699BAA097D421600A18468 /* Jackdmp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D2250834F06A00C94B91 /* Jackdmp.cpp */; }; 4B699C03097D421600A18468 /* JackError.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1770834EE4800C94B91 /* JackError.h */; }; 4B699C04097D421600A18468 /* JackTime.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1830834EE5800C94B91 /* JackTime.h */; }; @@ -1620,6 +1630,7 @@ 4B32256110A3187800838A8E /* jack_netsource */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = jack_netsource; sourceTree = BUILT_PRODUCTS_DIR; }; 4B32256310A318E300838A8E /* netsource.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = netsource.c; path = "../example-clients/netsource.c"; sourceTree = SOURCE_ROOT; }; 4B32257B10A3190C00838A8E /* jack_netsource */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = jack_netsource; sourceTree = BUILT_PRODUCTS_DIR; }; + 4B327BA614B4B50400976483 /* JackPosixMutex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JackPosixMutex.cpp; path = ../posix/JackPosixMutex.cpp; sourceTree = SOURCE_ROOT; }; 4B349826133A6AF500D130AB /* JackALSARawMidiDriver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JackALSARawMidiDriver.cpp; path = ../linux/alsarawmidi/JackALSARawMidiDriver.cpp; sourceTree = SOURCE_ROOT; }; 4B349827133A6AF500D130AB /* JackALSARawMidiDriver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JackALSARawMidiDriver.h; path = ../linux/alsarawmidi/JackALSARawMidiDriver.h; sourceTree = SOURCE_ROOT; }; 4B349828133A6AF500D130AB /* JackALSARawMidiInputPort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JackALSARawMidiInputPort.cpp; path = ../linux/alsarawmidi/JackALSARawMidiInputPort.cpp; sourceTree = SOURCE_ROOT; }; @@ -1777,6 +1788,7 @@ 4B6654F7127C34AE00753A79 /* jack_server_control */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = jack_server_control; sourceTree = BUILT_PRODUCTS_DIR; }; 4B6654FB127C350100753A79 /* server_control.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = server_control.cpp; path = "../example-clients/server_control.cpp"; sourceTree = SOURCE_ROOT; }; 4B66A8580934964500A89560 /* JackConstants.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = JackConstants.h; path = ../common/JackConstants.h; sourceTree = SOURCE_ROOT; }; + 4B67AB8C14B4B03800B4AA9A /* JackException.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JackException.cpp; path = ../common/JackException.cpp; sourceTree = SOURCE_ROOT; }; 4B699BB1097D421600A18468 /* jackdmp */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = jackdmp; sourceTree = BUILT_PRODUCTS_DIR; }; 4B699C47097D421600A18468 /* Jackmp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Jackmp.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 4B699CAC097D421600A18468 /* Jackservermp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Jackservermp.framework; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -3091,6 +3103,7 @@ isa = PBXGroup; children = ( 4B6C73780CC60A6D001AFFD4 /* jack */, + 4B67AB8C14B4B03800B4AA9A /* JackException.cpp */, 4BE4CC000CDA153400CCF5BB /* JackTools.h */, 4BE4CBFF0CDA153400CCF5BB /* JackTools.cpp */, 4B4E9AF80E5F1090000A3278 /* JackControlAPI.cpp */, @@ -3141,6 +3154,7 @@ 4BA3874007947A46008D8992 /* Synchro */ = { isa = PBXGroup; children = ( + 4B327BA614B4B50400976483 /* JackPosixMutex.cpp */, 4BECB2F30F4451C10091B70A /* JackProcessSync.cpp */, 4BECB2F40F4451C10091B70A /* JackProcessSync.h */, 4BC3B6B70E703BAA0066E42F /* JackPosixSemaphore.cpp */, @@ -7057,6 +7071,7 @@ 4BECB2F90F4451C10091B70A /* JackProcessSync.cpp in Sources */, 4B8A38F1117B827E00664E07 /* JackSocketClientChannel.cpp in Sources */, 4B8A38F6117B82AB00664E07 /* JackSocket.cpp in Sources */, + 4B327BAB14B4B50400976483 /* JackPosixMutex.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -7125,6 +7140,8 @@ 4B97B6791344B50F00794F57 /* JackMidiUtil.cpp in Sources */, 4B97B67B1344B51D00794F57 /* JackMidiWriteQueue.cpp in Sources */, 4B21795113E2EEA60095B3E5 /* JackTimedDriver.cpp in Sources */, + 4B67AB8E14B4B03800B4AA9A /* JackException.cpp in Sources */, + 4B327BA814B4B50400976483 /* JackPosixMutex.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -7436,6 +7453,7 @@ 4B47ACCD10B5890100469C67 /* JackPosixThread.cpp in Sources */, 4B47ACCE10B5890100469C67 /* JackMachTime.c in Sources */, 4B47ACCF10B5890100469C67 /* JackProcessSync.cpp in Sources */, + 4B327BAC14B4B50400976483 /* JackPosixMutex.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -7519,6 +7537,7 @@ 4BECB2F70F4451C10091B70A /* JackProcessSync.cpp in Sources */, 4B2209EC12F6BC2100E5DC26 /* JackSocket.cpp in Sources */, 4B2209EE12F6BC2300E5DC26 /* JackSocketClientChannel.cpp in Sources */, + 4B327BAA14B4B50400976483 /* JackPosixMutex.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -7587,6 +7606,8 @@ 4B97B65C1344B45D00794F57 /* JackMidiUtil.cpp in Sources */, 4B97B65E1344B46B00794F57 /* JackMidiWriteQueue.cpp in Sources */, 4B21794F13E2EEA60095B3E5 /* JackTimedDriver.cpp in Sources */, + 4B67AB8D14B4B03800B4AA9A /* JackException.cpp in Sources */, + 4B327BA714B4B50400976483 /* JackPosixMutex.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -7717,6 +7738,7 @@ 4B8693251371DD7E00D2D11B /* JackResampler.cpp in Sources */, 4B86932C1371DD9B00D2D11B /* ringbuffer.c in Sources */, 4B86934D1371DEBA00D2D11B /* JackLibSampleRateResampler.cpp in Sources */, + 4B327BD614B4B6E700976483 /* JackException.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -7810,6 +7832,8 @@ 4B6FE16613DDAD8F00B4B943 /* JackMidiBufferReadQueue.cpp in Sources */, 4B6FE16813DDAD9F00B4B943 /* JackMidiAsyncWaitQueue.cpp in Sources */, 4B21795313E2EEA60095B3E5 /* JackTimedDriver.cpp in Sources */, + 4B67AB8F14B4B03800B4AA9A /* JackException.cpp in Sources */, + 4B327BA914B4B50400976483 /* JackPosixMutex.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -9008,6 +9032,7 @@ MACH_O_TYPE = mh_dylib; OTHER_CFLAGS = "-DJACK_32_64"; OTHER_CPLUSPLUSFLAGS = ( + "-DSERVER_SIDE", "-DJACK_32_64", "-DHAVE_CELT", "-DHAVE_CELT_API_0_7", @@ -17403,7 +17428,11 @@ LIBRARY_STYLE = DYNAMIC; MACH_O_TYPE = mh_dylib; OTHER_CFLAGS = ""; - OTHER_CPLUSPLUSFLAGS = "-DMACH_RPC_MACH_SEMA"; + OTHER_CPLUSPLUSFLAGS = ( + "-DSERVER_SIDE", + "-DMACH_RPC_MACH_SEMA", + "-DJACK_32_64", + ); OTHER_LDFLAGS = ( "-framework", Jackservermp, @@ -17450,7 +17479,7 @@ LIBRARY_STYLE = DYNAMIC; MACH_O_TYPE = mh_dylib; MACOSX_DEPLOYMENT_TARGET = 10.4; - OTHER_CFLAGS = "-DJACK_32_64"; + OTHER_CFLAGS = ""; OTHER_CPLUSPLUSFLAGS = ( "-DSERVER_SIDE", "-DMACH_RPC_MACH_SEMA", @@ -17549,7 +17578,9 @@ OTHER_CPLUSPLUSFLAGS = ( "-DHAVE_CELT_API_0_7", "-DHAVE_CELT", + "-DSERVER_SIDE", "-DMACH_RPC_MACH_SEMA", + "-DJACK_32_64", ); OTHER_LDFLAGS = ( "-framework", @@ -17593,7 +17624,7 @@ LIBRARY_STYLE = DYNAMIC; MACH_O_TYPE = mh_dylib; MACOSX_DEPLOYMENT_TARGET = 10.4; - OTHER_CFLAGS = "-DJACK_32_64"; + OTHER_CFLAGS = ""; OTHER_CPLUSPLUSFLAGS = ( "-DHAVE_CELT_API_0_7", "-DHAVE_CELT", diff --git a/macosx/coreaudio/JackCoreAudioDriver.cpp b/macosx/coreaudio/JackCoreAudioDriver.cpp index 6939b68e..8b7565d3 100644 --- a/macosx/coreaudio/JackCoreAudioDriver.cpp +++ b/macosx/coreaudio/JackCoreAudioDriver.cpp @@ -26,7 +26,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #include "JackDriverLoader.h" #include "JackGlobals.h" #include "JackTools.h" -#include "JackCompilerDeps.h" #include "JackLockedEngine.h" #include diff --git a/macosx/coremidi/JackCoreMidiDriver.cpp b/macosx/coremidi/JackCoreMidiDriver.cpp index f6c44f2c..df8bd065 100644 --- a/macosx/coremidi/JackCoreMidiDriver.cpp +++ b/macosx/coremidi/JackCoreMidiDriver.cpp @@ -18,13 +18,14 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#include - -#include - +#include "JackCompilerDeps.h" #include "JackCoreMidiDriver.h" #include "JackCoreMidiUtil.h" #include "JackEngineControl.h" +#include "driver_interface.h" + +#include +#include using Jack::JackCoreMidiDriver; diff --git a/macosx/coremidi/JackCoreMidiInputPort.cpp b/macosx/coremidi/JackCoreMidiInputPort.cpp index c7d8a869..e0a53e6f 100644 --- a/macosx/coremidi/JackCoreMidiInputPort.cpp +++ b/macosx/coremidi/JackCoreMidiInputPort.cpp @@ -22,6 +22,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #include "JackCoreMidiInputPort.h" #include "JackMidiUtil.h" +#include "JackError.h" using Jack::JackCoreMidiInputPort; diff --git a/macosx/coremidi/JackCoreMidiOutputPort.cpp b/macosx/coremidi/JackCoreMidiOutputPort.cpp index c6409afa..a5266dee 100644 --- a/macosx/coremidi/JackCoreMidiOutputPort.cpp +++ b/macosx/coremidi/JackCoreMidiOutputPort.cpp @@ -26,6 +26,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #include "JackCoreMidiOutputPort.h" #include "JackMidiUtil.h" #include "JackTime.h" +#include "JackError.h" using Jack::JackCoreMidiOutputPort; diff --git a/posix/JackNetUnixSocket.cpp b/posix/JackNetUnixSocket.cpp index e71b81d8..d97fba8a 100644 --- a/posix/JackNetUnixSocket.cpp +++ b/posix/JackNetUnixSocket.cpp @@ -18,6 +18,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "JackNetUnixSocket.h" +#include "JackError.h" + #include #include diff --git a/posix/JackPosixMutex.cpp b/posix/JackPosixMutex.cpp new file mode 100644 index 00000000..c5e60aa8 --- /dev/null +++ b/posix/JackPosixMutex.cpp @@ -0,0 +1,106 @@ +/* + Copyright (C) 2006 Grame + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + Grame Research Laboratory, 9 rue du Garet, 69001 Lyon - France + grame@grame.fr +*/ + +#include "JackPosixMutex.h" +#include "JackError.h" + +namespace Jack +{ + + bool JackBasePosixMutex::Lock() + { + pthread_t current_thread = pthread_self(); + + if (!pthread_equal(current_thread, fOwner)) { + int res = pthread_mutex_lock(&fMutex); + if (res == 0) { + fOwner = current_thread; + return true; + } else { + jack_error("JackBasePosixMutex::Lock res = %d", res); + return false; + } + } else { + jack_error("JackBasePosixMutex::Lock mutex already locked by thread = %d", current_thread); + return false; + } + } + + bool JackBasePosixMutex::Trylock() + { + pthread_t current_thread = pthread_self(); + + if (!pthread_equal(current_thread, fOwner)) { + int res = pthread_mutex_trylock(&fMutex); + if (res == 0) { + fOwner = current_thread; + return true; + } else { + return false; + } + } else { + jack_error("JackBasePosixMutex::Trylock mutex already locked by thread = %d", current_thread); + return false; + } + } + + bool JackBasePosixMutex::Unlock() + { + if (pthread_equal(pthread_self(), fOwner)) { + fOwner = 0; + int res = pthread_mutex_unlock(&fMutex); + if (res == 0) { + return true; + } else { + jack_error("JackBasePosixMutex::Unlock res = %d", res); + return false; + } + } else { + jack_error("JackBasePosixMutex::Unlock mutex not locked by thread = %d owner %d", pthread_self(), fOwner); + return false; + } + } + + bool JackPosixMutex::Lock() + { + int res = pthread_mutex_lock(&fMutex); + if (res != 0) { + jack_log("JackPosixMutex::Lock res = %d", res); + } + return (res == 0); + } + + bool JackPosixMutex::Trylock() + { + return (pthread_mutex_trylock(&fMutex) == 0); + } + + bool JackPosixMutex::Unlock() + { + int res = pthread_mutex_unlock(&fMutex); + if (res != 0) { + jack_log("JackPosixMutex::Unlock res = %d", res); + } + return (res == 0); + } + + +} // namespace diff --git a/posix/JackPosixMutex.h b/posix/JackPosixMutex.h index 12d98036..79e6958e 100644 --- a/posix/JackPosixMutex.h +++ b/posix/JackPosixMutex.h @@ -22,7 +22,6 @@ #ifndef __JackPosixMutex__ #define __JackPosixMutex__ -#include "JackError.h" #include "JackException.h" #include #include @@ -55,59 +54,9 @@ class JackBasePosixMutex pthread_mutex_destroy(&fMutex); } - bool Lock() - { - pthread_t current_thread = pthread_self(); - - if (!pthread_equal(current_thread, fOwner)) { - int res = pthread_mutex_lock(&fMutex); - if (res == 0) { - fOwner = current_thread; - return true; - } else { - jack_error("JackBasePosixMutex::Lock res = %d", res); - return false; - } - } else { - jack_error("JackBasePosixMutex::Lock mutex already locked by thread = %d", current_thread); - return false; - } - } - - bool Trylock() - { - pthread_t current_thread = pthread_self(); - - if (!pthread_equal(current_thread, fOwner)) { - int res = pthread_mutex_trylock(&fMutex); - if (res == 0) { - fOwner = current_thread; - return true; - } else { - return false; - } - } else { - jack_error("JackBasePosixMutex::Trylock mutex already locked by thread = %d", current_thread); - return false; - } - } - - bool Unlock() - { - if (pthread_equal(pthread_self(), fOwner)) { - fOwner = 0; - int res = pthread_mutex_unlock(&fMutex); - if (res == 0) { - return true; - } else { - jack_error("JackBasePosixMutex::Unlock res = %d", res); - return false; - } - } else { - jack_error("JackBasePosixMutex::Unlock mutex not locked by thread = %d owner %d", pthread_self(), fOwner); - return false; - } - } + bool Lock(); + bool Trylock(); + bool Unlock(); }; @@ -138,29 +87,9 @@ class JackPosixMutex pthread_mutex_destroy(&fMutex); } - bool Lock() - { - int res = pthread_mutex_lock(&fMutex); - if (res != 0) { - jack_log("JackPosixMutex::Lock res = %d", res); - } - return (res == 0); - } - - bool Trylock() - { - return (pthread_mutex_trylock(&fMutex) == 0); - } - - bool Unlock() - { - int res = pthread_mutex_unlock(&fMutex); - if (res != 0) { - jack_log("JackPosixMutex::Unlock res = %d", res); - } - return (res == 0); - } - + bool Lock(); + bool Trylock(); + bool Unlock(); }; diff --git a/posix/JackSocketClientChannel.cpp b/posix/JackSocketClientChannel.cpp index e39c61d1..377f30f4 100644 --- a/posix/JackSocketClientChannel.cpp +++ b/posix/JackSocketClientChannel.cpp @@ -21,6 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "JackRequest.h" #include "JackClient.h" #include "JackGlobals.h" +#include "JackError.h" namespace Jack { diff --git a/posix/JackSocketClientChannel.h b/posix/JackSocketClientChannel.h index 50da7de7..f267c023 100644 --- a/posix/JackSocketClientChannel.h +++ b/posix/JackSocketClientChannel.h @@ -24,7 +24,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "JackSocket.h" #include "JackPlatformPlug.h" #include "JackRequest.h" -#include "JackError.h" namespace Jack { diff --git a/windows/JackWinMutex.cpp b/windows/JackWinMutex.cpp new file mode 100644 index 00000000..f0c1d428 --- /dev/null +++ b/windows/JackWinMutex.cpp @@ -0,0 +1,98 @@ +/* + Copyright (C) 2004-2008 Grame + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + */ + +#include "JackWinMutex.h" +#include "JackError.h" + +namespace Jack +{ + +class JackBaseWinMutex +{ + + bool JackBaseWinMutex::Lock() + { + if (fOwner != GetCurrentThreadId()) { + DWORD res = WaitForSingleObject(fMutex, INFINITE); + if (res == WAIT_OBJECT_0) { + fOwner = GetCurrentThreadId(); + return true; + } else { + jack_log("JackWinMutex::Lock res = %d", res); + return false; + } + } else { + jack_error("JackWinMutex::Lock mutex already locked by thread = %d", GetCurrentThreadId()); + return false; + } + } + + bool JackBaseWinMutex::Trylock() + { + if (fOwner != GetCurrentThreadId()) { + DWORD res = WaitForSingleObject(fMutex, 0); + if (res == WAIT_OBJECT_0) { + fOwner = GetCurrentThreadId(); + return true; + } else { + jack_log("JackWinMutex::Trylock res = %d", res); + return false; + } + } else { + jack_error("JackWinMutex::Trylock mutex already locked by thread = %d", GetCurrentThreadId()); + return false; + } + } + + bool JackBaseWinMutex::Unlock() + { + if (fOwner == GetCurrentThreadId()) { + fOwner = 0; + int res = ReleaseMutex(fMutex); + if (res != 0) { + return true; + } else { + jack_log("JackWinMutex::Unlock res = %d", res); + return false; + } + } else { + jack_error("JackWinMutex::Unlock mutex not locked by thread = %d", GetCurrentThreadId()); + return false; + } + } + + bool JackWinMutex::Lock() + { + return (WAIT_OBJECT_0 == WaitForSingleObject(fMutex, INFINITE)); + } + + bool JackWinMutex::Trylock() + { + return (WAIT_OBJECT_0 == WaitForSingleObject(fMutex, 0)); + } + + bool JackWinMutex::Unlock() + { + return(ReleaseMutex(fMutex) != 0); + } + + +} // namespace + + diff --git a/windows/JackWinMutex.h b/windows/JackWinMutex.h index 47d2d86a..53a4c880 100644 --- a/windows/JackWinMutex.h +++ b/windows/JackWinMutex.h @@ -20,13 +20,14 @@ #ifndef __JackWinMutex__ #define __JackWinMutex__ - -#include "JackError.h" + + #include "JackException.h" #include namespace Jack { + /*! \brief Mutex abstraction. */ @@ -52,57 +53,10 @@ class JackBaseWinMutex CloseHandle(fMutex); } - bool Lock() - { - if (fOwner != GetCurrentThreadId()) { - DWORD res = WaitForSingleObject(fMutex, INFINITE); - if (res == WAIT_OBJECT_0) { - fOwner = GetCurrentThreadId(); - return true; - } else { - jack_log("JackWinMutex::Lock res = %d", res); - return false; - } - } else { - jack_error("JackWinMutex::Lock mutex already locked by thread = %d", GetCurrentThreadId()); - return false; - } - } - - bool Trylock() - { - if (fOwner != GetCurrentThreadId()) { - DWORD res = WaitForSingleObject(fMutex, 0); - if (res == WAIT_OBJECT_0) { - fOwner = GetCurrentThreadId(); - return true; - } else { - jack_log("JackWinMutex::Trylock res = %d", res); - return false; - } - } else { - jack_error("JackWinMutex::Trylock mutex already locked by thread = %d", GetCurrentThreadId()); - return false; - } - } - - bool Unlock() - { - if (fOwner == GetCurrentThreadId()) { - fOwner = 0; - int res = ReleaseMutex(fMutex); - if (res != 0) { - return true; - } else { - jack_log("JackWinMutex::Unlock res = %d", res); - return false; - } - } else { - jack_error("JackWinMutex::Unlock mutex not locked by thread = %d", GetCurrentThreadId()); - return false; - } - } - + bool Lock(); + bool Trylock(); + bool Unlock(); + }; class JackWinMutex @@ -125,20 +79,9 @@ class JackWinMutex CloseHandle(fMutex); } - bool Lock() - { - return (WAIT_OBJECT_0 == WaitForSingleObject(fMutex, INFINITE)); - } - - bool Trylock() - { - return (WAIT_OBJECT_0 == WaitForSingleObject(fMutex, 0)); - } - - bool Unlock() - { - return(ReleaseMutex(fMutex) != 0); - } + bool Lock(); + bool Trylock(); + bool Unlock(); }; @@ -146,3 +89,4 @@ class JackWinMutex } // namespace #endif + diff --git a/windows/libjack.cbp b/windows/libjack.cbp index ec3aaa67..ac521cd0 100644 --- a/windows/libjack.cbp +++ b/windows/libjack.cbp @@ -309,6 +309,7 @@