summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Runge <dave@sleepmap.de>2019-01-23 21:43:14 +0100
committerFilipe Coelho <falktx@falktx.com>2019-01-23 22:12:33 +0100
commitc103a9a5ac905d453779edf134bcb58f9c888e9d (patch)
treeb3912f4944c00a4254e4b462e1cf6602acab64c5
parente2fa8c2f6ea76e3d2273ee61125ce2cc58bbb424 (diff)
downloadjack2-c103a9a5ac905d453779edf134bcb58f9c888e9d.tar.gz
{README,ChangeLog,TODO}: Removing obsolete files.
-rw-r--r--ChangeLog2156
-rw-r--r--README250
-rw-r--r--TODO60
3 files changed, 0 insertions, 2466 deletions
diff --git a/ChangeLog b/ChangeLog
deleted file mode 100644
index e1048c10..00000000
--- a/ChangeLog
+++ /dev/null
@@ -1,2156 +0,0 @@
----------------------------
- Contributors
----------------------------
-
-Dmitry Baikov
-Gabriel M. Beddingfield
-Steven Chamberlain
-Thom Johansen
-Thibault LeMeur
-Tom Szilagyi
-Andrzej Szombierski
-Kjetil S.Matheussen
-Pieter Palmers
-Tim Blechmann
-Marc-Olivier Barre
-Nedko Arnaudov
-Fernando Lopez-Lezcano
-Romain Moret
-Florian Faber
-Michael Voigt
-Torben Hohn
-Paul Davis
-Peter L Jones
-Devin Anderson
-Josh Green
-Mario Lang
-Arnold Krille
-Jan Engelhardt
-Adrian Knoth
-David Garcia Garzon
-Valerio Pilo
-Chris Caudle
-John Emmas
-Robin Gareus
-Matt Flax
-Lars-Peter Clausen
-Alexandru Tofan
-Kim Jeong Yeon
-Filipe Coelho
-
----------------------------
- Jackdmp changes log
----------------------------
-
-2017-12-13 Filipe Coelho <falktx@falktx.com>
-
- * Version 1.9.12
- * Fix Windows build issues.
- * Fix build with gcc-7.
- * Show hint when DBus device reservation fails.
- * Add support for internal session files.
-
-2017-06-13 Filipe Coelho <falktx@falktx.com>
-
- * Version 1.9.11-RC1
-
-2015-07-19 Filipe Coelho <falktx@falktx.com>
-
- * Implement new jack_port_rename API
-
-2014-07-20 Stephane Letz <letz@grame.fr>
-
- * Version 1.9.11 started.
-
-2012-12-10 Stephane Letz <letz@grame.fr>
-
- * Version 1.9.10 started.
-
-2012-11-21 Stephane Letz <letz@grame.fr>
-
- * Correct JackPortAudioDriver::Open : special case for ASIO drivers.
-
-2012-10-20 Stephane Letz <letz@grame.fr>
-
- * Correct JackEngine::NotifyGraphReorder : graph-order callback now notified after port latencies update.
-
-2012-09-22 Robin Gareus <robin@gareus.org>
-
- * netjack/opus: don't re-init en/decoders.
-
-2012-09-18 Nedko Arnaudov <nedko@arnaudov.name>
-
- * Use string ids in the alsa device list.
-
-2012-09-10 Nedko Arnaudov <nedko@arnaudov.name>
-
- * controlapi: fix double free on master switch.
-
-2012-09-10 Robin Gareus <robin@gareus.org>
-
- * netjack1/netone opus support.
- * netjack1/2 Opus: use only 2bytes for encoded-length.
- * wscript: add header defines and libs for example-clients/netsource.
- * fix duplicate prog.includes.
-
-2012-09-05 Stephane Letz <letz@grame.fr>
-
- * More robust channel mapping handling in JackCoreAudioDriver.
-
-2012-09-05 Robin Gareus <robin@gareus.org>
-
- * Add opus support to NetJack2.
-
-2012-08-21 Nedko Arnaudov <nedko@arnaudov.name>
-
- * jack_control: fix epr command.
-
-2012-08-21 Stephane Letz <letz@grame.fr>
-
- * Update JackCoreAudioDriver and JackCoreAudioAdapter with more recent API.
-
-2012-08-03 Stephane Letz <letz@grame.fr>
-
- * Change framework installation hierarchy for OSX Mountain Lion.
-
-2012-08-02 Stephane Letz <letz@grame.fr>
-
- * Devin Anderson patch for Jack/CoreMIDI duplicated messages.
-
-2012-07-24 Stephane Letz <letz@grame.fr>
-
- * Fix in ALSA adapter.
-
-2012-05-26 Nedko Arnaudov <nedko@arnaudov.name>
-
- * Fix alsa driver parameter order.
- * Control API: Enforce driver/internal parameter order.
-
-2012-05-24 Nedko Arnaudov <nedko@arnaudov.name>
-
- * Extend jack_control to have parameter reset commands.
-
-2012-03-24 Adrian Knoth <adi@drcomp.erfurt.thur.de>
-
- * Align buffers to 32 byte boundaries to allow AVX processing.
-
-2012-03-21 Stephane Letz <letz@grame.fr>
-
- * New jack_get_cycle_times() implementation from Fons Adriennsen.
-
-2012-03-17 Nedko Arnaudov <nedko@arnaudov.name>
-
- * Update waf.
-
-2012-03-17 Adrian Knoth <adi@drcomp.erfurt.thur.de>
-
- * [firewire] Introduce UpdateLatencies() in FFADO backend.
- * [firewire] Allow FFADO backend to change the buffer size.
-
-2012-03-16 Stephane Letz <letz@grame.fr>
-
- * Rework JackMessageBuffer.
-
-2012-03-15 Stephane Letz <letz@grame.fr>
-
- * POST_PACKED_STRUCTURE used for jack_latency_range_t type.
-
-2012-03-09 Stephane Letz <letz@grame.fr>
-
- * Remove JACK_32_64 flag, so POST_PACKED_STRUCTURE now always used.
-
-2012-02-10 Stephane Letz <letz@grame.fr>
-
- * Improve libjacknet master mode.
-
-2012-02-09 Stephane Letz <letz@grame.fr>
-
- * In control API, UNIX like sigset_t replaced by more abstract jackctl_sigmask_t * opaque struct.
-
-2012-02-01 Stephane Letz <letz@grame.fr>
-
- * Check server API callback from notification thread.
- * Use a time-out in notification channel write function.
- * Fix lock management in JackEngine.
-
-2012-01-29 Stephane Letz <letz@grame.fr>
-
- * A bit more robust JackMessageBuffer implementation (in progress).
-
-2012-01-27 Stephane Letz <letz@grame.fr>
-
- * Rename JackProcessSync in JackPosixProcessSync.
-
-2012-01-26 Stephane Letz <letz@grame.fr>
-
- * Add EndTime function (especially for Windows).
-
-2012-01-25 Stephane Letz <letz@grame.fr>
-
- * Fix NetJack2 initialisation bug.
-
-2012-01-24 Stephane Letz <letz@grame.fr>
-
- * Improve ShutDown in NetManager.
- * Correct ShutDown in JackInternalClient and JackLibClient.
-
-2012-01-20 Stephane Letz <letz@grame.fr>
-
- * Experimental system port alias use in Windows JackRouter.
-
-2012-01-19 Stephane Letz <letz@grame.fr>
-
- * Implement shutdown for in server clients.
- * Better time-out management in NetJack2.
-
-2012-01-13 Stephane Letz <letz@grame.fr>
-
- * More robust server/client protocol.
-
-2012-01-11 Stephane Letz <letz@grame.fr>
-
- * Factorize code the server/client request in JackRequestDecoder class.
-
-2012-01-06 Stephane Letz <letz@grame.fr>
-
- * Cleanup drivers and internals loading code.
- * jackctl_driver_params_parse API moved in public control.h.
- * More general drivers/internals loading model on Windows.
-
-2012-01-06 Stephane Letz <letz@grame.fr>
-
- * Fix for compilation on Solaris.
-
-2012-01-04 Stephane Letz <letz@grame.fr>
-
- * Fix library symbols export issue.
-
-2012-01-02 Stephane Letz <letz@grame.fr>
-
- * Adrian Knoth fix in midiseq.c.
-
-2011-12-20 Stephane Letz <letz@grame.fr>
-
- * Version 1.9.9 started.
-
-2011-11-25 Stephane Letz <letz@grame.fr>
-
- * More robust dynamic port management in JACK/CoreMidi bridge.
- * Correct jack_port_name_size API.
-
-2011-11-24 Stephane Letz <letz@grame.fr>
-
- * Dynamic port management in JACK/CoreMidi bridge.
- * Correct jack_client_create_thread (when realtime in on).
-
-2011-11-21 Stephane Letz <letz@grame.fr>
-
- * John Emmas third auto-launch server on Windows patch.
-
-2011-11-07 Stephane Letz <letz@grame.fr>
-
- * John Emmas first auto-launch server on Windows patch.
- * John Emmas second auto-launch server on Windows patch.
-
-2011-11-06 Stephane Letz <letz@grame.fr>
-
- * Enable local access in NetJack2 code.
-
-2011-11-04 Stephane Letz <letz@grame.fr>
-
- * Fix jack_set_port_name API.
-
-2011-11-03 Stephane Letz <letz@grame.fr>
-
- * Add missing jack_client_get_uuid API.
- * John Emmas Windows server launching patch (1).
-
-2011-10-28 Stephane Letz <letz@grame.fr>
-
- * John Emmas POST_PACKED_STRUCTURE patch.
-
-2011-10-27 Stephane Letz <letz@grame.fr>
-
- * Gabriel Beddingfield patch (r4541) reverted.
-
-2011-10-10 Stephane Letz <letz@grame.fr>
-
- * John Emmas patch for DSP CPU computation.
-
-2011-09-27 Stephane Letz <letz@grame.fr>
-
- * Gabriel Beddingfield patch for ALSA driver: error when source is non-native byte-order float.
-
-2011-08-31 Stephane Letz <letz@grame.fr>
-
- * Correct Start/Stop for Control API.
-
-2011-08-30 Stephane Letz <letz@grame.fr>
-
- * Check driver type in jackdmp.cpp.
-
-2011-08-28 Stephane Letz <letz@grame.fr>
-
- * Correct JackBasePosixMutex::Trylock.
- * Correct JackMessageBuffer::Execute.
-
-2011-08-26 Stephane Letz <letz@grame.fr>
-
- * More robust code in synchronization primitives and in JackMessageBuffer.
- * Non blocking notifications in JackEngine::NotifyAddClient and JackEngine::NotifyRemoveClient.
- * More robust Control API implementation.
- * Add jackctl_driver_get_type in Control API.
- * Singleton behaviour for JackCoreMidiDriver and JackWinMMEDriver.
-
-2011-07-29 Stephane Letz <letz@grame.fr>
-
- * New JackTimedDriver class to be used by JackDummyDriver, JackNetDriver and JackNetOneDriver classes.
-
-2011-07-28 Stephane Letz <letz@grame.fr>
-
- * Enable explicit channel mapping in CoreAudio driver.
-
-2011-07-25 Stephane Letz <letz@grame.fr>
-
- * NetJack2: no more timeout, correct JackWaitThreadedDriver::Execute.
-
-2011-07-25 Stephane Letz <letz@grame.fr>
-
- * NetJack2: improve latency management, cleanup.
-
-2011-07-23 Stephane Letz <letz@grame.fr>
-
- * Possible fix for http://trac.jackaudio.org/ticket/193.
-
-2011-07-22 Stephane Letz <letz@grame.fr>
-
- * NetJack2: improve error reporting.
-
-2011-07-16 Stephane Letz <letz@grame.fr>
-
- * Error in JackActivationCount::Signal now uses jack_log instead of jack_error.
- * EXPORT macro renamed to LIB_EXPORT.
-
-2011-07-12 Stephane Letz <letz@grame.fr>
-
- * NetJack2 now only send data on network only is ports are connected both sides.
-
-2011-07-11 Stephane Letz <letz@grame.fr>
-
- * Add JACK_NETJACK_PORT and JACK_NETJACK_MULTICAST environment variables for NetJack2.
-
-2011-07-08 Stephane Letz <letz@grame.fr>
-
- * NetJack2 now only send data on network for connected ports.
-
-2011-07-03 Stephane Letz <letz@grame.fr>
-
- * More debug code in JackMMCSS class.
-
-2011-07-03 Stephane Letz <letz@grame.fr>
-
- * -l in JackCoreAudioDriver now display devices names and then quit.
-
-2011-07-01 Stephane Letz <letz@grame.fr>
-
- * Fix bugs in JackNetAdapter.
-
-2011-06-29 Stephane Letz <letz@grame.fr>
-
- * Special CATCH_CLOSE_EXCEPTION_RETURN to handle Close API calls.
-
-2011-06-28 Stephane Letz <letz@grame.fr>
-
- * Another round of code improvements to handle completely buggy Digidesign CoreAudio user-land driver.
-
-2011-06-20 Stephane Letz <letz@grame.fr>
-
- * Correct Dummy driver.
-
-2011-06-17 Stephane Letz <letz@grame.fr>
-
- * NetJack2: connection error handling.
-
-2011-06-16 Stephane Letz <letz@grame.fr>
-
- * Changes in NetJack2 connection management: no more timeout, any transmission error considered as fatal.
- * NetJack2: timeout again...
-
-2011-06-11 Stephane Letz <letz@grame.fr>
-
- * Special version of jack_attach_shm/jack_release_shm on client side for POSIX shared memory, to solve a memory leak issue.
-
-2011-06-10 Stephane Letz <letz@grame.fr>
-
- * SaveConnections/RestoreConnections in NetDriver.
- * SaveConnections/RestoreConnections moved in JackAudioDriver.
-
-2011-06-09 Stephane Letz <letz@grame.fr>
-
- * Correct NetJack2 connection handling.
-
-2011-05-27 Stephane Letz <letz@grame.fr>
-
- * Correct rd_acquire in dbus code.
-
-2011-05-16 Stephane Letz <letz@grame.fr>
-
- * Correct OSX real-time thread setup.
-
-2011-05-11 Stephane Letz <letz@grame.fr>
-
- * Correct MIDI in NetJack2.
-
-2011-05-05 Stephane Letz <letz@grame.fr>
-
- * Libjacknet in progress.
-
-2011-05-02 Stephane Letz <letz@grame.fr>
-
- * Merge branch switch-master-port-registration-notifications: correct driver port registration.
-
-2011-04-21 Stephane Letz <letz@grame.fr>
-
- * CELT code for NetJack2.
-
-2011-04-20 Stephane Letz <letz@grame.fr>
-
- * Add XRun detection in PortAudio driver.
-
-2011-04-18 Stephane Letz <letz@grame.fr>
-
- * JackWeakAPI.cpp renamed in JackWeakAPI.c.
-
-2011-04-04 Stephane Letz <letz@grame.fr>
-
- * Correct driver lifetime management.
-
-2011-04-03 Stephane Letz <letz@grame.fr>
-
- * Fix in JackCoreAudioDriver::Read when there is no inputs.
-
-2011-04-02 Stephane Letz <letz@grame.fr>
-
- * NetDriver can now ask for in/out values from the master (in progress).
- * Correct drivers parameter settings.
-
-2011-04-01 Stephane Letz <letz@grame.fr>
-
- * Merge newer-midi branch (Devin Anderson redesign of the MIDI drivers: alsarawmidi, ffado, coremidi and winmme).
- * Cleanup JackThreadedDriver::Stop.
- * Correct JackNetOneDriver::Close.
- * Correction in jackdmp.cpp: notify_server_stop should be done after server destruction.
- * Improve error management in JackNetDriver.
-
-2011-03-30 Stephane Letz <letz@grame.fr>
-
- * Version 1.9.8 started.
-
-2011-03-29 Stephane Letz <letz@grame.fr>
-
- * Synchronize JackWeakAPI.cpp with new APIs.
-
-2011-03-28 Stephane Letz <letz@grame.fr>
-
- * Correction of jack_connect/jack_disconnect: use of jack_activate and volatile keyword for thread shared variable.
- * Correction of JackNetOneDriver for latest CELT API.
-
-2011-03-24 Stephane Letz <letz@grame.fr>
-
- * Implement renaming in JackDriver::Open to avoid name collision (thanks Devin Anderson).
- * Correct alsa_driver_restart (thanks Devin Anderson).
-
-2011-03-23 Stephane Letz <letz@grame.fr>
-
- * Devin Anderson server-ctl-proposal branch merged on trunk: improved control API, slave backend reworked.
-
-2011-03-14 Stephane Letz <letz@grame.fr>
-
- * Correct JackEngine::NotifyGraphReorder, update JackDebugClient with latest API.
-
-2011-03-13 Stephane Letz <letz@grame.fr>
-
- * Rework internal slave driver management, JackServerGlobals now handle same parameters as jackdmp.
-
-2011-03-11 Stephane Letz <letz@grame.fr>
-
- * Correct JackNetMaster::SetBufferSize.
- * Use jack_default_audio_sample_t instead of float consistently, fix ticket #201."
- * -X now allows to add several slave backends, add -I to load several internal clients.
-
-2011-03-10 Stephane Letz <letz@grame.fr>
-
- * Latency callback must always be activated.
- * Correct TopologicalSort.
- * Add jack_midi_dump client.
- * Synchronize netjack1 with JACK1 version.
- * Synchronize jack_connect/jack_disconnect with JACK1 version.
-
-2011-03-09 Stephane Letz <letz@grame.fr>
-
- * jack_client_has_session_callback implementation.
- * Fix jdelay for new latency API.
- * Check requested buffer size and limit to 1..8192 - avoids weird behaviour caused by jack_bufsize foobar.
- * jack_port_type_get_buffer_size implementation.
- * Stop using alloca and allocate buffer on the heap for alsa_io.
- * Rename jdelay to jack_iodelay as per Fons' request.
- * Call buffer size callback in activate (actually this is done on client side in the RT thread Init method).
- * JackEngine::ComputeTotalLatencies in progress.
-
-2011-03-08 Stephane Letz <letz@grame.fr>
-
- * Use of latency range in all backends.
- * ComputeTotalLatencies now a client/server call.
- * Add latent test client for latency API.
- * Also print playback and capture latency in jack_lsp.
-
-2011-03-04 Stephane Letz <letz@grame.fr>
-
- * Revert r4119 (RT notification in the server). JackAudioDriver::ProcessSync now skip backend write in case of graph process failure.
- * Fix incorrect error codes in alsa/usx2y.c and alsa/JackAlsaDriver.cpp.
- * Synchronize public headers with JACK1. Update OSX project.
- * New latency API implementation (in progress).
-
-2011-02-09 Stephane Letz <letz@grame.fr>
-
- * Remove JackPortIsActive flag.
-
-2011-02-07 Stephane Letz <letz@grame.fr>
-
- * Valerio Pilo second CAS for ARMv7 patch.
-
-2011-02-03 Stephane Letz <letz@grame.fr>
-
- * Valerio Pilo CAS for ARMv7 patch.
-
-2011-01-11 Stephane Letz <letz@grame.fr>
-
- * Adrian Knoth jack_lsp patch.
-
-2010-11-17 Stephane Letz <letz@grame.fr>
-
- * ALSA backend: suspend/resume handling (jack1 r4075).
- * Correct dummy driver.
-
-2010-11-05 Stephane Letz <letz@grame.fr>
-
- * In jackdmp.cpp, jackctl_setup_signals moved before jackctl_server_start.
- * Correct symbols export in backends on OSX.
-
-2010-11-03 Stephane Letz <letz@grame.fr>
-
- * Improve backend error handling: fatal error returned by Read/Write now cause a Process failure (so a thread exit for blocking backends). Recoverable ones (XRuns..) are now treated internally in ALSA, FreeBob and FFADO backends.
-
-2010-10-30 Stephane Letz <letz@grame.fr>
-
- * Correct JackServer::Open to avoid a race when control API is used on OSX.
-
-2010-10-29 Stephane Letz <letz@grame.fr>
-
- * Correct lsp.c code.
- * Add note about unique port-name requirement.
-
-2010-09-08 Stephane Letz <letz@grame.fr>
-
- * Sync JackAlsaDriver::alsa_driver_check_card_type with JACK1 backend.
-
-2010-08-30 Stephane Letz <letz@grame.fr>
-
- * Version 1.9.7 started.
-
-2010-08-25 Stephane Letz <letz@grame.fr>
-
- * In JackCoreAudioDriver, fix an issue when no value is given for input.
-
-2010-08-23 Stephane Letz <letz@grame.fr>
-
- * Adrian Knoth fix for linux cycle.h (ticket 188).
-
-2010-07-07 Stephane Letz <letz@grame.fr>
-
- * Jan Engelhardt patch for get_cycles on SPARC.
- * Adrian Knoth hurd.patch, kfreebsd-fix.patch and alpha_ia64-sigsegv.patch from ticket 177.
-
-2010-06-29 Stephane Letz <letz@grame.fr>
-
- * Arnold Krille firewire snooping patch.
-
-2010-06-16 Stephane Letz <letz@grame.fr>
-
- * David Garcia Garzon unused_pkt_buf_field_jack2 netone patch.
-
-2010-06-13 Stephane Letz <letz@grame.fr>
-
- * Fix JackPosixSemaphore::TimedWait: same behavior as JackPosixSemaphore::Wait regarding EINTR.
-
-2010-05-31 Stephane Letz <letz@grame.fr>
-
- * Fix from Fernando Lopez-Lezcano for compilation on fc13.
-
-2010-05-30 Stephane Letz <letz@grame.fr>
-
- * David Garcia Garzon netone patch.
-
-2010-05-27 Stephane Letz <letz@grame.fr>
-
- * In JackCoreAudioDriver, move code called in MeasureCallback to be called once in IO thread.
-
-2010-05-07 Stephane Letz <letz@grame.fr>
-
- * Add tests to validate intclient.h API.
- * On Linux, inter-process synchronization primitive switched to POSIX semaphore.
-
-2010-04-16 Stephane Letz <letz@grame.fr>
-
- * Make jack_connect/jack_disconnect wait for effective port connection/disconnection.
-
-2010-04-07 Stephane Letz <letz@grame.fr>
-
- * Remove call to exit in library code.
-
-2010-03-26 Stephane Letz <letz@grame.fr>
-
- * ffado-portname-sync.patch from ticket #163 applied.
-
-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.
-
-2010-02-15 Stephane Letz <letz@grame.fr>
-
- * 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.
-
-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.
-
-2009-12-13 Stephane Letz <letz@grame.fr>
-
- * 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'.
-
-2009-12-09 Stephane Letz <letz@grame.fr>
-
- * 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.
-
-2009-12-03 Stephane Letz <letz@grame.fr>
-
- * 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.
-
-2009-12-01 Stephane Letz <letz@grame.fr>
-
- * 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).
-
-2009-11-29 Stephane Letz <letz@grame.fr>
-
- * More robust sample rate change handling code in JackCoreAudioDriver.
-
-2009-11-24 Stephane Letz <letz@grame.fr>
-
- * Dynamic choice of maximum port number.
-
-2009-11-23 Stephane Letz <letz@grame.fr>
-
- * 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.
-
-2009-11-18 Stephane Letz <letz@grame.fr>
-
- * 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).
-
-2009-11-16 Stephane Letz <letz@grame.fr>
-
- * 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.
-
-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...).
-
-2009-11-12 Stephane Letz <letz@grame.fr>
-
- * 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.
-
-2009-11-10 Stephane Letz <letz@grame.fr>
-
- * 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.
-
-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.
-
-2009-11-06 Stephane Letz <letz@grame.fr>
-
- * 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.
-
-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.
-
-2009-10-29 Stephane Letz <letz@grame.fr>
-
- * 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.
-
-2009-10-27 Stephane Letz <letz@grame.fr>
-
- * 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.
-
-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.
-
-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.
-
-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.
-
-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 changed)
-
-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.
-
-2009-10-15 Stephane Letz <letz@grame.fr>
-
- * 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.
-
-2009-09-15 Stephane Letz <letz@grame.fr>
-
- * 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>
-
- * Correct monitor port naming in JackAudioDriver and JackCoreAudioDriver.
- * Big endian bug fix in memops.c (http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=5;filename=11_be24bit.patch;att=1;bug=486308)
-
-2009-07-31 Stephane Letz <letz@grame.fr>
-
- * Use SNDCTL_DSP_SYNCGROUP/SNDCTL_DSP_SYNCSTART API to synchronize input and output in Solaris boomer backend.
-
-2009-07-29 Stephane Letz <letz@grame.fr>
-
- * Add a -G parameter in CoreAudio backend (the computation value in RT thread expressed as percent of period).
-
-2009-07-28 Stephane Letz <letz@grame.fr>
-
- * Fix CopyAndConvertIn for Solaris backends.
-
-2009-07-22 Stephane Letz <letz@grame.fr>
-
- * Version 1.9.4 started.
- * Solaris boomer backend now working in capture or playback only mode.
- * Fix control.h for proper compilation on Solaris.
-
-2009-07-17 Stephane Letz <letz@grame.fr>
-
- * Loopback backend reborn as a dynamically loadable separated backend.
- * -L parameter for loopback backend activated again in jackd.
-
-2009-07-17 Stephane Letz <letz@grame.fr>
-
- * Big rewrite of Solaris boomer driver, seems to work in duplex mode at least.
-
-2009-07-16 Stephane Letz <letz@grame.fr>
-
- * In combined --dbus and --classic compilation code, use PulseAudio acquire/release code.
-
-2009-07-15 Stephane Letz <letz@grame.fr>
-
- * Rename JackDriver::Init method to JackDriver::Initialize (to avoid confusion with JackThread::Init method).
- * Update Solaris boomer driver.
- * Report some cleanup and documentation improvements done on JACK1 timing functions.
-
-2009-07-11 Stephane Letz <letz@grame.fr>
-
- * Raise drivers time out used in synchronous mode.
-
-2009-07-09 Stephane Letz <letz@grame.fr>
-
- * Use __attribute__((__packed__)) again, more fixes for 64/32 mixed mode.
- * Torben Hohn changes for 64/32 mixed mode in wscripts.
- * Add compile time option for maximum ports per application.
-
-2009-07-07 Stephane Letz <letz@grame.fr>
-
- * Use __attribute__((__aligned__(32))) instead of __attribute__((__packed__)) for 64/32 mixed mode.
-
-2009-07-03 Stephane Letz <letz@grame.fr>
-
- * Another Tim Bechmann memops.c optimization patch.
-
-2009-07-01 Stephane Letz <letz@grame.fr>
-
- * Tim Bechmann memops.c optimization patch.
-
-2009-06-30 Stephane Letz <letz@grame.fr>
-
- * Tim Bechmann patch: hammerfall, only release monitor thread, if it has been created.
-
-2009-06-19 Stephane Letz <letz@grame.fr>
-
- * Correct JackTransportEngine::MakeAllLocating, sync callback has to be called in this case also.
- * NetJack2 code: better error checkout, method renaming.
-
-2009-06-17 Stephane Letz <letz@grame.fr>
-
- * Move DBus based audio device reservation code in ALSA backend compilation.
-
-2009-06-16 Stephane Letz <letz@grame.fr>
-
- * Correct JackFifo::TimedWait for EINTR handling.
-
-2009-06-05 Stephane Letz <letz@grame.fr>
-
- * Correct jack_set_error_function, jack_set_info_function and jack_set_thread_creator functions.
-
-2009-05-18 Stephane Letz <letz@grame.fr>
-
- * Correct wcsript files to create jackdbus only (and not create jackd anymore) when compiled in --dbus mode, add a --classic option. Both options are possible but issue a warning.
-
-2009-05-15 Stephane Letz <letz@grame.fr>
-
- * Move InitFrameTime in JackDriver::Start method.
-
-2009-05-13 Stephane Letz <letz@grame.fr>
-
- * Reworked Torben Hohn fix for server restart issue on Windows.
-
-2009-05-11 Stephane Letz <letz@grame.fr>
-
- * New jack_free function added in jack.h.
- * Torben Hohn fix for InitTime and GetMicroSeconds in JackWinTime.c.
-
-2009-05-07 Stephane Letz <letz@grame.fr>
-
- * Cleanup "loopback" stuff in server.
-
-2009-05-06 Stephane Letz <letz@grame.fr>
-
- * Fix transport callback (timebase master, sync) issue when used after jack_activate (RT thread was not running).
- * D-Bus access for jackctl_server_add_slave/jackctl_server_remove_slave API.
-
-2009-05-05 Stephane Letz <letz@grame.fr>
-
- * First working version of native MIDI backend (JackCoreMidiDriver, JackWinMMEDriver).
-
-2009-04-22 Stephane Letz <letz@grame.fr>
-
- * jackctl_server_load_master renamed to jackctl_server_switch_master, jackctl_server_unload_master is removed.
-
-2009-04-21 Stephane Letz <letz@grame.fr>
-
- * Add jackctl_server_load_master/jackctl_server_unload_master API.
-
-2009-04-20 Stephane Letz <letz@grame.fr>
-
- * In ALSA audio card reservation code, tries to open the card even if reservation fails.
- * Clock source setting on Linux.
-
-2009-04-08 Stephane Letz <letz@grame.fr>
-
- * Native MIDI backend (JackCoreMidiDriver, JackWinMMEDriver) in progress.
-
-2009-04-03 Stephane Letz <letz@grame.fr>
-
- * Simplify JackClient RT code, jack_thread_wait API marked deprecated."
-
-2009-03-29 Stephane Letz <letz@grame.fr>
-
- * Cleanup JackInternalClient code.
-
-2009-03-27 Stephane Letz <letz@grame.fr>
-
- * Add a buffer size callback for netmaster that just remove the client (it will be recreated with the new parameters).
-
-2009-03-26 Stephane Letz <letz@grame.fr>
-
- * First working JackBoomerDriver two threads version.
-
-2009-03-24 Stephane Letz <letz@grame.fr>
-
- * New JackBoomerDriver class for Boomer driver on Solaris.
- * Add mixed 32/64 bits mode (off by default).
-
-2009-03-23 Stephane Letz <letz@grame.fr>
-
- * Version 1.9.3 started.
-
-2009-03-19 Stephane Letz <letz@grame.fr>
-
- * Tim Blechmann optimization patch (inlining some heavy used methods).
-
-2009-03-12 Stephane Letz <letz@grame.fr>
-
- * Virtualize and allow overriding of thread creation function, to allow Wine support (from JACK1).
-
-2009-03-12 Stephane Letz <letz@grame.fr>
-
- * Try automatic adaptative mode in adapters.
-
-2009-03-11 Stephane Letz <letz@grame.fr>
-
- * Client incorrect re-naming fixed: now done at socket level also.
-
-2009-03-10 Stephane Letz <letz@grame.fr>
-
- * Add -g (ring-buffer) parameter to netadapter.
- * Automatic adaptative ringbuffer size mode when -g = 0.
-
-2009-03-09 Stephane Letz <letz@grame.fr>
-
- * Use Torben Hohn PI controler code for adapters (in progress).
-
-2009-03-05 Stephane Letz <letz@grame.fr>
-
- * Support for BIG_ENDIAN machines in NetJack2 for transport data.
- * Add auto_connect parameter in netmanager and netadapter.
-
-2009-03-03 Stephane Letz <letz@grame.fr>
-
- * More robust profiling tools when clients come and go.
-
-2009-03-01 Stephane Letz <letz@grame.fr>
-
- * Raise default port number to 1024.
-
-2009-02-27 Stephane Letz <letz@grame.fr>
-
- * Improve generated gnuplot files for adapting code.
-
-2009-02-25 Stephane Letz <letz@grame.fr>
-
- * Major cleanup in adapter code.
-
-2009-02-25 Stephane Letz <letz@grame.fr>
-
- * Fix JackNetDriver::Close method.
- * For audio device reservation, add card_to_num function.
- * Fix buffer size and sample rate handling in JackAlsaAdapter.
- * Add control for adapter ringbuffer size.
- * Fix JackAlsaAdapter.h for 64 bits compilation.
-
-2009-02-23 Stephane Letz <letz@grame.fr>
-
- * Another fix in systemdeps.h and types.h: jack_time_t now uniquely defined in types.h.
- * Move generic code and data in JackNetInterface and JackNetMasterInterface classes.
- * First version of D-Bus based audio device reservation.
-
-2009-02-20 Stephane Letz <letz@grame.fr>
-
- * Add InitConnection and InitRendering methods in JackNetSlaveInterface, better packet type checking in JackNetSlaveInterface::SyncRecv.
- * Change fMulticastIP handling in JackNetInterface.
- * Cleanup systemdeps.h on Windows.
-
-2009-02-17 Stephane Letz <letz@grame.fr>
-
- * Fix the mutex/signal classes on Windows.
- * Client incorrect re-naming fixed: now done at fifo level only.
-
-2009-02-16 Stephane Letz <letz@grame.fr>
-
- * Rework the mutex/signal classes. Use them in JackMessageBuffer.
-
-2009-02-11 Stephane Letz <letz@grame.fr>
-
- * Merge Solaris branch back on trunk.
- * Equality of input and output buffer size removed (for now) in JackOSSDriver.
-
-2009-02-10 Stephane Letz <letz@grame.fr>
-
- * Add a resample quality parameter in netadapter.
-
-2009-02-09 Stephane Letz <letz@grame.fr>
-
- * Use PRIu32 kind of macro in JackAlsaDriver again.
- * Now correctly return an error if JackServer::SetBufferSize could not change the buffer size (and was just restoring the current one).
-
-2009-02-05 Stephane Letz <letz@grame.fr>
-
- * Add a resample quality parameter in audioadapter.
-
-2009-02-01 Stephane Letz <letz@grame.fr>
-
- * Add a JACK_INTERNAL_DIR environment variable to be used for internal clients.
-
-2009-01-30 Stephane Letz <letz@grame.fr>
-
- * In NetJack2, fix a bug when capture or playback only channels are used.
-
-2009-01-29 Stephane Letz <letz@grame.fr>
-
- * Support for "-h" option in internal clients to print the parameters.
- * Support for BIG_ENDIAN machines in NetJack2 for MIDI ports.
-
-2009-01-28 Stephane Letz <letz@grame.fr>
-
- * Support for BIG_ENDIAN machines in NetJack2.
-
-2009-01-27 Stephane Letz <letz@grame.fr>
-
- * Better recovery of network overload situations, now "resynchronize" by skipping cycles."
-
-2009-01-26 Stephane Letz <letz@grame.fr>
-
- * Fix JackNetInterface::SetNetBufferSize for socket buffer size computation and JackNetMasterInterface::DataRecv if synch packet is received, various cleanup.
- * Fix in JackAlsaAdapter::Open.
- * Simplify audio packet order verification.
- * Set default mode to 'slow' in JackNetDriver and JackNetAdapter.
-
-2009-01-19 Stephane Letz <letz@grame.fr>
-
- * Synchronize ALSA backend code with JACK1 one.
-
-2009-01-17 Stephane Letz <letz@grame.fr>
-
- * JackMessageBuffer was using thread "Stop" scheme in destructor, now use the safer thread "Kill" way.
-
-2009-01-14 Stephane Letz <letz@grame.fr>
-
- * Cleanup server starting code for clients directly linked with libjackserver.so.
-
-2009-01-09 Stephane Letz <letz@grame.fr>
-
- * JackProfiler scan already running clients (so can now be added anytime in the graph).
-
-2009-01-09 Stephane Letz <letz@grame.fr>
-
- * New JackProfiler class for real-time server monitoring.
-
-2009-01-07 Stephane Letz <letz@grame.fr>
-
- * Use up to BUFFER_SIZE_MAX frames in midi ports, fix for ticket #117.
-
-2009-01-05 Stephane Letz <letz@grame.fr>
-
- * Synchronize jack2 public headers with JACK1 ones.
- * Implement jack_client_real_time_priority and jack_client_max_real_time_priority API.
-
-2008-12-18 Stephane Letz <letz@grame.fr>
-
- * For ALSA driver, synchronize with latest JACK1 memops functions.
- * Use memops functions in JackOSSDriver.
- * Use memops functions in JackOSSAdapter.
-
-2008-12-17 Stephane Letz <letz@grame.fr>
-
- * Use JACK_DRIVER_DIR variable in internal clients loader.
-
-2008-12-16 Stephane Letz <letz@grame.fr>
-
- * Fix JackOSSDriver::SetBufferSize (was crashing when restoring old size), fix ticket #111.
- * Force memory page in of profiling array in JackOSSDriver::Open.
- * Cleanup profiling code.
- * Client and library global context cleanup in case of incorrect shutdown handling (that is applications not correctly closing client after server has shutdown).
-
-2008-12-08 Stephane Letz <letz@grame.fr>
-
- * Forbid JackOSSDriver to run in "aynchronous" mode, correct DSP CPU computation.
-
-2008-12-04 Stephane Letz <letz@grame.fr>
-
- * More profiling in JackOSSDriver: sample conversion duration is measured.
-
-2008-12-02 Stephane Letz <letz@grame.fr>
-
- * Optimize JackOSSDriver: no samples conversion if ports are not connected.
-
-2008-12-01 Stephane Letz <letz@grame.fr>
-
- * Force preload of memory table in JackEngineProfiling.
-
-2008-11-27 Stephane Letz <letz@grame.fr>
-
- * Add timing profiling code in JackOSSDriver.
- * Report ringbuffer.c fixes from JACK1.
-
-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.
- * Correct ressource cleanup in case of driver open failure.
-
-2008-11-19 Stephane Letz <letz@grame.fr>
-
- * Libjack shutdown handler does not "deactivate" (fActive = false) the client anymore, so that jack_deactivate correctly does the job later on.
- * Filter SIGPIPE to avoid having client get a SIGPIPE when trying to access a died server.
-
-2008-11-14 Stephane Letz <letz@grame.fr>
-
- * Version 1.9.1 started, fix symbols export in ringbuffer.c, cleanup on Windows.
-
-2008-11-13 Stephane Letz <letz@grame.fr>
-
- * Fix jackctl_server_unload_internal.
-
-2008-10-30 Stephane Letz <letz@grame.fr>
-
- * Correct JackClient::ShutDown.
- * TimeOut management in JackNetUnixSocket on Solaris.
-
-2008-10-23 Stephane Letz <letz@grame.fr>
-
- * In JackOSSDriver, vmix mode is used by default, exclusif (O_EXCL) mode can be selected with -e option.
- * Fix a crash in JackEngine::Close when backend cannot be loaded.
- * Tim Blechmann optimization patch.
- * Backport of latest Paul alsa_seqmidi changes.
-
-2008-10-15 Stephane Letz <letz@grame.fr>
-
- * Fix a conflict with Audio Hijack in JackCoreAudioDriver.
-
-2008-10-09 Stephane Letz <letz@grame.fr>
-
- * Use a mutex to make jack_client_open/jack_client_close thread safe, remove use of jack_init/jack_uninit.
-
-2008-10-08 Stephane Letz <letz@grame.fr>
-
- * Fix a SMP related bug introduced in rev 2957: remove the __SMP__ flag and define LOCK for SMP in all cases.
-
-2008-10-02 Stephane Letz <letz@grame.fr>
-
- * Correct file permission for jack-shm-registry POSIX shared memory segment.
- * Checking for libsamplerate in waf, fix ticket #89."
- * Header cleanup, add --clients and --ports options in configure.
-
-2008-09-22 Stephane Letz <letz@grame.fr>
-
- * Socket time out implementation on Solaris.
- * Fix a conflict with Audio Hijack in JackCoreAudioDriver.
-
-2008-10-10 Stephane Letz <letz@grame.fr>
-
- * Improve OSS backend: SNDCTL_DSP_SETFRAGMENT must be done before, use of AFMT_S16_LE kind of values.
-
-2008-10-09 Stephane Letz <letz@grame.fr>
-
- * First version of OSS backend.
- * Use a mutex to make jack_client_open/jack_client_close thread safe, remove use of jack_init/jack_uninit.
-
-2008-10-08 Stephane Letz <letz@grame.fr>
-
- * Fix a SMP related bug introduced in rev 2957: remove the __SMP__ flag and define LOCK for SMP in all cases.
-
-2008-10-03 Stephane Letz <letz@grame.fr>
-
- * Add engine profiling tools.
-
-2008-10-02 Stephane Letz <letz@grame.fr>
-
- * Correct file permission for jack-shm-registry POSIX shared memory segment.
- * Checking for libsamplerate in waf, fix ticket #89."
- * Header cleanup, add --clients and --ports options in configure.
-
-2008-10-01 Stephane Letz <letz@grame.fr>
-
- * First Solaris version.
-
-2008-09-22 Stephane Letz <letz@grame.fr>
-
- * Cleanup jack_port_id_t/jack_port_t mess, should work again on 64 bits machines."
-
-2008-09-20 Stephane Letz <letz@grame.fr>
-
- * Michael Voigt JackAPI cleanup patch.
-
-2008-09-19 Stephane Letz <letz@grame.fr>
-
- * Michael Voigt JackTime cleanup patch.
-
-2008-09-17 Stephane Letz <letz@grame.fr>
-
- * New JackDriverInfo class to cleanup driver loading code.
-
-2008-09-08 Stephane Letz <letz@grame.fr>
-
- * Better symbols export for server and client side libraries.
-
-2008-09-06 Stephane Letz <letz@grame.fr>
-
- * Correct driver hierarchy on macosx and windows targets.
-
-2008-09-05 Stephane Letz <letz@grame.fr>
-
- * Merge Michael Voigt "drops" branch after reorganization step.
-
-2008-09-04 Stephane Letz <letz@grame.fr>
-
- * Michael Voigt 4th source reorganization patch.
- * Correct JackNetDriver initialization.
-
-2008-09-03 Stephane Letz <letz@grame.fr>
-
- * Implement DBUS entry points to handle internal clients, add new commands in jack_control.
- * Add new "desc" (extended description) in jack_driver_desc_t, to be used by backends and internal clients.
-
-2008-09-01 Stephane Letz <letz@grame.fr>
-
- * Michael Voigt third source reorganization patch.
- * Add new jack_set_port_rename_callback API, jack_port_set_name is now a server request that call port rename callbacks.
-
-2008-08-31 Stephane Letz <letz@grame.fr>
-
- * Michael Voigt second source reorganization patch.
-
-2008-08-28 Stephane Letz <letz@grame.fr>
-
- * Michael Voigt first source reorganization patch.
-
-2008-08-26 Stephane Letz <letz@grame.fr>
-
- * Better parameter handling in JackCoreAudioAdapter.
- * Fix memory leaks.
-
-2008-08-23 Stephane Letz <letz@grame.fr>
-
- * Implements internal clients management API.
-
-2008-08-22 Stephane Letz <letz@grame.fr>
-
- * Move GetCurrentTransportFrame code from JackClient to JackTransportEngine.
- * Add a fNetworkSync state in JackTransportEngine used in network.
-
-2008-08-03 Stephane Letz <letz@grame.fr>
-
- * Fix JackFrameTimer::Time2Frames and JackTimer::Frames2Time, jack_cpu compiled again.
-
-2008-08-01 Stephane Letz <letz@grame.fr>
-
- * Fix desallocation of remaining clients when server quits.
- * Close remaining client sockets in JackSocketServerChannel::Close.
- * Correct JackClient::Close() to request server close only if server is running.
-
-2008-07-30 Stephane Letz <letz@grame.fr>
-
- * Remove restriction that port connection could be done only if the client was activated.
-
-2008-07-25 Stephane Letz <letz@grame.fr>
-
- * Florian Faber patch for 32 bit float (LE only) support to jack's alsa driver.
- * Fix a crash bug when desallocating a non completely created external client.
-
-2008-07-24 Stephane Letz <letz@grame.fr>
-
- * Fix server client OSX special notification mechanism, CoreAudio driver compilation back for 10.4.
-
-2008-07-18 Stephane Letz <letz@grame.fr>
-
- * Correct audioadapter when a sample rate value different from jack server one is chosen.
- * Cleanup in JackTransportEngine, move some code that was in JackClient class.
- * Remove transport_type.h file, move transport types in types.h file.
-
-2008-07-12 Stephane Letz <letz@grame.fr>
-
- * Loopback driver working again.
-
-2008-07-08 Stephane Letz <letz@grame.fr>
-
- * Add jack_get_descriptor in internal clients API.
- * Fix JackFreewheelDriver::Process() in case if client time-out: continue processing until a better recovery strategy is chosen.
-
-2008-07-08 Stephane Letz <letz@grame.fr>
-
- * Merge windows branch back to trunk.
-
-2008-07-05 Stephane Letz <letz@grame.fr>
-
- * Netioadapter renamed in audioadapter.
-
-2008-07-04 Stephane Letz <letz@grame.fr>
-
- * Netioadapter now adapts for buffer size and sample rate changes.
-
-2008-07-03 Stephane Letz <letz@grame.fr>
-
- * Add IsFixedBufferSize method in all drivers.
-
-2008-07-02 Stephane Letz <letz@grame.fr>
-
- * New netioadapter in server client.
-
-2008-06-20 Stephane Letz <letz@grame.fr>
-
- * Add new jack_client_stop_thread and jack_client_kill_thread API.
- * New generic BuildClientPath for internal clients loading.
-
-2008-06-19 Stephane Letz <letz@grame.fr>
-
- * Embed JackEngineControl in JackDriver (starting from Tim Blechmann idea).
-
-2008-06-18 Stephane Letz <letz@grame.fr>
-
- * On OSX waf now compiles Universal Binaries.
-
-2008-06-17 Stephane Letz <letz@grame.fr>
-
- * Driver class hierarchy simplification.
- * Update waf for compilation on OSX.
-
-2008-06-13 Stephane Letz <letz@grame.fr>
-
- * Correct JackPosixThread::ThreadHandler termination, do not set buffer size if same value is used.
- * Another Tim Blechmann cleanup patch + do no allocate JackClientControl in shared memory for server internal clients.
-
-2008-06-12 Stephane Letz <letz@grame.fr>
-
- * Another Tim Blechmann patch to remove unnecessary virtual methods.
-
-2008-06-09 Stephane Letz <letz@grame.fr>
-
- * Improve net driver so that jack clients can be registered even if driver has not yet started.
-
-2008-06-08 Stephane Letz <letz@grame.fr>
-
- * Add a missing EXPORT for JackException class.
-
-2008-06-06 Stephane Letz <letz@grame.fr>
-
- * Better error checking in JackGraphManager::RemoveAllPorts.
-
-2008-06-05 Stephane Letz <letz@grame.fr>
-
- * Better control of exported symbols.
- * Fix a bug in backend parameter parsing.
-
-2008-06-04 Stephane Letz <letz@grame.fr>
-
- * Merge of network branch.
- * Use of set_threaded_log_function only when needed in RT threads.
-
-2008-06-02 Stephane Letz <letz@grame.fr>
-
- * Tim Blechmann patch to remove unnecessary virtual methods: choice of the appropriate platform version is now done at compilation time.
-
-2008-06-02 Stephane Letz <letz@grame.fr>
-
- * Cleanup and correct wscript for example-clients.
- * Add a test for coherent freewheel state in JackDebugClient.
- * Cleanup JackMutex class.
-
-2008-05-31 Stephane Letz <letz@grame.fr>
-
- * Add missing include for proper compilation when jack headers are not installed.
-
-2008-05-30 Stephane Letz <letz@grame.fr>
-
- * Avoid using Terminate when "quitting" in RT thread. Cleanup JackEngineInterface.
-
-2008-05-29 Stephane Letz <letz@grame.fr>
-
- * Tim Blechmann patch for JackPosixSemaphore (still to test...).
- * Correct JackWinThread::Terminate.
-
-2008-05-28 Stephane Letz <letz@grame.fr>
-
- * New testMutex test, correct timing in drivers.
-
-2008-05-27 Stephane Letz <letz@grame.fr>
-
- * Correct timing in drivers: frame time has to be incremented before Read.
-
-2008-05-26 Stephane Letz <letz@grame.fr>
-
- * Merge control branch.
- * Cleanup example clients: use jack_client_open and install a proper 'quit' signal handler.
-
-2008-05-24 Stephane Letz <letz@grame.fr>
-
- * Tim Blechmann RAII idiom patch for JackServer ressource initialization.
-
-2008-05-23 Stephane Letz <letz@grame.fr>
-
- * Use StartSync to start the client notification thread, otherwise initial notifications from the server may be lost.
- * Tim Blechmann JackEngine cleanup patch.
- * Call init callback in notification thread also.
-
-2008-05-22 Stephane Letz <letz@grame.fr>
-
- * Correct JackPort::ClearBuffer.
- * Correct JackEngine inheritance graph.
-
-2008-05-21 Stephane Letz <letz@grame.fr>
-
- * Correct JackEngine::PortUnRegister, JackEngine::ClientCloseAux and JackEngine::ClientDeactivate to correctly send notifications.
- * New jack_get_client_pid API, implemented on server side.
- * Better handling of graph state read functions: never wait when used in the real-time thread, current state is used.
-
-2008-05-20 Stephane Letz <letz@grame.fr>
-
- * Package number bumped to 1.90 everywhere.
- * Implementation of jack_get_max_delayed_usecs, jack_get_xrun_delayed_usecs and jack_reset_max_delayed_usecs.
-
-2008-05-19 Stephane Letz <letz@grame.fr>
-
- * Use of placement new for dynamic port allocation is possibly not safe... so avoid that until a definitive answer is found.
- * JackAudioDriver::ProcessAsync and JackAudioDriver::ProcessSync were broken at some point: 0 has to be returned in all cases.
-
-2008-05-16 Stephane Letz <letz@grame.fr>
-
- * Activate now connect to FW driver and start the realtime thread only if clients are actually realtime, that is have setup any of the RT callback.
-
-2008-05-14 Stephane Letz <letz@grame.fr>
-
- * Fix JackEngine::Close to only delete "loadable" clients.
-
-2008-05-13 Stephane Letz <letz@grame.fr>
-
- * Fix exception handling in JackShmMem::operator new.
- * Fix JackMutex constructor.
-
-2008-05-12 Stephane Letz <letz@grame.fr>
-
- * Allows wrapper library to log in a file (using JACK_WRAPPER_DEBUG=file).
-
-2008-05-09 Stephane Letz <letz@grame.fr>
-
- * Mike Taht's fix for proper alsa xrun duration measurement.
-
-2008-05-06 Stephane Letz <letz@grame.fr>
-
- * Fix JackPosixThread::StartImp and JackWinThread::StartImp.
-
-2008-05-05 Stephane Letz <letz@grame.fr>
-
- * Fix JackClient::Close: notification channel is stopped first to avoid receiving notifications while closing and Close is again a synchronous call.
- * No more remaining client close in JackEngine::Close().
-
-2008-05-01 Stephane Letz <letz@grame.fr>
-
- * Fix JackMachClientChannel::InternalClientLoad.
- * Correct internal client loading.
- * For threaded drivers, AcquireRealTime is called after Init step.
-
-2008-04-30 Stephane Letz <letz@grame.fr>
-
- * Fix JackRestartThreadedDriver::Execute.
- * Better handling of init and run state in JackThread.
-
-2008-04-28 Stephane Letz <letz@grame.fr>
-
- * Add exceptions management to distinguish drivers recoverable errors from non recoverable ones. Will be used in special threaded drivers (for network).
-
-2008-04-25 Stephane Letz <letz@grame.fr>
-
- * Correct JackServerGlobals::Init: now check is server is already started.
-
-2008-04-24 Stephane Letz <letz@grame.fr>
-
- * Correct internal client load.
-
-2008-04-10 Stephane Letz <letz@grame.fr>
-
- * Remove Linux Makefile, update Readme.
-
-2008-04-03 Stephane Letz <letz@grame.fr>
-
- * Correct a dirty port array issue in JackGraphManager::GetPortsAux.
-
-2008-03-31 Stephane Letz <letz@grame.fr>
-
- * New SetNonBlocking method for JackSocket.
-
-2008-03-29 Stephane Letz <letz@grame.fr>
-
- * Correct a missing parameter in the usage message of jack_midiseq.
- * Add a client counter in wrapper layer: library is unloaded only when all clients have been closed.
-
-2008-03-28 Stephane Letz <letz@grame.fr>
-
- * Correct PortRegister, port name checking must be done on server side.
- * Add an Init method for blocking drivers to be decorated using JackThreadedDriver class.
-
-2008-03-27 Stephane Letz <letz@grame.fr>
-
- * Pieter Palmers patch for FFADO driver.
- * Dmitry Baikov patch for alsa_rawmidi driver.
-
-2008-03-26 Stephane Letz <letz@grame.fr>
-
- * JackWrapperAPI.cpp: use open_library in jack_client_name_size, jack_port_name_size and jack_port_type_size.
-
-2008-03-20 Stephane Letz <letz@grame.fr>
-
- * Transport timebase fix.
-
-2008-03-19 Stephane Letz <letz@grame.fr>
-
- * Synchronise transport.h with latest jackd version (Video handling).
-
-2008-03-19 Stephane Letz <letz@grame.fr>
-
- * Add jack_port_type_id in jack API.
-
-2008-03-17 Stephane Letz <letz@grame.fr>
-
- * New jack_server_control client to test notifications when linked to the server library.
- * Correct JackClient::Activate so that first kGraphOrderCallback can be received by the client notification thread.
- * MIDI API in wrapper lib.
- * Fix connect notification to deliver *one* notification only.
-
-2008-03-16 Stephane Letz <letz@grame.fr>
-
- * Use engine in JackAlsaDriver::port_register and JackAlsaDriver::port_unregister.
- * New JackLockedEngine decorator class to serialize access from ALSA Midi thread, command thread and in-server clients.
-
-2008-03-15 Stephane Letz <letz@grame.fr>
-
- * Add -L (extra output latency in aynchronous mode) in CoreAudio driver.
- * RT scheduling for OSX thread (when use in dummy driver).
-
-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
diff --git a/README b/README
deleted file mode 100644
index 98d73b12..00000000
--- a/README
+++ /dev/null
@@ -1,250 +0,0 @@
------------------------------------------------------------
-jackdmp (aka JACK2) for Linux, MacOSX, Windows and Solaris
------------------------------------------------------------
-
-jackdmp is a C++ version of the JACK low-latency audio server for multi-processor machines. It is a new implementation of the JACK server core features that aims in removing some limitations of the JACK1 design. The activation system has been changed for a data flow model and lock-free programming techniques for graph access have been used to have a more dynamic and robust system.
-
-- jackdmp use a new client activation model that allows simultaneous client execution (on a smp machine) when parallel clients exist in the graph (client that have the same inputs). This activation model allows to better use available CPU on a smp machine, but also works on mono-processor machine.
-
-- jackdmp use a lock-free way to access (read/write) the client graph, thus allowing connections/disconnection to be done without interrupting the audio stream. The result is that connections/disconnections are glitch-free.
-
-- jackdmp can work in 2 different modes at the server level :
-
- - synchronous activation : in a given cycle, the server waits for all clients to be finished (similar to normal jackd)
-
- - asynchronous activation : in a given cycle, the server does not wait for all clients to be finished and use output buffer computed the previous cycle.
-
-The audible result of this mode is that if a client is not activated during one cycle, other clients may still run and the resulting audio stream will still be produced (even if its partial in some way). This mode usually result in fewer (less audible) audio glitches in a loaded system.
-
---------------
-Linux version
---------------
-
-The published version still uses fifos for server/client synchronization. The use of POSIX named semaphore is implemented but still a bit unstable. Sockets are used for server/client communications. The ALSA backend derived from jackd implementation is used. To build jackdmp, a "waf" (http://code.google.com/p/waf/) based compilation system is available. The code has to be compiled on a machine where ALSA and possibly freebob (FFADO) headers and libraries are corrected installed.
-
-In the top folder do :
-
-./waf configure
-./waf build
-sudo ./waf install
-
-Various compilation options can be seen using ./waf --help.
-
-Important compilation options :
-
-- default compilation mode will produce a set of libraries and executable that will *replace* regular jackd. If the "automatic start server option" is used by clients, jackd server will be started using the old fork + exe system.
-
-- the --dbus flag must be defined at configure time to compile the jackdbus executable. If the "automatic start server option" is used by clients, jackd server will be started using the dbus service.
-
-----------------------------
-Known problems, limitations
-----------------------------
-
-- use of POSIX named semaphore is currently unstable and not recommended yet.
-
-----------------
-Solaris version
-----------------
-
-The published version uses fifos for server/client synchronization. Sockets are used for server/client communications. An OSS backend is used. To build jackdmp, a "waf" (http://code.google.com/p/waf/) based compilation system is available. The code has to be compiled on a machine where OSS 4.0 headers and libraries are corrected installed.
-
-In the top folder do :
-
-./waf configure
-./waf build
-sudo ./waf install
-
-(Note : you may have to use "pfexec" instead of "sudo" on systems where sudo is not there).
-
-Various compilation options can be seen using ./waf --help.
-
-Important compilation options :
-
-- if the "automatic start server option" is used by clients, jackd server will be started using the old fork + exe system.
-
-- the --dbus flag must be defined at configure time to compile the jackdbus executable. If the "automatic start server option" is used by clients, jackd server will be started using the dbus service.
-
-Starting the server :
-
-- for best performances, the server has to be started with privileges that allows to use "real-time" threads, for example using the "pfexec" command (or configurating the system with "priocntl" first), for instance : pfexec jackd -R -S -P59 -d oss
-
-- audio cards info can be retrieved using "ossinfo" tool (for instance ossinfo -v3). Some card needs to be configured first using "ossxmix" then the correct buffer size has to be used, for instance : pfexec jackd -R -S -P59 -d oss -p 512
-
-------------
-OSX version
-------------
-
-The published version uses Mach semaphores for server/client synchronization. Sockets are used for server/client communications. The CoreAudio backend derived from JACK1 implementation is used.
-
-Starting with 0.70 version, the OSX project can compile 32/64 bits binaries for PPC and Intel machines. On a 64 bits machine, using the "jackdmp" in a terminal will start the 64 bits version. Using the "arch" command possibly allows to force starting in 32 bits (see man arch). The JackPilot and JackRouter binaries are now also released as 32/64 bits versions for PPC and Intel machines. By default the JackPilot application will start in 32 bits mode (even on a 64 bits machine) and launch the 32 bits jackdmp. Unchecking the "Launch in 32 bits mode" box in the JackPilot info (GetInfo = %I in the Finder...) allows to start JackPilot in 64 bits then launch the 64 bits jackdmp version. Very few audio applications are already 64 bits aware: Apple AU Lab (included in Developer tools) can be launched in 64 bit, here again by unchecking the "Launch in 32 bits mode" box in the AU Lab info.
-
-JackOSX package (found at www.jackosx.com) is the preferred way to Jackdmp on OSX.
-
----------------------------------
-Mac Intel special considerations
----------------------------------
-
-- New Mac Intel use 2 different CoreAudio device for input/output. Jackdmp cannot directly handle 2 devices to do duplex processing. An "aggregate" device has to be built in this case.
-
-Use the "/Applications/Utilities/Audio MIDI Setup" tool to build and aggregate device that combine both input and output in a single duplex device, then select it when launching jackdmp, with something like :
-
-jackdmp -R -d coreaudio -n "~:Aggregate:0"
-
-or directly with the JackPilot tool.
-
-Starting from 1.9.6 version, the CoreAudio diver can now dynamically aggregate devices. So using "Audio MIDI Setup" tool is not mandatory anymore.
-
-- CoreAudio applications running under Rosetta emulator cannot access an Intel version of Jackdmp.
-
-Using jackdmp with QjackCtl :
-
-To start jackdmp server in QjackCtl, the complete server path has to be added, like /usr/local/bin/jackdmp in Setup/Server Path.
-
-----------------
-Windows version
-----------------
-
-The published version uses named event for server/client synchronization. Named pipes are used for server/client communications. A PortAudio (V19) based driver is used. It allows to access either MME, DirectSound or ASIO supported cards.
-
-
-To cross compile using mingw, do the following in the top folder:
-
-ARCH=x86_64-w64-mingw32.shared # e.g.
-
-PKGCONFIG=$ARCH-pkg-config CC=$ARCH-gcc CXX=$ARCH-g++ ./waf configure --platform=win32
-
-PKGCONFIG=$ARCH-pkg-config CC=$ARCH-gcc CXX=$ARCH-g++ ./waf build -v
-
-
-
-The binary elements are :
-
-- jackd.exe : the JACK server
-
-- libjackserver.dll (and associated libjackserver.lib library) : the server code, shared by the jackdmp server and drivers.
-
-- libjack.dll (and associated libjack.lib library) : the jack library code, to be linked against by clients.
-
-- jack_portaudio.dll : the PortAudio based backend. The backend components (currently "jack_portaudio.dll" only) are searched for in a "jackmp" folder located with the "jackdmp.exe" server.
-
-- jack_dummy.dll : the "dummy" driver.
-
-- jack_net.dll : the NetJack2 driver.
-
-- jack_netone.dll : the NetJack1 driver.
-
-- netmanager.dll : the "in server" client NetJack Manager.
-
-- audioadapter.dll : the network to audio card adapter (to be used on a slave machine started with the NetJack driver).
-
-- netadapter.dll : the network to audio card adapter (to be used on a slave machine started with an audio driver).
-
-- jack_connect.exe, jack_disconnect.exe, jack_lsp.exe, jack_metro.exe, jack_load.exe, jack_unload.exe, jack_netsource.exe tools.
-
-- JackRouter.dll : an ASIO/JACK driver that allows ASIO compatible applications to become JACK clients and access the JACK server. ASIO "jackified" applications appear with their names. Ableton Live, Samplitude, Reason, Arturia applications have been successfully tested. To install it, use "regsvr32 JackRouter.dll" in a terminal (use regsvr32 /u JackRouter.dll to uninstall). [VISTA special note: regsvr32 has to be used with "administrator" rights to properly register JackRouter.dll (Start Menu -> All Programs -> Accessories -> Right Click on Command Prompt -> Run As Administrator)]. A JackRouter.ini file is used by the driver to read parameters : an [IO] section allows to setup the number of input/output jack ports for the application and a [AUTO_CONNECT] section allows to setup jack ports auto connection mode to machine input/output.
-
-WARNING !! WARNING !!
-
-Depending of the used interface and driver settings, the PortAudio layer may add additional buffering between the real card interrupt and the jack server callback. This usually result in *unregular* calls of the jack server callback (for example if jack server used a 256 frames buffer and the card used a 512 frames, the jack server callback will be called twice every card interrupt). For proper functioning of jack server and clients in this case, the jack server has to be started in "synchronous" mode, using the "-S" parameter.
-
-----------------------------
-Known problems, limitations
-----------------------------
-
-- Thread handling in still not completely working : jack clients may "hang" when quitting.
-
-----------------------------
-Automatic server launch
-----------------------------
-
-Starting from the 0.64 version, automatic server launch from client is implemented : when the server is not yet running, QjackCtl if the client uses the "jack_client_open" API, the server will be started automatically. The server configuration is saved in a ".jackdrc" file located in the user home folder. The QjackCtl tool allows to save its configuration in this .jackdrc (setting can be done in QjackCtl Setup/Misc). If no configuration file is found, a default setup will be used.
-
-WARNING : automatic server launch is not implemented on Windows
-
-------------------
-Validations tools
-------------------
-
-jackdmp can possibly validate client applications by checking they are using the API in a correct manner (calling functions in the right order, correctly deallocating resources....) and produce a log file. A JACK_CLIENT_DEBUG environment variable must be used to activate client validation : use "export JACK_CLIENT_DEBUG=on".
-
---------------
-Documentation
---------------
-
-- a technical report presenting the new design and implementation.
-
-- doxygen generated documentation of the C++ code.
-
----------
-Versions
----------
-
-0.1 : First published version
-0.2 : Implements jack_time_frame, new -S (sync) mode : when "synch" mode is activated, the jackdmp server waits for the graph to be finished in the current cycle before writing the output buffers.
-Note : To experiment with the -S option, jackdmp must be launched in a console.
-0.3 : Implement client zombification + correct feedback loop management + code cleanup.
-0.31 : Correct bug in mixing code that caused Ardour + jackdmp to crash...
-0.4 : Linux version, code cleanup, new -L parameter to activate the loopback driver (see Documentation), a number of loopback ports can be defined. Client validation tool.
-0.41 : Add the ALSA MMAP_COMPLEX support for ALSA driver. Patch from Dmitry Daikov : compilation option to choose between "get_cycles" and "gettimeofday" to measure timing.
-0.42 : Patch from Nick Mainsbridge. Correct default mode for ALSA driver. Correct XCode project.
-0.43 : Correct freewheel mode. Optimize ALSA and coreaudio drivers. Correct OSX installation script.
-0.44 : Patch from Dmitry Daikov : use clock_gettime by default for timing. Correct dirty buffer issue in CoreAudio driver. Updated doc.
-0.45 : Script to remove the OSX binary stuff. Correct an export symbol issue that was preventing QjackCtl to work on OSX. Fix the consequences of the asynchronous semantic of connections/disconnections.
-0.46 : Fix a bug in loop management. Fix a bug in driver loading/unloading code. Internal code cleanup for better 64 bits architecture support. Compilation on OSX/Intel. Add the -d option for coreaudio driver (display CoreAudio devices internal name).
-0.47 : More fix for 64 bits compilation. Correct ALSA driver. Create a specific folder for jackdmp drivers. Use /dev/shm as default for fifo and sockets. "Install" and "Remove" script for smoother use with regular jack.
-0.48 : Finish software monitoring implementation for ALSA and CoreAudio drivers. Simpler shared library management on OSX.
-0.49 : Internal connection manager code cleanup.
-0.50 : Transport API implementation.
-0.51 : Correct bugs in transport API implementation.
-0.52 : Universal version for Mac Intel and PPC. Improvement of CoreAudio driver for half duplex cases.
-0.53 : Correct JackPilotMP tool on OSX. Correct CoreAudio driver for half duplex cases. Fix a bug in transport for "unactivated" clients. Fix a bug when removing "unactivated" clients from the server. Tested on Linux/PPC.
-0.54 : Use the latest shm implementation that solve the uncleaned shm segment problem on OSX. Close still opened file descriptors (report from Giso Grimm). Updated html documentation.
-0.55 : Windows version. Correct management of monitor ports in ALSA driver. Engine code cleanup. Apply Rui patch for more consistent parameter naming in coreaudio driver. Correct JackProcessSync::TimedWait : time-out was not computed correctly. Check the return code of NotifyAddClient in JackEngine.
-0.56 : Correct SetBufferSize in coreaudio driver, portaudio driver and JackServer. Real-time notifications for Windows version. In the PortAudio backend, display more informations for installed WinMME, DirectSound and ASIO drivers.
-0.57 : Correct bug in Mutex code in JackClientPipeThread::HandleRequest. ASIO JackRouter driver supports more applications. Updated HTML documentation. Windows dll binaries are compiled in "release" mode.
-0.58 : Correct a bug introduced in 0.55 version that was preventing coreaudio audio inputs to work. Restructured code structure after import on svn.
-0.59 : Various fixes in Windows version. Signal handling in the Windows server. Improved JackRouter ASIO/Jack bridge on Windows. Rename global "verbose" in "jack_verbose" to avoid symbol clash with PureData. Add a new cpu testing/loading client. Correct server SetBufferSize in case of failure. Correct PortAudio driver help. Use -D to setup ADDON_DIR on OSX and Linux. Synchronize ALSA backend with jack one.
-0.60 : Improve audio driver synchronous code to better handle possible time-out cases. Correct JackWinEnvent::Allocate (handle the ERROR_ALREADY_EXISTS case). Correct JackEngine::ClientExternalNew.
-0.61 : Tom Szilagyi memory leak fix in ringbuffer.c. Move client refnum management in JackEngine. Shared_ports renamed to shared_graph. 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. New server/client data transfer model to fix a 64 bits system bug. Fix a device name reversal bug in ALSA driver. Implement thread.h API.
-0.62 : 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. Uses a time out value of 10 sec in freewheel mode (like jack). More robust activation/deactivation code, especially in case of client crash. New LockAllMemory and UnlockAllMemory functions. Use pthread_attr_setstacksize in JackPosixThread class. Add Pieter Palmers FreeBob driver. Thibault LeMeur ALSA driver patch. Thom Johansen fix for port buffer alignment issues. Better error checking in PortAudio driver.
-0.63 : Correct back JackAlsaDriver::Read method. Dmitry Baikov patch for JackGraphManager.cpp. Merge JackGraphManager Remove and Release method in a unique Release method. Dmitry Baikov jackmp-time patch : add jack_get_time, jack_time_to_frames, jack_frames_to_time. Add missing -D__SMP__in OSX project. Add new jack_port_set_alias, jack_port_unset_alias and jack_port_get_aliases API. Steven Chamberlain patch to fix jack_port_by_id export. Steven Chamberlain patch to fix jack_port_type. Test for jack_port_type behaviour in jack_test.cpp tool. Add jack_set_client_registration_callback API. Add "callback exiting" and "jack_frame_time" tests in jack_test.
-0.64 : Checking in the server to avoid calling the clients if no callback are registered. Correct deprecated jack_set_sample_rate_callback to return 0 instead of -1. Dmitry Baikov buffer size patch. Correct notification for kActivateClient event. Correct JackEngine::ClientCloseAux (when called from JackEngine::ClientExternalOpen). Correct JackWinEvent::Allocate. Automatic client renaming. Add "systemic" latencies management in CoreAudio driver. Automatic server launch. Removes unneeded 'volatile' for JackTransportEngine::fWriteCounter.
-0.65 : Fix backend port alias management (renaming in system:xxx). Fix a bug in JackLibClient::Open introduced when adding automatic client renaming. Fix a bug in jack_test. Correct JackShmMem destructor. Correct end case in JackClient::Execute. Correct JackMachSemaphore::Disconnect. Implement server temporary (-T) mode. Make "Rename" a method of JackPort class, call it from driver Attach method. Server/library protocol checking implementation.
-0.66 : Internal cleanup. Windows JackRouter.dll version 0.16 : use of "jack_client_open" API to allow automatic client renaming, better Windows VISTA support, new JackRouter.ini file.
-0.67 : Correct jack_client_open "status" management. Rename server_name from "default" to "jackdmp_default" to avoid conflict with regular jackd server. Fix a resource leak issue in JackCoreAudioDriver::Close(). Better implement "jack_client_open" when linking a client with the server library. Correct "jack_register_server" in shm.c. Add missing timestamps.c and timestamps.h files. Correctly export public headers in OSX frameworks. Suppress JackEngine::ClientInternalCloseIm method. 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. Internal loadable client implementation. Fix JackEngine::Close() method. Windows JackRouter.dll version 0.17: 32 integer sample format.
-0.68 : Internal loadable client implementation, winpipe version added. Reorganize jack headers. Improve Linux install/remove scripts. Use LIB_DIR variable for 64 bits related compilation (drivers location). More generic Linux script. Correct jack_acquire_real_time_scheduling on OSX. Merge of Dmitry Baikov MIDI branch. Correct JackGraphManager::GetPortsAux to use port type. Remove JackEngineTiming class: code moved in JackEngineControl. 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. Fix a bug in freewheel management in async mode: drivers now receive the kStartFreewheelCallback and kStopFreewheelCallback notifications. Server and user directory related code moved in a JackTools file. Client name rewriting to remove path characters (used in fifo naming). Correct ALSA driver Attach method: internal driver may have changed the buffer_size and sample_rate values. Add JackWinSemaphore class. Add an implementation for obsolete jack_internal_client_new and jack_internal_client_close. Add missing jack_port_type_size. Use of JackWinSemaphore instead of JackWinEvent for inter-process synchronization. Correct types.h for use with MINGW on Windows. Move OSX start/stop notification mechanism in Jackdmp.cpp. Correct CheckPort in JackAPI.cpp.
-0.69 : On OSX, use CFNotificationCenterPostNotificationWithOptions with kCFNotificationDeliverImmediately | kCFNotificationPostToAllSessions for server ==> JackRouter plugin notification. On OSX, use jack server name in notification system. Correct fPeriodUsecs computation in JackAudioDriver::SetBufferSize and JackAudioDriver::SetSampleRate. Correct JackMachNotifyChannel::ClientNotify. Correct bug in CoreAudio driver sample rate management. Add a sample_rate change listener in CoreAudio driver. Correct sample_rate management in JackCoreAudioDriver::Open. Better handling in sample_rate change listener. Pieter Palmers FFADO driver and scons based build. Pieter Palmers second new build system: scons and Makefile based build. Tim Blechmann scons patch. Change string management for proper compilation with gcc 4.2.2. JackLog cleanup. Cleanup in CoreAudio driver. Tim Blechmann patch for JackGraphManager::GetPortsAux memory leak, Tim Blechmann patch for scons install. Dmitry Baikov MIDI patch : alsa_seqmidi and alsa_rammidi drivers. CoreAudio driver improvement : detect and notify abnormal situations (stopped driver in case of SR change...).
-0.70 : Updated API to match jack 0.109.0 version. Update in usx2y.c and JackPort.cpp to match jackd 0.109.2. Latest jack_lsp code from jack SVN. Add jack_mp_thread_wait client example. Add jack_thread_wait client example. Remove checking thread in CoreAudio driver, better device state change recovery strategy: the driver is stopped and restarted. Move transport related methods from JackEngine to JackServer. Tim Blechmann sse optimization patch for JackaudioPort::MixAudioBuffer, use of Apple Accelerate framework on OSX. Remove use of assert in JackFifo, JackMachSemaphore, and JackPosixSemaphore: print an error instead. Correct "server_connect": close the communication channel. More robust external API. Use SetAlias for port naming. Use jackd midi port naming scheme. Notify ports unregistration in JackEngine::ClientCloseAux. Fix in JackClient::Error(): when RT thread is failing and calling Shutdown, Shutdown was not desactivating the client correctly.
-0.71 : Add port register/unregister notification in JackAlsaDriver. Correct JACK_port_unregister in MIDI backend. Add TimeCallback in JackDebugClient class. Correct jack_get_time propotype. Correct JackSocketClientChannel::ClientClose to use ServerSyncCall instead of ServerAsyncCall. Better documentation in jack.h. libjackdmp.so renamed to libjackservermp.so and same for OSX framework. Define an internal jack_client_open_aux needed for library wrapper feature. Remove unneeded jack_port_connect API. Correct jack_port_get_connections function (should return NULL when no connections). In thread model, execute a dummy cycle to be sure thread has the correct properties (ensure thread creation is finished). Fix engine real-time notification (was broken since ??). Implements wrapper layer. Correct jack_port_get_total_latency. Correct all backend playback port latency in case of "asynchronous" mode (1 buffer more). Add test for jack_cycle_wait, jack_cycle_wait and jack_set_process_thread API. RT scheduling for OSX thread (when used in dummy driver). Add -L (extra output latency in aynchronous mode) in CoreAudio driver. New JackLockedEngine decorator class to serialize access from ALSA Midi thread, command thread and in-server clients. Use engine in JackAlsaDriver::port_register and JackAlsaDriver::port_unregister. Fix connect notification to deliver *one* notification only. Correct JackClient::Activate so that first kGraphOrderCallback can be received by the client notification thread. New jack_server_control client to test notifications when linked to the server library. Synchronise transport.h with latest jackd version (Video handling). Transport timebase fix. Dmitry Baikov patch for alsa_rawmidi driver. Pieter Palmers patch for FFADO driver. Add an Init method for blocking drivers to be decorated using JackThreadedDriver class. Correct PortRegister, port name checking must be done on server side. Correct a missing parameter in the usage message of jack_midiseq. New SetNonBlocking method for JackSocket. Correct a dirty port array issue in JackGraphManager::GetPortsAux.
-1.9.0 : Waf based build system : Nedko Arnaudov, Grame for preliminary OSX support. Control API, dbus based server control access : Nedko Arnaudov, Grame. NetJack2 components (in progress) : jack_net backend, netmanager, audioadapter, netadapter : Romain Moret, Grame. Code restructuring to help port on other architectures : Michael Voigt. Code cleanup/optimization : Tim Blechmann. Improve handling of server internal clients that can now be loaded/unloaded using the new server control API : Grame. A lot of bug fix and improvements.
-1.9.1 : Fix jackctl_server_unload_internal. Filter SIGPIPE to avoid having client get a SIGPIPE when trying to access a died server. Libjack shutdown handler does not "deactivate" (fActive = false) the client anymore, so that jack_deactivate correctly does the job later on. Better isolation of server and clients system resources to allow starting the server in several user account at the same time. Report ringbuffer.c fixes from JACK1. Client and library global context cleanup in case of incorrect shutdown handling (that is applications not correctly closing client after server has shutdown). Use JACK_DRIVER_DIR variable in internal clients loader. For ALSA driver, synchronize with latest JACK1 memops functions. Synchronize JACK2 public headers with JACK1 ones. Implement jack_client_real_time_priority and jack_client_max_real_time_priority API. Use up to BUFFER_SIZE_MAX frames in midi ports, fix for ticket #117. Cleanup server starting code for clients directly linked with libjackserver.so. JackMessageBuffer was using thread "Stop" scheme in destructor, now use the safer thread "Kill" way. Synchronize ALSA backend code with JACK1 one. Set default mode to 'slow' in JackNetDriver and JackNetAdapter. Simplify audio packet order verification. Fix JackNetInterface::SetNetBufferSize for socket buffer size computation and JackNetMasterInterface::DataRecv if synch packet is received, various cleanup. Better recovery of network overload situations, now "resynchronize" by skipping cycles.". Support for BIG_ENDIAN machines in NetJack2. Support for BIG_ENDIAN machines in NetJack2 for MIDI ports. Support for "-h" option in internal clients to print the parameters. In NetJack2, fix a bug when capture or playback only channels are used. Add a JACK_INTERNAL_DIR environment variable to be used for internal clients. Add a resample quality parameter in audioadapter. Now correctly return an error if JackServer::SetBufferSize could not change the buffer size (and was just restoring the current one). Use PRIu32 kind of macro in JackAlsaDriver again. Add a resample quality parameter in netadapter.
-1.9.2 : Solaris version. New "profiling" tools. Rework the mutex/signal classes. Support for BIG_ENDIAN machines in NetJack2. D-BUS based device reservation to better coexist with PulseAudio on Linux. Add auto_connect parameter in netmanager and netadapter. Use Torben Hohn PI controler code for adapters. Client incorrect re-naming fixed : now done at socket and fifo level. Virtualize and allow overriding of thread creation function, to allow Wine support (from JACK1).
-1.9.3 : New JackBoomerDriver class for Boomer driver on Solaris. Add mixed 32/64 bits mode (off by default). Native MIDI backend (JackCoreMidiDriver, JackWinMMEDriver). In ALSA audio card reservation code, tries to open the card even if reservation fails. Clock source setting on Linux. Add jackctl_server_switch_master API. Fix transport callback (timebase master, sync) issue when used after jack_activate (RT thread was not running). D-Bus access for jackctl_server_add_slave/jackctl_server_remove_slave API. Cleanup "loopback" stuff in server. Torben Hohn fix for InitTime and GetMicroSeconds in JackWinTime.c. New jack_free function added in jack.h. Reworked Torben Hohn fix for server restart issue on Windows. Correct jack_set_error_function, jack_set_info_function and jack_set_thread_creator functions. Correct JackFifo::TimedWait for EINTR handling. Move DBus based audio device reservation code in ALSA backend compilation. Correct JackTransportEngine::MakeAllLocating, sync callback has to be called in this case also. NetJack2 code : better error checkout, method renaming. Tim Bechmann patch : hammerfall, only release monitor thread, if it has been created. Tim Bechmann memops.c optimization patches. In combined --dbus and --classic compilation code, use PulseAudio acquire/release code. Big rewrite of Solaris boomer driver, seems to work in duplex mode at least. Loopback backend reborn as a dynamically loadable separated backend.
-1.9.4 : Solaris boomer backend now working in capture or playback only mode. Add a -G parameter in CoreAudio backend (the computation value in RT thread expressed as percent of period). Use SNDCTL_DSP_SYNCGROUP/SNDCTL_DSP_SYNCSTART API to synchronize input and output in Solaris boomer backend. Big endian bug fix in memops.c. Fix issues in JackNetDriver::DecodeTransportData and JackNetDriver::Initialize. Correct CPU timing in JackNetDriver, now take cycle begin time after Read. Simplify transport in NetJack2: master only can control transport. Change CoreAudio notification thread setup for OSX Snow Leopard. Correct server temporary mode : now set a global and quit after server/client message handling is finished. 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É). Correct jackdmp.cpp (failures case were not correct..). Improve JackCoreAudioDriver code. Raise default port number to 2048. 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. Improve aggregate device management in JackCoreAudioDriver : now a "private" device only and cleanup properly. Aggregate device code added to JackCoreAudioAdapter. 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. Dynamic system version detection in JackCoreAudioDriver to either create public or private aggregate device. 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::Start, wait for the audio driver to effectively start (use the MeasureCallback). 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. 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. Correctly save and restore RT mode state in freewheel mode. Correct freewheel code on client side. 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. Correct JackGraphManager::GetBuffer for the "client loop with one connection" case : buffer must be copied. Correct JackInfoShutdownCallback prototype, two new JackClientProcessFailure and JackClientZombie JackStatus code. Correct JackCoreAudio driver when empty strings are given as -C, -P or -d parameter. Better memory allocation error checking on client (library) side. 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...). Sync with JACK1 : -r parameter now used for no-realtime, realtime (-R) is now default, usable backend given vie platform. In JackCoreAudio driver, (possibly) clock drift compensation when needed in aggregated devices. 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). Sync JackCoreAudioAdapter code with JackCoreAudioDriver.
-1.9.5 : Dynamic choice of maximum port number. More robust sample rate change handling code in JackCoreAudioDriver. Devin Anderson patch for Jack FFADO driver issues with lost MIDI bytes between periods (and more). Fix port_rename callback : now both old name and new name are given as parameters. 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. Fix JackCoreMidiDriver::ReadProcAux when ring buffer is full (thanks Devin Anderson). Josh Green ALSA driver capture only patch. When threads are cancelled, the exception has to be rethrown. Use a QUIT notification to properly quit the server channel, the server channel thread can then be 'stopped' instead of 'canceled'. Mario Lang alsa_io time calculation overflow patch. Shared memory manager was calling abort in case of fatal error, now return an error in caller. Change JackEngineProfiling and JackAudioAdapterInterface gnuplot scripts to output SVG instead of PDF.
-1.9.6 : Improve JackCoreAudioDriver and JackCoreAudioAdapter : when no devices are described, takes default input and output and aggregate them.Correct JackGraphManager::DeactivatePort. Correct JackMachServerChannel::Execute : keep running even in error cases. Raise JACK_PROTOCOL_VERSION number. 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. Fix some file header to have library side code use LGPL. On Windows, now use TRE library for regexp (BSD license instead of GPL license). ffado-portname-sync.patch from ticket #163 applied. Remove call to exit in library code. Make jack_connect/jack_disconnect wait for effective port connection/disconnection. Add tests to validate intclient.h API. On Linux, inter-process synchronization primitive switched to POSIX semaphore. In JackCoreAudioDriver, move code called in MeasureCallback to be called once in IO thread. David Garcia Garzon netone patch. Fix from Fernando Lopez-Lezcano for compilation on fc13. Fix JackPosixSemaphore::TimedWait : same behavior as JackPosixSemaphore::Wait regarding EINTR. David Garcia Garzon unused_pkt_buf_field_jack2 netone patch. Arnold Krille firewire snooping patch. Jan Engelhardt patch for get_cycles on SPARC. Adrian Knoth hurd.patch, kfreebsd-fix.patch and alpha_ia64-sigsegv.patch from ticket 177. Adrian Knoth fix for linux cycle.h (ticket 188). In JackCoreAudioDriver, fix an issue when no value is given for input.
-1.9.7 : Sync JackAlsaDriver::alsa_driver_check_card_type with JACK1 backend. Correct JackServer::Open to avoid a race when control API is used on OSX. Improve backend error handling: fatal error returned by Read/Write now cause a Process failure (so a thread exit for blocking backends). Recoverable ones (XRuns..) are now treated internally in ALSA, FreeBob and FFADO backends. In jackdmp.cpp, jackctl_setup_signals moved before jackctl_server_start. Correct symbols export in backends on OSX. ALSA backend : suspend/resume handling. Correct dummy driver. Adrian Knoth jack_lsp patch. Remove JackPortIsActive flag. New latency API implementation. ComputeTotalLatencies now a client/server call. Add latent test client for latency API. Also print playback and capture latency in jack_lsp. jack_client_has_session_callback implementation. Check requested buffer size and limit to 1..8192 - avoids weird behaviour caused by jack_bufsize foobar. jack_port_type_get_buffer_size implementation. Stop using alloca and allocate buffer on the heap for alsa_io. Rename jdelay to jack_iodelay as per Fons' request. Call buffer size callback in activate (actually this is done on client side in the RT thread Init method). Add jack_midi_dump client. Synchronize net JACK1 with JACK1 version. Synchronize jack_connect/jack_disconnect with JACK1 version. Correct JackNetMaster::SetBufferSize. Use jack_default_audio_sample_t instead of float consistently, fix ticket #201. -X now allows to add several slave backends, add -I to load several internal clients. Rework internal slave driver management, JackServerGlobals now handle same parameters as jackdmp. Correct JackEngine::NotifyGraphReorder, update JackDebugClient with latest API. Devin Anderson server-ctl-proposal branch merged on trunk: improved control API, slave backend reworked. Implement renaming in JackDriver::Open to avoid name collision (thanks Devin Anderson). Correct alsa_driver_restart (thanks Devin Anderson). Correction of jack_connect/jack_disconnect: use of jack_activate and volatile keyword for thread shared variable. Correction of JackNetOneDriver for latest CELT API. Synchronize JackWeakAPI.cpp with new APIs.
-1.9.8 : Merge newer-midi branch (Devin Anderson redesign of the MIDI drivers: alsarawmidi, ffado, coremidi and winmme). Correction in jackdmp.cpp: notify_server_stop should be done after server destruction. Correct driver lifetime management. Add XRun detection in PortAudio driver. CELT code for NetJack2. Merge branch switch-master-port-registration-notifications: correct driver port registration. Libjacknet in progress. Correct MIDI in NetJack2. Correct OSX real-time thread setup. Correct rd_acquire in dbus code. Correct NetJack2 connection handling. SaveConnections/RestoreConnections in NetDriver and JackAudioDriver. Special version of jack_attach_shm/jack_release_shm on client side for POSIX shared memory, to solve a memory leak issue. Another round of code improvements to handle completely buggy Digidesign CoreAudio user-land driver. Special CATCH_CLOSE_EXCEPTION_RETURN to handle Close API calls. Add JACK_NETJACK_PORT and JACK_NETJACK_MULTICAST environment variables for NetJack2. NetJack2 now only send data on network only is ports are connected both sides. Fix for "starting two instances of same app in parallel does not work" bug. Enable explicit channel mapping in CoreAudio driver. New JackTimedDriver class to be used by JackDummyDriver, JackNetDriver and JackNetOneDriver classes. More robust code in synchronization primitives and in JackMessageBuffer. More robust Control API implementation. Add jackctl_driver_get_type in Control API. Singleton behaviour for JackCoreMidiDriver and JackWinMMEDriver. John Emmas patch for DSP CPU computation. John Emmas Windows server launching patch. Fix jack_set_port_name API. Enable local access in NetJack2 code. Dynamic port management in JACK/CoreMidi bridge.
-1.9.9 : Adrian Knoth fix in midiseq.c. Fix library symbols export issue. Cleanup drivers and internals loading code. jackctl_driver_params_parse API moved in public control.h. More general drivers/internals loading model on Windows. Factorize code the server/client request in JackRequestDecoder class. More robust server/client protocol. Implement shutdown for in server clients. Better time-out management in NetJack2. Experimental system port alias use in Windows JackRouter. Improve ShutDown in NetManager. Correct ShutDown in JackInternalClient and JackLibClient. Fix NetJack2 initialisation bug. Add EndTime function (especially for Windows). Rename JackProcessSync in JackPosixProcessSync. A bit more robust JackMessageBuffer implementation (in progress). Check server API callback from notification thread. Use a time-out in notification channel write function. Fix lock management in JackEngine. In control API, UNIX like sigset_t replaced by more abstract jackctl_sigmask_t * opaque struct. Improve libjacknet master mode. Remove JACK_32_64 flag, so POST_PACKED_STRUCTURE now always used. POST_PACKED_STRUCTURE used for jack_latency_range_t type. Rework JackMessageBuffer. [firewire] Introduce UpdateLatencies() in FFADO backend. [firewire] Allow FFADO backend to change the buffer size. Update waf. New jack_get_cycle_times() implementation from Fons Adriennsen. Align buffers to 32 byte boundaries to allow AVX processing. Extend jack_control to have parameter reset commands. Fix alsa driver parameter order. Control API: Enforce driver/internal parameter order. Fix in ALSA adapter. Devin Anderson patch for Jack/CoreMIDI duplicated messages. Change framework installation hierarchy for OSX Mountain Lion. Update JackCoreAudioDriver and JackCoreAudioAdapter with more recent API. jack_control: fix epr command. Add opus support to NetJack2. More robust channel mapping handling in JackCoreAudioDriver. netjack1/netone opus support. controlapi: fix double free on master switch. Use string ids in the alsa device list. netjack/opus: don't re-init en/decoders. Correct JackPortAudioDriver::Open : special case for ASIO drivers.
-1.9.10 : More robust code in JackPortAudioDriver to handle buffer size change and backend switching. Fix bus error on ARM platforms. Dynamically scan and print backend and internal names in jackd. CoreMIDI driver fixes. Rework NetJack2 code (OPUS codec on OSX, latency management, libjacknet code). Correct auto-connect for audioadapter. Add IIO driver. Merge of Nedko no-self-connect branch. Fix freewheel mode. JackServer::SwitchMaster now correctly notify buffer_size and sample_rate changes, cleanup/improvements in JackNetDriver. Tim Mayberry : Add support for building with mingw compiler. Merge of Kim Jeong Yeon Android branch. Partial port of metadata API.
-1.9.11 : Various corrections in NetJack2 code. Partial buffers can now be transmitted with libjacknet API. Including S24_LE/BE formats to linux ALSA driver. More robust shared memory allocator. Allow autostart of jackd on OSX where device-names can contain spaces. Correct CoreAudio devices aggregation code. Waf and wscripts improvement and update. More flexible RT priority setup on Windows. New JackProxyDriver. Various fixes in JACK MIDI code. Fix return value of SetTimebaseCallback(). Correct netmanager latency reporting. Implement new jack_port_rename and JackPortRenameCallback API. For OSX El Capitan support, use of Posix semaphore and move of Frameworks in /Library folder. Fix CPU hogging of the midi_thread(). Release audio devices when alsa_driver_new fails. String management fix. Correct JackDriver::Open : call to fGraphManager->SetBufferSize has to use current fEngineControl->fBufferSize value. Use ARM neon intrinsics for AudioBufferMixdown. Fix Netjack alignment. Various wscript improvements and cleanup. Fix initialization of several class variables. Heap-allocate client matrix in topo sort. Add a toggle command to transport utility, to allow toggling between play and stop state. Avoid side effects from parsing of "version" option in jackd. Allow firewire device be selected via -d. Add ARM-NEON acceleration for all non-dithering sample conversion functions. Add jack_simdtest utility. Use Linux futex as JackSynchro. Add autoclose option to jack_load.
-1.9.12 : Fix Windows build issues. Fix build with gcc-7. Show hint when DBus device reservation fails. Add support for internal session files.
-
-
-This is a work in progress but the implementation is now stable enough to be tested. jackdmp has been used successfully with the following applications : Ardour, Hydrogen, Jamin, QjackCtl, Jack-Rack, SooperLooper, AlsaPlayer...
-
-------------------------------------
-General known problems, limitations
-------------------------------------
-
-- zombification of clients is not implemented
-
-- memory locking is implemented for shared data only
-
-The package is available at http://www.grame.fr/~letz/jackdmp.html
-
-=============================================
-Grame : Computer Music Research Laboratory
-Web : http://www.grame.fr/Research
-E-mail : letz@grame.fr
-=============================================
diff --git a/TODO b/TODO
deleted file mode 100644
index e5df05f6..00000000
--- a/TODO
+++ /dev/null
@@ -1,60 +0,0 @@
----------------------
- Jackdmp Todo list
----------------------
-
-
-2008-03-12 : Do not start the client RT thread if no callback or thread routine has been setup (no use of jack_set_process_callback or jack_set_process_thread). This require change in the server to avoid signaling the client in this case. Check direct access from server internal clients (see comment in JackInternalClient::JackInternalClient() in JackInternalClient.cpp)
-
-2008-02-07 : Pipelining idea:
-
-- cut the driver buffer size in n slices : clients see the divided value, server deal with the driver value, some clients may want to keep the driver buffer size (non pipelining)
-- new jack_set_buffer_divisor/jack_get_buffer_divisor and jack_set_pipelining/jack_get_pipelining API
-- jack_set_buffer_size changes the driver buffer size, jack_get_buffer_size get the divided value
-- buffer_size callback notify the divided value for pipelining clients
-
-2008-02-06 : Do a "fork-exec" for the server (deamon..)
-
-2008-02-05 : Hierarchical model : having several client graph running simultaneously (Fons) with a "link" between them (AKA NetJack)
-
-2008-01-15 : Server control API (Nedko Arnoudov): would help to develop external control applications (DBUS or OSC based...)
-
-2007-12-16 : Dynamic backend switch, so that audio backend can be switch off and replaced by the dummy backend.
-
-2007-10-17 : Optimize activation call graph with multiple clients in a same process
-
-Andrzej Szombierski recently did interesting test to measure jack client activation speed in different context: jack client opened in separated processes, multiple jack clients running in the server, multiple jack clients running in a same separated process, this using jackd or jackdmp.
-
-jackd:
-
-- multiple jack clients in the server: fast because *direct function call* to the client process callback is done bypassing the fifo based activation system
-- jack clients in separated processes: slower using the fifo based activation system
-- multiple jack clients in a separated process: slower using the fifo based activation system
-
-jackdmp:
-
-- multiple jack clients in the server: slower using the fifo based activation system
-- jack clients in separated processes: slower using the fifo based activation system
-- multiple jack clients in a separated process: slower using the fifo based activation system
-
-So basically jackdmp use the same fifo based activated system in all cases, and jackd does some optimization in the "multiple jack clients in the server" case.
-
-Also having multiple clients in a same process (jack server or separated process) is not so common, it may still be interesting to be able to optimize the activation path with sequential clients in a same process (server or separated). I am thinking in a method that could be done in jackdmp data-flow model : since the activation path is "computed on the fly" when following links between clients, the step where a client activates all its output could be reworked a little with something like :
-
-- find one of the client in the output client list that is in the same process
-- activate all other output clients using the normal fifo based system
-- *direct* call the client process callback
-
-(and this would be done recursively following a sequential path in the graph until no more client in the same process is found)
-
-There is still an issue if a client uses the "Fons special" ((-: new jack_thread_wait API, where a client explicitly gives control back to libjack... I still don't have a clear idea if this optimization path could still be done.
-
-Even if the "multiple clients" way is not really used in existing applications, is it a desirable feature to have at some point?
-
-2007-10-07 : Before doing an official package, check all public headers
-
-2007-03-14 : Check JackGraphManager::GetPortsAux after MIDI branch merge.
-
-2007-03-14 : Add Paul dynamic jack server location code.
-
-2007-01-22 : Check the "dead" client removing code in the server : non running client may cause Desactivation and Close time out problems.
-