/[pcsx2_0.9.7]/trunk/3rdparty/portaudio/src/common/pa_trace.c
ViewVC logotype

Contents of /trunk/3rdparty/portaudio/src/common/pa_trace.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 10 - (show annotations) (download)
Mon Sep 6 11:40:06 2010 UTC (10 years ago) by william
File MIME type: text/plain
File size: 3351 byte(s)
exported r3113 from ./upstream/trunk
1 /*
2 * $Id: pa_trace.c 1339 2008-02-15 07:50:33Z rossb $
3 * Portable Audio I/O Library Trace Facility
4 * Store trace information in real-time for later printing.
5 *
6 * Based on the Open Source API proposed by Ross Bencina
7 * Copyright (c) 1999-2000 Phil Burk
8 *
9 * Permission is hereby granted, free of charge, to any person obtaining
10 * a copy of this software and associated documentation files
11 * (the "Software"), to deal in the Software without restriction,
12 * including without limitation the rights to use, copy, modify, merge,
13 * publish, distribute, sublicense, and/or sell copies of the Software,
14 * and to permit persons to whom the Software is furnished to do so,
15 * subject to the following conditions:
16 *
17 * The above copyright notice and this permission notice shall be
18 * included in all copies or substantial portions of the Software.
19 *
20 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
23 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
24 * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
25 * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
26 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27 */
28
29 /*
30 * The text above constitutes the entire PortAudio license; however,
31 * the PortAudio community also makes the following non-binding requests:
32 *
33 * Any person wishing to distribute modifications to the Software is
34 * requested to send the modifications to the original developer so that
35 * they can be incorporated into the canonical version. It is also
36 * requested that these non-binding requests be included along with the
37 * license above.
38 */
39
40 /** @file
41 @ingroup common_src
42
43 @brief Real-time safe event trace logging facility for debugging.
44 */
45
46
47 #include <stdio.h>
48 #include <stdlib.h>
49 #include <string.h>
50 #include "pa_trace.h"
51
52 #if PA_TRACE_REALTIME_EVENTS
53
54 static char *traceTextArray[PA_MAX_TRACE_RECORDS];
55 static int traceIntArray[PA_MAX_TRACE_RECORDS];
56 static int traceIndex = 0;
57 static int traceBlock = 0;
58
59 /*********************************************************************/
60 void PaUtil_ResetTraceMessages()
61 {
62 traceIndex = 0;
63 }
64
65 /*********************************************************************/
66 void PaUtil_DumpTraceMessages()
67 {
68 int i;
69 int messageCount = (traceIndex < PA_MAX_TRACE_RECORDS) ? traceIndex : PA_MAX_TRACE_RECORDS;
70
71 printf("DumpTraceMessages: traceIndex = %d\n", traceIndex );
72 for( i=0; i<messageCount; i++ )
73 {
74 printf("%3d: %s = 0x%08X\n",
75 i, traceTextArray[i], traceIntArray[i] );
76 }
77 PaUtil_ResetTraceMessages();
78 fflush(stdout);
79 }
80
81 /*********************************************************************/
82 void PaUtil_AddTraceMessage( const char *msg, int data )
83 {
84 if( (traceIndex == PA_MAX_TRACE_RECORDS) && (traceBlock == 0) )
85 {
86 traceBlock = 1;
87 /* PaUtil_DumpTraceMessages(); */
88 }
89 else if( traceIndex < PA_MAX_TRACE_RECORDS )
90 {
91 traceTextArray[traceIndex] = msg;
92 traceIntArray[traceIndex] = data;
93 traceIndex++;
94 }
95 }
96
97 #endif /* TRACE_REALTIME_EVENTS */

  ViewVC Help
Powered by ViewVC 1.1.22