From 076c0142cda9cbdab128c61cc781e2872f856d38 Mon Sep 17 00:00:00 2001 From: oakes Date: Fri, 24 Jan 2014 00:26:36 -0500 Subject: [PATCH] Add sound --- src/play_clj/core.clj | 1 + src/play_clj/core_global.clj | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/src/play_clj/core.clj b/src/play_clj/core.clj index b9c1c54..bf083cc 100644 --- a/src/play_clj/core.clj +++ b/src/play_clj/core.clj @@ -2,6 +2,7 @@ (:require [play-clj.utils :as u]) (:import [com.badlogic.gdx Application Audio Files Game Gdx Graphics Input InputMultiplexer InputProcessor Net Screen] + [com.badlogic.gdx.audio Sound] [com.badlogic.gdx.graphics Camera Color GL20 OrthographicCamera PerspectiveCamera] [com.badlogic.gdx.graphics.g2d SpriteBatch TextureRegion] diff --git a/src/play_clj/core_global.clj b/src/play_clj/core_global.clj index 08738db..efb35fa 100644 --- a/src/play_clj/core_global.clj +++ b/src/play_clj/core_global.clj @@ -120,3 +120,20 @@ [^InputProcessor p] (let [^InputMultiplexer multi (input! :get-input-processor)] (.removeProcessor multi p))) + +(defn sound* + "The function version of `sound`" + [^String path] + (audio! :new-sound (files! :internal path))) + +(defmacro sound + "Returns a [Sound](http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/audio/Sound.html) + + (sound \"playerhurt.wav\")" + [path & options] + `(u/calls! ^Sound (sound* ~path) ~@options)) + +(defmacro sound! + "Calls a single method on a `sound`" + [object k & options] + `(u/call! ^Sound ~object ~k ~@options))