%
% automatically generated by HelpGen from
% /home/guilhem/PROJECTS/wxWindows/utils/wxMMedia2/lib/sndfile.h at 26/Feb/00 14:26:42
%


\section{\class{wxSoundFileStream}}\label{wxsoundfilestream}


Base class for file coders/decoders

\wxheading{Derived from}

\helpref{wxSoundStream}{wxsoundstream}

\wxheading{Data structures}

\latexignore{\rtfignore{\wxheading{Members}}}


\membersection{wxSoundFileStream::wxSoundFileStream}\label{wxsoundfilestreamwxsoundfilestream}

\func{}{wxSoundFileStream}{\param{wxInputStream\& }{stream}, \param{wxSoundStream\& }{io\_sound}}

\func{}{wxSoundFileStream}{\param{wxOutputStream\& }{stream}, \param{wxSoundStream\& }{io\_sound}}

\membersection{wxSoundFileStream::\destruct{wxSoundFileStream}}\label{wxsoundfilestreamdtor}

\func{}{\destruct{wxSoundFileStream}}{\void}


\membersection{wxSoundFileStream::Play}\label{wxsoundfilestreamplay}

\func{bool}{Play}{\void}

Usual sound file calls (Play, Stop, ...)


\membersection{wxSoundFileStream::Record}\label{wxsoundfilestreamrecord}

\func{bool}{Record}{\param{wxUint32 }{time}}


\membersection{wxSoundFileStream::Stop}\label{wxsoundfilestreamstop}

\func{bool}{Stop}{\void}


\membersection{wxSoundFileStream::Pause}\label{wxsoundfilestreampause}

\func{bool}{Pause}{\void}


\membersection{wxSoundFileStream::Resume}\label{wxsoundfilestreamresume}

\func{bool}{Resume}{\void}


\membersection{wxSoundFileStream::IsStopped}\label{wxsoundfilestreamisstopped}

\constfunc{bool}{IsStopped}{\void}

Functions which return the current state


\membersection{wxSoundFileStream::IsPaused}\label{wxsoundfilestreamispaused}

\constfunc{bool}{IsPaused}{\void}


\membersection{wxSoundFileStream::StartProduction}\label{wxsoundfilestreamstartproduction}

\func{bool}{StartProduction}{\param{int }{evt}}

A user should not call these two functions.
Several things must be done before calling them.
Users should use Play(), ... 


\membersection{wxSoundFileStream::StopProduction}\label{wxsoundfilestreamstopproduction}

\func{bool}{StopProduction}{\void}


\membersection{wxSoundFileStream::GetLength}\label{wxsoundfilestreamgetlength}

\func{wxUint32}{GetLength}{\void}

These three functions deals with the length, the position in the sound file.
All the values are expressed in bytes. If you need the values expressed
in terms of time, you have to use GetSoundFormat().GetTimeFromBytes(...)


\membersection{wxSoundFileStream::GetPosition}\label{wxsoundfilestreamgetposition}

\func{wxUint32}{GetPosition}{\void}


\membersection{wxSoundFileStream::SetPosition}\label{wxsoundfilestreamsetposition}

\func{wxUint32}{SetPosition}{\param{wxUint32 }{new\_position}}


\membersection{wxSoundFileStream::Read}\label{wxsoundfilestreamread}

\func{wxSoundStream\&}{Read}{\param{void* }{buffer}, \param{wxUint32 }{len}}

These two functions use the sound format specified by GetSoundFormat().
All samples must be encoded in that format. 


\membersection{wxSoundFileStream::Write}\label{wxsoundfilestreamwrite}

\func{wxSoundStream\&}{Write}{\param{const void* }{buffer}, \param{wxUint32 }{len}}


\membersection{wxSoundFileStream::SetSoundFormat}\label{wxsoundfilestreamsetsoundformat}

\func{bool}{SetSoundFormat}{\param{const wxSoundFormatBase\& }{format}}

This function set the sound format of the file. !! It must be used only
when you are in output mode (concerning the file) !! If you are in
input mode (concerning the file) you can't use this function to modify
the format of the samples returned by Read() !
For this action, you must use wxSoundRouterStream applied to wxSoundFileStream. 


\membersection{wxSoundFileStream::GetCodecName}\label{wxsoundfilestreamgetcodecname}

\constfunc{wxString}{GetCodecName}{\void}

This function returns the Codec name. This is useful for those who want to build
a player (But also in some other case).


\membersection{wxSoundFileStream::CanRead}\label{wxsoundfilestreamcanread}

\func{bool}{CanRead}{\void}

You should use this function to test whether this file codec can read
the stream you passed to it.


\membersection{wxSoundFileStream::PrepareToPlay}\label{wxsoundfilestreampreparetoplay}

\func{bool}{PrepareToPlay}{\void}


\membersection{wxSoundFileStream::PrepareToRecord}\label{wxsoundfilestreampreparetorecord}

\func{bool}{PrepareToRecord}{\param{wxUint32 }{time}}


\membersection{wxSoundFileStream::FinishRecording}\label{wxsoundfilestreamfinishrecording}

\func{bool}{FinishRecording}{\void}


\membersection{wxSoundFileStream::RepositionStream}\label{wxsoundfilestreamrepositionstream}

\func{bool}{RepositionStream}{\param{wxUint32 }{position}}


\membersection{wxSoundFileStream::FinishPreparation}\label{wxsoundfilestreamfinishpreparation}

\func{void}{FinishPreparation}{\param{wxUint32 }{len}}


\membersection{wxSoundFileStream::GetData}\label{wxsoundfilestreamgetdata}

\func{wxUint32}{GetData}{\param{void* }{buffer}, \param{wxUint32 }{len}}


\membersection{wxSoundFileStream::PutData}\label{wxsoundfilestreamputdata}

\func{wxUint32}{PutData}{\param{const void* }{buffer}, \param{wxUint32 }{len}}


\membersection{wxSoundFileStream::OnSoundEvent}\label{wxsoundfilestreamonsoundevent}

\func{void}{OnSoundEvent}{\param{int }{evt}}

