---------------------------
  Contributors
---------------------------

Dmitry Baikov
Steven Chamberlain
Thom Johansen
Thibault LeMeur
Pieter Palmers
Tom Szilagyi
Andrzej Szombierski 
Kjetil S.Matheussen
Pieter Palmers
Tim Blechmann
Marc-Olivier Barre
Nedko Arnaudov
Fernando Lopez-Lezcano

---------------------------
  Jackdmp changes log
---------------------------

2008-03-14 Stephane Letz  <letz@grame.fr>
		
	* Fernando Lopez-Lezcano scons patch.

2008-03-13 Stephane Letz  <letz@grame.fr>
		
	* Add test for jack_cycle_wait, jack_cycle_wait and jack_set_process_thread API.
	* Add jack_set_process_thread in wrapper library.
	* Correct all backend playback port latency in case of "asynchronous" mode (1 buffer more).
	* Correct jack_port_get_total_latency.
	* Correct jack_port_by_id in wrapper library.

2008-03-12 Stephane Letz  <letz@grame.fr>
		
	* Marc-Olivier Barre library related scons patch.
	* Nedko Arnaudov FULL_MIMIC patch.
	* Automatic server launch in wrapper layer.

2008-03-11 Stephane Letz  <letz@grame.fr>
		
	* Fix engine real-time notification (was broken since ??).
	* Correct jack_client_open_aux, jack_client_open and jack_client_new.
	* Correct jack_internal_client_load for wrapper layer.
	* In thread model, execute a dummy cycle to be sure thread has the correct properties (ensure thread creation is finished).
	* Correct jack_port_get_connections function (should return NULL when no connections).

2008-03-10 Stephane Letz  <letz@grame.fr>
		
	* Nedko Arnaudov log patch.
	* Remove unneeded jack_port_connect API.

2008-03-07 Stephane Letz  <letz@grame.fr>
		
	* Define an internal jack_client_open_aux needed for library wrapper feature.
	* Improve wrapper code.
	* Correct FreeBob driver_initialize.

2008-03-06 Stephane Letz  <letz@grame.fr>
		
	* Marc-Olivier Barre scons patch (3).

2008-03-06 Stephane Letz  <letz@grame.fr>
		
	* Fix JackSocketClientChannel::ClientClose: async call from the client and server does not need to write any reply. 
	* Correct port notification: 2 notifications have to be sent (src, dst) and (dst, src)...

2008-03-05 Stephane Letz  <letz@grame.fr>
		
	* libjackdmp.so renamed to libjackservermp.so and same for OSX framework.
	* tw1.c example added (new thread model).
	* Marc-Olivier Barre scons patch (2).

2008-03-02 Stephane Letz  <letz@grame.fr>
		
	* Correct JackSocketClientChannel::ClientClose to use ServerSyncCall instead of ServerAsyncCall.
	* Better documentation in jack.h.
	* Marc-Olivier Barre scons patch.

2008-03-02 Stephane Letz  <letz@grame.fr>
		
	* Correct jack_get_time propotype.

2008-02-25 Stephane Letz  <letz@grame.fr>
		
	* Add TimeCallback in JackDebugClient class.

2008-02-22 Stephane Letz  <letz@grame.fr>
		
	* Correct JACK_port_unregister.

2008-02-21 Stephane Letz  <letz@grame.fr>
		
	* Add port register/unregister notification in JackAlsaDriver.

2008-02-12 Stephane Letz  <letz@grame.fr>
		
	* Fix in JackClient::Error(): when RT thread is failing and calling Shutdown, Shutdown was not desactivating the client correctly. 
	* Notify ports unregistration in JackEngine::ClientCloseAux.
	* Thanks Esben Stien for helping finding these bugs.

2008-02-11 Stephane Letz  <letz@grame.fr>
		
	* Use SetAlias for port naming. Use jackd midi port naming scheme.

2008-02-08 Stephane Letz  <letz@grame.fr>
		
	* More robust external API.

2008-02-07 Stephane Letz  <letz@grame.fr>
		
	* Correct "server_connect": close the communication channel.

2008-02-05 Stephane Letz  <letz@grame.fr>
		
	* Reduce WaitGraphChange wait value.
	* Remove use of assert in JackFifo, JackMachSemaphore, and JackPosixSemaphore: print an error instead.

2008-02-03 Stephane Letz  <letz@grame.fr>

	* Add "Readme" file from package in src folder.
	* Tim Blechmann sse optimization patch for JackaudioPort::MixAudioBuffer, use of Apple Accelerate framework on OSX.

2008-02-02 Stephane Letz  <letz@grame.fr>

	* Tim Blechmann patches.

2008-02-01 Stephane Letz  <letz@grame.fr>

	* Move transport related methods from JackEngine to JackServer.
	* Finish port connection callback server side implementation.

2008-01-31 Stephane Letz  <letz@grame.fr>

	* Remove checking thread in CoreAudio driver, better device state change recovery strategy: the driver is stopped and restarted.
	* jack_thread_wait implementation.
	* Add jack_thread_wait client example.
	* Add jack_mp_thread_wait client example.

2008-01-30 Stephane Letz  <letz@grame.fr>
	
	* Latest jack_lsp code from jack SVN.
	* Update in usx2y.c and JackPort.cpp to match jackd 0.109.2.

2008-01-29 Stephane Letz  <letz@grame.fr>
	
	* Implement jack_recompute_total_latency and jack_recompute_total_latencies.
	* Remove fBufferSize field in JackGraphManager object.
	* Port connection callback, client side.

2008-01-28 Stephane Letz  <letz@grame.fr>

	* Updated API to match jack 0.109.0 version (in progress). Correct checking thread in CoreAudio driver.
	* Port connection callback, server side.
	* Cleanup jack_port_connected_to implementation.

2008-01-25 Stephane Letz  <letz@grame.fr>

	* OSX 32/64 bits version.

2008-01-24 Stephane Letz  <letz@grame.fr>

	* CoreAudio driver improvement: detect and notify abnormal situations (stopped driver in case of SR change...).

2008-01-03 Stephane Letz  <letz@grame.fr>

	* Dmitry Baikov MIDI patch : alsa_seqmidi and alsa_rammidi drivers.

2008-01-03 Stephane Letz  <letz@grame.fr>

	* Tim Blechmann patch for JackGraphManager::GetPortsAux memory leak, Tim Blechmann patch for scons install.

2007-12-12 Stephane Letz  <letz@grame.fr>

	* Cleanup in CoreAudio driver.

2007-12-11 Stephane Letz  <letz@grame.fr>

	* Change string management for proper compilation with gcc 4.2.2. JackLog cleanup.

2007-12-08 Stephane Letz  <letz@grame.fr>

	* Tim Blechmann scons patch.

2007-12-07 Stephane Letz  <letz@grame.fr>

	* Pieter Palmers second new build system: scons and Makefile based build.

2007-12-06 Stephane Letz  <letz@grame.fr>

	* Pieter Palmers FFADO driver and scons based build.

2007-12-05 Stephane Letz  <letz@grame.fr>

	* Correct sample_rate management in JackCoreAudioDriver::Open. Better handling in sample_rate change listener.

2007-12-04 Stephane Letz  <letz@grame.fr>

	* Add a sample_rate change listener in CoreAudio driver.

2007-12-03 Stephane Letz  <letz@grame.fr>

	* Correct bug in CoreAudio driver sample rate management.

2007-11-30 Stephane Letz  <letz@grame.fr>

	* Correct JackMachNotifyChannel::ClientNotify.

2007-11-29 Stephane Letz  <letz@grame.fr>

	* Correct fPeriodUsecs computation in JackAudioDriver::SetBufferSize and JackAudioDriver::SetSampleRate. 

2007-11-28 Stephane Letz  <letz@grame.fr>

	* On OSX, use jack server name in notification system.

2007-11-21 Stephane Letz  <letz@grame.fr>

	* On OSX, use CFNotificationCenterPostNotificationWithOptions with kCFNotificationDeliverImmediately | kCFNotificationPostToAllSessions for server ==> JackRouter plugin notification.

2007-11-20 Stephane Letz  <letz@grame.fr>

	* Correct CheckPort in JackAPI.cpp.

2007-11-15 Stephane Letz  <letz@grame.fr>

	* Move OSX start/stop notification mechanism in Jackdmp.cpp.

2007-11-05 Stephane Letz  <letz@grame.fr>

	* Use of JackWinSemaphore instead of JackWinEvent for inter-process synchronization.
	* Correct types.h for use with MINGW on Windows.

2007-11-04 Stephane Letz  <letz@grame.fr>

	* Add an implementation for obsolete jack_internal_client_new and jack_internal_client_close. Add missing jack_port_type_size.

2007-11-02 Stephane Letz  <letz@grame.fr>

	* Correct ALSA driver Attach method: internal driver may have changed the buffer_size and sample_rate values.
	* Add JackWinSemaphore class.

2007-10-01 Stephane Letz  <letz@grame.fr>

	* Server and user directory related code moved in a JackTools file.
	* Client name rewritting to remove path characters (used in fifo naming).

2007-10-30 Stephane Letz  <letz@grame.fr>

	* Fix a bug in freewheel management in async mode: drivers now receive the kStartFreewheelCallback and kStopFreewheelCallback notifications.

2007-10-26 Stephane Letz  <letz@grame.fr>

	* Add midiseq and midisine examples. 
	* Cleanup old zombification code. 
	* Linux Makefile now install jack headers.
	* Use of JACK_CLIENT_DEBUG environment variable to activate debug client mode.
	* Definition of JACK_LOCATION variable using -D in the Makefile.
	* Restore jack 0.103.0 MIDI API version.

2007-10-25 Stephane Letz  <letz@grame.fr>

	* Merge of Dmitry Baikov MIDI branch. 
	* Correct JackGraphManager::GetPortsAux to use port type.
	* Remove JackEngineTiming class: code moved in JackEngineControl.

2007-10-24 Stephane Letz  <letz@grame.fr>

	* Implementation of server_name setting (-n).

2007-10-23 Stephane Letz  <letz@grame.fr>

	* Correct jack_acquire_real_time_scheduling on OSX.

2007-10-18 Stephane Letz  <letz@grame.fr>

	* Use LIB_DIR variable for 64 bits related compilation (drivers location). More generic Linux script.

2007-10-16 Stephane Letz  <letz@grame.fr>

	* Reorganize jack headers. Improve Linux install/remove scripts.

2007-10-16 Stephane Letz  <letz@grame.fr>

	* Internal loadable client implementation, winpipe version added. 

2007-10-12 Stephane Letz  <letz@grame.fr>

	* Internal loadable client implementation, socket version added. 
	* Fix JackEngine::Close() method.

2007-10-11 Stephane Letz  <letz@grame.fr>

	* Internal loadable client implementation (in progress).

2007-10-08 Stephane Letz  <letz@grame.fr>

	* Use .jackdrc file (instead of .jackdmprc). Install script now creates a link "jackd ==> jackdmp" so that automatic launch can work correctly. 
	* Paul Davis patch for -r (--replace-registry) feature.

2007-10-07 Stephane Letz  <letz@grame.fr>

	* Add missing timestamps.c and timestamps.h files. Correctly export public headers in OSX frameworks. Suppress JackEngine::ClientInternalCloseIm method.

2007-10-04 Stephane Letz  <letz@grame.fr>

	* Correct "jack_register_server" in shm.c.

2007-10-04 Stephane Letz  <letz@grame.fr>

	* Fix a resource leak issue in JackCoreAudioDriver::Close(). Better implement "jack_client_open" when linking a client with the server library.

2007-10-03 Stephane Letz  <letz@grame.fr>

	* Rename server_name from "default" to "jackdmp_default" to avoid conflict with regular jackd server.

2007-10-02 Stephane Letz  <letz@grame.fr>

	* Correct jack_client_open "status" management.

2007-08-27 Stephane Letz  <letz@grame.fr>

	* Server/library protocol checking implementation.

2007-08-26 Stephane Letz  <letz@grame.fr>

	* Make "Rename" a method of JackPort class, call it from driver Attach method.

2007-08-24 Stephane Letz  <letz@grame.fr>

	* Implement server temporary (-T) mode.

2007-08-23 Stephane Letz  <letz@grame.fr>

	* Fix a bug in jack_test. Correct JackShmMem destructor. Correct end case in JackClient::Execute. Correct JackMachSemaphore::Disconnect.

2007-08-22 Stephane Letz  <letz@grame.fr>

	* Fix a bug in JackLibClient::Open introduced when adding automatic client renaming.

2007-08-21 Stephane Letz  <letz@grame.fr>

	* Fix backend port alias management (renaming in system:xxx).

2007-08-20 Stephane Letz  <letz@grame.fr>

	* Automatic server launch. Removes unneeded 'volatile' for JackTransportEngine::fWriteCounter.

2007-08-19 Stephane Letz  <letz@grame.fr>

	* Add "systemic" latencies management in CoreAudio driver.

2007-08-16 Stephane Letz  <letz@grame.fr>

	* Automatic client renaming.

2007-07-27 Stephane Letz  <letz@grame.fr>

	* Correct JackEngine::ClientCloseAux (when called from JackEngine::ClientExternalOpen). Correct JackWinEvent::Allocate.

2007-07-20 Stephane Letz  <letz@grame.fr>

	* Correct notification for kActivateClient event.

2007-06-11 Stephane Letz  <letz@grame.fr>

	* Dmitry Baikov buffer size patch.

2007-06-10 Stephane Letz  <letz@grame.fr>

	* Correct deprecated jack_set_sample_rate_callback to return 0 instead of -1.

2007-06-09 Stephane Letz  <letz@grame.fr>

	* Checking in the server to avoid calling the clients if no callback are registered.

2007-06-08 Stephane Letz  <letz@grame.fr>

	* New JackNotication.h header in preparation for callback checking in the server.

2007-05-29 Stephane Letz  <letz@grame.fr>

	* Add "callback exiting" and "jack_frame_time" tests in jack_test.

2007-05-09 Stephane Letz  <letz@grame.fr>

	* Add a mutex in JackGraphManager AllocatePort/ReleasePort methods.

2007-05-05 Stephane Letz  <letz@grame.fr>

	* Add jack_set_client_registration_callback API.

2007-05-04 Stephane Letz  <letz@grame.fr>

	* Steven Chamberlain patch to fix jack_port_type. Test for jack_port_type behaviour in jack_test.cpp tool.

2007-05-03 Stephane Letz  <letz@grame.fr>

	* Steven Chamberlain patch to fix jack_port_by_id export.

2007-04-28 Stephane Letz  <letz@grame.fr>

	* Add new jack_port_set_alias, jack_port_unset_alias and jack_port_get_aliases API.

2007-04-27 Stephane Letz  <letz@grame.fr>

	* Add missing -D__SMP__in OSX project.

2007-04-23 Stephane Letz  <letz@grame.fr>

	* Dmitry Baikov jackmp-time patch: add jack_get_time, jack_time_to_frames, jack_frames_to_time.

2007-04-03 Stephane Letz  <letz@grame.fr>

	* Dmitry Baikov remove-nframes patch.

2007-04-02 Stephane Letz  <letz@grame.fr>

	* Dmitry Baikov lost-event patch.

2007-04-01 Stephane Letz  <letz@grame.fr>

	* Merge JackGraphManager Remove and Release method in a unique Release method.

2007-03-12 Stephane Letz  <letz@grame.fr>
 
	* Bug fix in JackMidiBuffer::MaxEventSize().

2007-03-09 Stephane Letz  <letz@grame.fr>
 
	* Dmitry Baikov MIDI patch phase 2.

2007-03-08 Stephane Letz  <letz@grame.fr>
 
	* Dmitry Baikov jackmp-port-clear patch.

2007-03-06 Stephane Letz  <letz@grame.fr>

	* Dmitry Baikov MIDI patch phase 1.

2007-03-04 Stephane Letz  <letz@grame.fr>

	* Dmitry Baikov patch for JackGraphManager.cpp.
	* Dmitry Baikov MIDI patch phase 0.

2007-02-19 Stephane Letz  <letz@grame.fr>
	
	* Correct back JackAlsaDriver::Read method. 

2007-02-14 Stephane Letz  <letz@grame.fr>
	
	* Better error checking in PortAudio driver.

2007-02-07 Stephane Letz  <letz@grame.fr>
	
	* Thom Johansen fix for port buffer alignment issues.

2007-02-05 Stephane Letz  <letz@grame.fr>
	
	* Add Pieter Palmers FreeBob driver.
	* Thibault LeMeur ALSA driver patch.

2007-01-31 Stephane Letz  <letz@grame.fr>

	* Use pthread_attr_setstacksize in JackPosixThread class.

2007-01-30 Stephane Letz  <letz@grame.fr>

	* New LockAllMemory and UnlockAllMemory functions.

2007-01-29 Stephane Letz  <letz@grame.fr>

	* More robust activation/deactivation code, especially in case of client crash.

2007-01-27 Stephane Letz  <letz@grame.fr>

	* Uses a time out value of 10 sec in freewheel mode (like jack).

2007-01-21 Stephane Letz  <letz@grame.fr>

	* More client debug code: check if the client is still valid in every JackDebugClient method, check if the library context is still valid in every API call.

2007-01-14 Stephane Letz  <letz@grame.fr>

	* Implement thread.h API.

2007-01-09 Stephane Letz  <letz@grame.fr>

	* New server/client data transfer model to fix a 64 bits system bug. Fix a device name reversal bug in ALSA driver.

2007-01-04 Stephane Letz  <letz@grame.fr>

	*  Add call to the init callback (set up using the jack_set_thread_init_callback API) in Real-Time and Notification threads. Define a new 'kActivateClient' notification. 

2007-01-02 Stephane Letz  <letz@grame.fr>

	* Internal cleanup.

2006-12-23 Stephane Letz  <letz@grame.fr>

	* shared_ports renamed to shared_graph.

2006-12-15 Stephane Letz  <letz@grame.fr>

	* Move client refnum management in JackEngine.

2006-12-12 Stephane Letz  <letz@grame.fr>

	* Tom Szilagyi memory leak fix in ringbuffer.c.

2006-11-29 Stephane Letz  <letz@grame.fr>

	* Correct JackWinEnvent::Allocate (handle the ERROR_ALREADY_EXISTS case). Correct JackEngine::ClientExternalNew.
	* Karsten Wiese correction for ALSA usx2y driver.

2006-11-22 Stephane Letz  <letz@grame.fr>

	* In synchronous mode, if the driver time out is reached, the server may get desynchronized (pending signal may arrive in later cycles), 
	improve audio driver synchronous code to better handle this case.
	 
2006-11-08 Stephane Letz  <letz@grame.fr>

	* Synchronize ALSA backend with jack one.

2006-11-04 Stephane Letz  <letz@grame.fr>

	* Use -D to setup ADDON_DIR on OSX and Linux.

2006-10-11 Stephane Letz  <letz@grame.fr>

	* Correct server SetBufferSize in case of failure. Correct PortAudio driver help.

2006-10-06 Stephane Letz  <letz@grame.fr>

	* Add a new cpu testing/loading client.

2006-09-23  Stephane Letz  <letz@grame.fr>

	* Rename global "verbose" in "jack_verbose" to avoid symbol clash with PureData.

2006-09-20  Stephane Letz  <letz@grame.fr>

	* On Windows, avoid to use the unsafe Kill thread method. Use thread Stop instead and have blocked IO be unlocked. 
	* Still get RT thread termination problems, restore a version that works on OSX and Linux with conditionnal compilation for now.

2006-09-16  Stephane Letz  <letz@grame.fr>

	* Restore behaviour of LoopBack driver, which has to be opened in any case...

2006-09-15  Stephane Letz  <letz@grame.fr>

	* On Windows version, use signal to quit the server.

2006-09-13  Stephane Letz  <letz@grame.fr>

	* Correct pipe destruction bug in JackWinNamedPipe class.

2006-09-11  Stephane Letz  <letz@grame.fr>

	* Handling of LoopBack driver only when really needed.
	* Correct crash bug when closing clients on Windows due to multi-threading synchronization issues.

2006-09-06  Stephane Letz  <letz@grame.fr>

	* Correct coreaudio driver (input was not working since 0.55 version).
	* Version for 0.58 release.

2006-09-04  Stephane Letz  <letz@grame.fr>

	* Correct Windows VC++ projects.

2006-09-03  Stephane Letz  <letz@grame.fr>

	* First import of version 0.58 base code
