annotate src/libsamplerate-0.1.8/doc/api.html @ 23:619f715526df sv_v2.1

Update Vamp plugin SDK to 2.5
author Chris Cannam
date Thu, 09 May 2013 10:52:46 +0100
parents c7265573341e
children
rev   line source
Chris@0 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
Chris@0 2 <HTML>
Chris@0 3
Chris@0 4 <HEAD>
Chris@0 5 <TITLE>
Chris@0 6 Secret Rabbit Code (aka libsamplerate)
Chris@0 7 </TITLE>
Chris@0 8 <META NAME="Author" CONTENT="Erik de Castro Lopo (erikd AT mega-nerd DOT com)">
Chris@0 9 <META NAME="Version" CONTENT="libsamplerate-0.1.8">
Chris@0 10 <META NAME="Description" CONTENT="The Secret Rabbit Code Home Page">
Chris@0 11 <META NAME="Keywords" CONTENT="libsamplerate sound resample audio dsp Linux">
Chris@0 12 <LINK REL=StyleSheet HREF="SRC.css" TYPE="text/css" MEDIA="all">
Chris@0 13 </HEAD>
Chris@0 14
Chris@0 15 <BODY TEXT="#FFFFFF" BGCOLOR="#000000" LINK="#FB1465" VLINK="#FB1465" ALINK="#FB1465">
Chris@0 16 <!-- pepper -->
Chris@0 17 <CENTER>
Chris@0 18 <IMG SRC="SRC.png" HEIGHT=100 WIDTH=760 ALT="SRC.png">
Chris@0 19 </CENTER>
Chris@0 20 <!-- pepper -->
Chris@0 21 <BR>
Chris@0 22 <!-- pepper -->
Chris@0 23 <TABLE ALIGN="center" WIDTH="98%">
Chris@0 24 <TR>
Chris@0 25 <TD VALIGN="top">
Chris@0 26 <BR>
Chris@0 27 <DIV CLASS="nav">
Chris@0 28 <BR>
Chris@0 29 <A HREF="index.html">Home</A><BR>
Chris@0 30 <A HREF="license.html">License</A><BR>
Chris@0 31 <A HREF="history.html">History</A><BR>
Chris@0 32 <A HREF="download.html">Download</A><BR>
Chris@0 33 <A HREF="quality.html">Quality</A><BR>
Chris@0 34 <A HREF="api.html">API</A><BR>
Chris@0 35 <A HREF="bugs.html">Bug Reporting</A><BR>
Chris@0 36 <A HREF="win32.html">On Win32</A><BR>
Chris@0 37 <A HREF="faq.html">FAQ</A><BR>
Chris@0 38 <A HREF="lists.html">Mailing Lists</A><BR>
Chris@0 39 <A HREF="ChangeLog">ChangeLog</A><BR>
Chris@0 40 <BR>
Chris@0 41 <DIV CLASS="block">
Chris@0 42 Author :<BR>Erik de Castro Lopo
Chris@0 43 <!-- pepper -->
Chris@0 44 <BR><BR>
Chris@0 45 <!-- pepper -->
Chris@0 46
Chris@0 47 </DIV>
Chris@0 48 <IMG SRC=
Chris@0 49 "/cgi-bin/Count.cgi?ft=6|frgb=55;55;55|tr=0|md=6|dd=B|st=1|sh=1|df=src_api.dat"
Chris@0 50 HEIGHT=30 WIDTH=100 ALT="counter.gif">
Chris@0 51 </DIV>
Chris@0 52
Chris@0 53 </TD>
Chris@0 54 <!-- pepper -->
Chris@0 55 <!-- ######################################################################## -->
Chris@0 56 <!-- pepper -->
Chris@0 57 <TD VALIGN="top">
Chris@0 58 <DIV CLASS="block">
Chris@0 59
Chris@0 60 <H1><B>Applications Programming Interface</B></H1>
Chris@0 61 <P>
Chris@0 62 The publically callable functions of libsamplerate are all listed in the
Chris@0 63 <B>&lt;samplerate.h&gt;</B> header file.
Chris@0 64 In order to use any of the functionality of libsamplerate, you need to add
Chris@0 65 </P>
Chris@0 66 <PRE>
Chris@0 67 #include &lt;samplerate.h&gt;
Chris@0 68 </PRE>
Chris@0 69 <P>
Chris@0 70 to the top of any function that call any of the following functions.
Chris@0 71 You will also need to link you binary with the libsamplerate library.
Chris@0 72 </P>
Chris@0 73 <P>
Chris@0 74 The API allows three methods for accessing the capabilies of the library:
Chris@0 75 </P>
Chris@0 76 <UL>
Chris@0 77 <LI>A <A HREF="api_simple.html">simple interface</A> which can sample rate convert
Chris@0 78 a single block of samples (one or more channels) in one go.
Chris@0 79 The simple API is less capable than the full API.
Chris@0 80 <LI>A <A HREF="api_full.html">more fully featured interface</A> which allows time
Chris@0 81 varying sample rate conversion on streaming data (again one or more
Chris@0 82 channels).
Chris@0 83 <LI>A <A HREF="api_callback.html">callback interface</A> which has the same
Chris@0 84 functionality as the interface above but allows the details of input and
Chris@0 85 output to be separated.
Chris@0 86 The output is generated by call a read function and the library calls a user
Chris@0 87 supplied callback function to obtain its input.
Chris@0 88 This interface is particularly well suited to applications where the output
Chris@0 89 sample rate is varied with time.
Chris@0 90 </UL>
Chris@0 91
Chris@0 92 <P>
Chris@0 93 <b>NB :</b> All three access methods are able to process multi channel interleaved
Chris@0 94 data.
Chris@0 95 </P>
Chris@0 96
Chris@0 97 <P>
Chris@0 98 The parts of the API which are common to all three interfaces are:
Chris@0 99 </P>
Chris@0 100 <UL>
Chris@0 101 <LI> The <A HREF="api_misc.html#ErrorReporting">error reporting</A> mechanisim.
Chris@0 102 <LI> The available <A HREF="api_misc.html#Converters">converter</A> types.
Chris@0 103 <LI> The <A HREF="api_misc.html#SRC_DATA">SRC_DATA</A> struct.
Chris@0 104 </UL>
Chris@0 105 <P>
Chris@0 106 All three versions of the API are restricted to operating on buffers of ISO C
Chris@0 107 Standard <B>float</B> data.
Chris@0 108 However, there are two
Chris@0 109 <A HREF="api_misc.html#Aux">auxillary functions</A>
Chris@0 110 for converting arrays of float data to and from short data.
Chris@0 111 </P>
Chris@0 112
Chris@0 113 <P>
Chris@0 114 <B>Note:</B> The <B>tests/</B> and <B>examples/</B> directories of the source code
Chris@0 115 distribution contain numerous example programs showing the use of the library.
Chris@0 116 </P>
Chris@0 117
Chris@0 118 <!-- pepper -->
Chris@0 119 <!-- <A HREF="mailto:aldel0305@mega-nerd.com">For the spam bots</A> -->
Chris@0 120 <!-- pepper -->
Chris@0 121
Chris@0 122 </DIV>
Chris@0 123 </TD></TR>
Chris@0 124 </TABLE>
Chris@0 125
Chris@0 126 </BODY>
Chris@0 127 </HTML>