+ added header translation of jack/statistics.h to libjack

This commit is contained in:
Nikolay Nikolov 2025-01-06 17:18:14 +02:00
parent 691dc59a2a
commit af7e61603a
5 changed files with 89 additions and 0 deletions

View File

@ -67,6 +67,13 @@ begin
AddUnit('jack');
end;
T:=P.Targets.AddUnit('jackstatistics.pp');
with T.Dependencies do
begin
AddInclude('statistics.inc');
AddUnit('jack');
end;
P.ExamplePath.Add('examples');
P.Targets.AddExampleProgram('simple_client.pp');
P.Targets.AddExampleProgram('simple_session_client.pp');

View File

@ -0,0 +1,3 @@
unit Api.Jack.Statistics;
{$DEFINE FPC_DOTTEDUNITS}
{$i jackstatistics.pp}

View File

@ -3,5 +3,6 @@ src/jackringbuffer.pp=namespaced/Api.Jack.RingBuffer.pp
src/jackuuid.pp=namespaced/Api.Jack.Uuid.pp
src/jacksession.pp=namespaced/Api.Jack.Session.pp
src/jackthread.pp=namespaced/Api.Jack.Thread.pp
src/jackstatistics.pp=namespaced/Api.Jack.Statistics.pp
{s*:src/}=namespaced/
{i+:src/}

View File

@ -0,0 +1,21 @@
{$IFNDEF FPC_DOTTEDUNITS}
unit jackstatistics;
{$ENDIF FPC_DOTTEDUNITS}
interface
{$packrecords C}
uses
{$IFDEF FPC_DOTTEDUNITS}
System.CTypes, Api.Jack;
{$ELSE FPC_DOTTEDUNITS}
ctypes, jack;
{$ENDIF FPC_DOTTEDUNITS}
{$I statistics.inc}
implementation
end.

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.
*
*)
{$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.
*)
function jack_get_max_delayed_usecs (client: Pjack_client_t): cfloat; cdecl; external libjack;
(**
* @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().
*)
function jack_get_xrun_delayed_usecs (client: Pjack_client_t): cfloat; cdecl; external libjack;
(**
* 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.
*)
procedure jack_reset_max_delayed_usecs (client: Pjack_client_t); cdecl; external libjack;
//#ifdef __cplusplus
//}
//#endif
{$endif __statistics_h__}