]> git.jsancho.org Git - gacela.git/commitdiff
(no commit message)
authorjsancho <devnull@localhost>
Tue, 12 Oct 2010 07:57:58 +0000 (07:57 +0000)
committerjsancho <devnull@localhost>
Tue, 12 Oct 2010 07:57:58 +0000 (07:57 +0000)
Makefile
gacela.lisp
gacela_SDL.lisp
gacela_sound.lisp [new file with mode: 0644]

index 72e589828ea58acbb1d7b68020a21bc0c8e5b621..d73950b113c640f3aeec2bcf0454f5931443912d 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -5,7 +5,7 @@ LIBS = -lSDL -lSDL_image -lSDL_mixer -lSDL_gfx -lGL -lGLU -lftgl
 
 OBJ = gacela.o gacela_misc.o gacela_SDL.o gacela_GL.o gacela_FTGL.o \
       gacela_draw.o gacela_ttf.o gacela_events.o gacela_mobs.o \
-      gacela_widgets.o
+      gacela_widgets.o gacela_sound.o
 
 GCL_OBJ = $(OBJ:%.o=\"%.o\")
 
index 45fc02754e2df9260c1437d5f69ed1f70969fc0f..31fe8abada40e5140ebbe26211e557660dbe5995 100644 (file)
 (let ((audio nil))
 
   (defun init-audio ()
-    (cond ((null audio) (progn (init-sdl) (setq audio (Mix_OpenAudio 22050 2 4096))))
+    (cond ((null audio) (progn (init-sdl) (setq audio (Mix_OpenAudio 22050 MIX_DEFAULT_FORMAT 2 4096))))
          (t audio)))
 
   (defun quit-audio ()
 
 (defun quit-game ()
   (free-all-resources)
-;  (quit-audio)
+  (quit-audio)
   (quit-video-mode)
   (quit-all-mobs)
 ;  (clear-events)
index 1d113aa0bb04ad8a2734baca6f46d77a48090786..3ced5c31ad7c96ccfb2a2aa9543b4e570be9942a 100644 (file)
@@ -68,6 +68,8 @@
 (mapcconst int "int" "SDL_LIL_ENDIAN")
 (mapcconst int "int" "SDL_BIG_ENDIAN")
 
+(mapcconst int "int" "MIX_DEFAULT_FORMAT")
+
 ;;; SDL Functions
 (defcfun "int gacela_SDL_Init (int flags)" 0
   "return SDL_Init (flags);")
 (defcfun "int gacela_zoomSurface (int src, double zoomx, double zoomy, int smooth)" 0
   "return zoomSurface (src, zoomx, zoomy, smooth);")
 
+(defcfun "int gacela_Mix_OpenAudio (int frequency, int format, int channels, int chunksize)" 0
+  "return Mix_OpenAudio (frequency, format, channels, chunksize);")
+
+(defcfun "int gacela_Mix_LoadMUS (char *file)" 0
+  "return Mix_LoadMUS (file);")
+
+(defcfun "int gacela_Mix_LoadWAV (char *file)" 0
+  "return Mix_LoadWAV (file);")
+
+(defcfun "int gacela_Mix_PlayChannel (int channel, int chunk, int loops)" 0
+  "return Mix_PlayChannel (channel, chunk, loops);")
+
+(defcfun "int gacela_Mix_PlayMusic (int music, int loops)" 0
+  "return Mix_PlayMusic (music, loops);")
+
+(defcfun "int gacela_Mix_PlayingMusic (void)" 0
+  "return Mix_PlayingMusic ();")
+
+(defcfun "int gacela_Mix_PausedMusic (void)" 0
+  "return Mix_PausedMusic ();")
+
+(defcfun "void gacela_Mix_PauseMusic (void)" 0
+  "Mix_PauseMusic ();")
+
+(defcfun "void gacela_Mix_ResumeMusic (void)" 0
+  "Mix_ResumeMusic ();")
+
+(defcfun "int gacela_Mix_HaltMusic (void)" 0
+  "return Mix_HaltMusic ();")
+
+(defcfun "void gacela_Mix_FreeMusic (int music)" 0
+  "Mix_FreeMusic (music);")
+
+(defcfun "void gacela_Mix_FreeChunk (int chunk)" 0
+  "Mix_FreeChunk (chunk);")
+
+(defcfun "void gacela_Mix_CloseAudio (void)" 0
+  "Mix_CloseAudio ();")
+
 (defentry SDL_Init (int) (int "gacela_SDL_Init"))
 (defentry SDL_Quit () (void "gacela_SDL_Quit"))
 (defentry SDL_SetVideoMode (int int int int) (int "gacela_SDL_SetVideoMode"))
 ;(defentry TTF_OpenFont (string int) (int "gacela_TTF_OpenFont"))
 ;(defentry TTF_CloseFont (int) (void "gacela_TTF_CloseFont"))
 ;(defentry TTF_Quit () (void "gacela_TTF_Quit"))
-;(defentry Mix_OpenAudio (int int int) (int "gacela_Mix_OpenAudio"))
-;(defentry Mix_LoadMUS (string) (int "gacela_Mix_LoadMUS"))
-;(defentry Mix_LoadWAV (string) (int "gacela_Mix_LoadWAV"))
-;(defentry Mix_PlayChannel (int int int) (int "gacela_Mix_PlayChannel"))
-;(defentry Mix_PlayMusic (int int) (int "gacela_Mix_PlayMusic"))
-;(defentry Mix_PlayingMusic () (int "gacela_Mix_PlayingMusic"))
-;(defentry Mix_PausedMusic () (int "gacela_Mix_PausedMusic"))
-;(defentry Mix_PauseMusic () (void "gacela_Mix_PauseMusic"))
-;(defentry Mix_ResumeMusic () (void "gacela_Mix_ResumeMusic"))
-;(defentry Mix_HaltMusic () (int "gacela_Mix_HaltMusic"))
-;(defentry Mix_FreeMusic (int) (void "gacela_Mix_FreeMusic"))
-;(defentry Mix_FreeChunk (int) (void "gacela_Mix_FreeChunk"))
-;(defentry Mix_CloseAudio () (void "gacela_Mix_CloseAudio"))
+(defentry Mix_OpenAudio (int int int int) (int "gacela_Mix_OpenAudio"))
+(defentry Mix_LoadMUS (string) (int "gacela_Mix_LoadMUS"))
+(defentry Mix_LoadWAV (string) (int "gacela_Mix_LoadWAV"))
+(defentry Mix_PlayChannel (int int int) (int "gacela_Mix_PlayChannel"))
+(defentry Mix_PlayMusic (int int) (int "gacela_Mix_PlayMusic"))
+(defentry Mix_PlayingMusic () (int "gacela_Mix_PlayingMusic"))
+(defentry Mix_PausedMusic () (int "gacela_Mix_PausedMusic"))
+(defentry Mix_PauseMusic () (void "gacela_Mix_PauseMusic"))
+(defentry Mix_ResumeMusic () (void "gacela_Mix_ResumeMusic"))
+(defentry Mix_HaltMusic () (int "gacela_Mix_HaltMusic"))
+(defentry Mix_FreeMusic (int) (void "gacela_Mix_FreeMusic"))
+(defentry Mix_FreeChunk (int) (void "gacela_Mix_FreeChunk"))
+(defentry Mix_CloseAudio () (void "gacela_Mix_CloseAudio"))
 ;(defentry free (int) (void "gacela_free"))
 (defentry SDL_GL_SwapBuffers () (void "gacela_SDL_GL_SwapBuffers"))
 (defentry SDL_EnableKeyRepeat (int int) (int "gacela_SDL_EnableKeyRepeat"))
diff --git a/gacela_sound.lisp b/gacela_sound.lisp
new file mode 100644 (file)
index 0000000..ae9b72b
--- /dev/null
@@ -0,0 +1,22 @@
+;;; Gacela, a GNU Common Lisp extension for fast games development
+;;; Copyright (C) 2009 by Javier Sancho Fernandez <jsf at jsancho dot org>
+;;;
+;;; 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 3 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, see <http://www.gnu.org/licenses/>.
+
+
+(eval-when (compile load eval)
+          (when (not (find-package 'gacela)) (make-package 'gacela :nicknames '(gg) :use '(lisp)))
+          (in-package 'gacela :nicknames '(gg) :use '(lisp)))
+
+