Added composite test ogre+audiere+openal

pull/21/head
Nicolay Korslund 15 years ago
parent abee2689e3
commit eedf0c9e3b

@ -1,7 +1,7 @@
#ifndef MANGLE_INPUT_FILTER_H
#define MANGLE_INPUT_FILTER_H
#include "sound.h"
#include "../sound.h"
#include <assert.h>

1
tests/.gitignore vendored

@ -0,0 +1 @@
*_test

@ -0,0 +1,14 @@
GCC=g++ -I../
all: ogrevfs_audiere_openal_test
I_OGRE=$(shell pkg-config --cflags OGRE)
L_OGRE=$(shell pkg-config --libs OGRE)
L_OPENAL=$(shell pkg-config --libs openal)
L_AUDIERE=-laudiere
ogrevfs_audiere_openal_test: ogrevfs_audiere_openal_test.cpp ../vfs/imp_server/ogre_vfs.cpp ../sound/imp/input_audiere.cpp ../sound/imp/output_openal.cpp ../stream/imp_client/audiere_file.cpp
$(GCC) $^ -o $@ $(I_OGRE) $(L_OGRE) $(L_OPENAL) $(L_AUDIERE)
clean:
rm *_test

@ -0,0 +1,52 @@
/*
This example combines:
- the OGRE VFS system (to read from zip)
- Audiere (for decoding sound data)
- OpenAL (for sound playback)
*/
#include "sound/imp/openal_audiere.h"
#include "vfs/imp_server/ogre_vfs.h"
#include <Ogre.h>
#include <iostream>
using namespace Ogre;
using namespace Mangle;
using namespace std;
int main()
{
// Disable Ogre logging
new LogManager;
Log *log = LogManager::getSingleton().createLog("");
log->setDebugOutputEnabled(false);
// Set up Root
Root *root = new Root("","","");
// Add zip file with a sound in it
root->addResourceLocation("sound.zip", "Zip", "General");
// Ogre file system
VFS::OgreVFS vfs;
Sound::OpenAL_Audiere_Manager mg;
Sound::Sound *snd = mg.load(vfs.open("owl.ogg"));
Sound::Instance *s = snd->getInstance(false, false);
cout << "Playing 'owl.ogg' from 'sound.zip'\n";
s->play();
while(s->isPlaying())
{
usleep(10000);
if(mg.needsUpdate) mg.update();
}
if(s) s->drop();
if(snd) snd->drop();
return 0;
}

Binary file not shown.
Loading…
Cancel
Save