Răsfoiți Sursa

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

Nikolay Nikolov 6 luni în urmă
părinte
comite
af7e61603a

+ 7 - 0
packages/libjack/fpmake.pp

@@ -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');

+ 3 - 0
packages/libjack/namespaced/Api.Jack.Statistics.pp

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

+ 1 - 0
packages/libjack/namespaces.lst

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

+ 21 - 0
packages/libjack/src/jackstatistics.pp

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

+ 57 - 0
packages/libjack/src/statistics.inc

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