Merge pull request #23 from jackaudio/device_reservation_fixes
[jack2.git] / ChangeLog
blob643e761d2c6f8b0791792dc4936b297b5dd786a1
1 ---------------------------\r
2   Contributors\r
3 ---------------------------\r
4 \r
5 Dmitry Baikov\r
6 Gabriel M. Beddingfield\r
7 Steven Chamberlain\r
8 Thom Johansen\r
9 Thibault LeMeur\r
10 Tom Szilagyi\r
11 Andrzej Szombierski \r
12 Kjetil S.Matheussen\r
13 Pieter Palmers\r
14 Tim Blechmann\r
15 Marc-Olivier Barre\r
16 Nedko Arnaudov\r
17 Fernando Lopez-Lezcano\r
18 Romain Moret\r
19 Florian Faber\r
20 Michael Voigt\r
21 Torben Hohn  \r
22 Paul Davis\r
23 Peter L Jones\r
24 Devin Anderson\r
25 Josh Green\r
26 Mario Lang\r
27 Arnold Krille
28 Jan Engelhardt
29 Adrian Knoth
30 David Garcia Garzon
31 Valerio Pilo
32 Chris Caudle
33 John Emmas
34 Robin Gareus
36 ---------------------------
37   Jackdmp changes log
38 ---------------------------
40 2012-11-21 Stephane Letz  <letz@grame.fr>
42         * Correct JackPortAudioDriver::Open : special case for ASIO drivers.
44 2012-10-20 Stephane Letz  <letz@grame.fr>
46         * Correct JackEngine::NotifyGraphReorder : graph-order callback now notified after port latencies update.
48 2012-09-22 Robin Gareus <robin@gareus.org>
50         * netjack/opus: don't re-init en/decoders.
52 2012-09-18 Nedko Arnaudov  <nedko@arnaudov.name>
54         * Use string ids in the alsa device list.
56 2012-09-10 Nedko Arnaudov  <nedko@arnaudov.name>
58         * controlapi: fix double free on master switch.
60 2012-09-10 Robin Gareus <robin@gareus.org>
62         * netjack1/netone opus support.
63         * netjack1/2 Opus: use only 2bytes for encoded-length.
64         * wscript: add header defines and libs for example-clients/netsource.
65         * fix duplicate prog.includes.
67 2012-09-05 Stephane Letz  <letz@grame.fr>
69         * More robust channel mapping handling in JackCoreAudioDriver.
71 2012-09-05 Robin Gareus <robin@gareus.org>
73         * Add opus support to NetJack2.
75 2012-08-21 Nedko Arnaudov  <nedko@arnaudov.name>
77         * jack_control: fix epr command.
79 2012-08-21 Stephane Letz  <letz@grame.fr>
81         * Update JackCoreAudioDriver and JackCoreAudioAdapter with more recent API.
83 2012-08-03 Stephane Letz  <letz@grame.fr>
85         * Change framework installation hierarchy for OSX Mountain Lion.
87 2012-08-02 Stephane Letz  <letz@grame.fr>
89         * Devin Anderson patch for Jack/CoreMIDI duplicated messages.
91 2012-07-24 Stephane Letz  <letz@grame.fr>
93         * Fix in ALSA adapter.
95 2012-05-26 Nedko Arnaudov  <nedko@arnaudov.name>
97         * Fix alsa driver parameter order.
98         * Control API: Enforce driver/internal parameter order.
100 2012-05-24 Nedko Arnaudov  <nedko@arnaudov.name>
102         * Extend jack_control to have parameter reset commands.
104 2012-03-24 Adrian Knoth  <adi@drcomp.erfurt.thur.de>
106         * Align buffers to 32 byte boundaries to allow AVX processing.
108 2012-03-21 Stephane Letz  <letz@grame.fr>
110         * New jack_get_cycle_times() implementation from Fons Adriennsen.
112 2012-03-17 Nedko Arnaudov  <nedko@arnaudov.name>
114         * Update waf.
116 2012-03-17 Adrian Knoth  <adi@drcomp.erfurt.thur.de>
118         * [firewire] Introduce UpdateLatencies() in FFADO backend.
119         * [firewire] Allow FFADO backend to change the buffer size.
121 2012-03-16 Stephane Letz  <letz@grame.fr>
123         * Rework JackMessageBuffer.
125 2012-03-15 Stephane Letz  <letz@grame.fr>
127         * POST_PACKED_STRUCTURE used for jack_latency_range_t type.
129 2012-03-09 Stephane Letz  <letz@grame.fr>
131         * Remove JACK_32_64 flag, so POST_PACKED_STRUCTURE now always used.
133 2012-02-10 Stephane Letz  <letz@grame.fr>
135         * Improve libjacknet master mode.
137 2012-02-09 Stephane Letz  <letz@grame.fr>
139         * In control API, UNIX like sigset_t replaced by more abstract jackctl_sigmask_t * opaque struct.
141 2012-02-01 Stephane Letz  <letz@grame.fr>
143         * Check server API callback from notification thread.
144         * Use a time-out in notification channel write function.
145         * Fix lock management in JackEngine.
147 2012-01-29 Stephane Letz  <letz@grame.fr>
149         * A bit more robust JackMessageBuffer implementation (in progress).
151 2012-01-27 Stephane Letz  <letz@grame.fr>
153         * Rename JackProcessSync in JackPosixProcessSync.
155 2012-01-26 Stephane Letz  <letz@grame.fr>
157         * Add EndTime function (especially for Windows).
159 2012-01-25 Stephane Letz  <letz@grame.fr>
161         * Fix NetJack2 initialisation bug.
163 2012-01-24 Stephane Letz  <letz@grame.fr>
165         * Improve ShutDown in NetManager.
166         * Correct ShutDown in JackInternalClient and JackLibClient.
168 2012-01-20 Stephane Letz  <letz@grame.fr>
170         * Experimental system port alias use in Windows JackRouter.
172 2012-01-19 Stephane Letz  <letz@grame.fr>
174         * Implement shutdown for in server clients.
175         * Better time-out management in NetJack2.
177 2012-01-13 Stephane Letz  <letz@grame.fr>
179         * More robust server/client protocol.
181 2012-01-11 Stephane Letz  <letz@grame.fr>
183         * Factorize code the server/client request in JackRequestDecoder class.
185 2012-01-06 Stephane Letz  <letz@grame.fr>
187         * Cleanup drivers and internals loading code.
188         * jackctl_driver_params_parse API moved in public control.h.
189         * More general drivers/internals loading model on Windows.
191 2012-01-06 Stephane Letz  <letz@grame.fr>
193         * Fix for compilation on Solaris.
195 2012-01-04 Stephane Letz  <letz@grame.fr>
197         * Fix library symbols export issue.
199 2012-01-02 Stephane Letz  <letz@grame.fr>
201         * Adrian Knoth fix in midiseq.c.
203 2011-12-20 Stephane Letz  <letz@grame.fr>
205         * Version 1.9.9 started. 
207 2011-11-25 Stephane Letz  <letz@grame.fr>
209         * More robust dynamic port management in JACK/CoreMidi bridge.
210         * Correct jack_port_name_size API.
212 2011-11-24 Stephane Letz  <letz@grame.fr>
214         * Dynamic port management in JACK/CoreMidi bridge.
215         * Correct jack_client_create_thread (when realtime in on).
217 2011-11-21 Stephane Letz  <letz@grame.fr>
219         * John Emmas third auto-launch server on Windows patch.
221 2011-11-07 Stephane Letz  <letz@grame.fr>
223         * John Emmas first auto-launch server on Windows patch.
224         * John Emmas second auto-launch server on Windows patch.
226 2011-11-06 Stephane Letz  <letz@grame.fr>
228         * Enable local access in NetJack2 code.
230 2011-11-04 Stephane Letz  <letz@grame.fr>
232         * Fix jack_set_port_name API.
234 2011-11-03 Stephane Letz  <letz@grame.fr>
236         * Add missing jack_client_get_uuid API.
237         * John Emmas Windows server launching patch (1).
239 2011-10-28 Stephane Letz  <letz@grame.fr>
241         * John Emmas POST_PACKED_STRUCTURE patch.
243 2011-10-27 Stephane Letz  <letz@grame.fr>
245         * Gabriel Beddingfield patch (r4541) reverted.  
247 2011-10-10 Stephane Letz  <letz@grame.fr>
249         * John Emmas patch for DSP CPU computation.
251 2011-09-27 Stephane Letz  <letz@grame.fr>
253         * Gabriel Beddingfield patch for ALSA driver: error when source is non-native byte-order float.
255 2011-08-31 Stephane Letz  <letz@grame.fr>
257         * Correct Start/Stop for Control API.
259 2011-08-30 Stephane Letz  <letz@grame.fr>
261         * Check driver type in jackdmp.cpp. 
263 2011-08-28 Stephane Letz  <letz@grame.fr>
265         * Correct JackBasePosixMutex::Trylock.
266         * Correct JackMessageBuffer::Execute.
268 2011-08-26 Stephane Letz  <letz@grame.fr>
270         * More robust code in synchronization primitives and in JackMessageBuffer.
271         * Non blocking notifications in JackEngine::NotifyAddClient and JackEngine::NotifyRemoveClient.
272         * More robust Control API implementation.
273         * Add jackctl_driver_get_type in Control API.
274         * Singleton behaviour for JackCoreMidiDriver and JackWinMMEDriver.
276 2011-07-29 Stephane Letz  <letz@grame.fr>
278         * New JackTimedDriver class to be used by JackDummyDriver, JackNetDriver and JackNetOneDriver classes.
280 2011-07-28 Stephane Letz  <letz@grame.fr>
282         * Enable explicit channel mapping in CoreAudio driver.
284 2011-07-25 Stephane Letz  <letz@grame.fr>
286         * NetJack2: no more timeout, correct JackWaitThreadedDriver::Execute. 
288 2011-07-25 Stephane Letz  <letz@grame.fr>
290         * NetJack2: improve latency management, cleanup. 
292 2011-07-23 Stephane Letz  <letz@grame.fr>
294         * Possible fix for http://trac.jackaudio.org/ticket/193.
296 2011-07-22 Stephane Letz  <letz@grame.fr>
298         * NetJack2: improve error reporting.
300 2011-07-16 Stephane Letz  <letz@grame.fr>
302         * Error in JackActivationCount::Signal now uses jack_log instead of jack_error.
303         * EXPORT macro renamed to LIB_EXPORT.
305 2011-07-12 Stephane Letz  <letz@grame.fr>
307         * NetJack2 now only send data on network only is ports are connected both sides.
309 2011-07-11 Stephane Letz  <letz@grame.fr>
311         * Add JACK_NETJACK_PORT and JACK_NETJACK_MULTICAST environment variables for NetJack2.
313 2011-07-08 Stephane Letz  <letz@grame.fr>
315         * NetJack2 now only send data on network for connected ports.
317 2011-07-03 Stephane Letz  <letz@grame.fr>
319         * More debug code in JackMMCSS class.
321 2011-07-03 Stephane Letz  <letz@grame.fr>
323         * -l in JackCoreAudioDriver now display devices names and then quit.
325 2011-07-01 Stephane Letz  <letz@grame.fr>
327         * Fix bugs in JackNetAdapter.
329 2011-06-29 Stephane Letz  <letz@grame.fr>
331         * Special CATCH_CLOSE_EXCEPTION_RETURN to handle Close API calls. 
333 2011-06-28 Stephane Letz  <letz@grame.fr>
335         * Another round of code improvements to handle completely buggy Digidesign CoreAudio user-land driver. 
337 2011-06-20 Stephane Letz  <letz@grame.fr>
339         * Correct Dummy driver.
341 2011-06-17 Stephane Letz  <letz@grame.fr>
343         * NetJack2: connection error handling.
345 2011-06-16 Stephane Letz  <letz@grame.fr>
347         * Changes in NetJack2 connection management: no more timeout, any transmission error considered as fatal.
348         * NetJack2: timeout again...
350 2011-06-11 Stephane Letz  <letz@grame.fr>
352         * Special version of jack_attach_shm/jack_release_shm on client side for POSIX shared memory, to solve a memory leak issue.
354 2011-06-10 Stephane Letz  <letz@grame.fr>
356         * SaveConnections/RestoreConnections in NetDriver.
357         * SaveConnections/RestoreConnections moved in JackAudioDriver.
359 2011-06-09 Stephane Letz  <letz@grame.fr>
361         * Correct NetJack2 connection handling.
363 2011-05-27 Stephane Letz  <letz@grame.fr>
365         * Correct rd_acquire in dbus code.
367 2011-05-16 Stephane Letz  <letz@grame.fr>
369         * Correct OSX real-time thread setup.
371 2011-05-11 Stephane Letz  <letz@grame.fr>
373         * Correct MIDI in NetJack2.
375 2011-05-05 Stephane Letz  <letz@grame.fr>
377         * Libjacknet in progress.
379 2011-05-02 Stephane Letz  <letz@grame.fr>
381         * Merge branch switch-master-port-registration-notifications: correct driver port registration.
383 2011-04-21 Stephane Letz  <letz@grame.fr>
385         * CELT code for NetJack2.
387 2011-04-20 Stephane Letz  <letz@grame.fr>
389         * Add XRun detection in PortAudio driver.
391 2011-04-18 Stephane Letz  <letz@grame.fr>
393         * JackWeakAPI.cpp renamed in JackWeakAPI.c.
395 2011-04-04 Stephane Letz  <letz@grame.fr>
397         * Correct driver lifetime management.
399 2011-04-03 Stephane Letz  <letz@grame.fr>
401         * Fix in JackCoreAudioDriver::Read when there is no inputs.
403 2011-04-02 Stephane Letz  <letz@grame.fr>
405         * NetDriver can now ask for in/out values from the master (in progress).
406         * Correct drivers parameter settings.
408 2011-04-01 Stephane Letz  <letz@grame.fr>
410         * Merge newer-midi branch (Devin Anderson redesign of the MIDI drivers: alsarawmidi, ffado, coremidi and winmme).
411         * Cleanup JackThreadedDriver::Stop.
412         * Correct JackNetOneDriver::Close.
413         * Correction in jackdmp.cpp: notify_server_stop should be done after server destruction.
414         * Improve error management in JackNetDriver. 
416 2011-03-30 Stephane Letz  <letz@grame.fr>
418         * Version 1.9.8 started. 
420 2011-03-29 Stephane Letz  <letz@grame.fr>
422         * Synchronize JackWeakAPI.cpp with new APIs. 
424 2011-03-28 Stephane Letz  <letz@grame.fr>
426         * Correction of jack_connect/jack_disconnect: use of jack_activate and volatile keyword for thread shared variable.
427         * Correction of JackNetOneDriver for latest CELT API.
429 2011-03-24 Stephane Letz  <letz@grame.fr>
431         * Implement renaming in JackDriver::Open to avoid name collision (thanks Devin Anderson).
432         * Correct alsa_driver_restart (thanks Devin Anderson).
434 2011-03-23 Stephane Letz  <letz@grame.fr>
436         * Devin Anderson server-ctl-proposal branch merged on trunk: improved control API, slave backend reworked.
438 2011-03-14 Stephane Letz  <letz@grame.fr>
440         * Correct JackEngine::NotifyGraphReorder, update JackDebugClient with latest API.
442 2011-03-13 Stephane Letz  <letz@grame.fr>
444         * Rework internal slave driver management, JackServerGlobals now handle same parameters as jackdmp.
446 2011-03-11 Stephane Letz  <letz@grame.fr>
448         * Correct JackNetMaster::SetBufferSize.
449         * Use jack_default_audio_sample_t instead of float consistently, fix ticket #201."
450         * -X now allows to add several slave backends, add -I to load several internal clients.
452 2011-03-10 Stephane Letz  <letz@grame.fr>
454         * Latency callback must always be activated.
455         * Correct TopologicalSort. 
456         * Add jack_midi_dump client.
457         * Synchronize netjack1 with JACK1 version.
458         * Synchronize jack_connect/jack_disconnect with JACK1 version.
460 2011-03-09 Stephane Letz  <letz@grame.fr>
462         * jack_client_has_session_callback implementation.
463         * Fix jdelay for new latency API.
464         * Check requested buffer size and limit to 1..8192 - avoids weird behaviour caused by jack_bufsize foobar.
465         * jack_port_type_get_buffer_size implementation.
466         * Stop using alloca and allocate buffer on the heap for alsa_io.
467         * Rename jdelay to jack_iodelay as per Fons' request.
468         * Call buffer size callback in activate (actually this is done on client side in the RT thread Init method).
469         * JackEngine::ComputeTotalLatencies in progress.
471 2011-03-08 Stephane Letz  <letz@grame.fr>
473         * Use of latency range in all backends.
474         * ComputeTotalLatencies now a client/server call.
475         * Add latent test client for latency API.
476         * Also print playback and capture latency in jack_lsp.
478 2011-03-04 Stephane Letz  <letz@grame.fr>
480         * Revert r4119 (RT notification in the server). JackAudioDriver::ProcessSync now skip backend write in case of graph process failure.
481         * Fix incorrect error codes in alsa/usx2y.c and alsa/JackAlsaDriver.cpp.
482         * Synchronize public headers with JACK1. Update OSX project.
483         * New latency API implementation (in progress).
485 2011-02-09 Stephane Letz  <letz@grame.fr>
487         * Remove JackPortIsActive flag.
489 2011-02-07 Stephane Letz  <letz@grame.fr>
491         * Valerio Pilo second CAS for ARMv7 patch.
493 2011-02-03 Stephane Letz  <letz@grame.fr>
495         * Valerio Pilo CAS for ARMv7 patch.
497 2011-01-11 Stephane Letz  <letz@grame.fr>
499         * Adrian Knoth jack_lsp patch.
501 2010-11-17 Stephane Letz  <letz@grame.fr>
503         * ALSA backend: suspend/resume handling (jack1 r4075).
504         * Correct dummy driver.
506 2010-11-05 Stephane Letz  <letz@grame.fr>
508         * In jackdmp.cpp, jackctl_setup_signals moved before jackctl_server_start. 
509         * Correct symbols export in backends on OSX.
511 2010-11-03 Stephane Letz  <letz@grame.fr>
513         * 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.
515 2010-10-30 Stephane Letz  <letz@grame.fr>
517         * Correct JackServer::Open to avoid a race when control API is used on OSX. 
519 2010-10-29 Stephane Letz  <letz@grame.fr>
521         * Correct lsp.c code.
522         * Add note about unique port-name requirement.
524 2010-09-08 Stephane Letz  <letz@grame.fr>
526         * Sync JackAlsaDriver::alsa_driver_check_card_type with JACK1 backend.
528 2010-08-30 Stephane Letz  <letz@grame.fr>
530         * Version 1.9.7 started.
532 2010-08-25 Stephane Letz  <letz@grame.fr>
534         * In JackCoreAudioDriver, fix an issue when no value is given for input.
536 2010-08-23 Stephane Letz  <letz@grame.fr>
538         * Adrian Knoth fix for linux cycle.h (ticket 188).
540 2010-07-07 Stephane Letz  <letz@grame.fr>
542         * Jan Engelhardt patch for get_cycles on SPARC.
543         * Adrian Knoth hurd.patch, kfreebsd-fix.patch and alpha_ia64-sigsegv.patch from ticket 177.
545 2010-06-29 Stephane Letz  <letz@grame.fr>
547         * Arnold Krille firewire snooping patch.
549 2010-06-16 Stephane Letz  <letz@grame.fr>
551         * David Garcia Garzon unused_pkt_buf_field_jack2 netone patch.
553 2010-06-13 Stephane Letz  <letz@grame.fr>
555         * Fix JackPosixSemaphore::TimedWait: same behavior as JackPosixSemaphore::Wait regarding EINTR.
557 2010-05-31 Stephane Letz  <letz@grame.fr>
559         * Fix from Fernando Lopez-Lezcano for compilation on fc13.
561 2010-05-30 Stephane Letz  <letz@grame.fr>
563         * David Garcia Garzon netone patch.
565 2010-05-27 Stephane Letz  <letz@grame.fr>
567         * In JackCoreAudioDriver, move code called in MeasureCallback to be called once in IO thread.
569 2010-05-07 Stephane Letz  <letz@grame.fr>
571         * Add tests to validate intclient.h API.
572         * On Linux, inter-process synchronization primitive switched to POSIX semaphore.
574 2010-04-16 Stephane Letz  <letz@grame.fr>
576         * Make jack_connect/jack_disconnect wait for effective port connection/disconnection.
578 2010-04-07 Stephane Letz  <letz@grame.fr>
580         * Remove call to exit in library code.
582 2010-03-26 Stephane Letz  <letz@grame.fr>
584         * ffado-portname-sync.patch from ticket #163 applied.
586 2010-03-24 Stephane Letz  <letz@grame.fr>
588         * On Windows, now use TRE library for regexp (BSD license instead of GPL license).
590 2010-03-19 Stephane Letz  <letz@grame.fr>
592         * Fix some file header to have library side code use LGPL.
593         * Apply srcfactor.diff patch for ticket #162.
595 2010-03-06 Stephane Letz  <letz@grame.fr>
597         * Arnold Krille firewire patch.
598         * Raise JACK_DRIVER_PARAM_STRING_MAX and JACK_PARAM_STRING_MAX to 127 otherwise some audio drivers cannot be loaded on OSX.
600 2010-03-04 Stephane Letz  <letz@grame.fr>
602         * Correct JackMachServerChannel::Execute: keep running even in error cases.
603         * Raise JACK_PROTOCOL_VERSION number.
605 2010-03-03 Stephane Letz  <letz@grame.fr>
607         * Correct JackGraphManager::DeactivatePort.
609 2010-03-02 Stephane Letz  <letz@grame.fr>
611         * Improve JackCoreAudioDriver and JackCoreAudioAdapter: when no devices are described, takes default input and output and aggregate them.
613 2010-02-15 Stephane Letz  <letz@grame.fr>
615         * Version 1.9.6 started.
617 2010-01-29 Gabriel M. Beddingfield <gabriel@teuton.org>
619         * Change JackEngineProfiling and JackAudioAdapterInterface gnuplot scripts to output SVG instead of PDF.
621 2009-12-15 Stephane Letz  <letz@grame.fr>
623         * Shared memory manager was calling abort in case of fatal error, now return an error in caller.
625 2009-12-13 Stephane Letz  <letz@grame.fr>
627         * Mario Lang alsa_io time calculation overflow patch.
629 2009-12-10 Stephane Letz  <letz@grame.fr>
631         * Use a QUIT notification to properly quit the server channel, the server channel thread can then be 'stopped' instead of 'canceled'.
633 2009-12-09 Stephane Letz  <letz@grame.fr>
635         * When threads are cancelled, the exception has to be rethrown. 
637 2009-12-08 Stephane Letz  <letz@grame.fr>
639         * Josh Green ALSA driver capture only patch.  
641 2009-12-03 Stephane Letz  <letz@grame.fr>
643         * Fix JackCoreMidiDriver::ReadProcAux when ring buffer is full (thanks Devin Anderson).  
645 2009-12-02 Stephane Letz  <letz@grame.fr>
647         * Special code in JackCoreAudio driver to handle completely buggy Digidesign CoreAudio user-land driver. 
648         * Ensure that client-side message buffer thread calls thread_init callback if/when it is set by the client (backport of JACK1 rev 3838).
649         * Check dynamic port-max value.
651 2009-12-01 Stephane Letz  <letz@grame.fr>
653         * Fix port_rename callback: now both old name and new name are given as parameters.
655 2009-11-30 Stephane Letz  <letz@grame.fr>
657         * Devin Anderson patch for Jack FFADO driver issues with lost MIDI bytes between periods (and more). 
659 2009-11-29 Stephane Letz  <letz@grame.fr>
661         * More robust sample rate change handling code in JackCoreAudioDriver.
663 2009-11-24 Stephane Letz  <letz@grame.fr>
665         * Dynamic choice of maximum port number.
667 2009-11-23 Stephane Letz  <letz@grame.fr>
669         * Peter L Jones patch for NetJack1 compilation on Windows.
671 2009-11-20 Stephane Letz  <letz@grame.fr>
673         * Version 1.9.5 started.
674         * Client debugging code improved.
676 2009-11-18 Stephane Letz  <letz@grame.fr>
678         * Sync JackCoreAudioAdapter code with JackCoreAudioDriver.
680 2009-11-17 Stephane Letz  <letz@grame.fr>
682         * In JackCoreAudio driver, clock drift compensation in aggregated devices working.
683         * In JackCoreAudio driver, clock drift compensation semantic changed a bit: when on, does not activate if not needed (same clock domain).
685 2009-11-16 Stephane Letz  <letz@grame.fr>
687         * In JackCoreAudio driver, (possibly) clock drift compensation when needed in aggregated devices.
689 2009-11-14 Stephane Letz  <letz@grame.fr>
691         * Sync with JACK1: -r parameter now used for no-realtime, realtime (-R) is now default, usable backend given vie platform.
693 2009-11-13 Stephane Letz  <letz@grame.fr>
695         * Better memory allocation error checking in ringbuffer.c, weak import improvements.
696         * Memory allocation error checking for jack_client_new and jack_client_open (server and client side).
697         * Memory allocation error checking in server for RPC.
698         * Simplify server temporary mode: now use a JackTemporaryException.
699         * Lock/Unlock shared memory segments (to test...).
701 2009-11-12 Stephane Letz  <letz@grame.fr>
703         * Better memory allocation error checking on client (library) side. 
705 2009-11-11 Stephane Letz  <letz@grame.fr>
707         * Correct JackCoreAudio driver when empty strings are given as -C, -P or -d parameter. 
709 2009-11-10 Stephane Letz  <letz@grame.fr>
711         * Correct JackInfoShutdownCallback prototype, two new JackClientProcessFailure and JackClientZombie JackStatus code.  
713 2009-11-09 Stephane Letz  <letz@grame.fr>
715         * Correct JackGraphManager::GetBuffer for the "client loop with one connection" case: buffer must be copied.
717 2009-11-07 Stephane Letz  <letz@grame.fr>
719         * Fix AcquireRealTime and DropRealTime: now distinguish when called from another thread (AcquireRealTime/DropRealTime) and from the thread itself (AcquireSelfRealTime/DropSelfRealTime).
720         * Correct JackPosixThread::StartImp: thread priority setting now done in the RT case only.
722 2009-11-06 Stephane Letz  <letz@grame.fr>
724         * Correctly save and restore RT mode state in freewheel mode.
725         * Correct freewheel code on client side.
727 2009-11-05 Stephane Letz  <letz@grame.fr>
729         * No reason to make jack_on_shutdown deprecated, so revert the incorrect change.
730         * Thread AcquireRealTime and DropRealTime were (incorrectly) using fThread field. Use pthread_self()) (or GetCurrentThread() on Windows) to get the calling thread.
732 2009-10-30 Stephane Letz  <letz@grame.fr>
734         * In JackCoreAudioDriver, improve management of input/output channels: -1 is now used internally to indicate a wanted max value. 
735         * In JackCoreAudioDriver::OpenAUHAL, correct stream format setup and cleanup. 
736         * Correct crash bug in JackAudioAdapterInterface when not input is used in adapter (temporary fix...)
737         * Sync JackCoreAudioAdapter code on JackCoreAudioDriver one.
738         * JACK_SCHED_POLICY switched to SCHED_FIFO.
739         * Now can aggregate device that are themselves AD.
741 2009-10-29 Stephane Letz  <letz@grame.fr>
743         * In JackCoreAudioDriver::Start, wait for the audio driver to effectively start (use the MeasureCallback).
745 2009-10-28 Stephane Letz  <letz@grame.fr>
747         * In JackCoreAudioDriver, force the SR value to the wanted one *before* creating aggregate device (otherwise creation will fail). 
748         * In JackCoreAudioDriver, better cleanup of AD when intermediate open failure.
750 2009-10-27 Stephane Letz  <letz@grame.fr>
752         * Dynamic system version detection in JackCoreAudioDriver to either create public or private aggregate device.
754 2009-10-26 Stephane Letz  <letz@grame.fr>
756         * Implement "hog mode" (exclusive access of the audio device) in JackCoreAudioDriver.
757         * Fix jack_set_sample_rate_callback to have he same behavior as in JACK1.
759 2009-10-25 Stephane Letz  <letz@grame.fr>
761         * Improve aggregate device management in JackCoreAudioDriver: now a "private" device only and cleanup properly.
762         * Aggregate device code added to JackCoreAudioAdapter.
764 2009-10-23 Stephane Letz  <letz@grame.fr>
766         * Correct JackProcessSync::LockedTimedWait.
767         * Correct JACK_MESSAGE_SIZE value, particularly in OSX RPC code.
768         * Now start server channel thread only when backend has been started (so in JackServer::Start). Should solve race conditions at start time.
769         * jack_verbose moved to JackGlobals class.
771 2009-10-22 Stephane Letz  <letz@grame.fr>
773         * Correct jackdmp.cpp (failures case were not correct..). Improve JackCoreAudioDriver code. Raise default port number to 2048.
775 2009-10-20 Stephane Letz  <letz@grame.fr>
777         * Add a string parameter to server ==> client notification, add a new JackInfoShutdownCallback type.
778         * CoreAudio backend now issue a JackInfoShutdownCallback when an unrecoverable error is detected (sampling rate change, stream configuration changed)
780 2009-10-17 Stephane Letz  <letz@grame.fr>
782         * Correct server temporary mode: now set a global and quit after server/client message handling is finished.
784 2009-10-15 Stephane Letz  <letz@grame.fr>
786         * Change CoreAudio notification thread setup for OSX Snow Leopard.
788 2009-09-18 Stephane Letz  <letz@grame.fr>
790         * Simplify transport in NetJack2: master only can control transport.
792 2009-09-15 Stephane Letz  <letz@grame.fr>
794         * Correct CPU timing in JackNetDriver, now take cycle begin time after Read.
795         * Fix issues in JackNetDriver::DecodeTransportData and JackNetDriver::Initialize.
797 2009-08-28 Stephane Letz  <letz@grame.fr>
799         * Correct monitor port naming in JackAudioDriver and JackCoreAudioDriver.
800         * 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)
802 2009-07-31 Stephane Letz  <letz@grame.fr>
804         * Use SNDCTL_DSP_SYNCGROUP/SNDCTL_DSP_SYNCSTART API to synchronize input and output in Solaris boomer backend.
806 2009-07-29 Stephane Letz  <letz@grame.fr>
808         * Add a -G parameter in CoreAudio backend (the computation value in RT thread expressed as percent of period).
810 2009-07-28 Stephane Letz  <letz@grame.fr>
812         * Fix CopyAndConvertIn for Solaris backends.
814 2009-07-22 Stephane Letz  <letz@grame.fr>
816         * Version 1.9.4 started.
817         * Solaris boomer backend now working in capture or playback only mode.
818         * Fix control.h for proper compilation on Solaris.
820 2009-07-17 Stephane Letz  <letz@grame.fr>
822         * Loopback backend reborn as a dynamically loadable separated backend.
823         * -L parameter for loopback backend activated again in jackd.
825 2009-07-17 Stephane Letz  <letz@grame.fr>
827         * Big rewrite of Solaris boomer driver, seems to work in duplex mode at least.
829 2009-07-16 Stephane Letz  <letz@grame.fr>
831         * In combined --dbus and --classic compilation code, use PulseAudio acquire/release code.
833 2009-07-15 Stephane Letz  <letz@grame.fr>
835         * Rename JackDriver::Init method to JackDriver::Initialize (to avoid confusion with JackThread::Init method).
836         * Update Solaris boomer driver.
837         * Report some cleanup and documentation improvements done on JACK1 timing functions.
839 2009-07-11 Stephane Letz  <letz@grame.fr>
841         * Raise drivers time out used in synchronous mode.
843 2009-07-09 Stephane Letz  <letz@grame.fr>
845         * Use __attribute__((__packed__)) again, more fixes for 64/32 mixed mode.
846         * Torben Hohn changes for 64/32 mixed mode in wscripts.
847         * Add compile time option for maximum ports per application.
849 2009-07-07 Stephane Letz  <letz@grame.fr>
851         * Use __attribute__((__aligned__(32))) instead of __attribute__((__packed__)) for 64/32 mixed mode.
853 2009-07-03 Stephane Letz  <letz@grame.fr>
855         * Another Tim Bechmann memops.c optimization patch.
857 2009-07-01 Stephane Letz  <letz@grame.fr>
859         * Tim Bechmann memops.c optimization patch.
861 2009-06-30 Stephane Letz  <letz@grame.fr>
863         * Tim Bechmann patch: hammerfall, only release monitor thread, if it has been created.
865 2009-06-19 Stephane Letz  <letz@grame.fr>
867         * Correct JackTransportEngine::MakeAllLocating, sync callback has to be called in this case also.
868         * NetJack2 code: better error checkout, method renaming.
870 2009-06-17 Stephane Letz  <letz@grame.fr>
872         * Move DBus based audio device reservation code in ALSA backend compilation.
874 2009-06-16 Stephane Letz  <letz@grame.fr>
876         * Correct JackFifo::TimedWait for EINTR handling.
878 2009-06-05 Stephane Letz  <letz@grame.fr>
880         * Correct jack_set_error_function, jack_set_info_function and jack_set_thread_creator functions.
882 2009-05-18 Stephane Letz  <letz@grame.fr>
884         * 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.
886 2009-05-15 Stephane Letz  <letz@grame.fr>
888         * Move InitFrameTime in JackDriver::Start method.
890 2009-05-13 Stephane Letz  <letz@grame.fr>
892         * Reworked Torben Hohn fix for server restart issue on Windows.
894 2009-05-11 Stephane Letz  <letz@grame.fr>
896         * New jack_free function added in jack.h.
897         * Torben Hohn fix for InitTime and GetMicroSeconds in JackWinTime.c.
899 2009-05-07 Stephane Letz  <letz@grame.fr>
901         * Cleanup "loopback" stuff in server.
903 2009-05-06 Stephane Letz  <letz@grame.fr>
905         * Fix transport callback (timebase master, sync) issue when used after jack_activate (RT thread was not running).
906         * D-Bus access for jackctl_server_add_slave/jackctl_server_remove_slave API.
908 2009-05-05 Stephane Letz  <letz@grame.fr>
910         * First working version of native MIDI backend (JackCoreMidiDriver, JackWinMMEDriver).
912 2009-04-22 Stephane Letz  <letz@grame.fr>
914         * jackctl_server_load_master renamed to jackctl_server_switch_master, jackctl_server_unload_master is removed.
916 2009-04-21 Stephane Letz  <letz@grame.fr>
918         * Add jackctl_server_load_master/jackctl_server_unload_master API.
920 2009-04-20 Stephane Letz  <letz@grame.fr>
922         * In ALSA audio card reservation code, tries to open the card even if reservation fails.
923         * Clock source setting on Linux.
925 2009-04-08 Stephane Letz  <letz@grame.fr>
927         * Native MIDI backend (JackCoreMidiDriver, JackWinMMEDriver) in progress.
929 2009-04-03 Stephane Letz  <letz@grame.fr>
931         * Simplify JackClient RT code, jack_thread_wait API marked deprecated."
933 2009-03-29 Stephane Letz  <letz@grame.fr>
935         * Cleanup JackInternalClient code.
937 2009-03-27 Stephane Letz  <letz@grame.fr>
939         * Add a buffer size callback for netmaster that just remove the client (it will be recreated with the new parameters).
941 2009-03-26 Stephane Letz  <letz@grame.fr>
943         * First working JackBoomerDriver two threads version.
945 2009-03-24 Stephane Letz  <letz@grame.fr>
947         * New JackBoomerDriver class for Boomer driver on Solaris.
948         * Add mixed 32/64 bits mode (off by default).
950 2009-03-23 Stephane Letz  <letz@grame.fr>
952         * Version 1.9.3 started.
954 2009-03-19 Stephane Letz  <letz@grame.fr>
956         * Tim Blechmann optimization patch (inlining some heavy used methods).
958 2009-03-12 Stephane Letz  <letz@grame.fr>
960         * Virtualize and allow overriding of thread creation function, to allow Wine support (from JACK1).
962 2009-03-12 Stephane Letz  <letz@grame.fr>
964         * Try automatic adaptative mode in adapters.
966 2009-03-11 Stephane Letz  <letz@grame.fr>
968         * Client incorrect re-naming fixed: now done at socket level also.
970 2009-03-10 Stephane Letz  <letz@grame.fr>
972         * Add -g (ring-buffer) parameter to netadapter.
973         * Automatic adaptative ringbuffer size mode when -g = 0.
975 2009-03-09 Stephane Letz  <letz@grame.fr>
977         * Use Torben Hohn PI controler code for adapters (in progress).
979 2009-03-05 Stephane Letz  <letz@grame.fr>
981         * Support for BIG_ENDIAN machines in NetJack2 for transport data.
982         * Add auto_connect parameter in netmanager and netadapter.
984 2009-03-03 Stephane Letz  <letz@grame.fr>
986         * More robust profiling tools when clients come and go.
988 2009-03-01 Stephane Letz  <letz@grame.fr>
990         * Raise default port number to 1024.
992 2009-02-27 Stephane Letz  <letz@grame.fr>
994         * Improve generated gnuplot files for adapting code.
996 2009-02-25 Stephane Letz  <letz@grame.fr>
998         * Major cleanup in adapter code.
1000 2009-02-25 Stephane Letz  <letz@grame.fr>
1002         * Fix JackNetDriver::Close method.
1003         * For audio device reservation, add card_to_num function.
1004         * Fix buffer size and sample rate handling in JackAlsaAdapter.
1005         * Add control for adapter ringbuffer size.
1006         * Fix JackAlsaAdapter.h for 64 bits compilation.
1008 2009-02-23 Stephane Letz  <letz@grame.fr>
1010         * Another fix in systemdeps.h and types.h: jack_time_t now uniquely defined in types.h.
1011         * Move generic code and data in JackNetInterface and JackNetMasterInterface classes.
1012         * First version of D-Bus based audio device reservation.
1014 2009-02-20 Stephane Letz  <letz@grame.fr>
1016         * Add InitConnection and InitRendering methods in JackNetSlaveInterface, better packet type checking in JackNetSlaveInterface::SyncRecv.
1017         * Change fMulticastIP handling in JackNetInterface.
1018         * Cleanup systemdeps.h on Windows.
1020 2009-02-17 Stephane Letz  <letz@grame.fr>
1022         * Fix the mutex/signal classes on Windows.
1023         * Client incorrect re-naming fixed: now done at fifo level only.
1025 2009-02-16 Stephane Letz  <letz@grame.fr>
1027         * Rework the mutex/signal classes. Use them in JackMessageBuffer.
1029 2009-02-11 Stephane Letz  <letz@grame.fr>
1031         * Merge Solaris branch back on trunk.
1032         * Equality of input and output buffer size removed (for now) in JackOSSDriver.
1034 2009-02-10 Stephane Letz  <letz@grame.fr>
1036         * Add a resample quality parameter in netadapter.
1038 2009-02-09 Stephane Letz  <letz@grame.fr>
1040         * Use PRIu32 kind of macro in JackAlsaDriver again.
1041         * Now correctly return an error if JackServer::SetBufferSize could not change the buffer size (and was just restoring the current one).
1043 2009-02-05 Stephane Letz  <letz@grame.fr>
1045         * Add a resample quality parameter in audioadapter.
1047 2009-02-01 Stephane Letz  <letz@grame.fr>
1049         * Add a JACK_INTERNAL_DIR environment variable to be used for internal clients.
1051 2009-01-30 Stephane Letz  <letz@grame.fr>
1053         * In NetJack2, fix a bug when capture or playback only channels are used.
1055 2009-01-29 Stephane Letz  <letz@grame.fr>
1057         * Support for "-h" option in internal clients to print the parameters. 
1058         * Support for BIG_ENDIAN machines in NetJack2 for MIDI ports.
1060 2009-01-28 Stephane Letz  <letz@grame.fr>
1062         * Support for BIG_ENDIAN machines in NetJack2.
1064 2009-01-27 Stephane Letz  <letz@grame.fr>
1066         * Better recovery of network overload situations, now "resynchronize" by skipping cycles."
1068 2009-01-26 Stephane Letz  <letz@grame.fr>
1070         * Fix JackNetInterface::SetNetBufferSize for socket buffer size computation and JackNetMasterInterface::DataRecv if synch packet is received, various cleanup.
1071         * Fix in JackAlsaAdapter::Open.
1072         * Simplify audio packet order verification.
1073         * Set default mode to 'slow' in JackNetDriver and JackNetAdapter.
1075 2009-01-19 Stephane Letz  <letz@grame.fr>
1077         * Synchronize ALSA backend code with JACK1 one.
1079 2009-01-17 Stephane Letz  <letz@grame.fr>
1081         * JackMessageBuffer was using thread "Stop" scheme in destructor, now use the safer thread "Kill" way. 
1083 2009-01-14 Stephane Letz  <letz@grame.fr>
1085         * Cleanup server starting code for clients directly linked with libjackserver.so.
1087 2009-01-09 Stephane Letz  <letz@grame.fr>
1089         * JackProfiler scan already running clients (so can now be added anytime in the graph).
1091 2009-01-09 Stephane Letz  <letz@grame.fr>
1093         * New JackProfiler class for real-time server monitoring. 
1095 2009-01-07 Stephane Letz  <letz@grame.fr>
1097         * Use up to BUFFER_SIZE_MAX frames in midi ports, fix for ticket #117.
1099 2009-01-05 Stephane Letz  <letz@grame.fr>
1101         * Synchronize jack2 public headers with JACK1 ones. 
1102         * Implement jack_client_real_time_priority and jack_client_max_real_time_priority API.
1104 2008-12-18 Stephane Letz  <letz@grame.fr>
1106         * For ALSA driver, synchronize with latest JACK1 memops functions. 
1107         * Use memops functions in JackOSSDriver.
1108         * Use memops functions in JackOSSAdapter.
1110 2008-12-17 Stephane Letz  <letz@grame.fr>
1112         * Use JACK_DRIVER_DIR variable in internal clients loader.
1114 2008-12-16 Stephane Letz  <letz@grame.fr>
1116         * Fix JackOSSDriver::SetBufferSize (was crashing when restoring old size), fix ticket #111.
1117         * Force memory page in of profiling array in JackOSSDriver::Open.
1118         * Cleanup profiling code.
1119         * Client and library global context cleanup in case of incorrect shutdown handling (that is applications not correctly closing client after server has shutdown).
1121 2008-12-08 Stephane Letz  <letz@grame.fr>
1123         * Forbid JackOSSDriver to run in "aynchronous" mode, correct DSP CPU computation.
1125 2008-12-04 Stephane Letz  <letz@grame.fr>
1127         * More profiling in JackOSSDriver: sample conversion duration is measured. 
1129 2008-12-02 Stephane Letz  <letz@grame.fr>
1131         * Optimize JackOSSDriver: no samples conversion if ports are not connected.
1133 2008-12-01 Stephane Letz  <letz@grame.fr>
1135         * Force preload of memory table in JackEngineProfiling.
1137 2008-11-27 Stephane Letz  <letz@grame.fr>
1139         * Add timing profiling code in JackOSSDriver.
1140         * Report ringbuffer.c fixes from JACK1.
1142 2008-11-21 Stephane Letz  <letz@grame.fr>
1144         * Report ringbuffer.c fixes from JACK1.
1145         * Better isolation of server and clients system resources to allow starting the server in several user account at the same time.
1146         * Correct ressource cleanup in case of driver open failure.
1148 2008-11-19 Stephane Letz  <letz@grame.fr>
1150         * Libjack shutdown handler does not "deactivate" (fActive = false) the client anymore, so that jack_deactivate correctly does the job later on.
1151         * Filter SIGPIPE to avoid having client get a SIGPIPE when trying to access a died server. 
1153 2008-11-14 Stephane Letz  <letz@grame.fr>
1155         * Version 1.9.1 started, fix symbols export in ringbuffer.c, cleanup on Windows.
1157 2008-11-13 Stephane Letz  <letz@grame.fr>
1159         * Fix jackctl_server_unload_internal.
1161 2008-10-30 Stephane Letz  <letz@grame.fr>
1163         * Correct JackClient::ShutDown.
1164         * TimeOut management in JackNetUnixSocket on Solaris.
1166 2008-10-23 Stephane Letz  <letz@grame.fr>
1167         
1168         * In JackOSSDriver, vmix mode is used by default, exclusif (O_EXCL) mode can be selected with -e option.
1169         * Fix a crash in JackEngine::Close when backend cannot be loaded.
1170         * Tim Blechmann optimization patch.
1171         * Backport of latest Paul alsa_seqmidi changes.
1173 2008-10-15 Stephane Letz  <letz@grame.fr>
1174         
1175         * Fix a conflict with Audio Hijack in JackCoreAudioDriver. 
1177 2008-10-09 Stephane Letz  <letz@grame.fr>
1178         
1179         * Use a mutex to make jack_client_open/jack_client_close thread safe, remove use of jack_init/jack_uninit.
1181 2008-10-08 Stephane Letz  <letz@grame.fr>
1182         
1183         * Fix a SMP related bug introduced in rev 2957: remove the __SMP__ flag and define LOCK for SMP in all cases.
1185 2008-10-02 Stephane Letz  <letz@grame.fr>
1186         
1187         * Correct file permission for jack-shm-registry POSIX shared memory segment.
1188         * Checking for libsamplerate in waf, fix ticket #89." 
1189         * Header cleanup, add --clients and --ports options in configure.
1191 2008-09-22 Stephane Letz  <letz@grame.fr>
1192         
1193         * Socket time out implementation on Solaris.
1194         * Fix a conflict with Audio Hijack in JackCoreAudioDriver. 
1196 2008-10-10 Stephane Letz  <letz@grame.fr>
1197         
1198         * Improve OSS backend: SNDCTL_DSP_SETFRAGMENT must be done before, use of AFMT_S16_LE kind of values. 
1200 2008-10-09 Stephane Letz  <letz@grame.fr>
1201         
1202         * First version of OSS backend.
1203         * Use a mutex to make jack_client_open/jack_client_close thread safe, remove use of jack_init/jack_uninit.
1205 2008-10-08 Stephane Letz  <letz@grame.fr>
1206         
1207         * Fix a SMP related bug introduced in rev 2957: remove the __SMP__ flag and define LOCK for SMP in all cases.
1209 2008-10-03 Stephane Letz  <letz@grame.fr>
1210         
1211         * Add engine profiling tools.
1213 2008-10-02 Stephane Letz  <letz@grame.fr>
1214         
1215         * Correct file permission for jack-shm-registry POSIX shared memory segment.
1216         * Checking for libsamplerate in waf, fix ticket #89." 
1217         * Header cleanup, add --clients and --ports options in configure.
1219 2008-10-01 Stephane Letz  <letz@grame.fr>
1221         * First Solaris version.
1223 2008-09-22 Stephane Letz  <letz@grame.fr>
1224         
1225         * Cleanup jack_port_id_t/jack_port_t mess, should work again on 64 bits machines."
1227 2008-09-20 Stephane Letz  <letz@grame.fr>
1228         
1229         * Michael Voigt JackAPI cleanup patch.
1231 2008-09-19 Stephane Letz  <letz@grame.fr>
1232         
1233         * Michael Voigt JackTime cleanup patch.
1235 2008-09-17 Stephane Letz  <letz@grame.fr>
1236         
1237         * New JackDriverInfo class to cleanup driver loading code.
1239 2008-09-08 Stephane Letz  <letz@grame.fr>
1240         
1241         * Better symbols export for server and client side libraries. 
1243 2008-09-06 Stephane Letz  <letz@grame.fr>
1244         
1245         * Correct driver hierarchy on macosx and windows targets.
1247 2008-09-05 Stephane Letz  <letz@grame.fr>
1248         
1249         * Merge Michael Voigt "drops" branch after reorganization step.
1251 2008-09-04 Stephane Letz  <letz@grame.fr>
1252         
1253         * Michael Voigt 4th source reorganization patch.
1254         * Correct JackNetDriver initialization.
1256 2008-09-03 Stephane Letz  <letz@grame.fr>
1257         
1258         * Implement DBUS entry points to handle internal clients, add new commands in jack_control.
1259         * Add new "desc" (extended description) in jack_driver_desc_t, to be used by backends and internal clients.
1261 2008-09-01 Stephane Letz  <letz@grame.fr>
1262         
1263         * Michael Voigt third source reorganization patch.
1264         * Add new jack_set_port_rename_callback API, jack_port_set_name is now a server request that call port rename callbacks.
1266 2008-08-31 Stephane Letz  <letz@grame.fr>
1267         
1268         * Michael Voigt second source reorganization patch.
1270 2008-08-28 Stephane Letz  <letz@grame.fr>
1271         
1272         * Michael Voigt first source reorganization patch.
1274 2008-08-26 Stephane Letz  <letz@grame.fr>
1275         
1276         * Better parameter handling in JackCoreAudioAdapter.
1277         * Fix memory leaks.
1279 2008-08-23 Stephane Letz  <letz@grame.fr>
1280         
1281         * Implements internal clients management API.
1283 2008-08-22 Stephane Letz  <letz@grame.fr>
1284         
1285         * Move GetCurrentTransportFrame code from JackClient to JackTransportEngine.
1286         * Add a fNetworkSync state in JackTransportEngine used in network.
1288 2008-08-03 Stephane Letz  <letz@grame.fr>
1289         
1290         * Fix JackFrameTimer::Time2Frames and JackTimer::Frames2Time, jack_cpu compiled again.
1292 2008-08-01 Stephane Letz  <letz@grame.fr>
1293         
1294         * Fix desallocation of remaining clients when server quits.
1295         * Close remaining client sockets in JackSocketServerChannel::Close.
1296         * Correct JackClient::Close() to request server close only if server is running.
1298 2008-07-30 Stephane Letz  <letz@grame.fr>
1300         * Remove restriction that port connection could be done only if the client was activated.
1302 2008-07-25 Stephane Letz  <letz@grame.fr>
1304         * Florian Faber patch for 32 bit float (LE only) support to jack's alsa driver.
1305         * Fix a crash bug when desallocating a non completely created external client.
1307 2008-07-24 Stephane Letz  <letz@grame.fr>
1309         * Fix server client OSX special notification mechanism, CoreAudio driver compilation back for 10.4.
1311 2008-07-18 Stephane Letz  <letz@grame.fr>
1313         * Correct audioadapter when a sample rate value different from jack server one is chosen.
1314         * Cleanup in JackTransportEngine, move some code that was in JackClient class.
1315         * Remove transport_type.h file, move transport types in types.h file.
1317 2008-07-12 Stephane Letz  <letz@grame.fr>
1319         * Loopback driver working again.
1321 2008-07-08 Stephane Letz  <letz@grame.fr>
1323         * Add jack_get_descriptor in internal clients API.
1324         * Fix JackFreewheelDriver::Process() in case if client time-out: continue processing until a better recovery strategy is chosen.
1326 2008-07-08 Stephane Letz  <letz@grame.fr>
1328         * Merge windows branch back to trunk.
1330 2008-07-05 Stephane Letz  <letz@grame.fr>
1332         * Netioadapter renamed in audioadapter.
1334 2008-07-04 Stephane Letz  <letz@grame.fr>
1336         * Netioadapter now adapts for buffer size and sample rate changes.
1338 2008-07-03 Stephane Letz  <letz@grame.fr>
1340         * Add IsFixedBufferSize method in all drivers.
1342 2008-07-02 Stephane Letz  <letz@grame.fr>
1344         * New netioadapter in server client.
1346 2008-06-20 Stephane Letz  <letz@grame.fr>
1348         * Add new jack_client_stop_thread and jack_client_kill_thread API.
1349         * New generic BuildClientPath for internal clients loading.
1351 2008-06-19 Stephane Letz  <letz@grame.fr>
1353         * Embed JackEngineControl in JackDriver (starting from Tim Blechmann idea).
1355 2008-06-18 Stephane Letz  <letz@grame.fr>
1357         * On OSX waf now compiles Universal Binaries.
1359 2008-06-17 Stephane Letz  <letz@grame.fr>
1361         * Driver class hierarchy simplification.
1362         * Update waf for compilation on OSX.
1364 2008-06-13 Stephane Letz  <letz@grame.fr>
1366         * Correct JackPosixThread::ThreadHandler termination, do not set buffer size if same value is used.
1367         * Another Tim Blechmann cleanup patch + do no allocate JackClientControl in shared memory for server internal clients.
1369 2008-06-12 Stephane Letz  <letz@grame.fr>
1371         * Another Tim Blechmann patch to remove unnecessary virtual methods.
1373 2008-06-09 Stephane Letz  <letz@grame.fr>
1375         * Improve net driver so that jack clients can be registered even if driver has not yet started. 
1377 2008-06-08 Stephane Letz  <letz@grame.fr>
1379         * Add a missing EXPORT for JackException class. 
1381 2008-06-06 Stephane Letz  <letz@grame.fr>
1383         * Better error checking in JackGraphManager::RemoveAllPorts.
1385 2008-06-05 Stephane Letz  <letz@grame.fr>
1387         * Better control of exported symbols.
1388         * Fix a bug in backend parameter parsing.
1390 2008-06-04 Stephane Letz  <letz@grame.fr>
1392         * Merge of network branch.
1393         * Use of set_threaded_log_function only when needed in RT threads.
1395 2008-06-02 Stephane Letz  <letz@grame.fr>
1397         * Tim Blechmann patch to remove unnecessary virtual methods: choice of the appropriate platform version is now done at compilation time.
1399 2008-06-02 Stephane Letz  <letz@grame.fr>
1401         * Cleanup and correct wscript for example-clients.
1402         * Add a test for coherent freewheel state in JackDebugClient. 
1403         * Cleanup JackMutex class.
1405 2008-05-31 Stephane Letz  <letz@grame.fr>
1407         * Add missing include for proper compilation when jack headers are not installed.
1409 2008-05-30 Stephane Letz  <letz@grame.fr>
1411         * Avoid using Terminate when "quitting" in RT thread. Cleanup JackEngineInterface.
1413 2008-05-29 Stephane Letz  <letz@grame.fr>
1415         * Tim Blechmann patch for JackPosixSemaphore (still to test...).
1416         * Correct JackWinThread::Terminate.
1418 2008-05-28 Stephane Letz  <letz@grame.fr>
1420         * New testMutex test, correct timing in drivers.
1422 2008-05-27 Stephane Letz  <letz@grame.fr>
1424         * Correct timing in drivers: frame time has to be incremented before Read.
1426 2008-05-26 Stephane Letz  <letz@grame.fr>
1428         * Merge control branch.
1429         * Cleanup example clients: use jack_client_open and install a proper 'quit' signal handler.
1431 2008-05-24 Stephane Letz  <letz@grame.fr>
1433         * Tim Blechmann RAII idiom patch for JackServer ressource initialization.
1435 2008-05-23 Stephane Letz  <letz@grame.fr>
1437         * Use StartSync to start the client notification thread, otherwise initial notifications from the server may be lost.
1438         * Tim Blechmann JackEngine cleanup patch.
1439         * Call init callback in notification thread also.
1441 2008-05-22 Stephane Letz  <letz@grame.fr>
1443         * Correct JackPort::ClearBuffer.
1444         * Correct JackEngine inheritance graph.
1446 2008-05-21 Stephane Letz  <letz@grame.fr>
1448         * Correct JackEngine::PortUnRegister, JackEngine::ClientCloseAux and JackEngine::ClientDeactivate to correctly send notifications. 
1449         * New jack_get_client_pid API, implemented on server side.
1450         * Better handling of graph state read functions: never wait when used in the real-time thread, current state is used.
1452 2008-05-20 Stephane Letz  <letz@grame.fr>
1454         * Package number bumped to 1.90 everywhere.
1455         * Implementation of jack_get_max_delayed_usecs, jack_get_xrun_delayed_usecs and jack_reset_max_delayed_usecs.
1457 2008-05-19 Stephane Letz  <letz@grame.fr>
1459         * Use of placement new for dynamic port allocation is possibly not safe... so avoid that until a definitive answer is found.
1460         * JackAudioDriver::ProcessAsync and JackAudioDriver::ProcessSync were broken at some point: 0 has to be returned in all cases.
1462 2008-05-16 Stephane Letz  <letz@grame.fr>
1464         * 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.
1466 2008-05-14 Stephane Letz  <letz@grame.fr>
1468         * Fix JackEngine::Close to only delete "loadable" clients.
1470 2008-05-13 Stephane Letz  <letz@grame.fr>
1472         * Fix exception handling in JackShmMem::operator new.
1473         * Fix JackMutex constructor.
1475 2008-05-12 Stephane Letz  <letz@grame.fr>
1477         * Allows wrapper library to log in a file (using JACK_WRAPPER_DEBUG=file).
1479 2008-05-09 Stephane Letz  <letz@grame.fr>
1481         * Mike Taht's fix for proper alsa xrun duration measurement.
1483 2008-05-06 Stephane Letz  <letz@grame.fr>
1485         * Fix JackPosixThread::StartImp and JackWinThread::StartImp.
1487 2008-05-05 Stephane Letz  <letz@grame.fr>
1489         * Fix JackClient::Close: notification channel is stopped first to avoid receiving notifications while closing and Close is again a synchronous call.
1490         * No more remaining client close in JackEngine::Close().
1492 2008-05-01 Stephane Letz  <letz@grame.fr>
1494         * Fix JackMachClientChannel::InternalClientLoad.
1495         * Correct internal client loading.
1496         * For threaded drivers, AcquireRealTime is called after Init step.
1498 2008-04-30 Stephane Letz  <letz@grame.fr>
1499                 
1500         * Fix JackRestartThreadedDriver::Execute.
1501         * Better handling of init and run state in JackThread.
1503 2008-04-28 Stephane Letz  <letz@grame.fr>
1504                 
1505         * Add exceptions management to distinguish drivers recoverable errors from non recoverable ones. Will be used in special threaded drivers (for network).
1507 2008-04-25 Stephane Letz  <letz@grame.fr>
1508                 
1509         * Correct JackServerGlobals::Init: now check is server is already started.
1511 2008-04-24 Stephane Letz  <letz@grame.fr>
1512                 
1513         * Correct internal client load.
1515 2008-04-10 Stephane Letz  <letz@grame.fr>
1516                 
1517         * Remove Linux Makefile, update Readme.
1519 2008-04-03 Stephane Letz  <letz@grame.fr>
1520                 
1521         * Correct a dirty port array issue in JackGraphManager::GetPortsAux.
1523 2008-03-31 Stephane Letz  <letz@grame.fr>
1524                 
1525         * New SetNonBlocking method for JackSocket.
1527 2008-03-29 Stephane Letz  <letz@grame.fr>
1528                 
1529         * Correct a missing parameter in the usage message of jack_midiseq.
1530         * Add a client counter in wrapper layer: library is unloaded only when all clients have been closed.
1532 2008-03-28 Stephane Letz  <letz@grame.fr>
1533                 
1534         * Correct PortRegister, port name checking must be done on server side.
1535         * Add an Init method for blocking drivers to be decorated using JackThreadedDriver class.
1537 2008-03-27 Stephane Letz  <letz@grame.fr>
1538                 
1539         * Pieter Palmers patch for FFADO driver.
1540         * Dmitry Baikov patch for alsa_rawmidi driver.
1542 2008-03-26 Stephane Letz  <letz@grame.fr>
1543                 
1544         * JackWrapperAPI.cpp: use open_library in jack_client_name_size, jack_port_name_size and jack_port_type_size.
1546 2008-03-20 Stephane Letz  <letz@grame.fr>
1547                 
1548         * Transport timebase fix.
1550 2008-03-19 Stephane Letz  <letz@grame.fr>
1551                 
1552         * Synchronise transport.h with latest jackd version (Video handling).
1554 2008-03-19 Stephane Letz  <letz@grame.fr>
1555                 
1556         * Add jack_port_type_id in jack API.
1558 2008-03-17 Stephane Letz  <letz@grame.fr>
1559                 
1560         * New jack_server_control client to test notifications when linked to the server library.
1561         * Correct JackClient::Activate so that first kGraphOrderCallback can be received by the client notification thread.
1562         * MIDI API in wrapper lib.
1563         * Fix connect notification to deliver *one* notification only.
1565 2008-03-16 Stephane Letz  <letz@grame.fr>
1566                 
1567         * Use engine in JackAlsaDriver::port_register and JackAlsaDriver::port_unregister.
1568         * New JackLockedEngine decorator class to serialize access from ALSA Midi thread, command thread and in-server clients.
1570 2008-03-15 Stephane Letz  <letz@grame.fr>
1571                 
1572         * Add -L (extra output latency in aynchronous mode) in CoreAudio driver.
1573         * RT scheduling for OSX thread (when use in dummy driver).
1575 2008-03-14 Stephane Letz  <letz@grame.fr>
1576                 
1577         * Fernando Lopez-Lezcano scons patch.
1579 2008-03-13 Stephane Letz  <letz@grame.fr>
1580                 
1581         * Add test for jack_cycle_wait, jack_cycle_wait and jack_set_process_thread API.
1582         * Add jack_set_process_thread in wrapper library.
1583         * Correct all backend playback port latency in case of "asynchronous" mode (1 buffer more).
1584         * Correct jack_port_get_total_latency.
1585         * Correct jack_port_by_id in wrapper library.
1587 2008-03-12 Stephane Letz  <letz@grame.fr>
1588                 
1589         * Marc-Olivier Barre library related scons patch.
1590         * Nedko Arnaudov FULL_MIMIC patch.
1591         * Automatic server launch in wrapper layer.
1593 2008-03-11 Stephane Letz  <letz@grame.fr>
1594                 
1595         * Fix engine real-time notification (was broken since ??).
1596         * Correct jack_client_open_aux, jack_client_open and jack_client_new.
1597         * Correct jack_internal_client_load for wrapper layer.
1598         * In thread model, execute a dummy cycle to be sure thread has the correct properties (ensure thread creation is finished).
1599         * Correct jack_port_get_connections function (should return NULL when no connections).
1601 2008-03-10 Stephane Letz  <letz@grame.fr>
1602                 
1603         * Nedko Arnaudov log patch.
1604         * Remove unneeded jack_port_connect API.
1606 2008-03-07 Stephane Letz  <letz@grame.fr>
1607                 
1608         * Define an internal jack_client_open_aux needed for library wrapper feature.
1609         * Improve wrapper code.
1610         * Correct FreeBob driver_initialize.
1612 2008-03-06 Stephane Letz  <letz@grame.fr>
1613                 
1614         * Marc-Olivier Barre scons patch (3).
1616 2008-03-06 Stephane Letz  <letz@grame.fr>
1617                 
1618         * Fix JackSocketClientChannel::ClientClose: async call from the client and server does not need to write any reply. 
1619         * Correct port notification: 2 notifications have to be sent (src, dst) and (dst, src)...
1621 2008-03-05 Stephane Letz  <letz@grame.fr>
1622                 
1623         * libjackdmp.so renamed to libjackservermp.so and same for OSX framework.
1624         * tw1.c example added (new thread model).
1625         * Marc-Olivier Barre scons patch (2).
1627 2008-03-02 Stephane Letz  <letz@grame.fr>
1628                 
1629         * Correct JackSocketClientChannel::ClientClose to use ServerSyncCall instead of ServerAsyncCall.
1630         * Better documentation in jack.h.
1631         * Marc-Olivier Barre scons patch.
1633 2008-03-02 Stephane Letz  <letz@grame.fr>
1634                 
1635         * Correct jack_get_time propotype.
1637 2008-02-25 Stephane Letz  <letz@grame.fr>
1638                 
1639         * Add TimeCallback in JackDebugClient class.
1641 2008-02-22 Stephane Letz  <letz@grame.fr>
1642                 
1643         * Correct JACK_port_unregister.
1645 2008-02-21 Stephane Letz  <letz@grame.fr>
1646                 
1647         * Add port register/unregister notification in JackAlsaDriver.
1649 2008-02-12 Stephane Letz  <letz@grame.fr>
1650                 
1651         * Fix in JackClient::Error(): when RT thread is failing and calling Shutdown, Shutdown was not desactivating the client correctly. 
1652         * Notify ports unregistration in JackEngine::ClientCloseAux.
1653         * Thanks Esben Stien for helping finding these bugs.
1655 2008-02-11 Stephane Letz  <letz@grame.fr>
1656                 
1657         * Use SetAlias for port naming. Use jackd midi port naming scheme.
1659 2008-02-08 Stephane Letz  <letz@grame.fr>
1660                 
1661         * More robust external API.
1663 2008-02-07 Stephane Letz  <letz@grame.fr>
1664                 
1665         * Correct "server_connect": close the communication channel.
1667 2008-02-05 Stephane Letz  <letz@grame.fr>
1668                 
1669         * Reduce WaitGraphChange wait value.
1670         * Remove use of assert in JackFifo, JackMachSemaphore, and JackPosixSemaphore: print an error instead.
1672 2008-02-03 Stephane Letz  <letz@grame.fr>
1674         * Add "Readme" file from package in src folder.
1675         * Tim Blechmann sse optimization patch for JackaudioPort::MixAudioBuffer, use of Apple Accelerate framework on OSX.
1677 2008-02-02 Stephane Letz  <letz@grame.fr>
1679         * Tim Blechmann patches.
1681 2008-02-01 Stephane Letz  <letz@grame.fr>
1683         * Move transport related methods from JackEngine to JackServer.
1684         * Finish port connection callback server side implementation.
1686 2008-01-31 Stephane Letz  <letz@grame.fr>
1688         * Remove checking thread in CoreAudio driver, better device state change recovery strategy: the driver is stopped and restarted.
1689         * jack_thread_wait implementation.
1690         * Add jack_thread_wait client example.
1691         * Add jack_mp_thread_wait client example.
1693 2008-01-30 Stephane Letz  <letz@grame.fr>
1694         
1695         * Latest jack_lsp code from jack SVN.
1696         * Update in usx2y.c and JackPort.cpp to match jackd 0.109.2.
1698 2008-01-29 Stephane Letz  <letz@grame.fr>
1699         
1700         * Implement jack_recompute_total_latency and jack_recompute_total_latencies.
1701         * Remove fBufferSize field in JackGraphManager object.
1702         * Port connection callback, client side.
1704 2008-01-28 Stephane Letz  <letz@grame.fr>
1706         * Updated API to match jack 0.109.0 version (in progress). Correct checking thread in CoreAudio driver.
1707         * Port connection callback, server side.
1708         * Cleanup jack_port_connected_to implementation.
1710 2008-01-25 Stephane Letz  <letz@grame.fr>
1712         * OSX 32/64 bits version.
1714 2008-01-24 Stephane Letz  <letz@grame.fr>
1716         * CoreAudio driver improvement: detect and notify abnormal situations (stopped driver in case of SR change...).
1718 2008-01-03 Stephane Letz  <letz@grame.fr>
1720         * Dmitry Baikov MIDI patch: alsa_seqmidi and alsa_rammidi drivers.
1722 2008-01-03 Stephane Letz  <letz@grame.fr>
1724         * Tim Blechmann patch for JackGraphManager::GetPortsAux memory leak, Tim Blechmann patch for scons install.
1726 2007-12-12 Stephane Letz  <letz@grame.fr>
1728         * Cleanup in CoreAudio driver.
1730 2007-12-11 Stephane Letz  <letz@grame.fr>
1732         * Change string management for proper compilation with gcc 4.2.2. JackLog cleanup.
1734 2007-12-08 Stephane Letz  <letz@grame.fr>
1736         * Tim Blechmann scons patch.
1738 2007-12-07 Stephane Letz  <letz@grame.fr>
1740         * Pieter Palmers second new build system: scons and Makefile based build.
1742 2007-12-06 Stephane Letz  <letz@grame.fr>
1744         * Pieter Palmers FFADO driver and scons based build.
1746 2007-12-05 Stephane Letz  <letz@grame.fr>
1748         * Correct sample_rate management in JackCoreAudioDriver::Open. Better handling in sample_rate change listener.
1750 2007-12-04 Stephane Letz  <letz@grame.fr>
1752         * Add a sample_rate change listener in CoreAudio driver.
1754 2007-12-03 Stephane Letz  <letz@grame.fr>
1756         * Correct bug in CoreAudio driver sample rate management.
1758 2007-11-30 Stephane Letz  <letz@grame.fr>
1760         * Correct JackMachNotifyChannel::ClientNotify.
1762 2007-11-29 Stephane Letz  <letz@grame.fr>
1764         * Correct fPeriodUsecs computation in JackAudioDriver::SetBufferSize and JackAudioDriver::SetSampleRate. 
1766 2007-11-28 Stephane Letz  <letz@grame.fr>
1768         * On OSX, use jack server name in notification system.
1770 2007-11-21 Stephane Letz  <letz@grame.fr>
1772         * On OSX, use CFNotificationCenterPostNotificationWithOptions with kCFNotificationDeliverImmediately | kCFNotificationPostToAllSessions for server ==> JackRouter plugin notification.
1774 2007-11-20 Stephane Letz  <letz@grame.fr>
1776         * Correct CheckPort in JackAPI.cpp.
1778 2007-11-15 Stephane Letz  <letz@grame.fr>
1780         * Move OSX start/stop notification mechanism in Jackdmp.cpp.
1782 2007-11-05 Stephane Letz  <letz@grame.fr>
1784         * Use of JackWinSemaphore instead of JackWinEvent for inter-process synchronization.
1785         * Correct types.h for use with MINGW on Windows.
1787 2007-11-04 Stephane Letz  <letz@grame.fr>
1789         * Add an implementation for obsolete jack_internal_client_new and jack_internal_client_close. Add missing jack_port_type_size.
1791 2007-11-02 Stephane Letz  <letz@grame.fr>
1793         * Correct ALSA driver Attach method: internal driver may have changed the buffer_size and sample_rate values.
1794         * Add JackWinSemaphore class.
1796 2007-10-01 Stephane Letz  <letz@grame.fr>
1798         * Server and user directory related code moved in a JackTools file.
1799         * Client name rewritting to remove path characters (used in fifo naming).
1801 2007-10-30 Stephane Letz  <letz@grame.fr>
1803         * Fix a bug in freewheel management in async mode: drivers now receive the kStartFreewheelCallback and kStopFreewheelCallback notifications.
1805 2007-10-26 Stephane Letz  <letz@grame.fr>
1807         * Add midiseq and midisine examples. 
1808         * Cleanup old zombification code. 
1809         * Linux Makefile now install jack headers.
1810         * Use of JACK_CLIENT_DEBUG environment variable to activate debug client mode.
1811         * Definition of JACK_LOCATION variable using -D in the Makefile.
1812         * Restore jack 0.103.0 MIDI API version.
1814 2007-10-25 Stephane Letz  <letz@grame.fr>
1816         * Merge of Dmitry Baikov MIDI branch. 
1817         * Correct JackGraphManager::GetPortsAux to use port type.
1818         * Remove JackEngineTiming class: code moved in JackEngineControl.
1820 2007-10-24 Stephane Letz  <letz@grame.fr>
1822         * Implementation of server_name setting (-n).
1824 2007-10-23 Stephane Letz  <letz@grame.fr>
1826         * Correct jack_acquire_real_time_scheduling on OSX.
1828 2007-10-18 Stephane Letz  <letz@grame.fr>
1830         * Use LIB_DIR variable for 64 bits related compilation (drivers location). More generic Linux script.
1832 2007-10-16 Stephane Letz  <letz@grame.fr>
1834         * Reorganize jack headers. Improve Linux install/remove scripts.
1836 2007-10-16 Stephane Letz  <letz@grame.fr>
1838         * Internal loadable client implementation, winpipe version added. 
1840 2007-10-12 Stephane Letz  <letz@grame.fr>
1842         * Internal loadable client implementation, socket version added. 
1843         * Fix JackEngine::Close() method.
1845 2007-10-11 Stephane Letz  <letz@grame.fr>
1847         * Internal loadable client implementation (in progress).
1849 2007-10-08 Stephane Letz  <letz@grame.fr>
1851         * Use .jackdrc file (instead of .jackdmprc). Install script now creates a link "jackd ==> jackdmp" so that automatic launch can work correctly. 
1852         * Paul Davis patch for -r (--replace-registry) feature.
1854 2007-10-07 Stephane Letz  <letz@grame.fr>
1856         * Add missing timestamps.c and timestamps.h files. Correctly export public headers in OSX frameworks. Suppress JackEngine::ClientInternalCloseIm method.
1858 2007-10-04 Stephane Letz  <letz@grame.fr>
1860         * Correct "jack_register_server" in shm.c.
1862 2007-10-04 Stephane Letz  <letz@grame.fr>
1864         * Fix a resource leak issue in JackCoreAudioDriver::Close(). Better implement "jack_client_open" when linking a client with the server library.
1866 2007-10-03 Stephane Letz  <letz@grame.fr>
1868         * Rename server_name from "default" to "jackdmp_default" to avoid conflict with regular jackd server.
1870 2007-10-02 Stephane Letz  <letz@grame.fr>
1872         * Correct jack_client_open "status" management.
1874 2007-08-27 Stephane Letz  <letz@grame.fr>
1876         * Server/library protocol checking implementation.
1878 2007-08-26 Stephane Letz  <letz@grame.fr>
1880         * Make "Rename" a method of JackPort class, call it from driver Attach method.
1882 2007-08-24 Stephane Letz  <letz@grame.fr>
1884         * Implement server temporary (-T) mode.
1886 2007-08-23 Stephane Letz  <letz@grame.fr>
1888         * Fix a bug in jack_test. Correct JackShmMem destructor. Correct end case in JackClient::Execute. Correct JackMachSemaphore::Disconnect.
1890 2007-08-22 Stephane Letz  <letz@grame.fr>
1892         * Fix a bug in JackLibClient::Open introduced when adding automatic client renaming.
1894 2007-08-21 Stephane Letz  <letz@grame.fr>
1896         * Fix backend port alias management (renaming in system:xxx).
1898 2007-08-20 Stephane Letz  <letz@grame.fr>
1900         * Automatic server launch. Removes unneeded 'volatile' for JackTransportEngine::fWriteCounter.
1902 2007-08-19 Stephane Letz  <letz@grame.fr>
1904         * Add "systemic" latencies management in CoreAudio driver.
1906 2007-08-16 Stephane Letz  <letz@grame.fr>
1908         * Automatic client renaming.
1910 2007-07-27 Stephane Letz  <letz@grame.fr>
1912         * Correct JackEngine::ClientCloseAux (when called from JackEngine::ClientExternalOpen). Correct JackWinEvent::Allocate.
1914 2007-07-20 Stephane Letz  <letz@grame.fr>
1916         * Correct notification for kActivateClient event.
1918 2007-06-11 Stephane Letz  <letz@grame.fr>
1920         * Dmitry Baikov buffer size patch.
1922 2007-06-10 Stephane Letz  <letz@grame.fr>
1924         * Correct deprecated jack_set_sample_rate_callback to return 0 instead of -1.
1926 2007-06-09 Stephane Letz  <letz@grame.fr>
1928         * Checking in the server to avoid calling the clients if no callback are registered.
1930 2007-06-08 Stephane Letz  <letz@grame.fr>
1932         * New JackNotication.h header in preparation for callback checking in the server.
1934 2007-05-29 Stephane Letz  <letz@grame.fr>
1936         * Add "callback exiting" and "jack_frame_time" tests in jack_test.
1938 2007-05-09 Stephane Letz  <letz@grame.fr>
1940         * Add a mutex in JackGraphManager AllocatePort/ReleasePort methods.
1942 2007-05-05 Stephane Letz  <letz@grame.fr>
1944         * Add jack_set_client_registration_callback API.
1946 2007-05-04 Stephane Letz  <letz@grame.fr>
1948         * Steven Chamberlain patch to fix jack_port_type. Test for jack_port_type behaviour in jack_test.cpp tool.
1950 2007-05-03 Stephane Letz  <letz@grame.fr>
1952         * Steven Chamberlain patch to fix jack_port_by_id export.
1954 2007-04-28 Stephane Letz  <letz@grame.fr>
1956         * Add new jack_port_set_alias, jack_port_unset_alias and jack_port_get_aliases API.
1958 2007-04-27 Stephane Letz  <letz@grame.fr>
1960         * Add missing -D__SMP__in OSX project.
1962 2007-04-23 Stephane Letz  <letz@grame.fr>
1964         * Dmitry Baikov jackmp-time patch: add jack_get_time, jack_time_to_frames, jack_frames_to_time.
1966 2007-04-03 Stephane Letz  <letz@grame.fr>
1968         * Dmitry Baikov remove-nframes patch.
1970 2007-04-02 Stephane Letz  <letz@grame.fr>
1972         * Dmitry Baikov lost-event patch.
1974 2007-04-01 Stephane Letz  <letz@grame.fr>
1976         * Merge JackGraphManager Remove and Release method in a unique Release method.
1978 2007-03-12 Stephane Letz  <letz@grame.fr>
1980         * Bug fix in JackMidiBuffer::MaxEventSize().
1982 2007-03-09 Stephane Letz  <letz@grame.fr>
1984         * Dmitry Baikov MIDI patch phase 2.
1986 2007-03-08 Stephane Letz  <letz@grame.fr>
1988         * Dmitry Baikov jackmp-port-clear patch.
1990 2007-03-06 Stephane Letz  <letz@grame.fr>
1992         * Dmitry Baikov MIDI patch phase 1.
1994 2007-03-04 Stephane Letz  <letz@grame.fr>
1996         * Dmitry Baikov patch for JackGraphManager.cpp.
1997         * Dmitry Baikov MIDI patch phase 0.
1999 2007-02-19 Stephane Letz  <letz@grame.fr>
2000         
2001         * Correct back JackAlsaDriver::Read method. 
2003 2007-02-14 Stephane Letz  <letz@grame.fr>
2004         
2005         * Better error checking in PortAudio driver.
2007 2007-02-07 Stephane Letz  <letz@grame.fr>
2008         
2009         * Thom Johansen fix for port buffer alignment issues.
2011 2007-02-05 Stephane Letz  <letz@grame.fr>
2012         
2013         * Add Pieter Palmers FreeBob driver.
2014         * Thibault LeMeur ALSA driver patch.
2016 2007-01-31 Stephane Letz  <letz@grame.fr>
2018         * Use pthread_attr_setstacksize in JackPosixThread class.
2020 2007-01-30 Stephane Letz  <letz@grame.fr>
2022         * New LockAllMemory and UnlockAllMemory functions.
2024 2007-01-29 Stephane Letz  <letz@grame.fr>
2026         * More robust activation/deactivation code, especially in case of client crash.
2028 2007-01-27 Stephane Letz  <letz@grame.fr>
2030         * Uses a time out value of 10 sec in freewheel mode (like jack).
2032 2007-01-21 Stephane Letz  <letz@grame.fr>
2034         * 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.
2036 2007-01-14 Stephane Letz  <letz@grame.fr>
2038         * Implement thread.h API.
2040 2007-01-09 Stephane Letz  <letz@grame.fr>
2042         * New server/client data transfer model to fix a 64 bits system bug. Fix a device name reversal bug in ALSA driver.
2044 2007-01-04 Stephane Letz  <letz@grame.fr>
2046         *  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. 
2048 2007-01-02 Stephane Letz  <letz@grame.fr>
2050         * Internal cleanup.
2052 2006-12-23 Stephane Letz  <letz@grame.fr>
2054         * shared_ports renamed to shared_graph.
2056 2006-12-15 Stephane Letz  <letz@grame.fr>
2058         * Move client refnum management in JackEngine.
2060 2006-12-12 Stephane Letz  <letz@grame.fr>
2062         * Tom Szilagyi memory leak fix in ringbuffer.c.
2064 2006-11-29 Stephane Letz  <letz@grame.fr>
2066         * Correct JackWinEnvent::Allocate (handle the ERROR_ALREADY_EXISTS case). Correct JackEngine::ClientExternalNew.
2067         * Karsten Wiese correction for ALSA usx2y driver.
2069 2006-11-22 Stephane Letz  <letz@grame.fr>
2071         * In synchronous mode, if the driver time out is reached, the server may get desynchronized (pending signal may arrive in later cycles), 
2072         improve audio driver synchronous code to better handle this case.
2073          
2074 2006-11-08 Stephane Letz  <letz@grame.fr>
2076         * Synchronize ALSA backend with jack one.
2078 2006-11-04 Stephane Letz  <letz@grame.fr>
2080         * Use -D to setup ADDON_DIR on OSX and Linux.
2082 2006-10-11 Stephane Letz  <letz@grame.fr>
2084         * Correct server SetBufferSize in case of failure. Correct PortAudio driver help.
2086 2006-10-06 Stephane Letz  <letz@grame.fr>
2088         * Add a new cpu testing/loading client.
2090 2006-09-23  Stephane Letz  <letz@grame.fr>
2092         * Rename global "verbose" in "jack_verbose" to avoid symbol clash with PureData.
2094 2006-09-20  Stephane Letz  <letz@grame.fr>
2096         * On Windows, avoid to use the unsafe Kill thread method. Use thread Stop instead and have blocked IO be unlocked. 
2097         * Still get RT thread termination problems, restore a version that works on OSX and Linux with conditionnal compilation for now.
2099 2006-09-16  Stephane Letz  <letz@grame.fr>
2101         * Restore behaviour of LoopBack driver, which has to be opened in any case...
2103 2006-09-15  Stephane Letz  <letz@grame.fr>
2105         * On Windows version, use signal to quit the server.
2107 2006-09-13  Stephane Letz  <letz@grame.fr>
2109         * Correct pipe destruction bug in JackWinNamedPipe class.
2111 2006-09-11  Stephane Letz  <letz@grame.fr>
2113         * Handling of LoopBack driver only when really needed.
2114         * Correct crash bug when closing clients on Windows due to multi-threading synchronization issues.
2116 2006-09-06  Stephane Letz  <letz@grame.fr>
2118         * Correct coreaudio driver (input was not working since 0.55 version).
2119         * Version for 0.58 release.
2121 2006-09-04  Stephane Letz  <letz@grame.fr>
2123         * Correct Windows VC++ projects.
2125 2006-09-03  Stephane Letz  <letz@grame.fr>
2127         * First import of version 0.58 base code\r