///////////////////////////////////////////////////////////////////////// // $Id: speaker.h,v 1.4 2006-04-27 15:11:45 sshwarts Exp $ ///////////////////////////////////////////////////////////////////////// /* Copyright David N. Welton 2003 This code may be distributed under the same terms as bochs. */ /* This file defines a class to deal with the speaker. * This class also tries to play beeps on the console * (linux only) and also forwards beeps to the gui * so we have the possiblity to signal the beep */ #ifndef BX_PC_SPEAKER_H #define BX_PC_SPEAKER_H class bx_speaker_c : public bx_speaker_stub_c { public: bx_speaker_c(); virtual ~bx_speaker_c(); virtual void init(void); virtual void reset(unsigned int); void beep_on(float frequency); void beep_off(); private: float beep_frequency; // 0 : beep is off #ifdef __linux__ /* Do we have access? If not, just skip everything else. */ signed int consolefd; const static unsigned int clock_tick_rate = 1193180; #elif defined(WIN32) Bit64u usec_start; #endif }; #endif