ChangeLog 50.7 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
---------------------------
  Contributors
---------------------------

Dmitry Baikov
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
19
Michael Voigt
20
Torben Hohn  
21
Paul Davis
22
Peter L Jones
23
24
Devin Anderson
Josh Green
25
26
27

---------------------------
  Jackdmp changes log
28
---------------------------
29

30
31
32
33
2009-12-09 Stephane Letz  <letz@grame.fr>

	* When threads are cancelled, the exception has to be rethrown. 

34
35
36
37
2009-12-08 Stephane Letz  <letz@grame.fr>

	* Josh Green ALSA driver capture only patch.  

38
39
40
41
2009-12-03 Stephane Letz  <letz@grame.fr>

	* Fix JackCoreMidiDriver::ReadProcAux when ring buffer is full (thanks Devin Anderson).  

42
43
44
2009-12-02 Stephane Letz  <letz@grame.fr>

	* Special code in JackCoreAudio driver to handle completely buggy Digidesign CoreAudio user-land driver. 
45
	* Ensure that client-side message buffer thread calls thread_init callback if/when it is set by the client (backport of JACK1 rev 3838).
sletz's avatar
sletz committed
46
	* Check dynamic port-max value.
47

48
49
50
51
2009-12-01 Stephane Letz  <letz@grame.fr>

	* Fix port_rename callback : now both old name and new name are given as parameters.

52
53
54
55
2009-11-30 Stephane Letz  <letz@grame.fr>

	* Devin Anderson patch for Jack FFADO driver issues with lost MIDI bytes between periods (and more). 

56
57
58
59
2009-11-29 Stephane Letz  <letz@grame.fr>

	* More robust sample rate change handling code in JackCoreAudioDriver.

sletz's avatar
sletz committed
60
61
62
63
2009-11-24 Stephane Letz  <letz@grame.fr>

	* Dynamic choice of maximum port number.

64
65
66
67
2009-11-23 Stephane Letz  <letz@grame.fr>

	* Peter L Jones patch for NetJack1 compilation on Windows.

sletz's avatar
sletz committed
68
69
70
2009-11-20 Stephane Letz  <letz@grame.fr>

	* Version 1.9.5 started.
sletz's avatar
sletz committed
71
	* Client debugging code improved.
sletz's avatar
sletz committed
72

73
74
75
76
2009-11-18 Stephane Letz  <letz@grame.fr>

	* Sync JackCoreAudioAdapter code with JackCoreAudioDriver.

77
78
79
2009-11-17 Stephane Letz  <letz@grame.fr>

	* In JackCoreAudio driver, clock drift compensation in aggregated devices working.
80
	* In JackCoreAudio driver, clock drift compensation semantic changed a bit : when on, does not activate if not needed (same clock domain).
81

82
83
84
85
2009-11-16 Stephane Letz  <letz@grame.fr>

	* In JackCoreAudio driver, (possibly) clock drift compensation when needed in aggregated devices.

86
87
88
89
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.

90
91
92
2009-11-13 Stephane Letz  <letz@grame.fr>

	* Better memory allocation error checking in ringbuffer.c, weak import improvements.
93
94
	* Memory allocation error checking for jack_client_new and jack_client_open (server and client side).
	* Memory allocation error checking in server for RPC.
95
	* Simplify server temporary mode : now use a JackTemporaryException.
96
	* Lock/Unlock shared memory segments (to test...).
97

98
99
100
101
102
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>
103
104
105

	* Correct JackCoreAudio driver when empty strings are given as -C, -P or -d parameter. 

106
107
108
2009-11-10 Stephane Letz  <letz@grame.fr>

	* Correct JackInfoShutdownCallback prototype, two new JackClientProcessFailure and JackClientZombie JackStatus code.  
109
110
111
112
113

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

	* Correct JackGraphManager::GetBuffer for the "client loop with one connection" case : buffer must be copied.

114
115
116
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).
117
	* Correct JackPosixThread::StartImp : thread priority setting now done in the RT case only.
118

119
120
121
2009-11-06 Stephane Letz  <letz@grame.fr>

	* Correctly save and restore RT mode state in freewheel mode.
122
	* Correct freewheel code on client side.
123

124
125
126
2009-11-05 Stephane Letz  <letz@grame.fr>

	* No reason to make jack_on_shutdown deprecated, so revert the incorrect change.
127
	* Thread AcquireRealTime and DropRealTime were (incorrectly) using fThread field. Use pthread_self()) (or GetCurrentThread() on Windows) to get the calling thread.
128

129
130
131
132
133
134
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.
135
	* JACK_SCHED_POLICY switched to SCHED_FIFO.
136
	* Now can aggregate device that are themselves AD.
137

138
139
140
141
2009-10-29 Stephane Letz  <letz@grame.fr>

	* In JackCoreAudioDriver::Start, wait for the audio driver to effectively start (use the MeasureCallback).

142
143
144
145
146
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.

147
148
149
150
2009-10-27 Stephane Letz  <letz@grame.fr>

	* Dynamic system version detection in JackCoreAudioDriver to either create public or private aggregate device.

151
152
153
2009-10-26 Stephane Letz  <letz@grame.fr>

	* Implement "hog mode" (exclusive access of the audio device) in JackCoreAudioDriver.
154
	* Fix jack_set_sample_rate_callback to have he same behavior as in JACK1.
155

156
157
158
2009-10-25 Stephane Letz  <letz@grame.fr>

	* Improve aggregate device management in JackCoreAudioDriver : now a "private" device only and cleanup properly.
sletz's avatar
sletz committed
159
	* Aggregate device code added to JackCoreAudioAdapter.
160

sletz's avatar
sletz committed
161
2009-10-23 Stephane Letz  <letz@grame.fr>
162
163

	* Correct JackProcessSync::LockedTimedWait.
164
	* Correct JACK_MESSAGE_SIZE value, particularly in OSX RPC code.
165
	* Now start server channel thread only when backend has been started (so in JackServer::Start). Should solve race conditions at start time.
166
	* jack_verbose moved to JackGlobals class.
167

168
169
170
171
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.

172
173
2009-10-20 Stephane Letz  <letz@grame.fr>

174
175
	* 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)
176
177
178
179

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.
180
181
182
183

2009-10-15 Stephane Letz  <letz@grame.fr>

	* Change CoreAudio notification thread setup for OSX Snow Leopard.
184
185
186
187

2009-09-18 Stephane Letz  <letz@grame.fr>

	* Simplify transport in NetJack2: master only can control transport.
188
189
190

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

191
192
	* Correct CPU timing in JackNetDriver, now take cycle begin time after Read.
	* Fix issues in JackNetDriver::DecodeTransportData and JackNetDriver::Initialize.
193

194
195
2009-08-28 Stephane Letz  <letz@grame.fr>

196
197
198
	* 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)

199
200
2009-07-31 Stephane Letz  <letz@grame.fr>

201
202
	* Use SNDCTL_DSP_SYNCGROUP/SNDCTL_DSP_SYNCSTART API to synchronize input and output in Solaris boomer backend.

203
2009-07-29 Stephane Letz  <letz@grame.fr>
204

205
206
	* Add a -G parameter in CoreAudio backend (the computation value in RT thread expressed as percent of period).

207
208
2009-07-28 Stephane Letz  <letz@grame.fr>

209
210
	* Fix CopyAndConvertIn for Solaris backends.

sletz's avatar
sletz committed
211
212
2009-07-22 Stephane Letz  <letz@grame.fr>

213
214
	* Version 1.9.4 started.
	* Solaris boomer backend now working in capture or playback only mode.
215
	* Fix control.h for proper compilation on Solaris.
216

217
218
2009-07-17 Stephane Letz  <letz@grame.fr>

219
	* Loopback backend reborn as a dynamically loadable separated backend.
sletz's avatar
sletz committed
220
	* -L parameter for loopback backend activated again in jackd.
221

222
223
224
2009-07-17 Stephane Letz  <letz@grame.fr>

	* Big rewrite of Solaris boomer driver, seems to work in duplex mode at least.
225

226
2009-07-16 Stephane Letz  <letz@grame.fr>
227

228
	* In combined --dbus and --classic compilation code, use PulseAudio acquire/release code.
229

230
2009-07-15 Stephane Letz  <letz@grame.fr>
231

232
233
234
235
	* 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.

236
237
2009-07-11 Stephane Letz  <letz@grame.fr>

238
239
	* Raise drivers time out used in synchronous mode.

240
241
2009-07-09 Stephane Letz  <letz@grame.fr>

242
243
244
245
	* 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.

246
247
2009-07-07 Stephane Letz  <letz@grame.fr>

248
249
	* Use __attribute__((__aligned__(32))) instead of __attribute__((__packed__)) for 64/32 mixed mode.

250
251
2009-07-03 Stephane Letz  <letz@grame.fr>

252
253
	* Another Tim Bechmann memops.c optimization patch.

254
255
2009-07-01 Stephane Letz  <letz@grame.fr>

256
257
	* Tim Bechmann memops.c optimization patch.

258
259
2009-06-30 Stephane Letz  <letz@grame.fr>

260
	* Tim Bechmann patch : hammerfall, only release monitor thread, if it has been created.
261
262
263

2009-06-19 Stephane Letz  <letz@grame.fr>

264
	* Correct JackTransportEngine::MakeAllLocating, sync callback has to be called in this case also.
265
	* NetJack2 code : better error checkout, method renaming.
266
267
268
269
270

2009-06-17 Stephane Letz  <letz@grame.fr>

	* Move DBus based audio device reservation code in ALSA backend compilation.

271
272
2009-06-16 Stephane Letz  <letz@grame.fr>

273
274
	* Correct JackFifo::TimedWait for EINTR handling.

275
276
2009-06-05 Stephane Letz  <letz@grame.fr>

277
278
	* Correct jack_set_error_function, jack_set_info_function and jack_set_thread_creator functions.

279
280
2009-05-18 Stephane Letz  <letz@grame.fr>

281
282
	* 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.

283
284
2009-05-15 Stephane Letz  <letz@grame.fr>

285
286
	* Move InitFrameTime in JackDriver::Start method.

287
288
2009-05-13 Stephane Letz  <letz@grame.fr>

289
290
	* Reworked Torben Hohn fix for server restart issue on Windows.

291
292
2009-05-11 Stephane Letz  <letz@grame.fr>

293
294
295
	* New jack_free function added in jack.h.
	* Torben Hohn fix for InitTime and GetMicroSeconds in JackWinTime.c.

sletz's avatar
sletz committed
296
297
2009-05-07 Stephane Letz  <letz@grame.fr>

298
299
	* Cleanup "loopback" stuff in server.

300
301
2009-05-06 Stephane Letz  <letz@grame.fr>

302
	* Fix transport callback (timebase master, sync) issue when used after jack_activate (RT thread was not running).
303
	* D-Bus access for jackctl_server_add_slave/jackctl_server_remove_slave API.
304

305
306
307
2009-05-05 Stephane Letz  <letz@grame.fr>

	* First working version of native MIDI backend (JackCoreMidiDriver, JackWinMMEDriver).
308

sletz's avatar
sletz committed
309
2009-04-22 Stephane Letz  <letz@grame.fr>
310
311

	* jackctl_server_load_master renamed to jackctl_server_switch_master, jackctl_server_unload_master is removed.
312

313
314
315
2009-04-21 Stephane Letz  <letz@grame.fr>

	* Add jackctl_server_load_master/jackctl_server_unload_master API.
316
317
318

2009-04-20 Stephane Letz  <letz@grame.fr>

319
320
	* In ALSA audio card reservation code, tries to open the card even if reservation fails.
	* Clock source setting on Linux.
321

322
2009-04-08 Stephane Letz  <letz@grame.fr>
323
324
325

	* Native MIDI backend (JackCoreMidiDriver, JackWinMMEDriver) in progress.

326
2009-04-03 Stephane Letz  <letz@grame.fr>
327
328
329

	* Simplify JackClient RT code, jack_thread_wait API marked deprecated."

sletz's avatar
sletz committed
330
2009-03-29 Stephane Letz  <letz@grame.fr>
331
332
333

	* Cleanup JackInternalClient code.

sletz's avatar
sletz committed
334
2009-03-27 Stephane Letz  <letz@grame.fr>
335
336
337

	* Add a buffer size callback for netmaster that just remove the client (it will be recreated with the new parameters).

338
2009-03-26 Stephane Letz  <letz@grame.fr>
339
340
341

	* First working JackBoomerDriver two threads version.

342
2009-03-24 Stephane Letz  <letz@grame.fr>
343
344

	* New JackBoomerDriver class for Boomer driver on Solaris.
sletz's avatar
Typo.    
sletz committed
345
	* Add mixed 32/64 bits mode (off by default).
346

sletz's avatar
sletz committed
347
2009-03-23 Stephane Letz  <letz@grame.fr>
348

sletz's avatar
sletz committed
349
	* Version 1.9.3 started.
350

351
2009-03-19 Stephane Letz  <letz@grame.fr>
352

353
	* Tim Blechmann optimization patch (inlining some heavy used methods).
354

355
356
357
2009-03-12 Stephane Letz  <letz@grame.fr>

        * Virtualize and allow overriding of thread creation function, to allow Wine support (from JACK1).
358

359
360
361
2009-03-12 Stephane Letz  <letz@grame.fr>

        * Try automatic adaptative mode in adapters.
362
363
364

2009-03-11 Stephane Letz  <letz@grame.fr>

365
        * Client incorrect re-naming fixed : now done at socket level also.
366

367
368
2009-03-10 Stephane Letz  <letz@grame.fr>

369
370
371
	* Add -g (ring-buffer) parameter to netadapter.
	* Automatic adaptative ringbuffer size mode when -g = 0.

372
373
2009-03-09 Stephane Letz  <letz@grame.fr>

374
375
	* Use Torben Hohn PI controler code for adapters (in progress).

376
377
2009-03-05 Stephane Letz  <letz@grame.fr>

378
	* Support for BIG_ENDIAN machines in NetJack2 for transport data.
379
	* Add auto_connect parameter in netmanager and netadapter.
380

381
382
383
2009-03-03 Stephane Letz  <letz@grame.fr>

	* More robust profiling tools when clients come and go.
384

sletz's avatar
sletz committed
385
386
387
2009-03-01 Stephane Letz  <letz@grame.fr>

	* Raise default port number to 1024.
388

389
390
391
2009-02-27 Stephane Letz  <letz@grame.fr>

	* Improve generated gnuplot files for adapting code.
392

sletz's avatar
sletz committed
393
394
2009-02-25 Stephane Letz  <letz@grame.fr>

395
	* Major cleanup in adapter code.
396

sletz's avatar
sletz committed
397
398
399
2009-02-25 Stephane Letz  <letz@grame.fr>

	* Fix JackNetDriver::Close method.
400
        * For audio device reservation, add card_to_num function.
401
402
        * Fix buffer size and sample rate handling in JackAlsaAdapter.
        * Add control for adapter ringbuffer size.
403
	* Fix JackAlsaAdapter.h for 64 bits compilation.
404

405
406
2009-02-23 Stephane Letz  <letz@grame.fr>

407
	* Another fix in systemdeps.h and types.h: jack_time_t now uniquely defined in types.h.
408
	* Move generic code and data in JackNetInterface and JackNetMasterInterface classes.
sletz's avatar
sletz committed
409
        * First version of D-Bus based audio device reservation.
sletz's avatar
sletz committed
410

411
412
2009-02-20 Stephane Letz  <letz@grame.fr>

sletz's avatar
sletz committed
413
	* Add InitConnection and InitRendering methods in JackNetSlaveInterface, better packet type checking in JackNetSlaveInterface::SyncRecv.
414
	* Change fMulticastIP handling in JackNetInterface.
415
        * Cleanup systemdeps.h on Windows.
416
417
418

2009-02-17 Stephane Letz  <letz@grame.fr>

sletz's avatar
sletz committed
419
	* Fix the mutex/signal classes on Windows.
420
        * Client incorrect re-naming fixed: now done at fifo level only.
421
422
423
424
425
426
427

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>

sletz's avatar
sletz committed
428
	* Merge Solaris branch back on trunk.
429
        * Equality of input and output buffer size removed (for now) in JackOSSDriver.
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497

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>

498
	* Synchronize jack2 public headers with JACK1 ones. 
499
500
501
502
	* Implement jack_client_real_time_priority and jack_client_max_real_time_priority API.

2008-12-18 Stephane Letz  <letz@grame.fr>

503
	* For ALSA driver, synchronize with latest JACK1 memops functions. 
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
    	* 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.
537
	* Report ringbuffer.c fixes from JACK1.
538
539
540

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

541
542
543
	* 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.
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000

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.
For faster browsing, not all history is shown. View entire blame