X-Git-Url: https://deadsoftware.ru/gitweb?p=flatwaifu.git;a=blobdiff_plain;f=src%2Fsound.h;h=81c7dca486257c37c983a8194bbc68d8710f22de;hp=0966bcde3068cd5916d7e13d8ff5f15097b81da7;hb=4a99fe51561ca331df54512eb25c502d0fcd2b55;hpb=16dc83f479c591567512a61b5d8681e1697e3b76 diff --git a/src/sound.h b/src/sound.h index 0966bcd..81c7dca 100644 --- a/src/sound.h +++ b/src/sound.h @@ -24,53 +24,51 @@ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -#ifdef __cplusplus -extern "C" { -#endif +#ifndef SOUND_H_INCLUDED +#define SOUND_H_INCLUDED -// заголовок инструмента (DMI) -#pragma pack(1) -typedef struct{ - unsigned int len, // длина в байтах - rate, // частота в Гц. - lstart, // начало повтора в байтах от начала данных - llen; // длина повтора в байтах -}snd_t; -#pragma pack() +#include "menu.h" +#include "system.h" -void S_init(void); +typedef struct { + int tag; +} snd_t; -void S_done(void); +const cfg_t *S_args (void); +const cfg_t *S_conf (void); +const menu_t *S_menu (void); -// проиграть звук s на канале c (1-8), частоте r и громкости v (0-255) -// возвращает номер канала, на котором играется звук -// если c==0, то звук попадет в любой свободный канал -// r - это относительная частота (обычно 1024) -short S_play(snd_t *s,short c,unsigned r,short v); +// Get sound handle for resource +snd_t *S_get (int id); -// остановить звук на канале c (1-8) -void S_stop(short c); +// Get sound handle for resource with name +snd_t *S_load (const char name[8]); -void S_startmusic(int); +// Stop sound and free handle +void S_free (snd_t *s); -void S_stopmusic(void); +// Initialize sound subsystem +void S_init (void); -// громкость звука и музыки (0-128) -extern short snd_vol,mus_vol; +// Deinitialize sound subsystem +void S_done (void); -void S_volumemusic(int v); -void S_volume(int v); -void free_chunks(); -void S_wait(); +// Play sound on channel with volume . +// = sound handle (NULL is ignored) +// = 1..8 or 0 for any free +// = 0..255 +// return used channel or zero on error +short S_play (snd_t *s, short c, short v); -extern char music_random; -extern int music_time; -extern int music_fade; +// Stop sound on channel +// = 0..8 (0 ignored) +void S_stop (short c); -void F_freemus(void); -void S_initmusic(void); -void S_donemusic(void); +// Set sound volume to , also affects variable snd_vol +// = 0..128 +void S_volume (int v); -#ifdef __cplusplus -} -#endif +// Wait before all sounds end playing +void S_wait (void); + +#endif /* SOUND_H_INCLUDED */