Bochs/bochs/iodev/speaker.h
2006-04-27 15:11:45 +00:00

42 lines
1.1 KiB
C++

/////////////////////////////////////////////////////////////////////////
// $Id: speaker.h,v 1.4 2006-04-27 15:11:45 sshwarts Exp $
/////////////////////////////////////////////////////////////////////////
/*
Copyright David N. Welton <davidw@dedasys.com> 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