ChangeLog 66.3 KB
Newer Older
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064

	* Improve generated gnuplot files for adapting code.

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

	* Major cleanup in adapter code.

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

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

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

	* Another fix in systemdeps.h and types.h: jack_time_t now uniquely defined in types.h.
	* Move generic code and data in JackNetInterface and JackNetMasterInterface classes.
        * First version of D-Bus based audio device reservation.

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

	* Add InitConnection and InitRendering methods in JackNetSlaveInterface, better packet type checking in JackNetSlaveInterface::SyncRecv.
	* Change fMulticastIP handling in JackNetInterface.
        * Cleanup systemdeps.h on Windows.

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

	* Fix the mutex/signal classes on Windows.
        * Client incorrect re-naming fixed: now done at fifo level only.

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

	* Rework the mutex/signal classes. Use them in JackMessageBuffer.

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

	* Merge Solaris branch back on trunk.
        * Equality of input and output buffer size removed (for now) in JackOSSDriver.

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

	* Add a resample quality parameter in netadapter.

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

	* Use PRIu32 kind of macro in JackAlsaDriver again.
	* Now correctly return an error if JackServer::SetBufferSize could not change the buffer size (and was just restoring the current one).

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

	* Add a resample quality parameter in audioadapter.

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

	* Add a JACK_INTERNAL_DIR environment variable to be used for internal clients.

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

	* In NetJack2, fix a bug when capture or playback only channels are used.

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

1065
	* Support for "-h" option in internal clients to print the parameters.
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
	* 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>

1089
	* JackMessageBuffer was using thread "Stop" scheme in destructor, now use the safer thread "Kill" way.
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100

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>

1101
	* New JackProfiler class for real-time server monitoring.
1102
1103
1104
1105
1106
1107
1108

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>

1109
	* Synchronize jack2 public headers with JACK1 ones.
1110
1111
1112
1113
	* Implement jack_client_real_time_priority and jack_client_max_real_time_priority API.

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

1114
	* For ALSA driver, synchronize with latest JACK1 memops functions.
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
    	* 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>

1135
	* More profiling in JackOSSDriver: sample conversion duration is measured.
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158

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

	* Optimize JackOSSDriver: no samples conversion if ports are not connected.

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

	* Force preload of memory table in JackEngineProfiling.

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

	* Add timing profiling code in JackOSSDriver.
	* Report ringbuffer.c fixes from JACK1.

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

	* Report ringbuffer.c fixes from JACK1.
	* Better isolation of server and clients system resources to allow starting the server in several user account at the same time.
	* Correct ressource cleanup in case of driver open failure.

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

	* Libjack shutdown handler does not "deactivate" (fActive = false) the client anymore, so that jack_deactivate correctly does the job later on.
1159
	* Filter SIGPIPE to avoid having client get a SIGPIPE when trying to access a died server.
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172

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

1174
2008-10-23 Stephane Letz  <letz@grame.fr>
1175

1176
1177
1178
1179
1180
1181
	* 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>
1182
1183

	* Fix a conflict with Audio Hijack in JackCoreAudioDriver.
1184
1185

2008-10-09 Stephane Letz  <letz@grame.fr>
1186

1187
1188
1189
	* 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>
1190

1191
1192
1193
	* 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>
1194

1195
	* Correct file permission for jack-shm-registry POSIX shared memory segment.
1196
	* Checking for libsamplerate in waf, fix ticket #89."
1197
1198
1199
        * Header cleanup, add --clients and --ports options in configure.

2008-09-22 Stephane Letz  <letz@grame.fr>
1200

1201
        * Socket time out implementation on Solaris.
1202
	* Fix a conflict with Audio Hijack in JackCoreAudioDriver.
1203
1204

2008-10-10 Stephane Letz  <letz@grame.fr>
1205
1206

	* Improve OSS backend: SNDCTL_DSP_SETFRAGMENT must be done before, use of AFMT_S16_LE kind of values.
1207
1208

2008-10-09 Stephane Letz  <letz@grame.fr>
1209

1210
1211
1212
1213
	* 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>
1214

1215
1216
1217
	* 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>
1218

1219
1220
1221
	* Add engine profiling tools.

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

1223
	* Correct file permission for jack-shm-registry POSIX shared memory segment.
1224
	* Checking for libsamplerate in waf, fix ticket #89."
1225
1226
1227
1228
1229
1230
1231
        * 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>
1232

1233
1234
1235
	* Cleanup jack_port_id_t/jack_port_t mess, should work again on 64 bits machines."

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

1237
1238
1239
	* Michael Voigt JackAPI cleanup patch.

2008-09-19 Stephane Letz  <letz@grame.fr>
1240

1241
1242
1243
	* Michael Voigt JackTime cleanup patch.

2008-09-17 Stephane Letz  <letz@grame.fr>
1244

1245
1246
1247
	* New JackDriverInfo class to cleanup driver loading code.

2008-09-08 Stephane Letz  <letz@grame.fr>
1248
1249

	* Better symbols export for server and client side libraries.
1250
1251

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

1253
1254
1255
	* Correct driver hierarchy on macosx and windows targets.

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

1257
1258
1259
	* Merge Michael Voigt "drops" branch after reorganization step.

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

1261
1262
1263
1264
	* Michael Voigt 4th source reorganization patch.
	* Correct JackNetDriver initialization.

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

1266
1267
1268
1269
	* 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>
1270

1271
1272
1273
1274
	* 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>
1275

1276
1277
1278
	* Michael Voigt second source reorganization patch.

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

1280
1281
1282
	* Michael Voigt first source reorganization patch.

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

1284
1285
1286
1287
	* Better parameter handling in JackCoreAudioAdapter.
	* Fix memory leaks.

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

1289
1290
1291
	* Implements internal clients management API.

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

1293
1294
1295
1296
	* Move GetCurrentTransportFrame code from JackClient to JackTransportEngine.
	* Add a fNetworkSync state in JackTransportEngine used in network.

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

1298
1299
1300
	* Fix JackFrameTimer::Time2Frames and JackTimer::Frames2Time, jack_cpu compiled again.

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

1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
	* 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>

1383
	* Improve net driver so that jack clients can be registered even if driver has not yet started.
1384
1385
1386

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

1387
	* Add a missing EXPORT for JackException class.
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409

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.
1410
	* Add a test for coherent freewheel state in JackDebugClient.
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
	* 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>

1456
	* Correct JackEngine::PortUnRegister, JackEngine::ClientCloseAux and JackEngine::ClientDeactivate to correctly send notifications.
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
	* 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>
1507

1508
1509
1510
1511
	* Fix JackRestartThreadedDriver::Execute.
	* Better handling of init and run state in JackThread.

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

1513
1514
1515
	* 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>
1516

1517
1518
1519
	* Correct JackServerGlobals::Init: now check is server is already started.

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

1521
1522
1523
	* Correct internal client load.

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

1525
1526
1527
	* Remove Linux Makefile, update Readme.

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

1529
1530
1531
	* Correct a dirty port array issue in JackGraphManager::GetPortsAux.

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

1533
1534
1535
	* New SetNonBlocking method for JackSocket.

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

1537
1538
1539
1540
	* 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>
1541

1542
1543
1544
1545
	* 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>
1546

1547
1548
1549
1550
	* Pieter Palmers patch for FFADO driver.
	* Dmitry Baikov patch for alsa_rawmidi driver.

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

1552
1553
1554
	* 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>
1555

1556
1557
1558
	* Transport timebase fix.

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

1560
1561
1562
	* Synchronise transport.h with latest jackd version (Video handling).

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

1564
1565
1566
	* Add jack_port_type_id in jack API.

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

1568
1569
1570
1571
1572
1573
	* 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>
1574

1575
1576
1577
1578
	* 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>
1579

1580
1581
1582
1583
	* 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>
1584

1585
1586
1587
	* Fernando Lopez-Lezcano scons patch.

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

1589
1590
1591
1592
1593
1594
1595
	* 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>
1596

1597
1598
1599
1600
1601
	* 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>
1602

1603
1604
1605
1606
1607
1608
1609
	* 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>
1610

1611
1612
1613
1614
	* Nedko Arnaudov log patch.
	* Remove unneeded jack_port_connect API.

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

1616
1617
1618
1619
1620
	* Define an internal jack_client_open_aux needed for library wrapper feature.
	* Improve wrapper code.
	* Correct FreeBob driver_initialize.

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

1622
1623
1624
	* Marc-Olivier Barre scons patch (3).

2008-03-06 Stephane Letz  <letz@grame.fr>
1625
1626

	* Fix JackSocketClientChannel::ClientClose: async call from the client and server does not need to write any reply.
1627
1628
1629
	* Correct port notification: 2 notifications have to be sent (src, dst) and (dst, src)...

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

1631
1632
1633
1634
1635
	* libjackdmp.so renamed to libjackservermp.so and same for OSX framework.
	* tw1.c example added (new thread model).
	* Marc-Olivier Barre scons patch (2).

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

1637
1638
1639
1640
1641
	* Correct JackSocketClientChannel::ClientClose to use ServerSyncCall instead of ServerAsyncCall.
	* Better documentation in jack.h.
	* Marc-Olivier Barre scons patch.

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

1643
1644
1645
	* Correct jack_get_time propotype.

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

1647
1648
1649
	* Add TimeCallback in JackDebugClient class.

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

1651
1652
1653
	* Correct JACK_port_unregister.

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

1655
1656
1657
	* Add port register/unregister notification in JackAlsaDriver.

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

	* Fix in JackClient::Error(): when RT thread is failing and calling Shutdown, Shutdown was not desactivating the client correctly.
1660
1661
1662
1663
	* Notify ports unregistration in JackEngine::ClientCloseAux.
	* Thanks Esben Stien for helping finding these bugs.

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

1665
1666
1667
	* Use SetAlias for port naming. Use jackd midi port naming scheme.

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

1669
1670
1671
	* More robust external API.

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

1673
1674
1675
	* Correct "server_connect": close the communication channel.

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

1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
	* Reduce WaitGraphChange wait value.
	* Remove use of assert in JackFifo, JackMachSemaphore, and JackPosixSemaphore: print an error instead.

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

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

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

	* Tim Blechmann patches.

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

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

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

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

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

1703
1704
1705
1706
	* Latest jack_lsp code from jack SVN.
	* Update in usx2y.c and JackPort.cpp to match jackd 0.109.2.

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

1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
	* Implement jack_recompute_total_latency and jack_recompute_total_latencies.
	* Remove fBufferSize field in JackGraphManager object.
	* Port connection callback, client side.

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

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

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

	* OSX 32/64 bits version.

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

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

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

	* Dmitry Baikov MIDI patch: alsa_seqmidi and alsa_rammidi drivers.

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

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

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

	* Cleanup in CoreAudio driver.

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

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

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

	* Tim Blechmann scons patch.

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

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

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

	* Pieter Palmers FFADO driver and scons based build.

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

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

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

	* Add a sample_rate change listener in CoreAudio driver.

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

	* Correct bug in CoreAudio driver sample rate management.

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

	* Correct JackMachNotifyChannel::ClientNotify.

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

1772
	* Correct fPeriodUsecs computation in JackAudioDriver::SetBufferSize and JackAudioDriver::SetSampleRate.
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814

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

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

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

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

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

	* Correct CheckPort in JackAPI.cpp.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1824
	* Merge of Dmitry Baikov MIDI branch.
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
	* Correct JackGraphManager::GetPortsAux to use port type.
	* Remove JackEngineTiming class: code moved in JackEngineControl.

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

	* Implementation of server_name setting (-n).

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

	* Correct jack_acquire_real_time_scheduling on OSX.

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

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

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

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

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

1846
	* Internal loadable client implementation, winpipe version added.
1847
1848
1849

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

1850
	* Internal loadable client implementation, socket version added.
1851
1852
1853
1854
1855
1856
1857
1858
	* Fix JackEngine::Close() method.

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

	* Internal loadable client implementation (in progress).

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

1859
	* Use .jackdrc file (instead of .jackdmprc). Install script now creates a link "jackd ==> jackdmp" so that automatic launch can work correctly.
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
	* Paul Davis patch for -r (--replace-registry) feature.

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

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

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

	* Correct "jack_register_server" in shm.c.

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

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

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

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

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

	* Correct jack_client_open "status" management.

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

	* Server/library protocol checking implementation.

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

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

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

	* Implement server temporary (-T) mode.

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

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

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

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

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

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

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

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

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

	* Add "systemic" latencies management in CoreAudio driver.

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

	* Automatic client renaming.

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

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

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

	* Correct notification for kActivateClient event.

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

	* Dmitry Baikov buffer size patch.

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

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

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

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

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

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

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

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

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

	* Add a mutex in JackGraphManager AllocatePort/ReleasePort methods.

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

	* Add jack_set_client_registration_callback API.

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

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

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

	* Steven Chamberlain patch to fix jack_port_by_id export.

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

	* Add new jack_port_set_alias, jack_port_unset_alias and jack_port_get_aliases API.

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

	* Add missing -D__SMP__in OSX project.

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

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

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

	* Dmitry Baikov remove-nframes patch.

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

	* Dmitry Baikov lost-event patch.

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

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

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

1988
1989
1990
	* Bug fix in JackMidiBuffer::MaxEventSize().

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

1992
1993
1994
	* Dmitry Baikov MIDI patch phase 2.

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

1996
1997
1998
1999
2000
	* Dmitry Baikov jackmp-port-clear patch.

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

	* Dmitry Baikov MIDI patch phase 1.
For faster browsing, not all history is shown. View entire blame