exec("CH3/animaudio.cs"); Loading compiled script CH3/animaudio.cs. "> Problems with Audio Emitters | Torque Game Engine | Forums | Community | GarageGames.com

Game Development Community

Problems with Audio Emitters

by Bruno Grieco · in Torque Game Engine · 05/27/2004 (4:02 pm) · 5 replies

Guys,

I'm running the examples on Ken Finney's "3D Game Programing all in one" on Chapter 3 where an audio animation is proposed, I get the following result from the console
==>exec("CH3/animaudio.cs");

Loading compiled script CH3/animaudio.cs.

Inserting Audio Emmiter 1384

AudioEmitter::update: failed to create source!

AudioEmitter::onAdd: client failed initial update!

It happens after the following code :
%emtr = new AudioEmitter() {

      position = "-93.6 -26.83743 13.5325";

      rotation = "1 0 0 0";

      scale = "1 1 1";

      profile = "TestSound"; // Use the profile in the datablock above

      useProfileDescription = "1"; 

      type = "2";

      volume = "1";

      outsideAmbient = "1";

      referenceDistance = "1";

      maxDistance = "100";

      isLooping = "1";

      is3D = "1";

      loopCount = "-1";

      minLoopGap = "0";

      maxLoopGap = "0";

      coneInsideAngle = "360";

      coneOutsideAngle = "360";

      coneOutsideVolume = "1";

      coneVector = "0 0 1";

      minDistance = "20.0";

   };

   MissionCleanup.add(%emtr);



   // Player setup-

   %emtr.setTransform("-200 -30 12 0 0 1 0"); // starting location

   echo("Inserting Audio Emitter " @ %emtr);


This doesn't seem to be an OpenAL problem. Since I get feedback sound from the buttons on the GUI.

Any hints ?

TIA

BTW, the book is really good.

#1
05/27/2004 (6:19 pm)
If im not wrong the Audioemitter is a server object
So to add an Audioemitter you must do it server side
othervise you get false and that error .
The client bit in the audiocode is remarked.
#2
05/27/2004 (7:03 pm)
Bingo !

I move it to /server/scripts and added an exec() command to game.cs.

What exactly determines on which side the function should be loaded ?

At my first attempt, because of a typo error the function wasn't called. So I called it manually from a server directory and it did work.

So I guess what determines on which side the function should run is its directory ??? Am I correct ?

Thanks
#3
05/28/2004 (5:42 am)
When you try to start the emitter with a client command its
not working.
The only way to do this is to call a servercommand from the client to tell the server to add a audioemitter.

If you want to play sounds there are otherways todo this.
like serverplay2d and serverplay3d.
Look at the common/server/audio.cs file.
You really dont need a audioemitter for that.
#4
08/04/2004 (5:12 am)
Oki found it
http://www.garagegames.com/projectmanager/module.php?qc=4415&qs=256&qst=15&qmo=28&qsb=1&qna=Recently+Changed+Issuese.php?qc=4159&qs=8&qt=1&qst=15&qmo=28&qsb=1&qna=Open+Bugs&qtt=1&qtmd=318d7d6b&qpg=1&qpj=1 // they have a bug report - unfixed from 2002 ?

00076 Bug Code High Critical Unconfirmed Apr 4, 2004 Sounds not working
(is it that old ... or am I on a wrong side here ? )
#5
08/13/2004 (12:34 pm)
Well it still don't work ..... but it is better .... I still hardcode it in the audioprofiles.cs....