Browse Source

[0.99.42] move several function prototypes to statistics.h

git-svn-id: svn+ssh://jackaudio.org/trunk/jack@860 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/0.109.0
joq 21 years ago
parent
commit
284d80c382
7 changed files with 77 additions and 34 deletions
  1. +1
    -1
      configure.ac
  2. +12
    -10
      doc/mainpage.dox
  3. +1
    -0
      doc/reference.doxygen.in
  4. +1
    -0
      jack/Makefile.am
  5. +1
    -23
      jack/jack.h
  6. +57
    -0
      jack/statistics.h
  7. +4
    -0
      libjack/ChangeLog

+ 1
- 1
configure.ac View File

@@ -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


+ 12
- 10
doc/mainpage.dox View File

@@ -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



+ 1
- 0
doc/reference.doxygen.in View File

@@ -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


+ 1
- 0
jack/Makefile.am View File

@@ -6,6 +6,7 @@ libjackinclude_HEADERS = \
intclient.h \
jack.h \
ringbuffer.h \
statistics.h \
thread.h \
timestamps.h \
transport.h \


+ 1
- 23
jack/jack.h View File

@@ -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


+ 57
- 0
jack/statistics.h View File

@@ -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__ */

+ 4
- 0
libjack/ChangeLog View File

@@ -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


Loading…
Cancel
Save