\section{Audio\-File Class Reference} \label{class_audio_file}\index{AudioFile@{Audio\-File}} A class used to manipulate audio data. audio file access. {\tt \#include $<$audio.h$>$} \subsection*{Public Methods} \begin{CompactItemize} \item {\bf Audio\-File} (const char $\ast$fname, unsigned long samples=0) \item {\bf Audio\-File} (const char $\ast$fname, {\bf audioinfo\_\-t} $\ast$info, unsigned long min=0) \item {\bf Audio\-File} () \item {\bf $\sim$Audio\-File} () \item void {\bf Open} (const char $\ast$fname) \item void {\bf Create} (const char $\ast$fname, {\bf audioinfo\_\-t} $\ast$info) \item void {\bf Close} (void) \item int {\bf get\-Buffer} (void $\ast$addr, unsigned len) \item int {\bf put\-Buffer} (void $\ast$attr, unsigned len) \item {\bf audioerror\_\-t} {\bf get\-Samples} (void $\ast$addr, unsigned samples) \item {\bf audioerror\_\-t} {\bf put\-Samples} (void $\ast$addr, unsigned samples) \item {\bf audioerror\_\-t} {\bf Skip} (long samples) \item {\bf audioerror\_\-t} {\bf set\-Position} (unsigned long samples=$\sim$0l) \item {\bf audioerror\_\-t} {\bf get\-Info} ({\bf audioinfo\_\-t} $\ast$info) \item {\bf audioerror\_\-t} {\bf set\-Minimum} (unsigned long samples) \item unsigned long {\bf get\-Position} (void) \item virtual bool {\bf is\-Open} (void) \item virtual bool {\bf has\-Positioning} (void) \item {\bf audioencoding\_\-t} {\bf get\-Encoding} (void) \item {\bf audioformat\_\-t} {\bf get\-Format} (void) \item unsigned {\bf get\-Sample\-Rate} (void) \item char $\ast$ {\bf get\-Annotation} (void) \item {\bf audioerror\_\-t} {\bf get\-Error} (void) \item bool {\bf operator!} (void) \end{CompactItemize} \subsection*{Protected Methods} \begin{CompactItemize} \item virtual bool {\bf af\-Create} (const char $\ast$path) \item virtual bool {\bf af\-Open} (const char $\ast$path) \item virtual bool {\bf af\-Peek} (unsigned char $\ast$data, unsigned size) \item virtual int {\bf af\-Read} (unsigned char $\ast$data, unsigned size) \item virtual int {\bf af\-Write} (unsigned char $\ast$data, unsigned size) \item virtual bool {\bf af\-Seek} (unsigned long pos) \item virtual void {\bf af\-Close} (void) \item virtual char $\ast$ {\bf get\-Continuation} (void) \item {\bf audioerror\_\-t} {\bf set\-Error} ({\bf audioerror\_\-t} err) \item unsigned short {\bf getaushort} (unsigned char $\ast$data) \item void {\bf setaushort} (unsigned char $\ast$data, unsigned short value) \item unsigned long {\bf getaulong} (unsigned char $\ast$data) \item void {\bf setaulong} (unsigned char $\ast$data, unsigned long value) \end{CompactItemize} \subsection*{Protected Attributes} \begin{CompactItemize} \item Audio\-File:: \{ ... \} {\bf file} \item int {\bf fd} \item void $\ast$ {\bf handle} \end{CompactItemize} \subsection{Detailed Description} A class used to manipulate audio data. audio file access. This class provides file level access to audio data stored in different formats. This class also provides the ability to write audio data into a disk file. \begin{Desc} \item[Author: ]\par David Sugar $<${\tt dyfet@ostel.com}$>$ \end{Desc} \subsection{Constructor \& Destructor Documentation} \index{AudioFile@{Audio\-File}!AudioFile@{AudioFile}} \index{AudioFile@{AudioFile}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}Audio\-File::Audio\-File (const char $\ast$ {\em fname}, unsigned long {\em samples} = 0)}\label{class_audio_file_a0} \index{AudioFile@{Audio\-File}!AudioFile@{AudioFile}} \index{AudioFile@{AudioFile}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}Audio\-File::Audio\-File (const char $\ast$ {\em fname}, {\bf audioinfo\_\-t} $\ast$ {\em info}, unsigned long {\em min} = 0)}\label{class_audio_file_a1} \index{AudioFile@{Audio\-File}!AudioFile@{AudioFile}} \index{AudioFile@{AudioFile}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}Audio\-File::Audio\-File ()\hspace{0.3cm}{\tt [inline]}}\label{class_audio_file_a2} \index{AudioFile@{Audio\-File}!~AudioFile@{$\sim$AudioFile}} \index{~AudioFile@{$\sim$AudioFile}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}Audio\-File::$\sim$Audio\-File ()\hspace{0.3cm}{\tt [inline]}}\label{class_audio_file_a3} \subsection{Member Function Documentation} \index{AudioFile@{Audio\-File}!Close@{Close}} \index{Close@{Close}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Audio\-File::Close (void)}\label{class_audio_file_a6} \index{AudioFile@{Audio\-File}!Create@{Create}} \index{Create@{Create}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Audio\-File::Create (const char $\ast$ {\em fname}, {\bf audioinfo\_\-t} $\ast$ {\em info})}\label{class_audio_file_a5} \index{AudioFile@{Audio\-File}!Open@{Open}} \index{Open@{Open}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Audio\-File::Open (const char $\ast$ {\em fname})}\label{class_audio_file_a4} \index{AudioFile@{Audio\-File}!Skip@{Skip}} \index{Skip@{Skip}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf audioerror\_\-t} Audio\-File::Skip (long {\em samples})}\label{class_audio_file_a11} \index{AudioFile@{Audio\-File}!afClose@{afClose}} \index{afClose@{afClose}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void Audio\-File::af\-Close (void)\hspace{0.3cm}{\tt [protected, virtual]}}\label{class_audio_file_b6} \index{AudioFile@{Audio\-File}!afCreate@{afCreate}} \index{afCreate@{afCreate}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual bool Audio\-File::af\-Create (const char $\ast$ {\em path})\hspace{0.3cm}{\tt [protected, virtual]}}\label{class_audio_file_b0} \index{AudioFile@{Audio\-File}!afOpen@{afOpen}} \index{afOpen@{afOpen}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual bool Audio\-File::af\-Open (const char $\ast$ {\em path})\hspace{0.3cm}{\tt [protected, virtual]}}\label{class_audio_file_b1} \index{AudioFile@{Audio\-File}!afPeek@{afPeek}} \index{afPeek@{afPeek}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual bool Audio\-File::af\-Peek (unsigned char $\ast$ {\em data}, unsigned {\em size})\hspace{0.3cm}{\tt [protected, virtual]}}\label{class_audio_file_b2} \index{AudioFile@{Audio\-File}!afRead@{afRead}} \index{afRead@{afRead}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual int Audio\-File::af\-Read (unsigned char $\ast$ {\em data}, unsigned {\em size})\hspace{0.3cm}{\tt [protected, virtual]}}\label{class_audio_file_b3} \index{AudioFile@{Audio\-File}!afSeek@{afSeek}} \index{afSeek@{afSeek}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual bool Audio\-File::af\-Seek (unsigned long {\em pos})\hspace{0.3cm}{\tt [protected, virtual]}}\label{class_audio_file_b5} \index{AudioFile@{Audio\-File}!afWrite@{afWrite}} \index{afWrite@{afWrite}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual int Audio\-File::af\-Write (unsigned char $\ast$ {\em data}, unsigned {\em size})\hspace{0.3cm}{\tt [protected, virtual]}}\label{class_audio_file_b4} \index{AudioFile@{Audio\-File}!getAnnotation@{getAnnotation}} \index{getAnnotation@{getAnnotation}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ Audio\-File::get\-Annotation (void)\hspace{0.3cm}{\tt [inline]}}\label{class_audio_file_a21} \index{AudioFile@{Audio\-File}!getBuffer@{getBuffer}} \index{getBuffer@{getBuffer}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Audio\-File::get\-Buffer (void $\ast$ {\em addr}, unsigned {\em len})}\label{class_audio_file_a7} \index{AudioFile@{Audio\-File}!getContinuation@{getContinuation}} \index{getContinuation@{getContinuation}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual char$\ast$ Audio\-File::get\-Continuation (void)\hspace{0.3cm}{\tt [inline, protected, virtual]}}\label{class_audio_file_b7} \index{AudioFile@{Audio\-File}!getEncoding@{getEncoding}} \index{getEncoding@{getEncoding}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf audioencoding\_\-t} Audio\-File::get\-Encoding (void)\hspace{0.3cm}{\tt [inline]}}\label{class_audio_file_a18} \index{AudioFile@{Audio\-File}!getError@{getError}} \index{getError@{getError}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf audioerror\_\-t} Audio\-File::get\-Error (void)\hspace{0.3cm}{\tt [inline]}}\label{class_audio_file_a22} \index{AudioFile@{Audio\-File}!getFormat@{getFormat}} \index{getFormat@{getFormat}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf audioformat\_\-t} Audio\-File::get\-Format (void)\hspace{0.3cm}{\tt [inline]}}\label{class_audio_file_a19} \index{AudioFile@{Audio\-File}!getInfo@{getInfo}} \index{getInfo@{getInfo}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf audioerror\_\-t} Audio\-File::get\-Info ({\bf audioinfo\_\-t} $\ast$ {\em info})}\label{class_audio_file_a13} \index{AudioFile@{Audio\-File}!getPosition@{getPosition}} \index{getPosition@{getPosition}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}unsigned long Audio\-File::get\-Position (void)}\label{class_audio_file_a15} \index{AudioFile@{Audio\-File}!getSampleRate@{getSampleRate}} \index{getSampleRate@{getSampleRate}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}unsigned Audio\-File::get\-Sample\-Rate (void)\hspace{0.3cm}{\tt [inline]}}\label{class_audio_file_a20} \index{AudioFile@{Audio\-File}!getSamples@{getSamples}} \index{getSamples@{getSamples}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf audioerror\_\-t} Audio\-File::get\-Samples (void $\ast$ {\em addr}, unsigned {\em samples})}\label{class_audio_file_a9} \index{AudioFile@{Audio\-File}!getaulong@{getaulong}} \index{getaulong@{getaulong}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}unsigned long Audio\-File::getaulong (unsigned char $\ast$ {\em data})\hspace{0.3cm}{\tt [protected]}}\label{class_audio_file_b11} \index{AudioFile@{Audio\-File}!getaushort@{getaushort}} \index{getaushort@{getaushort}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}unsigned short Audio\-File::getaushort (unsigned char $\ast$ {\em data})\hspace{0.3cm}{\tt [protected]}}\label{class_audio_file_b9} \index{AudioFile@{Audio\-File}!hasPositioning@{hasPositioning}} \index{hasPositioning@{hasPositioning}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual bool Audio\-File::has\-Positioning (void)\hspace{0.3cm}{\tt [inline, virtual]}}\label{class_audio_file_a17} \index{AudioFile@{Audio\-File}!isOpen@{isOpen}} \index{isOpen@{isOpen}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual bool Audio\-File::is\-Open (void)\hspace{0.3cm}{\tt [virtual]}}\label{class_audio_file_a16} \index{AudioFile@{Audio\-File}!operator"!@{operator"!}} \index{operator"!@{operator"!}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool Audio\-File::operator! (void)\hspace{0.3cm}{\tt [inline]}}\label{class_audio_file_a23} \index{AudioFile@{Audio\-File}!putBuffer@{putBuffer}} \index{putBuffer@{putBuffer}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Audio\-File::put\-Buffer (void $\ast$ {\em attr}, unsigned {\em len})}\label{class_audio_file_a8} \index{AudioFile@{Audio\-File}!putSamples@{putSamples}} \index{putSamples@{putSamples}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf audioerror\_\-t} Audio\-File::put\-Samples (void $\ast$ {\em addr}, unsigned {\em samples})}\label{class_audio_file_a10} \index{AudioFile@{Audio\-File}!setError@{setError}} \index{setError@{setError}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf audioerror\_\-t} Audio\-File::set\-Error ({\bf audioerror\_\-t} {\em err})\hspace{0.3cm}{\tt [protected]}}\label{class_audio_file_b8} \index{AudioFile@{Audio\-File}!setMinimum@{setMinimum}} \index{setMinimum@{setMinimum}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf audioerror\_\-t} Audio\-File::set\-Minimum (unsigned long {\em samples})}\label{class_audio_file_a14} \index{AudioFile@{Audio\-File}!setPosition@{setPosition}} \index{setPosition@{setPosition}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf audioerror\_\-t} Audio\-File::set\-Position (unsigned long {\em samples} = $\sim$0l)}\label{class_audio_file_a12} \index{AudioFile@{Audio\-File}!setaulong@{setaulong}} \index{setaulong@{setaulong}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Audio\-File::setaulong (unsigned char $\ast$ {\em data}, unsigned long {\em value})\hspace{0.3cm}{\tt [protected]}}\label{class_audio_file_b12} \index{AudioFile@{Audio\-File}!setaushort@{setaushort}} \index{setaushort@{setaushort}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Audio\-File::setaushort (unsigned char $\ast$ {\em data}, unsigned short {\em value})\hspace{0.3cm}{\tt [protected]}}\label{class_audio_file_b10} \subsection{Member Data Documentation} \index{AudioFile@{Audio\-File}!fd@{fd}} \index{fd@{fd}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Audio\-File::fd\hspace{0.3cm}{\tt [protected]}}\label{class_audio_file_n0} \index{AudioFile@{Audio\-File}!file@{file}} \index{file@{file}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}union \{ ... \} Audio\-File::file\hspace{0.3cm}{\tt [protected]}}\label{class_audio_file_n2} \index{AudioFile@{Audio\-File}!handle@{handle}} \index{handle@{handle}!AudioFile@{Audio\-File}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ Audio\-File::handle\hspace{0.3cm}{\tt [protected]}}\label{class_audio_file_n1} The documentation for this class was generated from the following file:\begin{CompactItemize} \item {\bf audio.h}\end{CompactItemize}