\section{Player\-Controller Struct Reference}
\label{structPlayerController}\index{PlayerController@{PlayerController}}
Player\-Controller is a struct that is used by the {\bf Midi\-Player}{\rm (p.\,\pageref{classMidiPlayer})} object to tell other parts of the application about the status of the MIDI playing. Struct used to have control over the player engine.  


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

Collaboration diagram for Player\-Controller:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=63pt]{structPlayerController__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Attributes}
\begin{CompactItemize}
\item 
volatile {\bf ulong} {\bf ticks\-Total}\label{structPlayerController_o0}

\item 
volatile {\bf ulong} {\bf ticks\-Played}\label{structPlayerController_o1}

\item 
volatile double {\bf millisecs\-Played}\label{structPlayerController_o2}

\item 
volatile {\bf ulong} {\bf beginmillisec}\label{structPlayerController_o3}

\item 
volatile int {\bf tempo}\label{structPlayerController_o4}

\item 
volatile int {\bf num}\label{structPlayerController_o5}

\item 
volatile int {\bf den}\label{structPlayerController_o6}

\item 
volatile int {\bf SPEVprocessed}\label{structPlayerController_o7}

\item 
volatile int {\bf SPEVplayed}\label{structPlayerController_o8}

\item 
volatile int {\bf OK}
\begin{CompactList}\small\item\em When pause is released, if the caller must know when the player has opened the devices and is playing again, then it just has to check to see when OK changes the value to 1. \item\end{CompactList}\item 
volatile int {\bf playing}
\begin{CompactList}\small\item\em When the player is playing (or paused), playing is set to 1. \item\end{CompactList}\item 
volatile int {\bf paused}
\begin{CompactList}\small\item\em When the player is paused, paused is set to 1. \item\end{CompactList}\item 
volatile int {\bf moving}
\begin{CompactList}\small\item\em When the player seeking the position of the song, moving is set to 1. \item\end{CompactList}\item 
volatile int {\bf finished}
\begin{CompactList}\small\item\em When the player has finished playing a song, finished is set to 1. \item\end{CompactList}\item 
volatile int {\bf message}\label{structPlayerController_o14}

\item 
volatile {\bf ulong} {\bf gotomsec}\label{structPlayerController_o15}

\item 
volatile int {\bf error}
\begin{CompactList}\small\item\em When error is 1, an error has ocurred (i.e. \item\end{CompactList}\item 
volatile int {\bf gm}
\begin{CompactList}\small\item\em If gm is 1, the song follows the General Midi standard, if gm is 0, the song is in MT 32 format. \item\end{CompactList}\item 
volatile int {\bf volumepercentage}
\begin{CompactList}\small\item\em 100 means no change, 50 halfs the volume, 200 doubles it (if possible), etc. \item\end{CompactList}\item 
volatile bool {\bf forcepgm} [16]
\begin{CompactList}\small\item\em Activate or disactivate the force to use a patch for a given channel. \item\end{CompactList}\item 
volatile int {\bf pgm} [16]
\begin{CompactList}\small\item\em Force a given patch in each channel at \char`\"{}this\char`\"{} moment, as determined by {\bf forcepgm}{\rm (p.\,\pageref{structPlayerController_o19})}. \item\end{CompactList}\item 
volatile double {\bf ratio\-Tempo}
\begin{CompactList}\small\item\em Ratio to multiply the tempo to. \item\end{CompactList}\item 
volatile bool {\bf is\-Sending\-All\-Notes\-Off}\label{structPlayerController_o22}

\item 
volatile {\bf Midi\-Event} $\ast$ {\bf ev}\label{structPlayerController_o23}

\end{CompactItemize}


\subsection{Detailed Description}
Player\-Controller is a struct that is used by the {\bf Midi\-Player}{\rm (p.\,\pageref{classMidiPlayer})} object to tell other parts of the application about the status of the MIDI playing. Struct used to have control over the player engine. 

\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 137 of file player.h.

\subsection{Member Data Documentation}
\index{PlayerController@{Player\-Controller}!OK@{OK}}
\index{OK@{OK}!PlayerController@{Player\-Controller}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}volatile int {\bf Player\-Controller::OK}}\label{structPlayerController_o9}


When pause is released, if the caller must know when the player has opened the devices and is playing again, then it just has to check to see when OK changes the value to 1. 



Definition at line 156 of file player.h.

Referenced by Midi\-Player::play().\index{PlayerController@{Player\-Controller}!playing@{playing}}
\index{playing@{playing}!PlayerController@{Player\-Controller}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}volatile int {\bf Player\-Controller::playing}}\label{structPlayerController_o10}


When the player is playing (or paused), playing is set to 1. 



Definition at line 161 of file player.h.

Referenced by Midi\-Player::play().\index{PlayerController@{Player\-Controller}!paused@{paused}}
\index{paused@{paused}!PlayerController@{Player\-Controller}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}volatile int {\bf Player\-Controller::paused}}\label{structPlayerController_o11}


When the player is paused, paused is set to 1. 



Definition at line 166 of file player.h.

Referenced by Midi\-Player::play().\index{PlayerController@{Player\-Controller}!moving@{moving}}
\index{moving@{moving}!PlayerController@{Player\-Controller}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}volatile int {\bf Player\-Controller::moving}}\label{structPlayerController_o12}


When the player seeking the position of the song, moving is set to 1. 



Definition at line 171 of file player.h.

Referenced by Midi\-Player::play().\index{PlayerController@{Player\-Controller}!finished@{finished}}
\index{finished@{finished}!PlayerController@{Player\-Controller}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}volatile int {\bf Player\-Controller::finished}}\label{structPlayerController_o13}


When the player has finished playing a song, finished is set to 1. 



Definition at line 176 of file player.h.

Referenced by Midi\-Player::play().\index{PlayerController@{Player\-Controller}!error@{error}}
\index{error@{error}!PlayerController@{Player\-Controller}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}volatile int {\bf Player\-Controller::error}}\label{structPlayerController_o16}


When error is 1, an error has ocurred (i.e. 

it coultn't open the device) 

Definition at line 195 of file player.h.

Referenced by Midi\-Player::play().\index{PlayerController@{Player\-Controller}!gm@{gm}}
\index{gm@{gm}!PlayerController@{Player\-Controller}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}volatile int {\bf Player\-Controller::gm}}\label{structPlayerController_o17}


If gm is 1, the song follows the General Midi standard, if gm is 0, the song is in MT 32 format. 



Definition at line 201 of file player.h.

Referenced by Midi\-Player::play().\index{PlayerController@{Player\-Controller}!volumepercentage@{volumepercentage}}
\index{volumepercentage@{volumepercentage}!PlayerController@{Player\-Controller}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}volatile int {\bf Player\-Controller::volumepercentage}}\label{structPlayerController_o18}


100 means no change, 50 halfs the volume, 200 doubles it (if possible), etc. 

\begin{Desc}
\item[See also:]{\bf Device\-Manager::set\-Volume\-Percentage()}{\rm (p.\,\pageref{classDeviceManager_a28})} \end{Desc}


Definition at line 208 of file player.h.

Referenced by Midi\-Player::play().\index{PlayerController@{Player\-Controller}!forcepgm@{forcepgm}}
\index{forcepgm@{forcepgm}!PlayerController@{Player\-Controller}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}volatile bool {\bf Player\-Controller::forcepgm}[16]}\label{structPlayerController_o19}


Activate or disactivate the force to use a patch for a given channel. 

\begin{Desc}
\item[See also:]{\bf pgm}{\rm (p.\,\pageref{structPlayerController_o20})} \end{Desc}


Definition at line 214 of file player.h.

Referenced by Midi\-Player::play(), and Midi\-Player::set\-Pos().\index{PlayerController@{Player\-Controller}!pgm@{pgm}}
\index{pgm@{pgm}!PlayerController@{Player\-Controller}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}volatile int {\bf Player\-Controller::pgm}[16]}\label{structPlayerController_o20}


Force a given patch in each channel at \char`\"{}this\char`\"{} moment, as determined by {\bf forcepgm}{\rm (p.\,\pageref{structPlayerController_o19})}. 



Definition at line 220 of file player.h.

Referenced by Midi\-Player::play(), and Midi\-Player::set\-Pos().\index{PlayerController@{Player\-Controller}!ratioTempo@{ratioTempo}}
\index{ratioTempo@{ratioTempo}!PlayerController@{Player\-Controller}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}volatile double {\bf Player\-Controller::ratio\-Tempo}}\label{structPlayerController_o21}


Ratio to multiply the tempo to. 



Definition at line 225 of file player.h.

Referenced by Midi\-Player::load\-Song(), Midi\-Player::play(), Midi\-Player::set\-Pos(), and Midi\-Player::set\-Tempo\-Ratio().

The documentation for this struct was generated from the following file:\begin{CompactItemize}
\item 
player.h\end{CompactItemize}
