git-svn-id: svn+ssh://jackaudio.org/trunk/jack@860 0c269be4-1314-0410-8aa9-9f06e86f4224tags/0.109.0
| @@ -15,7 +15,7 @@ dnl changes are made | |||
| dnl --- | |||
| JACK_MAJOR_VERSION=0 | |||
| JACK_MINOR_VERSION=99 | |||
| JACK_MICRO_VERSION=41 | |||
| JACK_MICRO_VERSION=42 | |||
| dnl --- | |||
| dnl HOWTO: updating the jack protocol version | |||
| @@ -82,9 +82,11 @@ internal client "plugin" that runs within the JACK server process. | |||
| The JACK programming interfaces are described in several header files: | |||
| - @ref jack.h "<jack/jack.h>" defines most of the JACK interfaces. | |||
| - @ref intclient.h "<jack/intclient.h>" defines interfaces for | |||
| loading and unloading JACK internal clients. | |||
| - @ref jack.h "<jack/jack.h>" is the main JACK interface. | |||
| - @ref statistics.h "<jack/statistics.h>" provides interfaces for | |||
| monitoring the performance of a running JACK server. | |||
| - @ref intclient.h "<jack/intclient.h>" allows loading and unloading | |||
| JACK internal clients. | |||
| - @ref ringbuffer.h "<jack/ringbuffer.h>" defines a simple API for | |||
| using lock-free ringbuffers. These are a good way to pass data | |||
| between threads, when streaming realtime data to slower media, like | |||
| @@ -92,29 +94,29 @@ The JACK programming interfaces are described in several header files: | |||
| - @ref transport.h "<jack/transport.h>" defines a simple transport | |||
| control mechanism for starting, stopping and repositioning clients. | |||
| This is described in the @ref transport-design document. | |||
| - @ref types.h "<jack/types.h>" defines most of the JACK data types. | |||
| - @ref types.h "<jack/types.h>" defines the main JACK data types. | |||
| - @ref thread.h "<jack/thread.h>" functions standardize thread | |||
| creation for JACK and its clients. | |||
| In addition, the example-clients directory provides numerous examples | |||
| of simple JACK clients that nevertheless use the API to do something | |||
| useful. It includes | |||
| useful. It includes | |||
| - a metronome. | |||
| - a recording client that can capture any number of channels | |||
| from any JACK sources and store them as an audio file. | |||
| - command line clients to control the transport mechanism, | |||
| change the buffer size and more. | |||
| - simple examples of wrapping a GUI around a JACK application. | |||
| - commands to load and unload JACK internal clients. | |||
| - tools for checking the status of a running JACK system. | |||
| @section porting Porting | |||
| JACK is designed to be portable to any system supporting the relevant | |||
| POSIX and ANSI C standards. It currently runs under GNU/Linux and Mac | |||
| OS X on several different processor architectures. If you want to | |||
| port JACK to another platform, please read the @ref porting-guide | |||
| document. | |||
| POSIX and ANSI C standards. It currently runs under GNU/Linux, Mac OS | |||
| X and Berkeley Unix on several different processor architectures. If | |||
| you want to port JACK to another platform, please read the @ref | |||
| porting-guide document. | |||
| @section license License | |||
| @@ -370,6 +370,7 @@ INPUT = @top_srcdir@/doc/mainpage.dox \ | |||
| @top_srcdir@/jack/intclient.h \ | |||
| @top_srcdir@/jack/jack.h \ | |||
| @top_srcdir@/jack/ringbuffer.h \ | |||
| @top_srcdir@/jack/statistics.h \ | |||
| @top_srcdir@/jack/thread.h \ | |||
| @top_srcdir@/jack/transport.h \ | |||
| @top_srcdir@/jack/types.h | |||
| @@ -6,6 +6,7 @@ libjackinclude_HEADERS = \ | |||
| intclient.h \ | |||
| jack.h \ | |||
| ringbuffer.h \ | |||
| statistics.h \ | |||
| thread.h \ | |||
| timestamps.h \ | |||
| transport.h \ | |||
| @@ -1,5 +1,6 @@ | |||
| /* | |||
| Copyright (C) 2001 Paul Davis | |||
| Copyright (C) 2004 Jack O'Quin | |||
| This program is free software; you can redistribute it and/or modify | |||
| it under the terms of the GNU Lesser General Public License as published by | |||
| @@ -316,13 +317,6 @@ int jack_set_graph_order_callback (jack_client_t *, | |||
| int jack_set_xrun_callback (jack_client_t *, | |||
| JackXRunCallback xrun_callback, void *arg); | |||
| /** | |||
| * @return the delay in microseconds due to the most recent XRUN | |||
| * occurrence. This probably only makes sense when called from a @ref | |||
| * JackXRunCallback defined using jack_set_xrun_callback(). | |||
| */ | |||
| float jack_get_xrun_delayed_usecs (jack_client_t *client); | |||
| /** | |||
| * Tell the Jack server that the program is ready to start processing | |||
| * audio. | |||
| @@ -746,7 +740,6 @@ jack_nframes_t jack_frame_time (const jack_client_t *); | |||
| */ | |||
| jack_nframes_t jack_last_frame_time (const jack_client_t *client); | |||
| /** | |||
| * @return the current CPU load estimated by JACK. This is a running | |||
| * average of the time it takes to execute a full process cycle for | |||
| @@ -754,21 +747,6 @@ jack_nframes_t jack_last_frame_time (const jack_client_t *client); | |||
| * determined by the buffer size and sample rate. | |||
| */ | |||
| float jack_cpu_load (jack_client_t *client); | |||
| /** | |||
| * @return the maximum delay reported by the backend since | |||
| * startup or reset. When compared to the period size in usecs, this | |||
| * can be used to estimate the ideal period size for a given setup. | |||
| */ | |||
| float jack_get_max_delayed_usecs (jack_client_t *client); | |||
| /** | |||
| * Reset the maximum delay counter. This would be useful | |||
| * to estimate the effect that a change to the configuration of a running | |||
| * system (e.g. toggling kernel preemption) has on the delay | |||
| * experienced by JACK, without having to restart the JACK engine. | |||
| */ | |||
| void jack_reset_max_delayed_usecs (jack_client_t *client); | |||
| /** | |||
| * @return the pthread ID of the thread running the JACK client side | |||
| @@ -0,0 +1,57 @@ | |||
| /* | |||
| * Copyright (C) 2004 Rui Nuno Capela, Lee Revell | |||
| * | |||
| * This program is free software; you can redistribute it and/or | |||
| * modify it under the terms of the GNU Lesser General Public License | |||
| * as published by the Free Software Foundation; either version 2.1 | |||
| * of the License, or (at your option) any later version. | |||
| * | |||
| * This program is distributed in the hope that it will be useful, | |||
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |||
| * Lesser General Public License for more details. | |||
| * | |||
| * You should have received a copy of the GNU Lesser General Public | |||
| * License along with this program; if not, write to the Free | |||
| * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | |||
| * 02111-1307, USA. | |||
| * | |||
| * $Id$ | |||
| */ | |||
| #ifndef __statistics_h__ | |||
| #define __statistics_h__ | |||
| #ifdef __cplusplus | |||
| extern "C" { | |||
| #endif | |||
| #include <jack/types.h> | |||
| /** | |||
| * @return the maximum delay reported by the backend since | |||
| * startup or reset. When compared to the period size in usecs, this | |||
| * can be used to estimate the ideal period size for a given setup. | |||
| */ | |||
| float jack_get_max_delayed_usecs (jack_client_t *client); | |||
| /** | |||
| * @return the delay in microseconds due to the most recent XRUN | |||
| * occurrence. This probably only makes sense when called from a @ref | |||
| * JackXRunCallback defined using jack_set_xrun_callback(). | |||
| */ | |||
| float jack_get_xrun_delayed_usecs (jack_client_t *client); | |||
| /** | |||
| * Reset the maximum delay counter. This would be useful | |||
| * to estimate the effect that a change to the configuration of a running | |||
| * system (e.g. toggling kernel preemption) has on the delay | |||
| * experienced by JACK, without having to restart the JACK engine. | |||
| */ | |||
| void jack_reset_max_delayed_usecs (jack_client_t *client); | |||
| #ifdef __cplusplus | |||
| } | |||
| #endif | |||
| #endif /* __statistics_h__ */ | |||
| @@ -1,3 +1,7 @@ | |||
| 2004-12-31 Jack O'Quin <joq@io.com> | |||
| * new header file: <jack/statistics.h> | |||
| 2004-12-27 Jack O'Quin <joq@io.com> | |||
| * new API functions jack_get_max_delayed_usecs() and | |||