See site in english Voir le site en francais
Website skin:
home  download  forum  link  contact

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

Author Topic: How do I get Orbitersound to work reliably?  (Read 11725 times)

0 Members and 1 Guest are viewing this topic.

Offline movieman

  • Jr. Member
  • **
  • Posts: 23
  • Karma: 0
05 July 2006, 22:09:21
I didn't get any response to my previous question, so I guess I'll try again.

I have a wav file I want to play. I know it exists because I can open it with fopen(). I call RequestLoadVesselWave3() with
the filename to load it into slot 35 and it returns non-zero. Twenty seconds later I call PlayVesselWave3() to play slot 35
and it returns zero and doesn't play anything.

The orbiter sound log file says:

Vessel sound FAILED TO LOAD WAV missing wav file ?->   DX Code: E_FAIL

The file is there. It exists. It can be fopen-ed. Orbiter sound can even play exactly the same file at other times in the
mission. But it won't play it now.

Without the source or some kind of debug spew explaining why it can't load the file, this is pretty much impossible for me to
debug. Is there anything I can do to make it load my sound files reliably?


Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 256
  • Hein, quoi !?
    • FsPassengers
Reply #1 - 05 July 2006, 23:25:37
Can you show the snipet of code involved ?

Dan


Offline movieman

  • Jr. Member
  • **
  • Posts: 23
  • Karma: 0
Reply #2 - 06 July 2006, 00:57:59
Unfortunately it all goes through our sound library wrapper, so it's a bit complicated. But here's a rough example:

SoundData *SoundLib::DoLoadSound(char *SoundPath, EXTENDEDPLAY extended)

{
   SoundData *s;

   //
   // If the sound already exists, return it.
   //

        // SoundPath = 'Sound/ProjectApollo/Apollo11/T-01-30.wav'

   s = CheckForMatch(SoundPath);
   if (s) {
      s->AddRef();
      return s;
   }

   int id = FindSlot(); // id returned is 35
   if (id < 0)
      return 0;

   s = sounds + id;

   s->setFileName(SoundPath);

   //
   // So the file exists and we have a free slot. Try to load it.
   //

        // SoundlibID = 0, extended = 0

   if (RequestLoadVesselWave3(SoundlibId, id, s->GetFilename(), extended) == 0)
      return 0;

   s->setSoundlibId(SoundlibId);
   s->setID(id);
   s->MakeValid();
   s->AddRef();

   return s;
}

bool SoundData::play(int flags, int libflags, int volume, int playvolume)

{
   if (valid) {
      if (!PlayVesselWave3(SoundlibId, id, flags, playvolume))
         return false;

      PlayVolume = playvolume;
      PlayFlags = flags;
      LibFlags = libflags;
      BaseVolume = volume;

      return true;
   }

   return false;
}

The file is 8-bit, mono, 8kHz, but I've also tried 8-bit, mono 11kHz, and that doesn't work either. The file definitely
exists, because we look for the file by calling fopen using the same filename and if the fopen fails we abort... if it
succeeds we close it again and call Orbitersound.

I hacked in some quick debug output to the sound library, and this is everything that's happening in the Saturn V which is
trying to play the sound:

Loading 'Sound/ProjectApollo/button.wav', id = 1, extended = 0, SoundlibId = 0
Loading 'Sound/ProjectApollo/guard.wav', id = 2, extended = 1, SoundlibId = 0
Loading 'Sound/ProjectApollo/click.wav', id = 3, extended = 0, SoundlibId = 0
Loading 'Sound/ProjectApollo/circuit_breaker.wav', id = 4, extended = 0, SoundlibId = 0
Loading 'Sound/ProjectApollo/rotary.wav', id = 5, extended = 0, SoundlibId = 0
Loading 'Sound/ProjectApollo/thumbwheel.wav', id = 6, extended = 0, SoundlibId = 0
Loading 'Sound/ProjectApollo/reentry.wav', id = 7, extended = 0, SoundlibId = 0
Loading 'Sound/ProjectApollo/docking.wav', id = 8, extended = 0, SoundlibId = 0
Loading 'Sound/ProjectApollo/Correction.wav', id = 9, extended = 0, SoundlibId = 0
Loading 'Sound/ProjectApollo/LRover.WAV', id = 10, extended = 0, SoundlibId = 0
Loading 'Sound/ProjectApollo/Separation.wav', id = 11, extended = 0, SoundlibId = 0
Loading 'Sound/ProjectApollo/countdown1.WAV', id = 12, extended = 0, SoundlibId = 0
Loading 'Sound/ProjectApollo/probe.wav', id = 13, extended = 1, SoundlibId = 0
Loading 'Sound/ProjectApollo/cabin.wav', id = 14, extended = 1, SoundlibId = 0
Loading 'Sound/ProjectApollo/alarm.wav', id = 15, extended = 1, SoundlibId = 0
Loading 'Sound/ProjectApollo/Splash.wav', id = 16, extended = 0, SoundlibId = 0
Loading 'Sound/ProjectApollo/Stagesep.wav', id = 17, extended = 0, SoundlibId = 0
Loading 'Sound/ProjectApollo/Crash.wav', id = 18, extended = 0, SoundlibId = 0
Loading 'Sound/ProjectApollo/DockingCapture.wav', id = 19, extended = 1, SoundlibId = 0
Loading 'Sound/ProjectApollo/DockingLatch.wav', id = 20, extended = 1, SoundlibId = 0
Loading 'Sound/ProjectApollo/DockingExtend.wav', id = 21, extended = 1, SoundlibId = 0
Loading 'Sound/Vessel/undocking.wav', id = 22, extended = 1, SoundlibId = 0
Loading 'Sound/ProjectApollo/Countdown.wav', id = 23, extended = 0, SoundlibId = 0
Loading 'Sound/ProjectApollo/saturn-launch.wav', id = 24, extended = 0, SoundlibId = 0
Loading 'Sound/ProjectApollo/Apollo11/window.wav', id = 25, extended = 0, SoundlibId = 0
Loading 'Sound/ProjectApollo/center-shutdown.wav', id = 26, extended = 0, SoundlibId = 0
Loading 'Sound/ProjectApollo/TowerJet.wav', id = 27, extended = 0, SoundlibId = 0
Loading 'Sound/ProjectApollo/inboard-cutoff.wav', id = 28, extended = 0, SoundlibId = 0
Loading 'Sound/ProjectApollo/Apollo11/go-for-orbit.wav', id = 29, extended = 0, SoundlibId = 0
Loading 'Sound/ProjectApollo/hover_int.WAV', id = 30, extended = 1, SoundlibId = 0
Loading 'Sound/ProjectApollo/SMJetison.wav', id = 31, extended = 0, SoundlibId = 0
Loading 'Sound/ProjectApollo/Apollo11/go-for-tli.wav', id = 32, extended = 0, SoundlibId = 0
Loading 'Sound/ProjectApollo/Apollo11/tli-start.wav', id = 33, extended = 0, SoundlibId = 0
Loading 'Sound/ProjectApollo/pu-shift.wav', id = 34, extended = 0, SoundlibId = 0
Loading 'Sound/ProjectApollo/Apollo11/T-01-30.wav', id = 35, extended = 0, SoundlibId = 0   <<<
Playing 'Sound/ProjectApollo/circuit_breaker.wav', id = 4, flags = 0, SoundlibId = 0, playvolume = 255
Playing 'Sound/ProjectApollo/circuit_breaker.wav', id = 4, flags = 0, SoundlibId = 0, playvolume = 255
Playing 'Sound/ProjectApollo/circuit_breaker.wav', id = 4, flags = 0, SoundlibId = 0, playvolume = 255
Playing 'Sound/ProjectApollo/circuit_breaker.wav', id = 4, flags = 0, SoundlibId = 0, playvolume = 255
Playing 'Sound/ProjectApollo/circuit_breaker.wav', id = 4, flags = 0, SoundlibId = 0, playvolume = 255
Playing 'Sound/ProjectApollo/circuit_breaker.wav', id = 4, flags = 0, SoundlibId = 0, playvolume = 255
Playing 'Sound/ProjectApollo/click.wav', id = 3, flags = 0, SoundlibId = 0, playvolume = 255
Playing 'Sound/ProjectApollo/click.wav', id = 3, flags = 0, SoundlibId = 0, playvolume = 255
Playing 'Sound/ProjectApollo/rotary.wav', id = 5, flags = 0, SoundlibId = 0, playvolume = 255
Playing 'Sound/ProjectApollo/click.wav', id = 3, flags = 0, SoundlibId = 0, playvolume = 255
Playing 'Sound/ProjectApollo/click.wav', id = 3, flags = 0, SoundlibId = 0, playvolume = 255
Playing 'Sound/ProjectApollo/click.wav', id = 3, flags = 0, SoundlibId = 0, playvolume = 255
Playing 'Sound/ProjectApollo/click.wav', id = 3, flags = 0, SoundlibId = 0, playvolume = 255
Playing 'Sound/ProjectApollo/rotary.wav', id = 5, flags = 0, SoundlibId = 0, playvolume = 255
Playing 'Sound/ProjectApollo/rotary.wav', id = 5, flags = 0, SoundlibId = 0, playvolume = 255
Playing 'Sound/ProjectApollo/click.wav', id = 3, flags = 0, SoundlibId = 0, playvolume = 255
Playing 'Sound/ProjectApollo/click.wav', id = 3, flags = 0, SoundlibId = 0, playvolume = 255
Playing 'Sound/ProjectApollo/click.wav', id = 3, flags = 0, SoundlibId = 0, playvolume = 255
Playing 'Sound/ProjectApollo/rotary.wav', id = 5, flags = 0, SoundlibId = 0, playvolume = 255
Playing 'Sound/ProjectApollo/rotary.wav', id = 5, flags = 0, SoundlibId = 0, playvolume = 255
Playing 'Sound/ProjectApollo/click.wav', id = 3, flags = 0, SoundlibId = 0, playvolume = 255
Playing 'Sound/ProjectApollo/click.wav', id = 3, flags = 0, SoundlibId = 0, playvolume = 255
Playing 'Sound/ProjectApollo/Apollo11/T-01-30.wav', id = 35, flags = 0, SoundlibId = 0, playvolume = 255 <<<
Failed to play 'Sound/ProjectApollo/Apollo11/T-01-30.wav' <<<

And here's the log file:

OrbiterSound 3.0 ver. Jan 21 2005  Log Started
***********************************************

Passed initModule - Ok
Vessel Columbia requested an ID, returned= 0 OK
Vessel Crawler-Transporter requested an ID, returned= 1 OK
Vessel ML requested an ID, returned= 2 OK
Vessel VAB requested an ID, returned= 3 OK
Vessel MSS requested an ID, returned= 4 OK
attempting focus change...
Focus not ready bypassing focus change - Ok
Attempting RenderViewport initialisation...
Attempting GetStartValue initialisation...
Passed GetStartValue - Ok
Initialising directsound...
directsound initialised - OK
Passed RenderViewport - Ok
Attempting Mp3 initialisation...
MP3 found in playlist =  1
Mp3 initialised - Ok
Focus changed attempting to load vessel wave
Focus changed load vessel wave - OK
Loaded requested wav nbr= 34
Vessel sound FAILED TO LOAD WAV missing wav file ?->   DX Code: E_FAIL
Loaded requested wav nbr= 0
Attempting to close viewport...
Attempting to kill DirectSound...
DirectSound killed - OK
Passed CloseRenderViewport - Ok
Exited to Orbiter Launchpad - OK

Passed ExitModule - Ok

So I can't see that I'm doing anything wrong, but the file just fails to load. The SoundPath string gets deleted shortly
after calling the load function, so I copied it to the SoundData object just in case you try to access it through an old
pointer, but that didn't help. I also tried waiting 200 timesteps after startup before loading the file and that didn't help.


Offline movieman

  • Jr. Member
  • **
  • Posts: 23
  • Karma: 0
Reply #3 - 06 July 2006, 01:09:39
Ok, it's definitely not the file as I just hacked the code to replace the escape tower jettison file with T-01-30.wav and now
when I jettison the tower that file plays.

The only difference there is that the tower jettison sound is loaded in the function which loads saved state from a scenario file, whereas the file I'm trying to play is loaded from the timestep function... it then gets played a couple of hundred timesteps later... or rather doesn't get played at that point because the play call fails.

In fact all the sounds I've had problems with -- e.g. when loading a new sound with the same ID and the old sound then plays instead of the new one -- are loaded in clbkPreStep(). Is there a problem with loading sounds in that function?



Post Edited ( 07-06-06 01:24 )


Offline movieman

  • Jr. Member
  • **
  • Posts: 23
  • Karma: 0
Reply #4 - 06 July 2006, 01:39:26
Yeah, if I fake a call to my sound Timestep() function from the function which loads the state from the scenario, it will
load up the the T-01-30.wav file at that point and then plays it fine later. But if I rely on the clbkPreStep() calling the
same Timestep function to load the file it fails.

So it looks like the code which is trying to load and play the file is fine, but somehow calling it from clbkPreStep() makes
it fail to load the file.

Basically we have a list of sound files to play at certain times before or after specific events (e.g. liftoff, re-entry), and each timestep it checks which is next in line to be played. If there's no sound queued it loads the next one, if there's a sound queued and we've passed the time when it should be played, then it plays it and loads the next sound in the queue when it's finished playing.



Post Edited ( 07-06-06 01:43 )


Offline movieman

  • Jr. Member
  • **
  • Posts: 23
  • Karma: 0
Reply #5 - 10 July 2006, 17:31:20
Any ideas? It looks like I'm doing everything correctly, but Orbitersound is just ignoring me... if that's the case, then the
only remaining solution is to write my own sound playing code instead, which seems a bit pointless.


Offline Doug Beachy

  • Jr. Member
  • **
  • Posts: 75
  • Karma: 0
Reply #6 - 25 September 2006, 19:55:55
Are there any updates on this?  This bug is really killing me.  The only way that sounds can play is if you load all your
sounds via RequestLoadVesselWave3 at initialization time, typically from your ship's clbkPostCreation method.  If I load all
the sounds from there everything is fine.  However, if I try to load a sound from clbkPostStep, the loading succeeds but
PlayVesselWave3 then refuses to play the sound!  This is a serious bug that limits my ship to having only 60 sounds total,
which is completely inadequate since I do my own speed and altitude callouts.  This bug wouldn't be so bad if the wav files
limit was something reasonable like 256 instead of just 60.  Ideally OrbiterSound could simply maintain a linked list of
sounds and let you load as many as you needed.

All you have to do to reproduce this bug is:
Code: [Select]

void MyShip::clbkPostStep(double simt, double simdt, double mjd)
{
    // sound loads successfully here
    RequestLoadVesselWave3(myShipID, 1, "MyShip\\foobar.wav", RADIO_SOUND);
   
    ... a few frames later ...
   
    // *** RETURNS 0 ( "wav not played" ) ***
    PlayVesselWave3(myShipID, 1, false, 255, 0);
}


Has anyone found a workaround for this bug?  I'd rather not have to write my own sound driver for my ship, but it looks like
I'm going to have to do that.


Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 256
  • Hein, quoi !?
    • FsPassengers
Reply #7 - 25 September 2006, 20:09:00
Can you post the orbitersound_log.txt ?

Best

Dan


Offline Doug Beachy

  • Jr. Member
  • **
  • Posts: 75
  • Karma: 0
Reply #8 - 25 September 2006, 20:44:10
Hi Dan, thanks for the quick reply!  :)  Here is the log:

Code: [Select]
OrbiterSound 3.0 ver. Mar 01 2005  Log Started
***********************************************

Passed initModule - Ok
Vessel XR-01 requested an ID, returned= 0 OK
attempting focus change...
Focus not ready bypassing focus change - Ok
Attempting RenderViewport initialisation...
Attempting GetStartValue initialisation...
Passed GetStartValue - Ok
Initialising directsound...
directsound initialised - OK
Passed RenderViewport - Ok
Attempting Mp3 initialisation...
MP3 found in playlist =  1
Mp3 initialised - Ok
Focus changed attempting to load vessel wave
Focus changed load vessel wave - OK
Loaded requested wav nbr= 20
Vessel sound FAILED TO LOAD WAV missing wav file ?->   DX Code: E_FAIL
Loaded requested wav nbr= 0


It looks like DirectSound is returning E_FAIL from the request to play the sound.  I have verified that the
RequestLoadVesselWave3 call returns TRUE, so the wav is being loaded correctly.  For some reason, though, it looks like
DirectSound refuses to play it.  

If I move the 'RequestLoadVesselWave3 ' to my clbkPostCreate method, the wav plays fine.  I'm really stumpted at this point.

As a workaround, could you make a quick patch to OrbiterSound to increase the wav file limit to 300?  That would let me load
everything from my clbkPostCreate method and still give me plenty of room to spare.  

Thanks a bunch for your help!



Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 256
  • Hein, quoi !?
    • FsPassengers
Reply #9 - 26 September 2006, 01:29:15
quick patch ? :)

OrbiterSound allow only 60 wav per vessel because
it allow also 60 vessels[/u] to have 60 sounds...

That make 3600 wav possible ;)

This is why I can't increase this number at all,
you must think about others vessel and the
code is not designed at all to support that.
Even only four vessels make 240 sounds.


I'm not sure to understand your problem, the log show
clearly a E_FAIL.

When you request a sound to be loaded OrbiterSound doesn't load
it immmediattely, so the function may return TRUE (the request is accepted)
but later (one loop usually) the true loading may fail. This system is due because
of focus change and the abilities of several vessel to have differents sounds.

This may be a problem with your wav's format or a path problem.
do you use some path and directory function ? can you debug and show
the current path ?

Also it's strange but maybe an indication: in the function
the error message is supposed to display the name of the wav that failed
to load, ig: Vessel sound FAILED TO LOAD WAV missing wav file ?-> mywav.wav  DX Code: E_FAIL

Here it show nothing.... maybe a hint ?

Did you checked you vessel ID ?

Best

Dan


Offline Doug Beachy

  • Jr. Member
  • **
  • Posts: 75
  • Karma: 0
Reply #10 - 26 September 2006, 01:57:11
Quote
DanSteph wrote:
This may be a problem with your wav's format or a path problem.
do you use some path and directory function ? can you debug and show
the current path ?

Also it's strange but maybe an indication: in the function
the error message is supposed to display the name of the wav that failed
to load, ig: Vessel sound FAILED TO LOAD WAV missing wav file ?-> mywav.wav  DX Code: E_FAIL

Here it show nothing.... maybe a hint ?

Did you checked you vessel ID ?

Best

Dan

Thanks for the follow-up.  Regarding the file limit, an elegant solution would be to use a linked list to maintain a dymanic
list of sounds for each vessel.  Then you would only allocate memory for the sounds actually loaded by each vessel
instead of using a hardcoded number of buffers for each vessel.  Obviously, however, implementing this would be more work.
Of course, the optimum solution would be to be able to play files loaded after clbkPostCreation and "reuse" sound slots.

As for the questions you asked, those are valid questions; however, I have spent a lot of time debugging this and I am quite
certain that the path is correct and that the problem is in OrbiterSound.  Here is why:

1. For testing, I used a hardcoded path for the wav file, which is very easy to verify.

2. I traced through the code via a debugger multiple times right down at the assembly level to double-check everything.

3. If I move the exact same 'RequestLoadVesselWave3' line from clbkPostStep to clbkPostCreation, it works perfectly.  This
proves that it is not a path problem.

4. As you can see from this thread, several other develpers have experienced the same problem.  It is very unlikely that all
of these are due to a simple path problem or other user error.

5. Several other members over on the Orbiter forum, including the NASSP team, are having the exact same problem -- wav files
refuse to play when they are loaded after clbkPostCreation finishes.  The thread is here:
http://orbit.m6.net/Forum/default.aspx?g=posts&t=10111

In my opinion, these reasons are ample evidence that the bug is in OrbiterSound.  Also, this problem should be very easy to
reproduce: 1) load a wav in clbkPostStep, and 2) try to play it.  

Thanks again for your help.



Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 256
  • Hein, quoi !?
    • FsPassengers
Reply #11 - 26 September 2006, 02:04:13
Can you send me your project ? I'll attempt to debug OrbiterSound
while it run and see what's going on...

Dan


Offline Doug Beachy

  • Jr. Member
  • **
  • Posts: 75
  • Karma: 0
Reply #12 - 26 September 2006, 04:49:13
Thanks for your generous offer to look into this Dan, I appreciate it!  :)  

To make this as easy as possible, I created a clean MSVC++ 6.0 project that uses only the default DeltaGlider to reproduce
the problem.  Everything is zipped up here: http://home.comcast.net/~tbeachy408/OrbiterSoundBug/OrbiterSoundBugDemo.zip

Here are the instructions in the readme.txt file in the zip:
Code: [Select]
OrbiterSound bug demo

D. Beachy, 9.25.2006

To install:
    1. Install orbiter060504_base.zip to a new directory; e.g., c:\orbiter.test.
    2. Install orbiter060504_sdk.zip to the same directory.
    3. Install OrbiterSound 3.0
    4. Bring up orbiter.exe and activate the OrbiterSound module.
    5. Unzip OrbiterSoundBugDemo.zip to your clean Orbiter 060504 directory; e.g., c:\orbiter.test.  Click "Yes to all" when
asked to overwrite.
    6. Open MSVC++ 6.0 and load the following workspace:  C:\orbiter.test\Orbitersdk\samples\DeltaGlider\DeltaGlider.dsw
    7. Follow the instructions at the top of DeltaGlider.cpp.
   
Thanks a lot for your help!


Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 256
  • Hein, quoi !?
    • FsPassengers
Reply #13 - 26 September 2006, 14:28:49
I'll look all that but let me some time, I'm reinstalling all my dev environnment ;) (new computer)

Dan


Offline Doug Beachy

  • Jr. Member
  • **
  • Posts: 75
  • Karma: 0
Reply #14 - 26 September 2006, 19:49:22
No problem Dan, I really appreciate you looking into this.


Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 256
  • Hein, quoi !?
    • FsPassengers
Reply #15 - 26 September 2006, 23:53:39
Oki doki....

Try this one:
http://www.dansteph.com/publie/forum/news/OrbiterSound.zip

PLEASE !!!! don't release this DLL, there is much more involved than your project only
if you include it in your add-on it may overwrite the new version and confuse people during years.

Please do extended test, if it work I'll ask some other tester (nassp) if it work
for them and if there is other change needed then I'll do an official release.

Thanks !

Dan



Message modifié ( 26-09-2006 23:54 )


Offline Doug Beachy

  • Jr. Member
  • **
  • Posts: 75
  • Karma: 0
Reply #16 - 27 September 2006, 04:23:26
It works like a charm now!!!  Thanks a bunch!  :beer:

The only minor issue is I found is that you have to wait at least one timestep after loading a wav before playing it.  
For example:

Code: [Select]
void MyShip::clbkPostStep(double simt, double simdt, double mjd)
{
    RequestLoadVesselWave3(myShipID, 1, "MyShip\\foobar.wav", RADIO_SOUND);

    // does not play because one frame has not elapsed yet
    PlayVesselWave3(myShipID, 1, false, 255, 0);  
}

I suspect this is because OrbiterSound can't process the load request until the next timestep when it gets control
again.  In any case, this is not a major issue because I can easily work around it by just waiting one frame after
loading the wav before playing it.  

Thanks again for fixing this!  The NASSP team will be quite happy about this, too.  ;)  

(Don't worry, I won't distribute this file.)



Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 256
  • Hein, quoi !?
    • FsPassengers
Reply #17 - 27 September 2006, 04:52:48
Grrrreat :)

the one timestep is normal, code was a real headeach because of the several
vessels that can load & play sound. I had to manage focus change, load wav change
and several things (you can change option, default sound etc etc)

So vessel communicate only by "request" that are done the next timsteps.
Anyway as you said, this is simple to manage.

You can pass this DLL to NASSP team and tell them to post here if they want
so we can synchronize  release or discuss next release... Just warn them that
they should not release this DLL, it's an alpha.

To not confuse people I'll need to change version number and redo several things
including doc, DLL,site, rebuild the installer etc etc... I'm on the track now so this can
be done quickly. (anyway I can't spent several week on this)

A hell of job for a small correction but I absolutely HATE unclear versions release and those
that need patch that confuse everyone...
"what version ? the 3.045.123 dated 21.9.06 ? or the 4.032.345 dated 12.04.06 ? or
the patch that corrected the 3.4.123.87  and that needed the 3.5.43 patch ?"
:wall:

Best

Dan

I think to pass from 3.0 to 3.5 so thing will be clear in all docs "you need OS 3.5 to hear all sounds"



Message modifié ( 27-09-2006 04:54 )


Offline movieman

  • Jr. Member
  • **
  • Posts: 23
  • Karma: 0
Reply #18 - 27 September 2006, 23:48:36
Seems to work OK now.


Offline Doug Beachy

  • Jr. Member
  • **
  • Posts: 75
  • Karma: 0
Reply #19 - 28 September 2006, 19:19:47
More good news here: I have been doing a lot of testing with the new OrbiterSound alpha you posted and it is working
perfectly!  I am dynamically loading new sounds into multiple slots in my clbkPostStep method, and I have had no problems at
all.  Thanks again for fixing this!


Offline Face

  • Jr. Member
  • **
  • Posts: 40
  • Country: Austria at
  • Karma: 9
Reply #20 - 28 September 2006, 20:03:35
Hy there,

I was so bold to try the posted OrbiterSound.dll to check if the MFD-effect - causing MFDs to be loaded activated in
scenarios in order to make MFD-triggered vessel-sounds possible - is solved with it. Unfortunately, I can't get the plugin to
work, although I tested it on Win98 and WinXP, both with O2K6 and OrbiterSound3 properly installed before copying the
OrbiterSound.dll into the /Modules/Plugin/ directory. Plain O2K6, no other modules activated. Both machines don't have VS.NET
7 or 8 installed, BTW.

For some reason, the plugin can be activated in the modules tab without errors, but neither plays sounds, shows the
additional MFD mode nor does it generate a log-file. It is just like it wasn't initialized in InitModule(1). Did I miss
something obvious?

regards,
Face



Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 256
  • Hein, quoi !?
    • FsPassengers
Reply #21 - 28 September 2006, 23:31:05
OS 3.0 wasn't designed with MFD in mind... for now it don't work at all.

While I'm working on the new "3.5" version I'll think to include some
new fonctions specifically for MFD....

Would 10 sound slot fit your need ?

Dan



Message modifié ( 28-09-2006 23:35 )


Offline Doug Beachy

  • Jr. Member
  • **
  • Posts: 75
  • Karma: 0
Reply #22 - 29 September 2006, 18:46:17
I do have one minor request: can you please add a GetOrbiterSoundVersion() method to the OrbiterSound API so I can verify
that the user has OrbiterSound 3.5 installed?  I would like to detect the version and display a warning if the user has an
old OrbiterSound version.  

Thanks again.

Doug


Offline Face

  • Jr. Member
  • **
  • Posts: 40
  • Country: Austria at
  • Karma: 9
Reply #23 - 29 September 2006, 20:53:53
Quote
DanSteph wrote:
OS 3.0 wasn't designed with MFD in mind... for now it don't work at all.

While I'm working on the new "3.5" version I'll think to include some
new fonctions specifically for MFD....

Would 10 sound slot fit your need ?

Dan

10 sound slots dedicated for MFD would indeed be enough. Thanks for considering that!

I just wanted to inform you, that the OrbiterSound.dll you posted isn't working at all on my machines. I thought the fix for
Doug's problem would fix the loading of vessel sounds from late-started MFDs as well. That would render the need for special
MFD sound slots secondary (at least in my case).

But if it leads you to implement a whole MFD sound slot system, that is... well... superb :wor:

cheers,
Face



Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 256
  • Hein, quoi !?
    • FsPassengers
Reply #24 - 29 September 2006, 21:25:28
Quote
Face a écrit:
I just wanted to inform you, that the OrbiterSound.dll you posted isn't working at all on my machines. I thought the
fix for
Doug's problem would fix the loading of vessel sounds from late-started MFDs as well. That would render the need
for special

Sorry I'm not sure I get it...

Do you mean you don't have any sound playing or only that MFD sound don't work ?

Doug: I'll see to add a version check...

Dan