Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members

clXMMSOut Class Reference

#include <XMMSOut.hh>

Collaboration diagram for clXMMSOut:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 clXMMSOut ()
 ~clXMMSOut ()
void Init ()
void About ()
void Configure ()
int OpenAudio (AFormat, int, int)
void WriteAudio (void *, int)
void CloseAudio ()
void Flush (int)
void Pause (short)
int BufferFree ()
int BufferPlaying ()
int OutputTime ()
int WrittenTime ()
void * MainThread (void *)
void * ServeClientThread (void *)
void Stop ()
void OnAboutButton (GtkButton *, gpointer)
void OnButtonClick (GtkButton *, gpointer)

Private Member Functions

double GetTime ()
void Convert8s8u (void *, int)
void Convert16u16s (void *, int)
void EndianConvert (unsigned short *, int)
void CopyChannel (GDT *, const GDT *, int)

Private Attributes

volatile bool bRun
volatile bool bPause
int iMainThreadH
int iWriteTime
int iPlayTime
volatile int iAudioBufSize
volatile int iFragmentSize
unsigned long long uiTotalTickCount
double dStartTime
char * cpLocalSocket
AFormat eAudioFormat
stRawDataFirst sHdr
clReBufferT< GDT > ReBuffer
clAlloc AudioBuf
clMutex MtxAudio
clCondition CndAudio
clDSPOp DSP
clSockServ SServ
gchar * cpMessageTxt
GtkWidget * gwMessageBox
GtkWidget * gwWinConfig
GtkWidget * gwVBox
GtkWidget * gwHBox
GtkWidget * gwLBufSize
GtkWidget * gwEBufSize
GtkWidget * gwLLocalSocket
GtkWidget * gwELocalSocket
GtkWidget * gwBOk
GtkWidget * gwBCancel

Constructor & Destructor Documentation

clXMMSOut::clXMMSOut  ) 
 

Definition at line 253 of file XMMSOut.cc.

References bPause, bRun, cpLocalSocket, dStartTime, gwWinConfig, iAudioBufSize, iFragmentSize, and iMainThreadH.

clXMMSOut::~clXMMSOut  ) 
 

Definition at line 266 of file XMMSOut.cc.

References CloseAudio().


Member Function Documentation

double clXMMSOut::GetTime  )  [inline, private]
 

Definition at line 186 of file XMMSOut.cc.

Referenced by Flush(), and WriteAudio().

void clXMMSOut::Convert8s8u void *  ,
int 
[inline, private]
 

Definition at line 197 of file XMMSOut.cc.

Referenced by WriteAudio().

void clXMMSOut::Convert16u16s void *  ,
int 
[inline, private]
 

Definition at line 211 of file XMMSOut.cc.

Referenced by WriteAudio().

void clXMMSOut::EndianConvert unsigned short *  ,
int 
[inline, private]
 

Definition at line 225 of file XMMSOut.cc.

void clXMMSOut::CopyChannel GDT *  ,
const GDT *  ,
int 
[inline, private]
 

Definition at line 239 of file XMMSOut.cc.

References _stRawDataFirst::iChannels, iFragmentSize, and sHdr.

Referenced by ServeClientThread().

void clXMMSOut::Init  ) 
 

Definition at line 272 of file XMMSOut.cc.

References AudioBuf, clSockServ::Bind(), cpDefLocalSocket, cpLocalSocket, GDT, iAudioBufSize, iDefBufferSize, iFragmentSize, and SServ.

Referenced by hasas_init(), and OnButtonClick().

void clXMMSOut::About  ) 
 

Definition at line 298 of file XMMSOut.cc.

References cpMessageTxt, GLOBAL_VERSMAJ, GLOBAL_VERSMIN, GLOBAL_VERSPL, gwMessageBox, WrapOnAboutButton(), and XMMSOUT_DESCRIPTION.

Referenced by hasas_about().

void clXMMSOut::Configure  ) 
 

Definition at line 309 of file XMMSOut.cc.

References cpBCancelTxt, cpBOkTxt, cpLBufSizeTxt, cpLLocalSocketTxt, cpLocalSocket, cpWinTitleTxt, gwBCancel, gwBOk, gwEBufSize, gwELocalSocket, gwHBox, gwLBufSize, gwLLocalSocket, gwVBox, gwWinConfig, iAudioBufSize, and WrapOnButtonClick().

Referenced by hasas_configure().

int clXMMSOut::OpenAudio AFormat  ,
int  ,
int 
 

Definition at line 370 of file XMMSOut.cc.

References bRun, _stRawDataFirst::dSampleRate, dStartTime, eAudioFormat, _stRawDataFirst::iChannels, iMainThreadH, iPlayTime, iWriteTime, MainThread(), sHdr, uiTotalTickCount, and XMMSOutThreads().

Referenced by hasas_open_audio().

void clXMMSOut::WriteAudio void *  ,
int 
 

Definition at line 392 of file XMMSOut.cc.

References AudioBuf, bPause, CndAudio, Convert16u16s(), Convert8s8u(), _stRawDataFirst::dSampleRate, DSP, dStartTime, eAudioFormat, GDT, GetTime(), _stRawDataFirst::iChannels, iFragmentSize, iPlayTime, iWriteTime, MtxAudio, ReBuffer, sHdr, and uiTotalTickCount.

Referenced by hasas_write_audio().

void clXMMSOut::CloseAudio  ) 
 

Definition at line 489 of file XMMSOut.cc.

References iMainThreadH, Stop(), and XMMSOutThreads().

Referenced by hasas_close_audio(), and ~clXMMSOut().

void clXMMSOut::Flush int   ) 
 

Definition at line 500 of file XMMSOut.cc.

References dStartTime, GetTime(), iPlayTime, iWriteTime, and uiTotalTickCount.

Referenced by hasas_flush().

void clXMMSOut::Pause short   ) 
 

Definition at line 509 of file XMMSOut.cc.

References bPause.

Referenced by hasas_pause().

int clXMMSOut::BufferFree  ) 
 

Definition at line 515 of file XMMSOut.cc.

References iAudioBufSize.

Referenced by hasas_buffer_free().

int clXMMSOut::BufferPlaying  ) 
 

Definition at line 522 of file XMMSOut.cc.

Referenced by hasas_buffer_playing().

int clXMMSOut::OutputTime  ) 
 

Definition at line 529 of file XMMSOut.cc.

References iPlayTime.

Referenced by hasas_output_time().

int clXMMSOut::WrittenTime  ) 
 

Definition at line 535 of file XMMSOut.cc.

References iWriteTime.

Referenced by hasas_written_time().

void * clXMMSOut::MainThread void *   ) 
 

Definition at line 541 of file XMMSOut.cc.

References bRun, ServeClientThread(), SServ, clSockServ::WaitForConnect(), and XMMSOutThreads().

Referenced by OpenAudio().

void * clXMMSOut::ServeClientThread void *   ) 
 

Definition at line 560 of file XMMSOut.cc.

References AudioBuf, bRun, CndAudio, CopyChannel(), DSP, GDT, iAudioBufSize, _stRawDataReq::iChannel, _stRawDataFirst::iChannels, iFragmentSize, MtxAudio, clSockOp::ReadN(), sHdr, SOp, and clSockOp::WriteN().

Referenced by MainThread().

void clXMMSOut::Stop  )  [inline]
 

Definition at line 103 of file XMMSOut.hh.

References bRun.

Referenced by CloseAudio().

void clXMMSOut::OnAboutButton GtkButton *  ,
gpointer 
 

Definition at line 605 of file XMMSOut.cc.

References cpMessageTxt, and gwMessageBox.

Referenced by WrapOnAboutButton().

void clXMMSOut::OnButtonClick GtkButton *  ,
gpointer 
 

Definition at line 612 of file XMMSOut.cc.

References clSockServ::Close(), gwBCancel, gwBOk, gwEBufSize, gwELocalSocket, gwWinConfig, Init(), and SServ.

Referenced by WrapOnButtonClick().


Member Data Documentation

volatile bool clXMMSOut::bRun [private]
 

Definition at line 50 of file XMMSOut.hh.

Referenced by clXMMSOut(), MainThread(), OpenAudio(), ServeClientThread(), and Stop().

volatile bool clXMMSOut::bPause [private]
 

Definition at line 51 of file XMMSOut.hh.

Referenced by clXMMSOut(), Pause(), and WriteAudio().

int clXMMSOut::iMainThreadH [private]
 

Definition at line 52 of file XMMSOut.hh.

Referenced by CloseAudio(), clXMMSOut(), and OpenAudio().

int clXMMSOut::iWriteTime [private]
 

Definition at line 53 of file XMMSOut.hh.

Referenced by Flush(), OpenAudio(), WriteAudio(), and WrittenTime().

int clXMMSOut::iPlayTime [private]
 

Definition at line 54 of file XMMSOut.hh.

Referenced by Flush(), OpenAudio(), OutputTime(), and WriteAudio().

volatile int clXMMSOut::iAudioBufSize [private]
 

Definition at line 55 of file XMMSOut.hh.

Referenced by BufferFree(), clXMMSOut(), Configure(), Init(), and ServeClientThread().

volatile int clXMMSOut::iFragmentSize [private]
 

Definition at line 56 of file XMMSOut.hh.

Referenced by clXMMSOut(), CopyChannel(), Init(), ServeClientThread(), and WriteAudio().

unsigned long long clXMMSOut::uiTotalTickCount [private]
 

Definition at line 57 of file XMMSOut.hh.

Referenced by Flush(), OpenAudio(), and WriteAudio().

double clXMMSOut::dStartTime [private]
 

Definition at line 58 of file XMMSOut.hh.

Referenced by clXMMSOut(), Flush(), OpenAudio(), and WriteAudio().

char* clXMMSOut::cpLocalSocket [private]
 

Definition at line 59 of file XMMSOut.hh.

Referenced by clXMMSOut(), Configure(), and Init().

AFormat clXMMSOut::eAudioFormat [private]
 

Definition at line 60 of file XMMSOut.hh.

Referenced by OpenAudio(), and WriteAudio().

stRawDataFirst clXMMSOut::sHdr [private]
 

Definition at line 61 of file XMMSOut.hh.

Referenced by CopyChannel(), OpenAudio(), ServeClientThread(), and WriteAudio().

clReBufferT<GDT> clXMMSOut::ReBuffer [private]
 

Definition at line 62 of file XMMSOut.hh.

Referenced by WriteAudio().

clAlloc clXMMSOut::AudioBuf [private]
 

Definition at line 63 of file XMMSOut.hh.

Referenced by Init(), ServeClientThread(), and WriteAudio().

clMutex clXMMSOut::MtxAudio [private]
 

Definition at line 64 of file XMMSOut.hh.

Referenced by ServeClientThread(), and WriteAudio().

clCondition clXMMSOut::CndAudio [private]
 

Definition at line 65 of file XMMSOut.hh.

Referenced by ServeClientThread(), and WriteAudio().

clDSPOp clXMMSOut::DSP [private]
 

Definition at line 66 of file XMMSOut.hh.

Referenced by ServeClientThread(), and WriteAudio().

clSockServ clXMMSOut::SServ [private]
 

Definition at line 67 of file XMMSOut.hh.

Referenced by Init(), MainThread(), and OnButtonClick().

gchar* clXMMSOut::cpMessageTxt [private]
 

Definition at line 69 of file XMMSOut.hh.

Referenced by About(), and OnAboutButton().

GtkWidget* clXMMSOut::gwMessageBox [private]
 

Definition at line 70 of file XMMSOut.hh.

Referenced by About(), and OnAboutButton().

GtkWidget* clXMMSOut::gwWinConfig [private]
 

Definition at line 71 of file XMMSOut.hh.

Referenced by clXMMSOut(), Configure(), and OnButtonClick().

GtkWidget* clXMMSOut::gwVBox [private]
 

Definition at line 72 of file XMMSOut.hh.

Referenced by Configure().

GtkWidget* clXMMSOut::gwHBox [private]
 

Definition at line 73 of file XMMSOut.hh.

Referenced by Configure().

GtkWidget* clXMMSOut::gwLBufSize [private]
 

Definition at line 74 of file XMMSOut.hh.

Referenced by Configure().

GtkWidget* clXMMSOut::gwEBufSize [private]
 

Definition at line 75 of file XMMSOut.hh.

Referenced by Configure(), and OnButtonClick().

GtkWidget* clXMMSOut::gwLLocalSocket [private]
 

Definition at line 76 of file XMMSOut.hh.

Referenced by Configure().

GtkWidget* clXMMSOut::gwELocalSocket [private]
 

Definition at line 77 of file XMMSOut.hh.

Referenced by Configure(), and OnButtonClick().

GtkWidget* clXMMSOut::gwBOk [private]
 

Definition at line 78 of file XMMSOut.hh.

Referenced by Configure(), and OnButtonClick().

GtkWidget* clXMMSOut::gwBCancel [private]
 

Definition at line 79 of file XMMSOut.hh.

Referenced by Configure(), and OnButtonClick().


The documentation for this class was generated from the following files:
Generated on Sun Oct 26 19:12:28 2003 for HASAS by doxygen 1.3.3