summaryrefslogtreecommitdiff
path: root/src/i_music.h
diff options
context:
space:
mode:
authorSimon Howard2007-06-17 18:40:02 +0000
committerSimon Howard2007-06-17 18:40:02 +0000
commitbeab4eb58b667a5883166bd1dd7bc33369a005c7 (patch)
treea6574cd329b3caea7a600ec6ce9184cc79ffb494 /src/i_music.h
parent5fc7913741e9f722e31735baea10f635fc18acce (diff)
downloadchocolate-doom-beab4eb58b667a5883166bd1dd7bc33369a005c7.tar.gz
chocolate-doom-beab4eb58b667a5883166bd1dd7bc33369a005c7.tar.bz2
chocolate-doom-beab4eb58b667a5883166bd1dd7bc33369a005c7.zip
Split i_sound.c into i_sdlsound.c, i_sdlmusic.c, with generic "sound
driver" modules, one for PC speaker and one for digital output. Subversion-branch: /trunk/chocolate-doom Subversion-revision: 913
Diffstat (limited to 'src/i_music.h')
-rw-r--r--src/i_music.h76
1 files changed, 76 insertions, 0 deletions
diff --git a/src/i_music.h b/src/i_music.h
new file mode 100644
index 00000000..70664c9a
--- /dev/null
+++ b/src/i_music.h
@@ -0,0 +1,76 @@
+// Emacs style mode select -*- C++ -*-
+//-----------------------------------------------------------------------------
+//
+// Copyright(C) 1993-1996 Id Software, Inc.
+// Copyright(C) 2005 Simon Howard
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation; either version 2
+// of the License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+// 02111-1307, USA.
+//
+//
+// DESCRIPTION:
+// System interface, music.
+//
+//-----------------------------------------------------------------------------
+
+#ifndef __I_SOUND__
+#define __I_SOUND__
+
+#include "doomdef.h"
+
+#include "doomstat.h"
+#include "sounds.h"
+#include "s_sound.h"
+
+//
+// MUSIC I/O
+//
+
+void I_InitMusic(void);
+void I_ShutdownMusic(void);
+
+// Volume.
+
+void I_SetMusicVolume(int volume);
+
+// PAUSE game handling.
+
+void I_PauseSong(void *handle);
+void I_ResumeSong(void *handle);
+
+// Registers a song handle to song data.
+
+void *I_RegisterSong(void *data, int length);
+
+// Called by anything that wishes to start music.
+// plays a song, and when the song is done,
+// starts playing it again in an endless loop.
+// Horrible thing to do, considering.
+
+void I_PlaySong(void *handle, int looping);
+
+// Stops a song over 3 seconds.
+
+void I_StopSong(void *handle);
+
+// See above (register), then think backwards
+
+void I_UnRegisterSong(void *handle);
+
+boolean I_QrySongPlaying(void *handle);
+
+
+#endif
+