mirror of
https://github.com/edeproject/ede.git
synced 2023-08-10 21:13:03 +03:00
Importing EDE2 code to svn... NOTE: It doesn't compile! Stuff thats broken: edewm, eworkpanel, eiconman,
emenueditor
This commit is contained in:
63
edewm/Sound.h
Normal file
63
edewm/Sound.h
Normal file
@ -0,0 +1,63 @@
|
||||
/*
|
||||
* $Id: Sound.h 1697 2006-07-21 15:01:05Z karijes $
|
||||
*
|
||||
* Edewm, window manager
|
||||
* Part of Equinox Desktop Environment (EDE).
|
||||
* Copyright (c) 2000-2006 EDE Authors.
|
||||
*
|
||||
* This program is licenced under terms of the
|
||||
* GNU General Public Licence version 2 or newer.
|
||||
* See COPYING for details.
|
||||
*/
|
||||
|
||||
#ifndef __SOUND_H__
|
||||
#define __SOUND_H__
|
||||
|
||||
#ifdef SOUND
|
||||
#include <ao/ao.h>
|
||||
#endif
|
||||
|
||||
enum
|
||||
{
|
||||
SOUND_MINIMIZE = 0,
|
||||
SOUND_MAXIMIZE,
|
||||
SOUND_RESTORE,
|
||||
SOUND_SHADE,
|
||||
SOUND_CLOSE
|
||||
};
|
||||
#define KNOWN_SOUNDS 5
|
||||
|
||||
struct EventSound
|
||||
{
|
||||
bool allocated;
|
||||
bool loaded;
|
||||
short event;
|
||||
char* file_to_play;
|
||||
};
|
||||
|
||||
#define PCM_BUF_SIZE 4096
|
||||
|
||||
class SoundSystem
|
||||
{
|
||||
#ifdef SOUND
|
||||
private:
|
||||
ao_device* device;
|
||||
ao_sample_format format;
|
||||
int default_driver;
|
||||
char pcm_out[PCM_BUF_SIZE];
|
||||
bool inited;
|
||||
bool down;
|
||||
EventSound event_sound[KNOWN_SOUNDS];
|
||||
#endif
|
||||
public:
|
||||
SoundSystem();
|
||||
~SoundSystem();
|
||||
void init(void);
|
||||
void shutdown(void);
|
||||
|
||||
void add(short event, const char* file);
|
||||
int play(const char* fname);
|
||||
int play(short event);
|
||||
};
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user