\section{Alsa\-Out Class Reference}
\label{classAlsaOut}\index{AlsaOut@{AlsaOut}}
Sends MIDI events to a MIDI devices using ALSA.  


{\tt \#include $<$alsaout.h$>$}

Inheritance diagram for Alsa\-Out:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=44pt]{classAlsaOut__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for Alsa\-Out:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=54pt]{classAlsaOut__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
{\bf Alsa\-Out} (int d, int client=64, int port=0, const  char $\ast$cname=\char`\"{}\char`\"{}, const  char $\ast$pname=\char`\"{}\char`\"{})
\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item 
virtual {\bf $\sim$Alsa\-Out} ()
\begin{CompactList}\small\item\em Destructor. \item\end{CompactList}\item 
virtual void {\bf open\-Dev} (int sqfd)
\begin{CompactList}\small\item\em Opens the device. \item\end{CompactList}\item 
virtual void {\bf close\-Dev} ()
\begin{CompactList}\small\item\em Closes the device. \item\end{CompactList}\item 
virtual void {\bf init\-Dev} ()
\begin{CompactList}\small\item\em Initializes the device sending generic standard midi events and controllers, such as changing the patches of each channel to an Acoustic Piano (000), setting the volume to a normal value, etc. \item\end{CompactList}\item 
int {\bf device\-Type} () const 
\item 
virtual const  char $\ast$ {\bf device\-Name} (void) const 
\begin{CompactList}\small\item\em Returns the name and type of this MIDI device. \item\end{CompactList}\item 
int {\bf rate} (void)\label{classAlsaOut_a7}

\item 
virtual void {\bf note\-On} ({\bf uchar} chn, {\bf uchar} note, {\bf uchar} vel)
\begin{CompactList}\small\item\em See {\bf Device\-Manager::note\-On}{\rm (p.\,\pageref{classDeviceManager_a13})}(). \item\end{CompactList}\item 
virtual void {\bf note\-Off} ({\bf uchar} chn, {\bf uchar} note, {\bf uchar} vel)
\begin{CompactList}\small\item\em See {\bf Device\-Manager::note\-Off}{\rm (p.\,\pageref{classDeviceManager_a14})}(). \item\end{CompactList}\item 
virtual void {\bf key\-Pressure} ({\bf uchar} chn, {\bf uchar} note, {\bf uchar} vel)
\begin{CompactList}\small\item\em See {\bf Device\-Manager::key\-Pressure}{\rm (p.\,\pageref{classDeviceManager_a15})}(). \item\end{CompactList}\item 
virtual void {\bf chn\-Patch\-Change} ({\bf uchar} chn, {\bf uchar} patch)
\begin{CompactList}\small\item\em See {\bf Device\-Manager::chn\-Patch\-Change}{\rm (p.\,\pageref{classDeviceManager_a16})}(). \item\end{CompactList}\item 
virtual void {\bf chn\-Pressure} ({\bf uchar} chn, {\bf uchar} vel)
\begin{CompactList}\small\item\em See {\bf Device\-Manager::chn\-Pressure}{\rm (p.\,\pageref{classDeviceManager_a17})}(). \item\end{CompactList}\item 
virtual void {\bf chn\-Pitch\-Bender} ({\bf uchar} chn, {\bf uchar} lsb, {\bf uchar} msb)
\begin{CompactList}\small\item\em See {\bf Device\-Manager::chn\-Pitch\-Bender}{\rm (p.\,\pageref{classDeviceManager_a18})}(). \item\end{CompactList}\item 
virtual void {\bf chn\-Controller} ({\bf uchar} chn, {\bf uchar} ctl, {\bf uchar} v)
\begin{CompactList}\small\item\em See {\bf Device\-Manager::chn\-Controller}{\rm (p.\,\pageref{classDeviceManager_a19})}(). \item\end{CompactList}\item 
virtual void {\bf sysex} ({\bf uchar} $\ast$data, {\bf ulong} size)
\begin{CompactList}\small\item\em See Device\-Manager::sysex(). \item\end{CompactList}\item 
virtual void {\bf channel\-Silence} ({\bf uchar} chn)
\begin{CompactList}\small\item\em Mutes all notes being played on a given channel. \item\end{CompactList}\item 
virtual void {\bf channel\-Mute} ({\bf uchar} chn, int a)
\begin{CompactList}\small\item\em Mute or \char`\"{}unmute\char`\"{} a given channel . \item\end{CompactList}\item 
virtual void {\bf set\-Volume\-Percentage} (int volper)
\begin{CompactList}\small\item\em Change all channel volume events multiplying it by this percentage correction Instead of forcing a channel to a fixed volume, this method allows to music to fade out even when it was being played softly. \item\end{CompactList}\item 
int {\bf ok} (void)
\begin{CompactList}\small\item\em Returns true if everything's ok and false if there has been any problem. \item\end{CompactList}\item 
virtual void {\bf wait} (double ticks)\label{classAlsaOut_a20}

\item 
virtual void {\bf tmr\-Set\-Tempo} (int v)\label{classAlsaOut_a21}

\item 
virtual void {\bf tmr\-Start} (int tpcn)\label{classAlsaOut_a22}

\item 
virtual void {\bf tmr\-Start} ()\label{classAlsaOut_a23}

\item 
virtual void {\bf tmr\-Stop} ()\label{classAlsaOut_a24}

\item 
virtual void {\bf tmr\-Continue} ()\label{classAlsaOut_a25}

\item 
void {\bf sync} (int i=0)
\begin{CompactList}\small\item\em Sends the buffer to the device and returns when it's played, so you can synchronize XXX: sync should be virtual after next bic release. \item\end{CompactList}\end{CompactItemize}
\subsection*{Public Attributes}
\begin{CompactItemize}
\item 
Alsa\-Out\-Private $\ast$ {\bf di}\label{classAlsaOut_o0}

\end{CompactItemize}
\subsection*{Protected Member Functions}
\begin{CompactItemize}
\item 
virtual void {\bf seqbuf\_\-dump} (void)\label{classAlsaOut_b0}

\item 
virtual void {\bf seqbuf\_\-clean} (void)\label{classAlsaOut_b1}

\item 
void {\bf event\-Init} (snd\_\-seq\_\-event\_\-t $\ast$ev)\label{classAlsaOut_b2}

\item 
void {\bf event\-Send} (snd\_\-seq\_\-event\_\-t $\ast$ep)\label{classAlsaOut_b3}

\item 
void {\bf timer\-Event\-Send} (int type)\label{classAlsaOut_b4}

\end{CompactItemize}
\subsection*{Protected Attributes}
\begin{CompactItemize}
\item 
int {\bf ndevs}\label{classAlsaOut_p0}

\item 
int {\bf nmidiports}\label{classAlsaOut_p1}

\item 
double {\bf count}\label{classAlsaOut_p2}

\item 
double {\bf lastcount}\label{classAlsaOut_p3}

\item 
double {\bf lasttime}\label{classAlsaOut_p4}

\item 
double {\bf begintime}\label{classAlsaOut_p5}

\item 
int {\bf m\_\-rate}\label{classAlsaOut_p6}

\item 
double {\bf convertrate}\label{classAlsaOut_p7}

\item 
long int {\bf time}\label{classAlsaOut_p8}

\end{CompactItemize}
\subsection*{Friends}
\begin{CompactItemize}
\item 
class {\bf Device\-Manager}\label{classAlsaOut_n0}

\end{CompactItemize}


\subsection{Detailed Description}
Sends MIDI events to a MIDI devices using ALSA. 

\begin{Desc}
\item[Version:]0.9.5 17/01/2000 \end{Desc}
\begin{Desc}
\item[Author:]Antonio Larrosa Jimenez $<${\tt larrosa@kde.org}$>$ \end{Desc}




Definition at line 37 of file alsaout.h.

\subsection{Constructor \& Destructor Documentation}
\index{AlsaOut@{Alsa\-Out}!AlsaOut@{AlsaOut}}
\index{AlsaOut@{AlsaOut}!AlsaOut@{Alsa\-Out}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Alsa\-Out::Alsa\-Out (int {\em d}, int {\em client} = 64, int {\em port} = 0, const char $\ast$ {\em cname} = \char`\"{}\char`\"{}, const char $\ast$ {\em pname} = \char`\"{}\char`\"{})}\label{classAlsaOut_a0}


Constructor. 

After constructing a {\bf Midi\-Out}{\rm (p.\,\pageref{classMidiOut})} device, you must open it (using {\bf open\-Dev}{\rm (p.\,\pageref{classAlsaOut_a2})}() ). Additionally you may want to initialize it (with {\bf init\-Dev}{\rm (p.\,\pageref{classAlsaOut_a4})}() ), 

Definition at line 111 of file alsaout.cc.\index{AlsaOut@{Alsa\-Out}!~AlsaOut@{$\sim$AlsaOut}}
\index{~AlsaOut@{$\sim$AlsaOut}!AlsaOut@{Alsa\-Out}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Alsa\-Out::$\sim${\bf Alsa\-Out} ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAlsaOut_a1}


Destructor. 

It doesn't matter if you close the device ({\bf close\-Dev}{\rm (p.\,\pageref{classAlsaOut_a3})}() ) before you destruct the object because in other case, it will be closed here. 

Definition at line 126 of file alsaout.cc.

References close\-Dev().

\subsection{Member Function Documentation}
\index{AlsaOut@{Alsa\-Out}!openDev@{openDev}}
\index{openDev@{openDev}!AlsaOut@{Alsa\-Out}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Alsa\-Out::open\-Dev (int {\em sqfd})\hspace{0.3cm}{\tt  [virtual]}}\label{classAlsaOut_a2}


Opens the device. 

This is generally called from {\bf Device\-Manager}{\rm (p.\,\pageref{classDeviceManager})} , so you shouldn't call this yourself (except if you created the {\bf Midi\-Out}{\rm (p.\,\pageref{classMidiOut})} object yourself. \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em sqfd}]a file descriptor of /dev/sequencer \end{description}
\end{Desc}
\begin{Desc}
\item[See also:]{\bf close\-Dev}{\rm (p.\,\pageref{classAlsaOut_a3})} 

{\bf init\-Dev}{\rm (p.\,\pageref{classAlsaOut_a4})} \end{Desc}


Reimplemented from {\bf Midi\-Out} {\rm (p.\,\pageref{classMidiOut_a2})}.

Definition at line 132 of file alsaout.cc.\index{AlsaOut@{Alsa\-Out}!closeDev@{closeDev}}
\index{closeDev@{closeDev}!AlsaOut@{Alsa\-Out}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Alsa\-Out::close\-Dev ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAlsaOut_a3}


Closes the device. 

It basically tells the device (the file descriptor) is going to be closed. \begin{Desc}
\item[See also:]{\bf open\-Dev}{\rm (p.\,\pageref{classAlsaOut_a2})} \end{Desc}


Reimplemented from {\bf Midi\-Out} {\rm (p.\,\pageref{classMidiOut_a3})}.

Definition at line 181 of file alsaout.cc.

References ok().

Referenced by $\sim$Alsa\-Out().\index{AlsaOut@{Alsa\-Out}!initDev@{initDev}}
\index{initDev@{initDev}!AlsaOut@{Alsa\-Out}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Alsa\-Out::init\-Dev ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAlsaOut_a4}


Initializes the device sending generic standard midi events and controllers, such as changing the patches of each channel to an Acoustic Piano (000), setting the volume to a normal value, etc. 



Reimplemented from {\bf Midi\-Out} {\rm (p.\,\pageref{classMidiOut_a4})}.

Definition at line 204 of file alsaout.cc.

References chn\-Controller(), chn\-Patch\-Change(), chn\-Pitch\-Bender(), chn\-Pressure(), ok(), and sysex().\index{AlsaOut@{Alsa\-Out}!deviceType@{deviceType}}
\index{deviceType@{deviceType}!AlsaOut@{Alsa\-Out}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Alsa\-Out::device\-Type () const\hspace{0.3cm}{\tt  [inline]}}\label{classAlsaOut_a5}


\begin{Desc}
\item[Returns:]the device type of the object. This is to identify the inherited class that a given object is polymorphed to. The returned value is one of these :\end{Desc}
\begin{itemize}
\item KMID\_\-EXTERNAL\_\-MIDI if it's a {\bf Midi\-Out}{\rm (p.\,\pageref{classMidiOut})} object \item KMID\_\-SYNTH if it's a {\bf Synth\-Out}{\rm (p.\,\pageref{classSynthOut})} object (as an AWE device) \item KMID\_\-FM if it's a {\bf FMOut}{\rm (p.\,\pageref{classFMOut})} object \item KMID\_\-GUS if it's a {\bf GUSOut}{\rm (p.\,\pageref{classGUSOut})} object\end{itemize}
which are defined in {\bf midispec.h}{\rm (p.\,\pageref{midispec_8h})}

\begin{Desc}
\item[See also:]{\bf device\-Name}{\rm (p.\,\pageref{classAlsaOut_a6})} \end{Desc}


Reimplemented from {\bf Midi\-Out} {\rm (p.\,\pageref{classMidiOut_a5})}.

Definition at line 129 of file alsaout.h.\index{AlsaOut@{Alsa\-Out}!deviceName@{deviceName}}
\index{deviceName@{deviceName}!AlsaOut@{Alsa\-Out}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const  char $\ast$ Alsa\-Out::device\-Name (void) const\hspace{0.3cm}{\tt  [virtual]}}\label{classAlsaOut_a6}


Returns the name and type of this MIDI device. 

\begin{Desc}
\item[See also:]{\bf device\-Type}{\rm (p.\,\pageref{classAlsaOut_a5})} \end{Desc}


Reimplemented from {\bf Midi\-Out} {\rm (p.\,\pageref{classMidiOut_a6})}.

Definition at line 561 of file alsaout.cc.\index{AlsaOut@{Alsa\-Out}!noteOn@{noteOn}}
\index{noteOn@{noteOn}!AlsaOut@{Alsa\-Out}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Alsa\-Out::note\-On ({\bf uchar} {\em chn}, {\bf uchar} {\em note}, {\bf uchar} {\em vel})\hspace{0.3cm}{\tt  [virtual]}}\label{classAlsaOut_a8}


See {\bf Device\-Manager::note\-On}{\rm (p.\,\pageref{classDeviceManager_a13})}(). 



Reimplemented from {\bf Midi\-Out} {\rm (p.\,\pageref{classMidiOut_a8})}.

Definition at line 291 of file alsaout.cc.

References Midi\-Mapper::channel(), Midi\-Mapper::key(), and note\-Off().\index{AlsaOut@{Alsa\-Out}!noteOff@{noteOff}}
\index{noteOff@{noteOff}!AlsaOut@{Alsa\-Out}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Alsa\-Out::note\-Off ({\bf uchar} {\em chn}, {\bf uchar} {\em note}, {\bf uchar} {\em vel})\hspace{0.3cm}{\tt  [virtual]}}\label{classAlsaOut_a9}


See {\bf Device\-Manager::note\-Off}{\rm (p.\,\pageref{classDeviceManager_a14})}(). 



Reimplemented from {\bf Midi\-Out} {\rm (p.\,\pageref{classMidiOut_a9})}.

Definition at line 313 of file alsaout.cc.

References Midi\-Mapper::channel(), and Midi\-Mapper::key().

Referenced by channel\-Silence(), and note\-On().\index{AlsaOut@{Alsa\-Out}!keyPressure@{keyPressure}}
\index{keyPressure@{keyPressure}!AlsaOut@{Alsa\-Out}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Alsa\-Out::key\-Pressure ({\bf uchar} {\em chn}, {\bf uchar} {\em note}, {\bf uchar} {\em vel})\hspace{0.3cm}{\tt  [virtual]}}\label{classAlsaOut_a10}


See {\bf Device\-Manager::key\-Pressure}{\rm (p.\,\pageref{classDeviceManager_a15})}(). 



Reimplemented from {\bf Midi\-Out} {\rm (p.\,\pageref{classMidiOut_a10})}.

Definition at line 328 of file alsaout.cc.

References Midi\-Mapper::channel(), and Midi\-Mapper::key().\index{AlsaOut@{Alsa\-Out}!chnPatchChange@{chnPatchChange}}
\index{chnPatchChange@{chnPatchChange}!AlsaOut@{Alsa\-Out}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Alsa\-Out::chn\-Patch\-Change ({\bf uchar} {\em chn}, {\bf uchar} {\em patch})\hspace{0.3cm}{\tt  [virtual]}}\label{classAlsaOut_a11}


See {\bf Device\-Manager::chn\-Patch\-Change}{\rm (p.\,\pageref{classDeviceManager_a16})}(). 



Reimplemented from {\bf Midi\-Out} {\rm (p.\,\pageref{classMidiOut_a11})}.

Definition at line 340 of file alsaout.cc.

References Midi\-Mapper::channel(), and Midi\-Mapper::patch().

Referenced by init\-Dev().\index{AlsaOut@{Alsa\-Out}!chnPressure@{chnPressure}}
\index{chnPressure@{chnPressure}!AlsaOut@{Alsa\-Out}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Alsa\-Out::chn\-Pressure ({\bf uchar} {\em chn}, {\bf uchar} {\em vel})\hspace{0.3cm}{\tt  [virtual]}}\label{classAlsaOut_a12}


See {\bf Device\-Manager::chn\-Pressure}{\rm (p.\,\pageref{classDeviceManager_a17})}(). 



Reimplemented from {\bf Midi\-Out} {\rm (p.\,\pageref{classMidiOut_a12})}.

Definition at line 357 of file alsaout.cc.

References Midi\-Mapper::channel().

Referenced by init\-Dev().\index{AlsaOut@{Alsa\-Out}!chnPitchBender@{chnPitchBender}}
\index{chnPitchBender@{chnPitchBender}!AlsaOut@{Alsa\-Out}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Alsa\-Out::chn\-Pitch\-Bender ({\bf uchar} {\em chn}, {\bf uchar} {\em lsb}, {\bf uchar} {\em msb})\hspace{0.3cm}{\tt  [virtual]}}\label{classAlsaOut_a13}


See {\bf Device\-Manager::chn\-Pitch\-Bender}{\rm (p.\,\pageref{classDeviceManager_a18})}(). 



Reimplemented from {\bf Midi\-Out} {\rm (p.\,\pageref{classMidiOut_a13})}.

Definition at line 371 of file alsaout.cc.

References Midi\-Mapper::channel(), and Midi\-Mapper::pitch\-Bender().

Referenced by init\-Dev().\index{AlsaOut@{Alsa\-Out}!chnController@{chnController}}
\index{chnController@{chnController}!AlsaOut@{Alsa\-Out}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Alsa\-Out::chn\-Controller ({\bf uchar} {\em chn}, {\bf uchar} {\em ctl}, {\bf uchar} {\em v})\hspace{0.3cm}{\tt  [virtual]}}\label{classAlsaOut_a14}


See {\bf Device\-Manager::chn\-Controller}{\rm (p.\,\pageref{classDeviceManager_a19})}(). 



Reimplemented from {\bf Midi\-Out} {\rm (p.\,\pageref{classMidiOut_a14})}.

Definition at line 387 of file alsaout.cc.

References Midi\-Mapper::channel(), and Midi\-Mapper::controller().

Referenced by init\-Dev().\index{AlsaOut@{Alsa\-Out}!sysex@{sysex}}
\index{sysex@{sysex}!AlsaOut@{Alsa\-Out}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Alsa\-Out::sysex ({\bf uchar} $\ast$ {\em data}, {\bf ulong} {\em size})\hspace{0.3cm}{\tt  [virtual]}}\label{classAlsaOut_a15}


See Device\-Manager::sysex(). 



Reimplemented from {\bf Midi\-Out} {\rm (p.\,\pageref{classMidiOut_a15})}.

Definition at line 408 of file alsaout.cc.

Referenced by init\-Dev().\index{AlsaOut@{Alsa\-Out}!channelSilence@{channelSilence}}
\index{channelSilence@{channelSilence}!AlsaOut@{Alsa\-Out}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Alsa\-Out::channel\-Silence ({\bf uchar} {\em chn})\hspace{0.3cm}{\tt  [virtual]}}\label{classAlsaOut_a16}


Mutes all notes being played on a given channel. 



Reimplemented from {\bf Midi\-Out} {\rm (p.\,\pageref{classMidiOut_a17})}.

Definition at line 424 of file alsaout.cc.

References note\-Off().

Referenced by channel\-Mute().\index{AlsaOut@{Alsa\-Out}!channelMute@{channelMute}}
\index{channelMute@{channelMute}!AlsaOut@{Alsa\-Out}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Alsa\-Out::channel\-Mute ({\bf uchar} {\em chn}, int {\em a})\hspace{0.3cm}{\tt  [virtual]}}\label{classAlsaOut_a17}


Mute or \char`\"{}unmute\char`\"{} a given channel . 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em chn}]channel to work on \item[{\em b}]if true, the device will ignore subsequent notes played on the chn channel, and mute all notes being played on it. If b is false, the channel is back to work. \end{description}
\end{Desc}


Reimplemented from {\bf Midi\-Out} {\rm (p.\,\pageref{classMidiOut_a18})}.

Definition at line 438 of file alsaout.cc.

References channel\-Silence().\index{AlsaOut@{Alsa\-Out}!setVolumePercentage@{setVolumePercentage}}
\index{setVolumePercentage@{setVolumePercentage}!AlsaOut@{Alsa\-Out}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void Alsa\-Out::set\-Volume\-Percentage (int {\em volper})\hspace{0.3cm}{\tt  [inline, virtual]}}\label{classAlsaOut_a18}


Change all channel volume events multiplying it by this percentage correction Instead of forcing a channel to a fixed volume, this method allows to music to fade out even when it was being played softly. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em volper}]is an integer value, where 0 is quiet, 100 is used to send an unmodified value, 200 play music twice louder than it should, etc. \end{description}
\end{Desc}


Reimplemented from {\bf Midi\-Out} {\rm (p.\,\pageref{classMidiOut_a19})}.

Definition at line 203 of file alsaout.h.\index{AlsaOut@{Alsa\-Out}!ok@{ok}}
\index{ok@{ok}!AlsaOut@{Alsa\-Out}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Alsa\-Out::ok (void)\hspace{0.3cm}{\tt  [inline]}}\label{classAlsaOut_a19}


Returns true if everything's ok and false if there has been any problem. 



Reimplemented from {\bf Midi\-Out} {\rm (p.\,\pageref{classMidiOut_a20})}.

Definition at line 209 of file alsaout.h.

Referenced by close\-Dev(), and init\-Dev().\index{AlsaOut@{Alsa\-Out}!sync@{sync}}
\index{sync@{sync}!AlsaOut@{Alsa\-Out}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Alsa\-Out::sync (int {\em i} = 0)}\label{classAlsaOut_a26}


Sends the buffer to the device and returns when it's played, so you can synchronize XXX: sync should be virtual after next bic release. 



Reimplemented from {\bf Midi\-Out} {\rm (p.\,\pageref{classMidiOut_a22})}.

Definition at line 497 of file alsaout.cc.

The documentation for this class was generated from the following files:\begin{CompactItemize}
\item 
alsaout.h\item 
alsaout.cc\end{CompactItemize}
