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

clBeamAudioUI Class Reference

User interface for beam audio server. More...

#include <BeamAudioUI.hh>

Collaboration diagram for clBeamAudioUI:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 clBeamAudioUI (int *, char ***)
 ~clBeamAudioUI ()
int Main ()
gboolean OnDelete (GtkWidget *, GdkEvent *, gpointer)
void OnConnectClick (GtkButton *, gpointer)
void OnValueChanged (GtkAdjustment *, gpointer)
void OnToggled (GtkToggleButton *, gpointer)
void OnGdkInput (gpointer, gint, GdkInputCondition)
void * AudioOutThread (void *)

Private Member Functions

void Build ()
void BuildTable1 ()
void BuildTable2 ()
void ConnectSignals ()
bool ParseServerStr (char *, int *, const char *)
bool InitConnection (const char *, int)
bool SendSettings ()
void AllocateBuffers (const stpBeamAudioFirst)
bool InitAudio (clAudio &, clAudioA2 &)
void UpdateSettings ()
void ConvertMS ()
void Process3D ()
void Dither ()
void ConvertFromDither ()

Private Attributes

volatile bool bConnected
bool bDither
bool b3DAudio
bool bALSA
int iSampleRate
int iRandH
int iPrevHeading
long lFragSize
long lDataCount
long lMsgSize
long lClips
volatile long lBufIdx
GDT * fpInAudio
GDT * fpSrcAudio
BAUI_SND_DATATYPE * ipOutAudio [BAUI_AUDIO_BUFCOUNT]
pthread_t ptidAudio
stBeamAudioReq sRequest
guint guSbCtxt
gint giGdkTag
GList * glServer
GtkWidget * gwWindow
GtkWidget * gwVBox
GtkWidget * gwTable1
GtkWidget * gwLServer
GtkWidget * gwCServer
GtkWidget * gwBConnect
GtkWidget * gwTable2
GtkWidget * gwLSoundSpeed
GtkWidget * gwESoundSpeed
GtkWidget * gwCBHighFreq
GtkWidget * gwCBDither
GtkWidget * gwCB3DAudio
GtkWidget * gwLDirection
GtkObject * goADirection
GtkWidget * gwHSDirection
GtkWidget * gwStatusBar
clAlloc MessageBuf
clAlloc InAudioBuf
clAlloc SrcAudioBuf
clAlloc DitherBuf
clAlloc DitherRandBuf
clAlloc OutAudioBuf [BAUI_AUDIO_BUFCOUNT]
clAudio3D Audio3D
clCfgFile Cfg
clDSPOp DSP
clBeamAudioMsg Msg
clMutex OutBufMutex [BAUI_AUDIO_BUFCOUNT]
clGtkUtils GtkUtils
clSockClie SClient
clSockOp SOp

Detailed Description

User interface for beam audio server.

Definition at line 76 of file BeamAudioUI.hh.


Constructor & Destructor Documentation

clBeamAudioUI::clBeamAudioUI int *  ,
char *** 
 

Definition at line 600 of file BeamAudioUI.cc.

References b3DAudio, bALSA, BAUI_CFGFILE, BAUI_VER_MAJ, BAUI_VER_MIN, BAUI_VER_PL, bConnected, bDither, Build(), Cfg, clCfgFile::GetInt(), iPrevHeading, iRandH, and clCfgFile::SetFileName().

clBeamAudioUI::~clBeamAudioUI  ) 
 

Definition at line 636 of file BeamAudioUI.cc.

References iRandH.


Member Function Documentation

void clBeamAudioUI::Build  )  [private]
 

Definition at line 96 of file BeamAudioUI.cc.

References BAUI_DEF_DIR_RANGE, BAUI_PADDING, BuildTable1(), BuildTable2(), ConnectSignals(), goADirection, guSbCtxt, gwHSDirection, gwLDirection, gwStatusBar, gwVBox, and gwWindow.

Referenced by clBeamAudioUI().

void clBeamAudioUI::BuildTable1  )  [private]
 

Definition at line 157 of file BeamAudioUI.cc.

References BAUI_HOSTFILE, BAUI_PADDING, BAUI_SERVER_MAXLEN, clGtkUtils::ComboListFromFile(), glServer, GtkUtils, gwBConnect, gwCServer, gwLServer, gwTable1, and gwVBox.

Referenced by Build().

void clBeamAudioUI::BuildTable2  )  [private]
 

Definition at line 199 of file BeamAudioUI.cc.

References BAUI_DEF_SOUNDSPEED, BAUI_PADDING, gwCB3DAudio, gwCBDither, gwCBHighFreq, gwESoundSpeed, gwLSoundSpeed, gwTable2, and gwVBox.

Referenced by Build().

void clBeamAudioUI::ConnectSignals  )  [private]
 

Definition at line 254 of file BeamAudioUI.cc.

References goADirection, gwBConnect, gwCB3DAudio, gwCBDither, gwCBHighFreq, gwWindow, WrapOnConnectClick(), WrapOnDelete(), WrapOnToggled(), and WrapOnValueChanged().

Referenced by Build().

bool clBeamAudioUI::ParseServerStr char *  ,
int *  ,
const char * 
[private]
 

Definition at line 279 of file BeamAudioUI.cc.

References BAUI_SERVER_MAXLEN.

Referenced by OnConnectClick().

bool clBeamAudioUI::InitConnection const char *  ,
int 
[private]
 

Definition at line 302 of file BeamAudioUI.cc.

References BAUI_REQ_PROC, bConnected, clSockClie::Connect(), giGdkTag, GLOBAL_HEADER_LEN, lClips, SClient, SendSettings(), clSockOp::SetHandle(), SOp, WrapOnGdkInput(), and clSockOp::WriteN().

Referenced by OnConnectClick().

bool clBeamAudioUI::SendSettings  )  [private]
 

Definition at line 334 of file BeamAudioUI.cc.

References AllocateBuffers(), BAUI_1ST_TIMEOUT, _stBeamAudioReq::bHighFreq, _stBeamAudioReq::fDirection, _stBeamAudioReq::fSoundSpeed, clBeamAudioMsg::GetFirst(), GLOBAL_HEADER_LEN, goADirection, gwCBHighFreq, gwESoundSpeed, lBufIdx, Msg, ptidAudio, clSockOp::ReadN(), clSockOp::ReadSelect(), clBeamAudioMsg::SetRequest(), SOp, sRequest, WrapAudioOutThread(), and clSockOp::WriteN().

Referenced by InitConnection().

void clBeamAudioUI::AllocateBuffers const  stpBeamAudioFirst  )  [private]
 

Definition at line 360 of file BeamAudioUI.cc.

References Audio3D, BAUI_AUDIO_BUFCOUNT, BAUI_INT_DATATYPE, BAUI_SND_DATATYPE, DitherBuf, DitherRandBuf, fpInAudio, fpSrcAudio, GDT, GLOBAL_HEADER_LEN, InAudioBuf, clAudio3D::Initialize(), ipOutAudio, iRandH, _stBeamAudioFirst::iSampleRate, iSampleRate, _stBeamAudioFirst::lBufLength, lDataCount, lFragSize, lMsgSize, MessageBuf, OutAudioBuf, and SrcAudioBuf.

Referenced by SendSettings().

bool clBeamAudioUI::InitAudio clAudio ,
clAudioA2 & 
[private]
 

Definition at line 415 of file BeamAudioUI.cc.

References AUDIO_WRITE, BAUI_SND_BITS, BAUI_SND_DATATYPE, and BAUI_SND_FORMAT.

Referenced by AudioOutThread().

void clBeamAudioUI::UpdateSettings  )  [private]
 

Definition at line 508 of file BeamAudioUI.cc.

References bConnected, clSockOp::GetErrno(), GLOBAL_HEADER_LEN, Msg, clBeamAudioMsg::SetRequest(), SOp, sRequest, clSockOp::WriteN(), and clSockOp::WriteSelect().

Referenced by OnToggled(), and OnValueChanged().

void clBeamAudioUI::ConvertMS  )  [private]
 

Definition at line 531 of file BeamAudioUI.cc.

References fpInAudio, fpSrcAudio, and lFragSize.

Referenced by OnGdkInput().

void clBeamAudioUI::Process3D  )  [private]
 

Definition at line 545 of file BeamAudioUI.cc.

References Audio3D, fpSrcAudio, clAudio3D::GetWindowSize(), lFragSize, and clAudio3D::Process().

Referenced by OnGdkInput().

void clBeamAudioUI::Dither  )  [private]
 

Definition at line 560 of file BeamAudioUI.cc.

References BAUI_INT_DATATYPE, DitherBuf, DitherRandBuf, DSP, fpSrcAudio, and lFragSize.

Referenced by OnGdkInput().

void clBeamAudioUI::ConvertFromDither  )  [private]
 

Definition at line 584 of file BeamAudioUI.cc.

References BAUI_INT_DATATYPE, BAUI_SND_DATATYPE, DitherBuf, ipOutAudio, lBufIdx, and lDataCount.

Referenced by OnGdkInput().

int clBeamAudioUI::Main  ) 
 

Definition at line 642 of file BeamAudioUI.cc.

Referenced by main().

gboolean clBeamAudioUI::OnDelete GtkWidget *  ,
GdkEvent *  ,
gpointer 
 

Definition at line 649 of file BeamAudioUI.cc.

References bConnected, and giGdkTag.

Referenced by WrapOnDelete().

void clBeamAudioUI::OnConnectClick GtkButton *  ,
gpointer 
 

Definition at line 658 of file BeamAudioUI.cc.

References BAUI_SERVER_MAXLEN, bConnected, clSockOp::Close(), giGdkTag, gwCServer, InitConnection(), ParseServerStr(), ptidAudio, and SOp.

Referenced by WrapOnConnectClick().

void clBeamAudioUI::OnValueChanged GtkAdjustment *  ,
gpointer 
 

Definition at line 690 of file BeamAudioUI.cc.

References DSP, _stBeamAudioReq::fDirection, goADirection, sRequest, and UpdateSettings().

Referenced by WrapOnValueChanged().

void clBeamAudioUI::OnToggled GtkToggleButton *  ,
gpointer 
 

Definition at line 705 of file BeamAudioUI.cc.

References b3DAudio, bDither, _stBeamAudioReq::bHighFreq, gwCB3DAudio, gwCBDither, gwCBHighFreq, sRequest, and UpdateSettings().

Referenced by WrapOnToggled().

void clBeamAudioUI::OnGdkInput gpointer  ,
gint  ,
GdkInputCondition 
 

Definition at line 730 of file BeamAudioUI.cc.

References Audio3D, b3DAudio, BAUI_AUDIO_BUFCOUNT, BAUI_CONV_BUF_LEN, bConnected, bDither, ConvertFromDither(), ConvertMS(), Dither(), DSP, _stBeamAudioRes::fDirection, _stBeamAudioRes::fPeakLevel, fpInAudio, fpSrcAudio, clSockOp::GetErrno(), clBeamAudioMsg::GetResult(), guSbCtxt, gwStatusBar, ipOutAudio, iPrevHeading, lBufIdx, lClips, lDataCount, lMsgSize, MessageBuf, Msg, OutBufMutex, Process3D(), clSockOp::ReadN(), clSockOp::ReadSelect(), clAudio3D::SetAngles(), and SOp.

Referenced by WrapOnGdkInput().

void * clBeamAudioUI::AudioOutThread void *   ) 
 

Definition at line 785 of file BeamAudioUI.cc.

References bALSA, BAUI_AUDIO_BUFCOUNT, BAUI_SND_DATATYPE, bConnected, clAudio::Close(), clAudio::GetOutBufInfo(), InitAudio(), ipOutAudio, lBufIdx, lDataCount, OutBufMutex, and clAudio::Write().

Referenced by WrapAudioOutThread().


Member Data Documentation

volatile bool clBeamAudioUI::bConnected [private]
 

Definition at line 78 of file BeamAudioUI.hh.

Referenced by AudioOutThread(), clBeamAudioUI(), InitConnection(), OnConnectClick(), OnDelete(), OnGdkInput(), and UpdateSettings().

bool clBeamAudioUI::bDither [private]
 

Definition at line 79 of file BeamAudioUI.hh.

Referenced by clBeamAudioUI(), OnGdkInput(), and OnToggled().

bool clBeamAudioUI::b3DAudio [private]
 

Definition at line 80 of file BeamAudioUI.hh.

Referenced by clBeamAudioUI(), OnGdkInput(), and OnToggled().

bool clBeamAudioUI::bALSA [private]
 

Definition at line 81 of file BeamAudioUI.hh.

Referenced by AudioOutThread(), and clBeamAudioUI().

int clBeamAudioUI::iSampleRate [private]
 

Definition at line 82 of file BeamAudioUI.hh.

Referenced by AllocateBuffers().

int clBeamAudioUI::iRandH [private]
 

Definition at line 83 of file BeamAudioUI.hh.

Referenced by AllocateBuffers(), clBeamAudioUI(), and ~clBeamAudioUI().

int clBeamAudioUI::iPrevHeading [private]
 

Definition at line 84 of file BeamAudioUI.hh.

Referenced by clBeamAudioUI(), and OnGdkInput().

long clBeamAudioUI::lFragSize [private]
 

Definition at line 85 of file BeamAudioUI.hh.

Referenced by AllocateBuffers(), ConvertMS(), Dither(), and Process3D().

long clBeamAudioUI::lDataCount [private]
 

Definition at line 86 of file BeamAudioUI.hh.

Referenced by AllocateBuffers(), AudioOutThread(), ConvertFromDither(), and OnGdkInput().

long clBeamAudioUI::lMsgSize [private]
 

Definition at line 87 of file BeamAudioUI.hh.

Referenced by AllocateBuffers(), and OnGdkInput().

long clBeamAudioUI::lClips [private]
 

Definition at line 88 of file BeamAudioUI.hh.

Referenced by InitConnection(), and OnGdkInput().

volatile long clBeamAudioUI::lBufIdx [private]
 

Definition at line 89 of file BeamAudioUI.hh.

Referenced by AudioOutThread(), ConvertFromDither(), OnGdkInput(), and SendSettings().

GDT* clBeamAudioUI::fpInAudio [private]
 

Definition at line 90 of file BeamAudioUI.hh.

Referenced by AllocateBuffers(), ConvertMS(), and OnGdkInput().

GDT* clBeamAudioUI::fpSrcAudio [private]
 

Definition at line 91 of file BeamAudioUI.hh.

Referenced by AllocateBuffers(), ConvertMS(), Dither(), OnGdkInput(), and Process3D().

BAUI_SND_DATATYPE* clBeamAudioUI::ipOutAudio[BAUI_AUDIO_BUFCOUNT] [private]
 

Definition at line 92 of file BeamAudioUI.hh.

Referenced by AllocateBuffers(), AudioOutThread(), ConvertFromDither(), and OnGdkInput().

pthread_t clBeamAudioUI::ptidAudio [private]
 

Definition at line 93 of file BeamAudioUI.hh.

Referenced by OnConnectClick(), and SendSettings().

stBeamAudioReq clBeamAudioUI::sRequest [private]
 

Definition at line 94 of file BeamAudioUI.hh.

Referenced by OnToggled(), OnValueChanged(), SendSettings(), and UpdateSettings().

guint clBeamAudioUI::guSbCtxt [private]
 

Definition at line 96 of file BeamAudioUI.hh.

Referenced by Build(), and OnGdkInput().

gint clBeamAudioUI::giGdkTag [private]
 

Definition at line 97 of file BeamAudioUI.hh.

Referenced by InitConnection(), OnConnectClick(), and OnDelete().

GList* clBeamAudioUI::glServer [private]
 

Definition at line 98 of file BeamAudioUI.hh.

Referenced by BuildTable1().

GtkWidget* clBeamAudioUI::gwWindow [private]
 

Definition at line 100 of file BeamAudioUI.hh.

Referenced by Build(), and ConnectSignals().

GtkWidget* clBeamAudioUI::gwVBox [private]
 

Definition at line 101 of file BeamAudioUI.hh.

Referenced by Build(), BuildTable1(), and BuildTable2().

GtkWidget* clBeamAudioUI::gwTable1 [private]
 

Definition at line 103 of file BeamAudioUI.hh.

Referenced by BuildTable1().

GtkWidget* clBeamAudioUI::gwLServer [private]
 

Definition at line 104 of file BeamAudioUI.hh.

Referenced by BuildTable1().

GtkWidget* clBeamAudioUI::gwCServer [private]
 

Definition at line 105 of file BeamAudioUI.hh.

Referenced by BuildTable1(), and OnConnectClick().

GtkWidget* clBeamAudioUI::gwBConnect [private]
 

Definition at line 106 of file BeamAudioUI.hh.

Referenced by BuildTable1(), and ConnectSignals().

GtkWidget* clBeamAudioUI::gwTable2 [private]
 

Definition at line 108 of file BeamAudioUI.hh.

Referenced by BuildTable2().

GtkWidget* clBeamAudioUI::gwLSoundSpeed [private]
 

Definition at line 109 of file BeamAudioUI.hh.

Referenced by BuildTable2().

GtkWidget* clBeamAudioUI::gwESoundSpeed [private]
 

Definition at line 110 of file BeamAudioUI.hh.

Referenced by BuildTable2(), and SendSettings().

GtkWidget* clBeamAudioUI::gwCBHighFreq [private]
 

Definition at line 111 of file BeamAudioUI.hh.

Referenced by BuildTable2(), ConnectSignals(), OnToggled(), and SendSettings().

GtkWidget* clBeamAudioUI::gwCBDither [private]
 

Definition at line 112 of file BeamAudioUI.hh.

Referenced by BuildTable2(), ConnectSignals(), and OnToggled().

GtkWidget* clBeamAudioUI::gwCB3DAudio [private]
 

Definition at line 113 of file BeamAudioUI.hh.

Referenced by BuildTable2(), ConnectSignals(), and OnToggled().

GtkWidget* clBeamAudioUI::gwLDirection [private]
 

Definition at line 115 of file BeamAudioUI.hh.

Referenced by Build().

GtkObject* clBeamAudioUI::goADirection [private]
 

Definition at line 116 of file BeamAudioUI.hh.

Referenced by Build(), ConnectSignals(), OnValueChanged(), and SendSettings().

GtkWidget* clBeamAudioUI::gwHSDirection [private]
 

Definition at line 117 of file BeamAudioUI.hh.

Referenced by Build().

GtkWidget* clBeamAudioUI::gwStatusBar [private]
 

Definition at line 121 of file BeamAudioUI.hh.

Referenced by Build(), and OnGdkInput().

clAlloc clBeamAudioUI::MessageBuf [private]
 

Definition at line 123 of file BeamAudioUI.hh.

Referenced by AllocateBuffers(), and OnGdkInput().

clAlloc clBeamAudioUI::InAudioBuf [private]
 

Definition at line 124 of file BeamAudioUI.hh.

Referenced by AllocateBuffers().

clAlloc clBeamAudioUI::SrcAudioBuf [private]
 

Definition at line 125 of file BeamAudioUI.hh.

Referenced by AllocateBuffers().

clAlloc clBeamAudioUI::DitherBuf [private]
 

Definition at line 126 of file BeamAudioUI.hh.

Referenced by AllocateBuffers(), ConvertFromDither(), and Dither().

clAlloc clBeamAudioUI::DitherRandBuf [private]
 

Definition at line 127 of file BeamAudioUI.hh.

Referenced by AllocateBuffers(), and Dither().

clAlloc clBeamAudioUI::OutAudioBuf[BAUI_AUDIO_BUFCOUNT] [private]
 

Definition at line 128 of file BeamAudioUI.hh.

Referenced by AllocateBuffers().

clAudio3D clBeamAudioUI::Audio3D [private]
 

Definition at line 130 of file BeamAudioUI.hh.

Referenced by AllocateBuffers(), OnGdkInput(), and Process3D().

clCfgFile clBeamAudioUI::Cfg [private]
 

Definition at line 131 of file BeamAudioUI.hh.

Referenced by clBeamAudioUI().

clDSPOp clBeamAudioUI::DSP [private]
 

Definition at line 132 of file BeamAudioUI.hh.

Referenced by Dither(), OnGdkInput(), and OnValueChanged().

clBeamAudioMsg clBeamAudioUI::Msg [private]
 

Definition at line 133 of file BeamAudioUI.hh.

Referenced by OnGdkInput(), SendSettings(), and UpdateSettings().

clMutex clBeamAudioUI::OutBufMutex[BAUI_AUDIO_BUFCOUNT] [private]
 

Definition at line 134 of file BeamAudioUI.hh.

Referenced by AudioOutThread(), and OnGdkInput().

clGtkUtils clBeamAudioUI::GtkUtils [private]
 

Definition at line 135 of file BeamAudioUI.hh.

Referenced by BuildTable1().

clSockClie clBeamAudioUI::SClient [private]
 

Definition at line 136 of file BeamAudioUI.hh.

Referenced by InitConnection().

clSockOp clBeamAudioUI::SOp [private]
 

Definition at line 137 of file BeamAudioUI.hh.

Referenced by InitConnection(), OnConnectClick(), OnGdkInput(), SendSettings(), and UpdateSettings().


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