From 5b30c7fcfed2569579c8eb3eba324f1b24c461b4 Mon Sep 17 00:00:00 2001 From: rude Date: Sun, 31 Jan 2010 11:52:54 +0100 Subject: [PATCH] Major developments to love.audio/love.sound. Music and Sound are gone. There are only Sources now, which is much cleaner. The audio module was not really stable in 0.6.0, it takes very little messing around to cause OpenAL to do horrible things. It should now be much more stable, and you *should* be able to play/stop/pause/resume/rewind/loop like a madman without disasters. Seek and tell, however, are still not tested and verified for all decoders, but that's less important. Also, all objects now have object:type() and object:typeOf(), which returns the type name of the object, and checks whether an object is of a certain type, respectively. --- platform/msvc2008/audio/audio.vcproj | 108 -------- platform/msvc2008/love.vcproj | 152 ----------- platform/msvc2008/sound/sound.vcproj | 18 +- src/common/runtime.cpp | 83 ++++++ src/common/runtime.h | 2 + src/common/types.h | 22 +- src/modules/audio/Audible.h | 48 ---- src/modules/audio/Audio.h | 50 +--- src/modules/audio/Music.h | 63 ----- src/modules/audio/Sound.h | 42 --- src/modules/audio/Source.cpp | 45 ++-- src/modules/audio/Source.h | 36 ++- src/modules/audio/null/Audio.cpp | 22 +- src/modules/audio/null/Audio.h | 12 +- src/modules/audio/null/Music.cpp | 63 ----- src/modules/audio/null/Music.h | 57 ---- src/modules/audio/null/Sound.cpp | 55 ---- src/modules/audio/null/Sound.h | 54 ---- src/modules/audio/null/Source.cpp | 27 +- src/modules/audio/null/Source.h | 45 ++-- src/modules/audio/openal/Audio.cpp | 34 +-- src/modules/audio/openal/Audio.h | 10 +- src/modules/audio/openal/Music.cpp | 134 ---------- src/modules/audio/openal/Music.h | 79 ------ src/modules/audio/openal/Pool.cpp | 183 ++++++++----- src/modules/audio/openal/Pool.h | 38 ++- src/modules/audio/openal/Sound.cpp | 87 ------ src/modules/audio/openal/Sound.h | 77 ------ src/modules/audio/openal/Source.cpp | 268 +++++++++++++++---- src/modules/audio/openal/Source.h | 72 +++-- src/modules/audio/wrap_Audio.cpp | 95 ++----- src/modules/audio/wrap_Audio.h | 8 +- src/modules/audio/wrap_Music.cpp | 42 --- src/modules/audio/wrap_Music.h | 37 --- src/modules/audio/wrap_Sound.cpp | 42 --- src/modules/audio/wrap_Sound.h | 37 --- src/modules/audio/wrap_Source.cpp | 8 + src/modules/audio/wrap_Source.h | 1 + src/modules/sound/Decoder.h | 4 +- src/modules/sound/lullaby/ModPlugDecoder.cpp | 6 +- src/modules/sound/lullaby/ModPlugDecoder.h | 2 +- src/modules/sound/lullaby/Mpg123Decoder.cpp | 105 +++++--- src/modules/sound/lullaby/Mpg123Decoder.h | 10 +- src/modules/sound/lullaby/Sound.cpp | 4 +- src/modules/sound/lullaby/VorbisDecoder.cpp | 41 +-- src/modules/sound/lullaby/VorbisDecoder.h | 2 +- src/modules/sound/wrap_Sound.cpp | 2 +- src/scripts/audio.lua | 41 +++ src/scripts/audio.lua.h | 93 +++++++ src/scripts/boot.lua | 19 ++ src/scripts/graphics.lua | 2 +- 51 files changed, 894 insertions(+), 1693 deletions(-) delete mode 100644 src/modules/audio/Audible.h delete mode 100644 src/modules/audio/Music.h delete mode 100644 src/modules/audio/Sound.h delete mode 100644 src/modules/audio/null/Music.cpp delete mode 100644 src/modules/audio/null/Music.h delete mode 100644 src/modules/audio/null/Sound.cpp delete mode 100644 src/modules/audio/null/Sound.h delete mode 100644 src/modules/audio/openal/Music.cpp delete mode 100644 src/modules/audio/openal/Music.h delete mode 100644 src/modules/audio/openal/Sound.cpp delete mode 100644 src/modules/audio/openal/Sound.h delete mode 100644 src/modules/audio/wrap_Music.cpp delete mode 100644 src/modules/audio/wrap_Music.h delete mode 100644 src/modules/audio/wrap_Sound.cpp delete mode 100644 src/modules/audio/wrap_Sound.h create mode 100644 src/scripts/audio.lua create mode 100644 src/scripts/audio.lua.h diff --git a/platform/msvc2008/audio/audio.vcproj b/platform/msvc2008/audio/audio.vcproj index 421818471..dddaf7314 100644 --- a/platform/msvc2008/audio/audio.vcproj +++ b/platform/msvc2008/audio/audio.vcproj @@ -188,22 +188,6 @@ RelativePath="..\..\..\src\modules\audio\openal\Audio.h" > - - - - - - - @@ -220,22 +204,6 @@ RelativePath="..\..\..\src\modules\audio\openal\Pool.h" > - - - - - - - @@ -272,38 +240,6 @@ RelativePath="..\..\..\src\modules\audio\null\Audio.h" > - - - - - - - - - - - - - - @@ -321,22 +257,10 @@ > - - - - - - @@ -369,38 +293,6 @@ RelativePath="..\..\..\src\modules\audio\wrap_Audio.h" > - - - - - - - - - - - - - - diff --git a/platform/msvc2008/love.vcproj b/platform/msvc2008/love.vcproj index 714bb5ebb..e9c77141b 100644 --- a/platform/msvc2008/love.vcproj +++ b/platform/msvc2008/love.vcproj @@ -182,14 +182,6 @@ RelativePath="..\..\src\modules\audio\Audio.h" > - - - - @@ -238,54 +230,6 @@ RelativePath="..\..\src\modules\audio\wrap_Audio.h" > - - - - - - - - - - - - - - - - - - - - @@ -337,30 +281,6 @@ RelativePath="..\..\src\modules\audio\openal\Audio.h" > - - - - - - - - - - @@ -385,30 +305,6 @@ RelativePath="..\..\src\modules\audio\openal\Pool.h" > - - - - - - - - - - @@ -461,54 +357,6 @@ RelativePath="..\..\src\modules\audio\null\Audio.h" > - - - - - - - - - - - - - - - - - - - - diff --git a/platform/msvc2008/sound/sound.vcproj b/platform/msvc2008/sound/sound.vcproj index a0cee06ae..ec1e550bd 100644 --- a/platform/msvc2008/sound/sound.vcproj +++ b/platform/msvc2008/sound/sound.vcproj @@ -61,7 +61,7 @@ /> - - - - - - - diff --git a/src/common/runtime.cpp b/src/common/runtime.cpp index 3db3f3705..f102f9613 100644 --- a/src/common/runtime.cpp +++ b/src/common/runtime.cpp @@ -24,6 +24,7 @@ #include "Module.h" #include "Object.h" #include "Reference.h" +#include "StringMap.h" // STD #include @@ -50,6 +51,14 @@ namespace love return 1; } + static int w__typeOf(lua_State * L) + { + Proxy * p = (Proxy *)lua_touserdata(L, 1); + Type t = luax_type(L, 2); + luax_pushboolean(L, p->flags.at(t)); + return 1; + } + Reference * luax_refif(lua_State * L, int type) { Reference * r = 0; @@ -178,6 +187,15 @@ namespace love lua_pushcclosure(L, w__tostring, 1); lua_setfield(L, -2, "__tostring"); + // Add tostring to as type() as well. + lua_pushstring(L, tname); + lua_pushcclosure(L, w__tostring, 1); + lua_setfield(L, -2, "type"); + + // Add typeOf + lua_pushcfunction(L, w__typeOf); + lua_setfield(L, -2, "typeOf"); + if(f != 0) luaL_register(L, 0, f); @@ -316,5 +334,70 @@ namespace love } } + StringMap::Entry typeEntries[] = + { + {"Invalid", INVALID_ID}, + + {"Object", OBJECT_ID}, + {"Data", DATA_ID}, + {"Module", MODULE_ID}, + + // Filesystem + {"File", FILESYSTEM_FILE_ID}, + {"FileData", FILESYSTEM_FILE_DATA_ID}, + + // Font + {"GlyphData", FONT_GLYPH_DATA_ID}, + {"Rasterizer", FONT_RASTERIZER_ID}, + + // Graphics + {"Drawable", GRAPHICS_DRAWABLE_ID}, + {"Image", GRAPHICS_IMAGE_ID}, + {"Quad", GRAPHICS_QUAD_ID}, + {"Glyph", GRAPHICS_GLYPH_ID}, + {"Font", GRAPHICS_FONT_ID}, + {"ParticleSystem", GRAPHICS_PARTICLE_SYSTEM_ID}, + {"SpriteBatch", GRAPHICS_SPRITE_BATCH_ID}, + {"VertexBuffer", GRAPHICS_VERTEX_BUFFER_ID}, + + // Image + {"ImageData", IMAGE_IMAGE_DATA_ID}, + + // Audio + {"Source", AUDIO_SOURCE_ID}, + + // Sound + {"SoundData", SOUND_SOUND_DATA_ID}, + {"Decoder", SOUND_DECODER_ID}, + + // Physics + {"World", PHYSICS_WORLD_ID}, + {"Contact", PHYSICS_CONTACT_ID}, + {"Body", PHYSICS_BODY_ID}, + {"Shape", PHYSICS_SHAPE_ID}, + {"CircleShape", PHYSICS_CIRCLE_SHAPE_ID}, + {"PolygonShape", PHYSICS_POLYGON_SHAPE_ID}, + {"Joint", PHYSICS_JOINT_ID}, + {"MouseJoint", PHYSICS_MOUSE_JOINT_ID}, + {"DistanceJoint", PHYSICS_DISTANCE_JOINT_ID}, + {"PrismaticJoint", PHYSICS_PRISMATIC_JOINT_ID}, + {"RevoluteJoint", PHYSICS_REVOLUTE_JOINT_ID}, + {"PulleyJoint", PHYSICS_PULLEY_JOINT_ID}, + {"GearJoint", PHYSICS_GEAR_JOINT_ID}, + + // The modules themselves. Only add abstracted modules here. + {"filesystem", MODULE_FILESYSTEM_ID}, + {"image", MODULE_IMAGE_ID}, + {"sound", MODULE_SOUND_ID}, + }; + + StringMap types(typeEntries, sizeof(typeEntries)); + + Type luax_type(lua_State * L, int idx) + { + Type t = INVALID_ID; + types.find(luaL_checkstring(L, idx), t); + return t; + } } // love diff --git a/src/common/runtime.h b/src/common/runtime.h index 54fce90a6..8d155ede6 100644 --- a/src/common/runtime.h +++ b/src/common/runtime.h @@ -252,6 +252,8 @@ namespace love **/ int luax_getregistry(lua_State * L, Registry r); + Type luax_type(lua_State * L, int idx); + /** * Converts the value at idx to the specified type without checking that * this conversion is valid. If the type has been previously verified with diff --git a/src/common/types.h b/src/common/types.h index 448146df6..baf33f374 100644 --- a/src/common/types.h +++ b/src/common/types.h @@ -28,8 +28,9 @@ namespace love { enum Type { + INVALID_ID = 0, // Cross-module types. - OBJECT_ID = 0, + OBJECT_ID, DATA_ID, MODULE_ID, @@ -46,8 +47,6 @@ namespace love GRAPHICS_IMAGE_ID, GRAPHICS_QUAD_ID, GRAPHICS_GLYPH_ID, - GRAPHICS_ANIMATION_ID, - GRAPHICS_COLOR_ID, GRAPHICS_FONT_ID, GRAPHICS_PARTICLE_SYSTEM_ID, GRAPHICS_SPRITE_BATCH_ID, @@ -57,9 +56,6 @@ namespace love IMAGE_IMAGE_DATA_ID, // Audio - AUDIO_AUDIBLE_ID, - AUDIO_SOUND_ID, - AUDIO_MUSIC_ID, AUDIO_SOURCE_ID, // Sound @@ -87,10 +83,12 @@ namespace love MODULE_SOUND_ID, // Count the number of bits needed. - BIT_SIZE + TYPE_MAX_ENUM }; - typedef std::bitset bits; + typedef std::bitset bits; + + const bits INVALID_T = bits(1) << INVALID_ID; const bits OBJECT_T = bits(1) << OBJECT_ID; const bits DATA_T = (bits(1) << DATA_ID) | OBJECT_T; @@ -108,8 +106,6 @@ namespace love const bits GRAPHICS_IMAGE_T = (bits(1) << GRAPHICS_IMAGE_ID) | GRAPHICS_DRAWABLE_T; const bits GRAPHICS_QUAD_T = (bits(1) << GRAPHICS_QUAD_ID) | OBJECT_T; const bits GRAPHICS_GLYPH_T = (bits(1) << GRAPHICS_GLYPH_ID) | GRAPHICS_DRAWABLE_T; - const bits GRAPHICS_ANIMATION_T = (bits(1) << GRAPHICS_ANIMATION_ID) | GRAPHICS_DRAWABLE_T; - const bits GRAPHICS_COLOR_T = (bits(1) << GRAPHICS_COLOR_ID) | OBJECT_T; const bits GRAPHICS_FONT_T = (bits(1) << GRAPHICS_FONT_ID) | OBJECT_T; const bits GRAPHICS_PARTICLE_SYSTEM_T = (bits(1) << GRAPHICS_PARTICLE_SYSTEM_ID) | GRAPHICS_DRAWABLE_T; const bits GRAPHICS_SPRITE_BATCH_T = (bits(1) << GRAPHICS_SPRITE_BATCH_ID) | GRAPHICS_DRAWABLE_T; @@ -119,9 +115,6 @@ namespace love const bits IMAGE_IMAGE_DATA_T = (bits(1) << IMAGE_IMAGE_DATA_ID) | DATA_T; // Audio. - const bits AUDIO_AUDIBLE_T = (bits(1) << AUDIO_AUDIBLE_ID) | OBJECT_T; - const bits AUDIO_SOUND_T = (bits(1) << AUDIO_SOUND_ID) | AUDIO_AUDIBLE_T; - const bits AUDIO_MUSIC_T = (bits(1) << AUDIO_MUSIC_ID) | AUDIO_AUDIBLE_T; const bits AUDIO_SOURCE_T = (bits(1) << AUDIO_SOURCE_ID) | OBJECT_T; // Sound. @@ -148,6 +141,9 @@ namespace love const bits MODULE_IMAGE_T = (bits(1) << MODULE_IMAGE_ID) | MODULE_T; const bits MODULE_SOUND_T = (bits(1) << MODULE_SOUND_ID) | MODULE_T; + bool getType(const char * in, Type & out); + bool getType(Type in, const char *& out); + } // love #endif // LOVE_TYPES_H diff --git a/src/modules/audio/Audible.h b/src/modules/audio/Audible.h deleted file mode 100644 index 4352c3fc7..000000000 --- a/src/modules/audio/Audible.h +++ /dev/null @@ -1,48 +0,0 @@ -/** -* Copyright (c) 2006-2009 LOVE Development Team -* -* This software is provided 'as-is', without any express or implied -* warranty. In no event will the authors be held liable for any damages -* arising from the use of this software. -* -* Permission is granted to anyone to use this software for any purpose, -* including commercial applications, and to alter it and redistribute it -* freely, subject to the following restrictions: -* -* 1. The origin of this software must not be misrepresented; you must not -* claim that you wrote the original software. If you use this software -* in a product, an acknowledgment in the product documentation would be -* appreciated but is not required. -* 2. Altered source versions must be plainly marked as such, and must not be -* misrepresented as being the original software. -* 3. This notice may not be removed or altered from any source distribution. -**/ - -#ifndef LOVE_AUDIO_AUDIBLE_H -#define LOVE_AUDIO_AUDIBLE_H - -// LOVE -#include - -namespace love -{ -namespace audio -{ - class Source; - - class Audible : public Object - { - public: - - virtual ~Audible(){}; - virtual void play(Source * source) = 0; - virtual void update(Source * source) = 0; - virtual void stop(Source * source) = 0; - virtual void rewind(Source * source) = 0; - - }; // Audible - -} // audio -} // love - -#endif // LOVE_AUDIO_AUDIBLE_H \ No newline at end of file diff --git a/src/modules/audio/Audio.h b/src/modules/audio/Audio.h index 364f03191..b763b4bbc 100644 --- a/src/modules/audio/Audio.h +++ b/src/modules/audio/Audio.h @@ -23,11 +23,14 @@ #include #include "Source.h" -#include "Sound.h" -#include "Music.h" namespace love { +namespace sound +{ + class Decoder; + class SoundData; +} namespace audio { /** @@ -42,26 +45,9 @@ namespace audio **/ virtual ~Audio(){}; - /** - * Creates a new Sound with the specified SoundData. - * @param data The SoundData from which to create the sound. - * @return A new Sound if successful, zero otherwise. - **/ - virtual Sound * newSound(love::sound::SoundData * data) = 0; - - /** - * Creates a new Music (stream) using the specified SoundData. - * @param decoder The object to use to decode the sound stream. - **/ - virtual Music * newMusic(love::sound::Decoder * decoder) = 0; - - /** - * Creates a new Source. - * @returns A new Source. - **/ - virtual Source * newSource(Sound * sound) = 0; - virtual Source * newSource(Music * music) = 0; - + virtual Source * newSource(love::sound::Decoder * decoder) = 0; + virtual Source * newSource(love::sound::SoundData * soundData) = 0; + /** * Gets the current number of simulatenous playing sources. * @return The current number of simulatenous playing sources. @@ -80,26 +66,6 @@ namespace audio **/ virtual void play(Source * source) = 0; - /** - * Plays one Sound on the specified Source. We need separate - * Sound and Music play functions because Music must be cloned, - * whereas Sound needs not be. - * - * @param sound The Sound to play. - * @param source The Source on which to play the Sound. - **/ - virtual void play(Sound * sound) = 0; - - /** - * Plays one Music on the specified Source. We need separate - * Sound and Music play functions because Music must be cloned, - * whereas Sound needs not be. - * - * @param music The Music to play. - * @param source The Source on which to play the Music. - **/ - virtual void play(Music * music) = 0; - /** * Stops playback on the specified source. * @param source The source on which to stop the playback. diff --git a/src/modules/audio/Music.h b/src/modules/audio/Music.h deleted file mode 100644 index fdaeb90ec..000000000 --- a/src/modules/audio/Music.h +++ /dev/null @@ -1,63 +0,0 @@ -/** -* Copyright (c) 2006-2009 LOVE Development Team -* -* This software is provided 'as-is', without any express or implied -* warranty. In no event will the authors be held liable for any damages -* arising from the use of this software. -* -* Permission is granted to anyone to use this software for any purpose, -* including commercial applications, and to alter it and redistribute it -* freely, subject to the following restrictions: -* -* 1. The origin of this software must not be misrepresented; you must not -* claim that you wrote the original software. If you use this software -* in a product, an acknowledgment in the product documentation would be -* appreciated but is not required. -* 2. Altered source versions must be plainly marked as such, and must not be -* misrepresented as being the original software. -* 3. This notice may not be removed or altered from any source distribution. -**/ - -#ifndef LOVE_AUDIO_MUSIC_H -#define LOVE_AUDIO_MUSIC_H - -// LOVE -#include "Audible.h" -#include - -namespace love -{ -namespace audio -{ - /** - * A Music object represents a stream of sound samples which are gradually - * acquired somehow. Compare with Sounds, which have all the needed sound - * samples pre-decoded. - * - * Typically, you would want to use love::sound::Decoder to decode samples - * from some encoded format, like OGG or MP3, however, Music can come from - * other sources as well. - **/ - class Music : public Audible - { - public: - - /** - * Destructor. - **/ - virtual ~Music(){}; - - /** - * Creates a clone of the music stream. Music objects are gradually - * decoded, so if the client wants to play the same Music object, we can't - * use the same object. We must clone the entire stream. - * @return A clone of this object, but rewound to the start. - **/ - virtual Music * clone() = 0; - - }; // Music - -} // audio -} // love - -#endif // LOVE_AUDIO_MUSIC_H diff --git a/src/modules/audio/Sound.h b/src/modules/audio/Sound.h deleted file mode 100644 index 389fade89..000000000 --- a/src/modules/audio/Sound.h +++ /dev/null @@ -1,42 +0,0 @@ -/** -* Copyright (c) 2006-2009 LOVE Development Team -* -* This software is provided 'as-is', without any express or implied -* warranty. In no event will the authors be held liable for any damages -* arising from the use of this software. -* -* Permission is granted to anyone to use this software for any purpose, -* including commercial applications, and to alter it and redistribute it -* freely, subject to the following restrictions: -* -* 1. The origin of this software must not be misrepresented; you must not -* claim that you wrote the original software. If you use this software -* in a product, an acknowledgment in the product documentation would be -* appreciated but is not required. -* 2. Altered source versions must be plainly marked as such, and must not be -* misrepresented as being the original software. -* 3. This notice may not be removed or altered from any source distribution. -**/ - -#ifndef LOVE_AUDIO_SOUND_H -#define LOVE_AUDIO_SOUND_H - -// LOVE -#include -#include "Audible.h" - -namespace love -{ -namespace audio -{ - class Sound : public Audible - { - private: - public: - virtual ~Sound(){}; - }; // Sound - -} // audio -} // love - -#endif // LOVE_AUDIO_SOUND_H \ No newline at end of file diff --git a/src/modules/audio/Source.cpp b/src/modules/audio/Source.cpp index 9ec9a8ae1..cc36f3126 100644 --- a/src/modules/audio/Source.cpp +++ b/src/modules/audio/Source.cpp @@ -24,47 +24,32 @@ namespace love { namespace audio { - Source::Source() - : audible(0), looping(false) + Source::Source(Type type) + : type(type) { } Source::~Source() { - if(audible != 0) - { - audible->stop(this); - audible->release(); - } - } - - void Source::setAudible(Audible * audible) - { - // If this source already has an audible, remove it. - if(this->audible != 0) - { - this->audible->stop(this); - this->audible->release(); - } - - this->audible = audible; - audible->retain(); - } - - Audible * Source::getAudible() const - { - return audible; } - void Source::setLooping(bool looping) + bool Source::getConstant(const char * in, Type & out) { - this->looping = looping; + return types.find(in, out); } - bool Source::isLooping() const - { - return looping; + bool Source::getConstant(Type in, const char *& out) + { + return types.find(in, out); } + StringMap::Entry Source::typeEntries[] = + { + {"static", Source::TYPE_STATIC}, + {"stream", Source::TYPE_STREAM}, + }; + + StringMap Source::types(Source::typeEntries, sizeof(Source::typeEntries)); + } // audio } // love diff --git a/src/modules/audio/Source.h b/src/modules/audio/Source.h index 82a6dcd19..1f9d0263b 100644 --- a/src/modules/audio/Source.h +++ b/src/modules/audio/Source.h @@ -23,7 +23,7 @@ // LOVE #include -#include "Audible.h" +#include namespace love { @@ -31,14 +31,23 @@ namespace audio { class Source : public Object { - protected: - Audible * audible; - bool looping; public: - Source(); + + enum Type + { + TYPE_STATIC = 1, + TYPE_STREAM, + TYPE_MAX_ENUM + }; // Type + + protected: + Type type; + public: + + Source(Type type); virtual ~Source(); - void setAudible(Audible * audible); - Audible * getAudible() const; + + virtual Source * copy() = 0; virtual void play() = 0; virtual void stop() = 0; @@ -46,6 +55,7 @@ namespace audio virtual void resume() = 0; virtual void rewind() = 0; virtual bool isStopped() const = 0; + virtual bool isFinished() const = 0; virtual void update() = 0; virtual void setPitch(float pitch) = 0; @@ -62,8 +72,16 @@ namespace audio virtual void setDirection(float * v) = 0; virtual void getDirection(float * v) const = 0; - void setLooping(bool looping); - bool isLooping() const; + virtual void setLooping(bool looping) = 0; + virtual bool isLooping() const = 0; + + static bool getConstant(const char * in, Type & out); + static bool getConstant(Type in, const char *& out); + + private: + + static StringMap::Entry typeEntries[]; + static StringMap types; }; // Source diff --git a/src/modules/audio/null/Audio.cpp b/src/modules/audio/null/Audio.cpp index 57ccbf29d..c09c5fbc2 100644 --- a/src/modules/audio/null/Audio.cpp +++ b/src/modules/audio/null/Audio.cpp @@ -39,22 +39,12 @@ namespace null return "love.audio.null"; } - love::audio::Sound * Audio::newSound(love::sound::SoundData * data) - { - return new Sound(data); - } - - love::audio::Music * Audio::newMusic(love::sound::Decoder * decoder) - { - return new Music(decoder); - } - - love::audio::Source * Audio::newSource(love::audio::Sound * sound) + love::audio::Source * Audio::newSource(love::sound::Decoder * decoder) { return new Source(); } - love::audio::Source * Audio::newSource(love::audio::Music * music) + love::audio::Source * Audio::newSource(love::sound::SoundData * soundData) { return new Source(); } @@ -73,14 +63,6 @@ namespace null { } - void Audio::play(love::audio::Sound * sound) - { - } - - void Audio::play(love::audio::Music * music) - { - } - void Audio::play() { } diff --git a/src/modules/audio/null/Audio.h b/src/modules/audio/null/Audio.h index ff6bddd5f..2e3549ce7 100644 --- a/src/modules/audio/null/Audio.h +++ b/src/modules/audio/null/Audio.h @@ -24,8 +24,6 @@ // LOVE #include