Browse Source

rebase from trunk 3930:3966

git-svn-id: http://subversion.jackaudio.org/jack/jack2/branches/libjacknet@3967 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/1.9.8
sletz 14 years ago
parent
commit
54ebab2cf2
60 changed files with 952 additions and 6214 deletions
  1. +133
    -109
      ChangeLog
  2. +17
    -17
      common/JackAtomicArrayState.h
  3. +1
    -1
      common/JackConstants.h
  4. +1
    -1
      common/JackControlAPI.h
  5. +19
    -19
      common/JackError.cpp
  6. +17
    -18
      common/JackError.h
  7. +1
    -1
      common/JackGraphManager.cpp
  8. +17
    -18
      common/JackShmMem.cpp
  9. +17
    -18
      common/JackShmMem.h
  10. +3
    -3
      common/JackTools.cpp
  11. +69
    -38
      common/JackWeakAPI.cpp
  12. +1
    -1
      common/driver_interface.h
  13. +2
    -2
      common/jack/control.h
  14. +21
    -23
      common/shm.c
  15. +12
    -15
      dbus/controller_iface_control.c
  16. +6
    -2
      example-clients/alsa_in.c
  17. +6
    -2
      example-clients/alsa_out.c
  18. +5
    -5
      example-clients/internal_metro.cpp
  19. +1
    -0
      example-clients/internal_metro.h
  20. +5
    -1
      example-clients/metro.c
  21. +10
    -2
      linux/firewire/JackFFADODriver.cpp
  22. +1
    -1
      macosx/JackMachServerChannel.cpp
  23. +4
    -4
      macosx/coreaudio/JackCoreAudioDriver.cpp
  24. +4
    -4
      solaris/oss/JackBoomerDriver.cpp
  25. +4
    -4
      solaris/oss/JackOSSDriver.cpp
  26. +2
    -1
      tests/external_metro.cpp
  27. +1
    -0
      tests/external_metro.h
  28. +17
    -16
      windows/JackCompilerDeps_os.h
  29. +17
    -16
      windows/JackNetWinSocket.cpp
  30. +17
    -17
      windows/JackNetWinSocket.h
  31. +17
    -16
      windows/JackPlatformPlug_os.h
  32. +19
    -19
      windows/JackShmMem_os.h
  33. +17
    -16
      windows/JackSystemDeps_os.h
  34. +17
    -16
      windows/JackTypes_os.h
  35. +17
    -16
      windows/JackWinEvent.cpp
  36. +17
    -17
      windows/JackWinEvent.h
  37. +16
    -17
      windows/JackWinMutex.h
  38. +17
    -16
      windows/JackWinNamedPipe.cpp
  39. +17
    -16
      windows/JackWinNamedPipe.h
  40. +17
    -16
      windows/JackWinNamedPipeClientChannel.cpp
  41. +17
    -16
      windows/JackWinNamedPipeClientChannel.h
  42. +17
    -16
      windows/JackWinNamedPipeNotifyChannel.cpp
  43. +17
    -16
      windows/JackWinNamedPipeNotifyChannel.h
  44. +15
    -14
      windows/JackWinNamedPipeServerChannel.cpp
  45. +17
    -16
      windows/JackWinNamedPipeServerChannel.h
  46. +17
    -16
      windows/JackWinNamedPipeServerNotifyChannel.h
  47. +17
    -16
      windows/JackWinProcessSync.cpp
  48. +17
    -16
      windows/JackWinProcessSync.h
  49. +17
    -17
      windows/JackWinSemaphore.cpp
  50. +17
    -16
      windows/JackWinSemaphore.h
  51. +17
    -17
      windows/JackWinThread.cpp
  52. +17
    -17
      windows/JackWinThread.h
  53. +17
    -17
      windows/JackWinTime.c
  54. +17
    -15
      windows/README
  55. +2
    -2
      windows/jackd.workspace
  56. +53
    -1
      windows/libjack.cbp
  57. +55
    -3
      windows/libjackserver.cbp
  58. +4
    -4
      windows/portaudio/JackPortAudioDriver.cpp
  59. +0
    -4949
      windows/regex.c
  60. +0
    -506
      windows/regex.h

+ 133
- 109
ChangeLog View File

@@ -19,202 +19,226 @@ Romain Moret
Florian Faber
Michael Voigt
Torben Hohn
Paul Davis
Peter L Jones
Devin Anderson
Josh Green
Paul Davis
Peter L Jones
Devin Anderson
Josh Green
Mario Lang
Arnold Krille
---------------------------
Jackdmp changes log
---------------------------

---------------------------
2010-03-24 Stephane Letz <letz@grame.fr>
* On Windows, now use TRE library for regexp (BSD license instead of GPL license).
2010-03-19 Stephane Letz <letz@grame.fr>
* Fix some file header to have library side code use LGPL.
* Apply srcfactor.diff patch for ticket #162.
2010-03-06 Stephane Letz <letz@grame.fr>
* Arnold Krille firewire patch.
* Raise JACK_DRIVER_PARAM_STRING_MAX and JACK_PARAM_STRING_MAX to 127 otherwise some audio drivers cannot be loaded on OSX.
2010-03-04 Stephane Letz <letz@grame.fr>
* Correct JackMachServerChannel::Execute : keep running even in error cases.
* Raise JACK_PROTOCOL_VERSION number.
2010-03-03 Stephane Letz <letz@grame.fr>
* Correct JackGraphManager::DeactivatePort.
2010-03-02 Stephane Letz <letz@grame.fr>
* Improve JackCoreAudioDriver and JackCoreAudioAdapter : when no devices are described, takes default input and output and aggregate them.

* Improve JackCoreAudioDriver and JackCoreAudioAdapter : when no devices are described, takes default input and output and aggregate them.
2010-02-15 Stephane Letz <letz@grame.fr>
* Version 1.9.6 started.

* Version 1.9.6 started.
2010-01-29 Gabriel M. Beddingfield <gabriel@teuton.org>
* Change JackEngineProfiling and JackAudioAdapterInterface gnuplot scripts to output SVG instead of PDF.

* Change JackEngineProfiling and JackAudioAdapterInterface gnuplot scripts to output SVG instead of PDF.
2009-12-15 Stephane Letz <letz@grame.fr>
* Shared memory manager was calling abort in case of fatal error, now return an error in caller.

* Shared memory manager was calling abort in case of fatal error, now return an error in caller.
2009-12-13 Stephane Letz <letz@grame.fr>
* Mario Lang alsa_io time calculation overflow patch.

* Mario Lang alsa_io time calculation overflow patch.
2009-12-10 Stephane Letz <letz@grame.fr>
* Use a QUIT notification to properly quit the server channel, the server channel thread can then be 'stopped' instead of 'canceled'.
* Use a QUIT notification to properly quit the server channel, the server channel thread can then be 'stopped' instead of 'canceled'.
2009-12-09 Stephane Letz <letz@grame.fr>
* When threads are cancelled, the exception has to be rethrown.
* When threads are cancelled, the exception has to be rethrown.
2009-12-08 Stephane Letz <letz@grame.fr>
* Josh Green ALSA driver capture only patch.
* Josh Green ALSA driver capture only patch.
2009-12-03 Stephane Letz <letz@grame.fr>
* Fix JackCoreMidiDriver::ReadProcAux when ring buffer is full (thanks Devin Anderson).
* Fix JackCoreMidiDriver::ReadProcAux when ring buffer is full (thanks Devin Anderson).
2009-12-02 Stephane Letz <letz@grame.fr>
* Special code in JackCoreAudio driver to handle completely buggy Digidesign CoreAudio user-land driver.
* Ensure that client-side message buffer thread calls thread_init callback if/when it is set by the client (backport of JACK1 rev 3838).
* Check dynamic port-max value.
* Special code in JackCoreAudio driver to handle completely buggy Digidesign CoreAudio user-land driver.
* Ensure that client-side message buffer thread calls thread_init callback if/when it is set by the client (backport of JACK1 rev 3838).
* Check dynamic port-max value.
2009-12-01 Stephane Letz <letz@grame.fr>
* Fix port_rename callback : now both old name and new name are given as parameters.
* Fix port_rename callback : now both old name and new name are given as parameters.
2009-11-30 Stephane Letz <letz@grame.fr>
* Devin Anderson patch for Jack FFADO driver issues with lost MIDI bytes between periods (and more).
* Devin Anderson patch for Jack FFADO driver issues with lost MIDI bytes between periods (and more).
2009-11-29 Stephane Letz <letz@grame.fr>
* More robust sample rate change handling code in JackCoreAudioDriver.
* More robust sample rate change handling code in JackCoreAudioDriver.
2009-11-24 Stephane Letz <letz@grame.fr>
* Dynamic choice of maximum port number.
* Dynamic choice of maximum port number.
2009-11-23 Stephane Letz <letz@grame.fr>
* Peter L Jones patch for NetJack1 compilation on Windows.
* Peter L Jones patch for NetJack1 compilation on Windows.
2009-11-20 Stephane Letz <letz@grame.fr>
* Version 1.9.5 started.
* Client debugging code improved.
* Version 1.9.5 started.
* Client debugging code improved.
2009-11-18 Stephane Letz <letz@grame.fr>
* Sync JackCoreAudioAdapter code with JackCoreAudioDriver.
* Sync JackCoreAudioAdapter code with JackCoreAudioDriver.
2009-11-17 Stephane Letz <letz@grame.fr>
* In JackCoreAudio driver, clock drift compensation in aggregated devices working.
* In JackCoreAudio driver, clock drift compensation semantic changed a bit : when on, does not activate if not needed (same clock domain).
* In JackCoreAudio driver, clock drift compensation in aggregated devices working.
* In JackCoreAudio driver, clock drift compensation semantic changed a bit : when on, does not activate if not needed (same clock domain).
2009-11-16 Stephane Letz <letz@grame.fr>
* In JackCoreAudio driver, (possibly) clock drift compensation when needed in aggregated devices.
* In JackCoreAudio driver, (possibly) clock drift compensation when needed in aggregated devices.
2009-11-14 Stephane Letz <letz@grame.fr>
* Sync with JACK1 : -r parameter now used for no-realtime, realtime (-R) is now default, usable backend given vie platform.
* Sync with JACK1 : -r parameter now used for no-realtime, realtime (-R) is now default, usable backend given vie platform.
2009-11-13 Stephane Letz <letz@grame.fr>
* Better memory allocation error checking in ringbuffer.c, weak import improvements.
* Memory allocation error checking for jack_client_new and jack_client_open (server and client side).
* Memory allocation error checking in server for RPC.
* Simplify server temporary mode : now use a JackTemporaryException.
* Lock/Unlock shared memory segments (to test...).
* Better memory allocation error checking in ringbuffer.c, weak import improvements.
* Memory allocation error checking for jack_client_new and jack_client_open (server and client side).
* Memory allocation error checking in server for RPC.
* Simplify server temporary mode : now use a JackTemporaryException.
* Lock/Unlock shared memory segments (to test...).
2009-11-12 Stephane Letz <letz@grame.fr>
* Better memory allocation error checking on client (library) side.
* Better memory allocation error checking on client (library) side.
2009-11-11 Stephane Letz <letz@grame.fr>
* Correct JackCoreAudio driver when empty strings are given as -C, -P or -d parameter.
* Correct JackCoreAudio driver when empty strings are given as -C, -P or -d parameter.
2009-11-10 Stephane Letz <letz@grame.fr>
* Correct JackInfoShutdownCallback prototype, two new JackClientProcessFailure and JackClientZombie JackStatus code.
* Correct JackInfoShutdownCallback prototype, two new JackClientProcessFailure and JackClientZombie JackStatus code.
2009-11-09 Stephane Letz <letz@grame.fr>
* Correct JackGraphManager::GetBuffer for the "client loop with one connection" case : buffer must be copied.
* Correct JackGraphManager::GetBuffer for the "client loop with one connection" case : buffer must be copied.
2009-11-07 Stephane Letz <letz@grame.fr>
* Fix AcquireRealTime and DropRealTime: now distinguish when called from another thread (AcquireRealTime/DropRealTime) and from the thread itself (AcquireSelfRealTime/DropSelfRealTime).
* Correct JackPosixThread::StartImp : thread priority setting now done in the RT case only.
* Fix AcquireRealTime and DropRealTime: now distinguish when called from another thread (AcquireRealTime/DropRealTime) and from the thread itself (AcquireSelfRealTime/DropSelfRealTime).
* Correct JackPosixThread::StartImp : thread priority setting now done in the RT case only.
2009-11-06 Stephane Letz <letz@grame.fr>
* Correctly save and restore RT mode state in freewheel mode.
* Correct freewheel code on client side.
* Correctly save and restore RT mode state in freewheel mode.
* Correct freewheel code on client side.
2009-11-05 Stephane Letz <letz@grame.fr>
* No reason to make jack_on_shutdown deprecated, so revert the incorrect change.
* Thread AcquireRealTime and DropRealTime were (incorrectly) using fThread field. Use pthread_self()) (or GetCurrentThread() on Windows) to get the calling thread.
* No reason to make jack_on_shutdown deprecated, so revert the incorrect change.
* Thread AcquireRealTime and DropRealTime were (incorrectly) using fThread field. Use pthread_self()) (or GetCurrentThread() on Windows) to get the calling thread.
2009-10-30 Stephane Letz <letz@grame.fr>
* In JackCoreAudioDriver, improve management of input/output channels: -1 is now used internally to indicate a wanted max value.
* In JackCoreAudioDriver::OpenAUHAL, correct stream format setup and cleanup.
* Correct crash bug in JackAudioAdapterInterface when not input is used in adapter (temporary fix...)
* Sync JackCoreAudioAdapter code on JackCoreAudioDriver one.
* JACK_SCHED_POLICY switched to SCHED_FIFO.
* Now can aggregate device that are themselves AD.
* In JackCoreAudioDriver, improve management of input/output channels: -1 is now used internally to indicate a wanted max value.
* In JackCoreAudioDriver::OpenAUHAL, correct stream format setup and cleanup.
* Correct crash bug in JackAudioAdapterInterface when not input is used in adapter (temporary fix...)
* Sync JackCoreAudioAdapter code on JackCoreAudioDriver one.
* JACK_SCHED_POLICY switched to SCHED_FIFO.
* Now can aggregate device that are themselves AD.
2009-10-29 Stephane Letz <letz@grame.fr>
* In JackCoreAudioDriver::Start, wait for the audio driver to effectively start (use the MeasureCallback).
* In JackCoreAudioDriver::Start, wait for the audio driver to effectively start (use the MeasureCallback).
2009-10-28 Stephane Letz <letz@grame.fr>
* In JackCoreAudioDriver, force the SR value to the wanted one *before* creating aggregate device (otherwise creation will fail).
* In JackCoreAudioDriver, better cleanup of AD when intermediate open failure.
* In JackCoreAudioDriver, force the SR value to the wanted one *before* creating aggregate device (otherwise creation will fail).
* In JackCoreAudioDriver, better cleanup of AD when intermediate open failure.
2009-10-27 Stephane Letz <letz@grame.fr>
* Dynamic system version detection in JackCoreAudioDriver to either create public or private aggregate device.
* Dynamic system version detection in JackCoreAudioDriver to either create public or private aggregate device.
2009-10-26 Stephane Letz <letz@grame.fr>
* Implement "hog mode" (exclusive access of the audio device) in JackCoreAudioDriver.
* Fix jack_set_sample_rate_callback to have he same behavior as in JACK1.
* Implement "hog mode" (exclusive access of the audio device) in JackCoreAudioDriver.
* Fix jack_set_sample_rate_callback to have he same behavior as in JACK1.
2009-10-25 Stephane Letz <letz@grame.fr>
* Improve aggregate device management in JackCoreAudioDriver : now a "private" device only and cleanup properly.
* Aggregate device code added to JackCoreAudioAdapter.
* Improve aggregate device management in JackCoreAudioDriver : now a "private" device only and cleanup properly.
* Aggregate device code added to JackCoreAudioAdapter.
2009-10-23 Stephane Letz <letz@grame.fr>
* Correct JackProcessSync::LockedTimedWait.
* Correct JACK_MESSAGE_SIZE value, particularly in OSX RPC code.
* Now start server channel thread only when backend has been started (so in JackServer::Start). Should solve race conditions at start time.
* jack_verbose moved to JackGlobals class.
* Correct JackProcessSync::LockedTimedWait.
* Correct JACK_MESSAGE_SIZE value, particularly in OSX RPC code.
* Now start server channel thread only when backend has been started (so in JackServer::Start). Should solve race conditions at start time.
* jack_verbose moved to JackGlobals class.
2009-10-22 Stephane Letz <letz@grame.fr>
* Correct jackdmp.cpp (failures case were not correct..). Improve JackCoreAudioDriver code. Raise default port number to 2048.
* Correct jackdmp.cpp (failures case were not correct..). Improve JackCoreAudioDriver code. Raise default port number to 2048.
2009-10-20 Stephane Letz <letz@grame.fr>
* Add a string parameter to server ==> client notification, add a new JackInfoShutdownCallback type.
* CoreAudio backend now issue a JackInfoShutdownCallback when an unrecoverable error is detected (sampling rate change, stream configuration changeÉ)
* Add a string parameter to server ==> client notification, add a new JackInfoShutdownCallback type.
* CoreAudio backend now issue a JackInfoShutdownCallback when an unrecoverable error is detected (sampling rate change, stream configuration changeÉ)
2009-10-17 Stephane Letz <letz@grame.fr>
* Correct server temporary mode : now set a global and quit after server/client message handling is finished.
* Correct server temporary mode : now set a global and quit after server/client message handling is finished.
2009-10-15 Stephane Letz <letz@grame.fr>
* Change CoreAudio notification thread setup for OSX Snow Leopard.
* Change CoreAudio notification thread setup for OSX Snow Leopard.
2009-09-18 Stephane Letz <letz@grame.fr>
* Simplify transport in NetJack2: master only can control transport.
* Simplify transport in NetJack2: master only can control transport.
2009-09-15 Stephane Letz <letz@grame.fr>
* Correct CPU timing in JackNetDriver, now take cycle begin time after Read.
* Correct CPU timing in JackNetDriver, now take cycle begin time after Read.
* Fix issues in JackNetDriver::DecodeTransportData and JackNetDriver::Initialize.
2009-08-28 Stephane Letz <letz@grame.fr>
@@ -570,7 +594,7 @@ Mario Lang
2008-11-21 Stephane Letz <letz@grame.fr>
* Report ringbuffer.c fixes from JACK1.
* Better isolation of server and clients system resources to allow starting the server in several user account at the same time.
* Better isolation of server and clients system resources to allow starting the server in several user account at the same time.
* Correct ressource cleanup in case of driver open failure.
2008-11-19 Stephane Letz <letz@grame.fr>


+ 17
- 17
common/JackAtomicArrayState.h View File

@@ -1,21 +1,21 @@
/*
Copyright (C) 2004-2006 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.
*/
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.
*/

#ifndef __JackAtomicArrayState__
#define __JackAtomicArrayState__


+ 1
- 1
common/JackConstants.h View File

@@ -88,7 +88,7 @@

#define ALL_CLIENTS -1 // for notification

#define JACK_PROTOCOL_VERSION 7
#define JACK_PROTOCOL_VERSION 8

#define SOCKET_TIME_OUT 5 // in sec
#define DRIVER_OPEN_TIMEOUT 5 // in sec


+ 1
- 1
common/JackControlAPI.h View File

@@ -47,7 +47,7 @@ typedef enum
#define JACK_PARAM_MAX (JackParamBool + 1)

/** @brief Max length of string parameter value, excluding terminating nul char */
#define JACK_PARAM_STRING_MAX 63
#define JACK_PARAM_STRING_MAX 127

/** @brief Type for parameter value */
/* intentionally similar to jack_driver_param_value_t */


+ 19
- 19
common/JackError.cpp View File

@@ -1,23 +1,23 @@
/*
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 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.
*/
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 <stdarg.h>
#include <stdio.h>


+ 17
- 18
common/JackError.h View File

@@ -1,22 +1,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 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.

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.

*/



+ 1
- 1
common/JackGraphManager.cpp View File

@@ -385,7 +385,7 @@ void JackGraphManager::ActivatePort(jack_port_id_t port_index)
void JackGraphManager::DeactivatePort(jack_port_id_t port_index)
{
JackPort* port = GetPort(port_index);
port->fFlags = (JackPortFlags)(port->fFlags | ~JackPortIsActive);
port->fFlags = (JackPortFlags)(port->fFlags & ~JackPortIsActive);
}

void JackGraphManager::GetInputPorts(int refnum, jack_int_t* res)


+ 17
- 18
common/JackShmMem.cpp View File

@@ -1,22 +1,21 @@
/*
Copyright (C) 2001 Paul Davis
Copyright (C) 2004-2009 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.

*/
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 "JackError.h"
#include "JackShmMem.h"


+ 17
- 18
common/JackShmMem.h View File

@@ -1,22 +1,21 @@
/*
Copyright (C) 2001 Paul Davis
Copyright (C) 2004-2009 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.

*/
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.
*/

#ifndef __JackShmMem__
#define __JackShmMem__


+ 3
- 3
common/JackTools.cpp View File

@@ -194,7 +194,7 @@ namespace Jack {
}

if (fgets(buf, sizeof(buf), in) == NULL) {
fclose(in);
pclose(in);
return -1;
}

@@ -202,7 +202,7 @@ namespace Jack {

if (buf[len - 1] != '\n') {
/* didn't get a whole line */
fclose(in);
pclose(in);
return -1;
}

@@ -210,7 +210,7 @@ namespace Jack {
memcpy(jack_tmpdir, buf, len - 1);
jack_tmpdir[len - 1] = '\0';

fclose(in);
pclose(in);
return 0;
}
#endif


+ 69
- 38
common/JackWeakAPI.cpp View File

@@ -1,33 +1,36 @@
/*
Copyright (C) 2009 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.
//=============================================================================
// MuseScore
// Linux Music Score Editor
// $Id:
//
// jackWeakAPI based on code from Stéphane Letz (Grame)
// partly based on Julien Pommier (PianoTeq : http://www.pianoteq.com/) code.
//
// Copyright (C) 2002-2007 Werner Schweer and others
// Copyright (C) 2009 Grame

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.
// 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.

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.
// 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.

*/

/*
Completed from Julien Pommier (PianoTeq : http://www.pianoteq.com/) code.
*/
// 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 <jack/jack.h>
#include <jack/thread.h>
#include <jack/midiport.h>
#include <math.h>
#ifndef WIN32
#include <dlfcn.h>
#endif
#include <stdlib.h>
#include <cassert>
#include <iostream>

/* dynamically load libjack and forward all registered calls to libjack
@@ -40,13 +43,21 @@ typedef void *(*thread_routine)(void*);
using std::cerr;

int libjack_is_present = 0; // public symbol, similar to what relaytool does.

#ifdef WIN32
HMODULE libjack_handle = 0;
#else
static void *libjack_handle = 0;
#endif


static void __attribute__((constructor)) tryload_libjack()
{
if (getenv("SKIP_LIBJACK") == 0) { // just in case libjack is causing troubles..
#ifdef __APPLE__
libjack_handle = dlopen("libjack.0.dylib", RTLD_LAZY);
#elif defined(WIN32)
libjack_handle = LoadLibrary("libjack.dll");
#else
libjack_handle = dlopen("libjack.so.0", RTLD_LAZY);
#endif
@@ -59,12 +70,22 @@ void *load_jack_function(const char *fn_name)
{
void *fn = 0;
if (!libjack_handle) {
std::cerr << "libjack not found, so do not try to load " << fn_name << " ffs !\n";
fprintf (stderr, "libjack not found, so do not try to load %s ffs !\n", fn_name);
return 0;
}
#ifdef WIN32
fn = (void*)GetProcAddress(libjack_handle, fn_name);
#else
fn = dlsym(libjack_handle, fn_name);
#endif
if (!fn) {
std::cerr << "could not dlsym(" << libjack_handle << "), " << dlerror() << "\n";
#ifdef WIN32
char* lpMsgBuf;
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,NULL,GetLastError(),MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),(LPTSTR) &lpMsgBuf,0,NULL );
fprintf (stderr, "could not GetProcAddress( %s ), %s \n", fn_name, lpMsgBuf) ;
#else
fprintf (stderr, "could not dlsym( %s ), %s \n", fn_name, dlerror()) ;
#endif
}
return fn;
}
@@ -78,6 +99,15 @@ void *load_jack_function(const char *fn_name)
else return (return_type)-1; \
}

#define DECL_FUNCTION_NULL(return_type, fn_name, arguments_types, arguments) \
typedef return_type (*fn_name##_ptr_t)arguments_types; \
return_type fn_name arguments_types { \
static fn_name##_ptr_t fn = 0; \
if (fn == 0) { fn = (fn_name##_ptr_t)load_jack_function(#fn_name); } \
if (fn) return (*fn)arguments; \
else return (return_type)0; \
}
#define DECL_VOID_FUNCTION(fn_name, arguments_types, arguments) \
typedef void (*fn_name##_ptr_t)arguments_types; \
void fn_name arguments_types { \
@@ -86,14 +116,15 @@ void *load_jack_function(const char *fn_name)
if (fn) (*fn)arguments; \
}


DECL_VOID_FUNCTION(jack_get_version, (int *major_ptr, int *minor_ptr, int *micro_ptr, int *proto_ptr), (major_ptr, minor_ptr, micro_ptr, proto_ptr));
DECL_FUNCTION(const char *, jack_get_version_string, (), ());
DECL_FUNCTION(jack_client_t *, jack_client_open, (const char *client_name, jack_options_t options, jack_status_t *status, ...),
DECL_FUNCTION_NULL(const char *, jack_get_version_string, (), ());
DECL_FUNCTION_NULL(jack_client_t *, jack_client_open, (const char *client_name, jack_options_t options, jack_status_t *status, ...),
(client_name, options, status));
DECL_FUNCTION(int, jack_client_close, (jack_client_t *client), (client));
DECL_FUNCTION(jack_client_t *, jack_client_new, (const char *client_name), (client_name));
DECL_FUNCTION_NULL(jack_client_t *, jack_client_new, (const char *client_name), (client_name));
DECL_FUNCTION(int, jack_client_name_size, (), ());
DECL_FUNCTION(char*, jack_get_client_name, (jack_client_t *client), (client));
DECL_FUNCTION_NULL(char*, jack_get_client_name, (jack_client_t *client), (client));
DECL_FUNCTION(int, jack_internal_client_new, (const char *client_name,
const char *load_name,
const char *load_init), (client_name, load_name, load_init));
@@ -146,21 +177,21 @@ DECL_FUNCTION(int, jack_set_xrun_callback, (jack_client_t *client,
void *arg), (client, xrun_callback, arg));
DECL_FUNCTION(int, jack_activate, (jack_client_t *client), (client));
DECL_FUNCTION(int, jack_deactivate, (jack_client_t *client), (client));
DECL_FUNCTION(jack_port_t *, jack_port_register, (jack_client_t *client, const char *port_name, const char *port_type,
DECL_FUNCTION_NULL(jack_port_t *, jack_port_register, (jack_client_t *client, const char *port_name, const char *port_type,
unsigned long flags, unsigned long buffer_size),
(client, port_name, port_type, flags, buffer_size));
DECL_FUNCTION(int, jack_port_unregister, (jack_client_t *client, jack_port_t* port), (client, port));
DECL_FUNCTION(void *, jack_port_get_buffer, (jack_port_t *port, jack_nframes_t nframes), (port, nframes));
DECL_FUNCTION(const char*, jack_port_name, (const jack_port_t *port), (port));
DECL_FUNCTION(const char*, jack_port_short_name, (const jack_port_t *port), (port));
DECL_FUNCTION_NULL(void *, jack_port_get_buffer, (jack_port_t *port, jack_nframes_t nframes), (port, nframes));
DECL_FUNCTION_NULL(const char*, jack_port_name, (const jack_port_t *port), (port));
DECL_FUNCTION_NULL(const char*, jack_port_short_name, (const jack_port_t *port), (port));
DECL_FUNCTION(int, jack_port_flags, (const jack_port_t *port), (port));
DECL_FUNCTION(const char*, jack_port_type, (const jack_port_t *port), (port));
DECL_FUNCTION_NULL(const char*, jack_port_type, (const jack_port_t *port), (port));
DECL_FUNCTION(jack_port_type_id_t, jack_port_type_id, (const jack_port_t *port), (port));
DECL_FUNCTION(int, jack_port_is_mine, (const jack_client_t *client, const jack_port_t* port), (client, port));
DECL_FUNCTION(int, jack_port_connected, (const jack_port_t *port), (port));
DECL_FUNCTION(int, jack_port_connected_to, (const jack_port_t *port, const char *port_name), (port, port_name));
DECL_FUNCTION(const char**, jack_port_get_connections, (const jack_port_t *port), (port));
DECL_FUNCTION(const char**, jack_port_get_all_connections, (const jack_client_t *client,const jack_port_t *port), (client, port));
DECL_FUNCTION_NULL(const char**, jack_port_get_connections, (const jack_port_t *port), (port));
DECL_FUNCTION_NULL(const char**, jack_port_get_all_connections, (const jack_client_t *client,const jack_port_t *port), (client, port));
DECL_FUNCTION(int, jack_port_tie, (jack_port_t *src, jack_port_t *dst), (src, dst));
DECL_FUNCTION(int, jack_port_untie, (jack_port_t *port), (port));
DECL_FUNCTION(jack_nframes_t, jack_port_get_latency, (jack_port_t *port), (port));
@@ -185,10 +216,10 @@ DECL_FUNCTION(int, jack_port_type_size,(),());
DECL_FUNCTION(jack_nframes_t, jack_get_sample_rate, (jack_client_t *client), (client));
DECL_FUNCTION(jack_nframes_t, jack_get_buffer_size, (jack_client_t *client), (client));
DECL_FUNCTION(const char**, jack_get_ports, (jack_client_t *client, const char *port_name_pattern, const char * type_name_pattern,
DECL_FUNCTION_NULL(const char**, jack_get_ports, (jack_client_t *client, const char *port_name_pattern, const char * type_name_pattern,
unsigned long flags), (client, port_name_pattern, type_name_pattern, flags));
DECL_FUNCTION(jack_port_t *, jack_port_by_name, (jack_client_t * client, const char *port_name), (client, port_name));
DECL_FUNCTION(jack_port_t *, jack_port_by_id, (jack_client_t *client, jack_port_id_t port_id), (client, port_id));
DECL_FUNCTION_NULL(jack_port_t *, jack_port_by_name, (jack_client_t * client, const char *port_name), (client, port_name));
DECL_FUNCTION_NULL(jack_port_t *, jack_port_by_id, (jack_client_t *client, jack_port_id_t port_id), (client, port_id));

DECL_FUNCTION(int, jack_engine_takeover_timebase, (jack_client_t * client), (client));
DECL_FUNCTION(jack_nframes_t, jack_frames_since_cycle_start, (const jack_client_t * client), (client));
@@ -198,7 +229,7 @@ DECL_FUNCTION(jack_time_t, jack_frames_to_time, (const jack_client_t *client, ja
DECL_FUNCTION(jack_nframes_t, jack_frame_time, (const jack_client_t *client), (client));
DECL_FUNCTION(jack_nframes_t, jack_last_frame_time, (const jack_client_t *client), (client));
DECL_FUNCTION(float, jack_cpu_load, (jack_client_t *client), (client));
DECL_FUNCTION(pthread_t, jack_client_thread_id, (jack_client_t *client), (client));
DECL_FUNCTION_NULL(pthread_t, jack_client_thread_id, (jack_client_t *client), (client));
DECL_VOID_FUNCTION(jack_set_error_function, (print_function fun), (fun));
DECL_VOID_FUNCTION(jack_set_info_function, (print_function fun), (fun));

@@ -256,6 +287,6 @@ DECL_FUNCTION(jack_nframes_t, jack_midi_get_event_count, (void* port_buffer), (p
DECL_FUNCTION(int, jack_midi_event_get, (jack_midi_event_t* event, void* port_buffer, jack_nframes_t event_index), (event, port_buffer, event_index)) ;
DECL_VOID_FUNCTION(jack_midi_clear_buffer, (void* port_buffer), (port_buffer));
DECL_FUNCTION(size_t, jack_midi_max_event_size, (void* port_buffer), (port_buffer));
DECL_FUNCTION(jack_midi_data_t*, jack_midi_event_reserve, (void* port_buffer, jack_nframes_t time, size_t data_size), (port_buffer, time, data_size));
DECL_FUNCTION_NULL(jack_midi_data_t*, jack_midi_event_reserve, (void* port_buffer, jack_nframes_t time, size_t data_size), (port_buffer, time, data_size));
DECL_FUNCTION(int, jack_midi_event_write, (void* port_buffer, jack_nframes_t time, const jack_midi_data_t* data, size_t data_size), (port_buffer, time, data, data_size));
DECL_FUNCTION(jack_nframes_t, jack_midi_get_lost_event_count, (void* port_buffer), (port_buffer));

+ 1
- 1
common/driver_interface.h View File

@@ -33,7 +33,7 @@ extern "C"

#define JACK_DRIVER_NAME_MAX 15
#define JACK_DRIVER_PARAM_NAME_MAX 15
#define JACK_DRIVER_PARAM_STRING_MAX 63
#define JACK_DRIVER_PARAM_STRING_MAX 127
#define JACK_DRIVER_PARAM_DESC 255
#define JACK_PATH_MAX 511



+ 2
- 2
common/jack/control.h View File

@@ -48,8 +48,8 @@ typedef enum
/** @brief Max value that jackctl_param_type_t type can have */
#define JACK_PARAM_MAX (JackParamBool + 1)

/** @brief Max length of string parameter value, excluding terminating nul char */
#define JACK_PARAM_STRING_MAX 63
/** @brief Max length of string parameter value, excluding terminating null char */
#define JACK_PARAM_STRING_MAX 127

/** @brief Type for parameter value */
/* intentionally similar to jack_driver_param_value_t */


+ 21
- 23
common/shm.c View File

@@ -1,24 +1,3 @@
/*
* Copyright (C) 2003 Paul Davis
* Copyright (C) 2004 Jack O'Quin
* Copyright (C) 2006-2007 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.
*
*/

/* This module provides a set of abstract shared memory interfaces
* with support using both System V and POSIX shared memory
* implementations. The code is divided into three sections:
@@ -31,6 +10,25 @@
* set in the ./configure step.
*/

/*
Copyright (C) 2001-2003 Paul Davis
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 "JackConstants.h"

#ifdef WIN32
@@ -148,7 +146,7 @@ static int semid = -1;
static int
semaphore_init () {return 0;}

static int
static int
semaphore_add (int value) {return 0;}

#else
@@ -534,7 +532,7 @@ jack_unregister_server (const char *server_name /* unused */)
}
}

jack_shm_unlock_registry ();
jack_shm_unlock_registry ();
return 0;
}



+ 12
- 15
dbus/controller_iface_control.c View File

@@ -87,34 +87,31 @@ jack_control_run_method(
{
if (!jack_controller_start_server(controller_ptr, call))
{
jack_error ("Failed to start server");
}
else
{
jack_controller_control_send_signal_server_started();
jack_dbus_error(call, JACK_DBUS_ERROR_GENERIC, "Failed to start server");
return true;
}

jack_controller_control_send_signal_server_started();
}
else if (strcmp (call->method_name, "StopServer") == 0)
{
if (!jack_controller_stop_server(controller_ptr, call))
{
jack_error ("Failed to stop server");
}
else
{
jack_controller_control_send_signal_server_stopped();
jack_dbus_error(call, JACK_DBUS_ERROR_GENERIC, "Failed to stop server");
return true;
}

jack_controller_control_send_signal_server_stopped();
}
else if (strcmp (call->method_name, "SwitchMaster") == 0)
{
if (!jack_controller_switch_master(controller_ptr, call))
{
jack_error ("Failed to switch master");
}
else
{
jack_controller_control_send_signal_server_stopped();
jack_dbus_error(call, JACK_DBUS_ERROR_GENERIC, "Failed to switch master");
return true;
}

jack_controller_control_send_signal_server_stopped();
}
else if (strcmp (call->method_name, "GetLoad") == 0)
{


+ 6
- 2
example-clients/alsa_in.c View File

@@ -38,6 +38,8 @@ int jack_buffer_size;
int quit = 0;
double resample_mean = 1.0;
double static_resample_factor = 1.0;
double resample_lower_limit = 0.25;
double resample_upper_limit = 4.0;

double *offset_array;
double *window_array;
@@ -388,8 +390,8 @@ int process (jack_nframes_t nframes, void *arg) {
output_offset = (float) offset;

// Clamp a bit.
if( current_resample_factor < 0.25 ) current_resample_factor = 0.25;
if( current_resample_factor > 4 ) current_resample_factor = 4;
if( current_resample_factor < resample_lower_limit ) current_resample_factor = resample_lower_limit;
if( current_resample_factor > resample_upper_limit ) current_resample_factor = resample_upper_limit;

// Now Calculate how many samples we need.
rlen = ceil( ((double)nframes) / current_resample_factor )+2;
@@ -675,6 +677,8 @@ int main (int argc, char *argv[]) {
printf( "selected sample format: %s\n", formats[format].name );

static_resample_factor = (double) jack_sample_rate / (double) sample_rate;
resample_lower_limit = static_resample_factor * 0.25;
resample_upper_limit = static_resample_factor * 4.0;
resample_mean = static_resample_factor;

offset_array = malloc( sizeof(double) * smooth_size );


+ 6
- 2
example-clients/alsa_out.c View File

@@ -37,6 +37,8 @@ int jack_buffer_size;

double resample_mean = 1.0;
double static_resample_factor = 1.0;
double resample_lower_limit = 0.25;
double resample_upper_limit = 4.0;

double *offset_array;
double *window_array;
@@ -395,8 +397,8 @@ int process (jack_nframes_t nframes, void *arg) {
output_offset = (float) offset;

// Clamp a bit.
if( current_resample_factor < 0.25 ) current_resample_factor = 0.25;
if( current_resample_factor > 4 ) current_resample_factor = 4;
if( current_resample_factor < resample_lower_limit ) current_resample_factor = resample_lower_limit;
if( current_resample_factor > resample_upper_limit ) current_resample_factor = resample_upper_limit;

// Now Calculate how many samples we need.
rlen = ceil( ((double)nframes) * current_resample_factor )+2;
@@ -666,6 +668,8 @@ int main (int argc, char *argv[]) {
sample_rate = jack_sample_rate;

static_resample_factor = (double) sample_rate / (double) jack_sample_rate;
resample_lower_limit = static_resample_factor * 0.25;
resample_upper_limit = static_resample_factor * 4.0;
resample_mean = static_resample_factor;

offset_array = malloc( sizeof(double) * smooth_size );


+ 5
- 5
example-clients/internal_metro.cpp View File

@@ -46,7 +46,6 @@ InternalMetro::InternalMetro(int freq, double max_amp, int dur_arg, int bpm, cha
{
sample_t scale;
int i, attack_length, decay_length;
double *amp;
int attack_percent = 1, decay_percent = 10;
const char *bpm_string = "bpm";

@@ -59,7 +58,7 @@ InternalMetro::InternalMetro(int freq, double max_amp, int dur_arg, int bpm, cha
}
if ((client = jack_client_open (client_name, JackNullOption, NULL)) == 0) {
fprintf (stderr, "jack server not running?\n");
return ;
return;
}

jack_set_process_callback (client, process_audio, this);
@@ -81,11 +80,11 @@ InternalMetro::InternalMetro(int freq, double max_amp, int dur_arg, int bpm, cha
", wave length = %" PRIu32 "\n", tone_length,
wave_length);
*/
return ;
return;
}
if (attack_length + decay_length > (int)tone_length) {
fprintf (stderr, "invalid attack/decay\n");
return ;
return;
}

/* Build the wave table */
@@ -110,7 +109,6 @@ InternalMetro::InternalMetro(int freq, double max_amp, int dur_arg, int bpm, cha

if (jack_activate (client)) {
fprintf(stderr, "cannot activate client");
return;
}
}

@@ -120,4 +118,6 @@ InternalMetro::~InternalMetro()
jack_port_unregister(client, input_port);
jack_port_unregister(client, output_port);
jack_client_close(client);
free(amp);
free(wave);
}

+ 1
- 0
example-clients/internal_metro.h View File

@@ -53,6 +53,7 @@ extern "C"
int bpm;
jack_nframes_t tone_length, wave_length;
sample_t *wave;
double *amp;
long offset ;

InternalMetro(int freq, double max_amp, int dur_arg, int bpm, char* client_name);


+ 5
- 1
example-clients/metro.c View File

@@ -257,7 +257,7 @@ main (int argc, char *argv[])

if (jack_activate (client)) {
fprintf (stderr, "cannot activate client\n");
return 1;
goto error;
}
/* install a signal handler to properly quits jack client */
@@ -282,5 +282,9 @@ main (int argc, char *argv[])
};
jack_client_close(client);
error:
free(amp);
free(wave);
exit (0);
}

+ 10
- 2
linux/firewire/JackFFADODriver.cpp View File

@@ -753,12 +753,20 @@ extern "C"
strcpy (desc->name, "firewire"); // size MUST be less then JACK_DRIVER_NAME_MAX + 1
strcpy(desc->desc, "Linux FFADO API based audio backend"); // size MUST be less then JACK_DRIVER_PARAM_DESC + 1
desc->nparams = 11;
desc->nparams = 12;

params = (jack_driver_param_desc_t *)calloc (desc->nparams, sizeof (jack_driver_param_desc_t));
desc->params = params;

i = 0;
strcpy (params[i].name, "device");
params[i].character = 'd';
params[i].type = JackDriverParamString;
strcpy (params[i].value.str, "hw:0");
strcpy (params[i].short_desc, "The FireWire device to use.");
strcpy (params[i].long_desc, "The FireWire device to use. Please consult the FFADO documentation for more info.");

i++;
strcpy (params[i].name, "period");
params[i].character = 'p';
params[i].type = JackDriverParamUInt;
@@ -881,7 +889,7 @@ extern "C"

switch (param->character) {
case 'd':
device_name = strdup (param->value.str);
device_name = const_cast<char*>(param->value.str);
break;
case 'p':
cmlparams.period_size = param->value.ui;


+ 1
- 1
macosx/JackMachServerChannel.cpp View File

@@ -159,7 +159,7 @@ bool JackMachServerChannel::Execute()
kern_return_t res;
if ((res = mach_msg_server(MessageHandler, 1024, fServerPort.GetPortSet(), 0)) != KERN_SUCCESS) {
jack_log("JackMachServerChannel::Execute: err = %s", mach_error_string(res));
return false;
// A recoverable error, so keep running...
}
return true;


+ 4
- 4
macosx/coreaudio/JackCoreAudioDriver.cpp View File

@@ -2002,8 +2002,8 @@ extern "C"
switch (param->character) {

case 'd':
capture_driver_uid = strdup(param->value.str);
playback_driver_uid = strdup(param->value.str);
capture_driver_uid = param->value.str;
playback_driver_uid = param->value.str;
break;

case 'D':
@@ -2026,14 +2026,14 @@ extern "C"
case 'C':
capture = true;
if (strcmp(param->value.str, "none") != 0) {
capture_driver_uid = strdup(param->value.str);
capture_driver_uid = param->value.str;
}
break;

case 'P':
playback = true;
if (strcmp(param->value.str, "none") != 0) {
playback_driver_uid = strdup(param->value.str);
playback_driver_uid = param->value.str;
}
break;



+ 4
- 4
solaris/oss/JackBoomerDriver.cpp View File

@@ -985,20 +985,20 @@ EXPORT Jack::JackDriverClientInterface* driver_initialize(Jack::JackLockedEngine
case 'C':
capture = true;
if (strcmp(param->value.str, "none") != 0) {
capture_pcm_name = strdup(param->value.str);
capture_pcm_name = param->value.str;
}
break;

case 'P':
playback = true;
if (strcmp(param->value.str, "none") != 0) {
playback_pcm_name = strdup(param->value.str);
playback_pcm_name = param->value.str;
}
break;

case 'd':
playback_pcm_name = strdup (param->value.str);
capture_pcm_name = strdup (param->value.str);
playback_pcm_name = param->value.str;
capture_pcm_name = param->value.str;
break;
case 'e':


+ 4
- 4
solaris/oss/JackOSSDriver.cpp View File

@@ -904,20 +904,20 @@ EXPORT Jack::JackDriverClientInterface* driver_initialize(Jack::JackLockedEngine
case 'C':
capture = true;
if (strcmp(param->value.str, "none") != 0) {
capture_pcm_name = strdup(param->value.str);
capture_pcm_name = param->value.str;
}
break;

case 'P':
playback = true;
if (strcmp(param->value.str, "none") != 0) {
playback_pcm_name = strdup(param->value.str);
playback_pcm_name = param->value.str;
}
break;

case 'd':
playback_pcm_name = strdup (param->value.str);
capture_pcm_name = strdup (param->value.str);
playback_pcm_name = param->value.str;
capture_pcm_name = param->value.str;
break;
case 'b':


+ 2
- 1
tests/external_metro.cpp View File

@@ -60,7 +60,6 @@ ExternalMetro::ExternalMetro(int freq, double max_amp, int dur_arg, int bpm, con
{
sample_t scale;
int i, attack_length, decay_length;
double *amp;
int attack_percent = 1, decay_percent = 10;
const char *bpm_string = "bpm";
jack_options_t options = JackNullOption;
@@ -131,6 +130,8 @@ ExternalMetro::~ExternalMetro()
jack_port_unregister(client, input_port);
jack_port_unregister(client, output_port);
jack_client_close(client);
free(amp);
free(wave);
}

int main (int argc, char *argv[])


+ 1
- 0
tests/external_metro.h View File

@@ -53,6 +53,7 @@ extern "C"
int bpm;
jack_nframes_t tone_length, wave_length;
sample_t *wave;
double *amp;
long offset ;

ExternalMetro(int freq, double max_amp, int dur_arg, int bpm, const char* client_name = "metro");


+ 17
- 16
windows/JackCompilerDeps_os.h View File

@@ -1,21 +1,22 @@
/*
Copyright (C) 2004-2005 Grame
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.
*/

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 __JackCompilerDeps_WIN32__
#define __JackCompilerDeps_WIN32__


+ 17
- 16
windows/JackNetWinSocket.cpp View File

@@ -1,21 +1,22 @@
/*
Copyright (C) 2008 Romain Moret at Grame
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.
*/

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 "JackNetWinSocket.h"



+ 17
- 17
windows/JackNetWinSocket.h View File

@@ -1,21 +1,21 @@
/*
Copyright (C) 2008 Romain Moret at 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.
*/
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.
*/

#ifndef __JackNetWinSocket__
#define __JackNetWinSocket__


+ 17
- 16
windows/JackPlatformPlug_os.h View File

@@ -1,21 +1,22 @@
/*
Copyright (C) 2004-2008 Grame
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.
*/

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.

*/

#ifndef __JackPlatformPlug_WIN32__
#define __JackPlatformPlug_WIN32__


+ 19
- 19
windows/JackShmMem_os.h View File

@@ -1,28 +1,28 @@
/*
Copyright (C) 2001 Paul Davis
Copyright (C) 2004-2008 Grame
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.
*/

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 __JackShmMem_WIN32__
#define __JackShmMem_WIN32__

#include <windows.h>
#include <windows.h>

// See GetProcessWorkingSetSize and SetProcessWorkingSetSize

#define CHECK_MLOCK(ptr, size) (VirtualLock((ptr), (size)) != 0)


+ 17
- 16
windows/JackSystemDeps_os.h View File

@@ -1,21 +1,22 @@
/*
Copyright (C) 2004-2006 Grame
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.
*/

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 __JackSystemDeps_WIN32__
#define __JackSystemDeps_WIN32__


+ 17
- 16
windows/JackTypes_os.h View File

@@ -1,21 +1,22 @@
/*
Copyright (C) 2001 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 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.
*/

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.

*/

#ifndef __JackTypes_WIN32__
#define __JackTypes_WIN32__


+ 17
- 16
windows/JackWinEvent.cpp View File

@@ -1,21 +1,22 @@
/*
Copyright (C) 2004-2005 Grame
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.
*/

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 "JackWinEvent.h"
#include "JackTools.h"


+ 17
- 17
windows/JackWinEvent.h View File

@@ -1,21 +1,21 @@
/*
Copyright (C) 2004-2005 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.
*/
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.
*/

#ifndef __JackWinEvent__
#define __JackWinEvent__


+ 16
- 17
windows/JackWinMutex.h View File

@@ -1,23 +1,22 @@
/*
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,
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.
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.
*/

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
*/

#ifndef __JackWinMutex__
#define __JackWinMutex__


+ 17
- 16
windows/JackWinNamedPipe.cpp View File

@@ -1,21 +1,22 @@
/*
Copyright (C) 2004-2006 Grame
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.
*/

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 "JackWinNamedPipe.h"
#include "JackError.h"


+ 17
- 16
windows/JackWinNamedPipe.h View File

@@ -1,21 +1,22 @@
/*
Copyright (C) 2004-2006 Grame
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.
*/

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 __JackWinNamedPipe__
#define __JackWinNamedPipe__


+ 17
- 16
windows/JackWinNamedPipeClientChannel.cpp View File

@@ -1,21 +1,22 @@
/*
Copyright (C) 2004-2006 Grame
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.
*/

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 "JackWinNamedPipeClientChannel.h"
#include "JackRequest.h"


+ 17
- 16
windows/JackWinNamedPipeClientChannel.h View File

@@ -1,21 +1,22 @@
/*
Copyright (C) 2004-2006 Grame
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.
*/

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.

*/

#ifndef __JackWinNamedPipeClientChannel__
#define __JackWinNamedPipeClientChannel__


+ 17
- 16
windows/JackWinNamedPipeNotifyChannel.cpp View File

@@ -1,21 +1,22 @@
/*
Copyright (C) 2004-2006 Grame
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.
*/

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 "JackRequest.h"
#include "JackWinNamedPipeNotifyChannel.h"


+ 17
- 16
windows/JackWinNamedPipeNotifyChannel.h View File

@@ -1,21 +1,22 @@
/*
Copyright (C) 2004-2006 Grame
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.
*/

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.

</