# DanSteph is updating his addons for Orbiter 160828

#### BenSisko

##### Donator
Donator
My bad all. I saw the OrbiterSound 5.0 and I guess I just lost my composure. Sorry :embarrassed:

#### CTarana45

##### Active member
Sorry, I'm preparing all for the incoming beta (hence the image of the setup program), but it's not yet ready.

The release is planned for Tuesday... :lol:

As I changed all the music system there will be some more alpha before the beta, if you want to test the alpha, you're welcome, just send me a PM on my forum.
I have no problem waiting for the Beta!

Thanks, Dan! :thumbup:

Christopher Tarana

#### dansteph

Beta Tester
NEWS - Sound and Music controlled by scenario

This will be useful for add-ons authors.

With a section added in a scenario you'll be able to play sound, music or mute radio or music in this particular scenario.
This might be useful if you want a full recording of a real launch or play your own music

See the details of each command here:
http://orbiter.dansteph.com/forum/index.php?topic=14499.msg220359#msg220359

Comment from add-on author welcome, let me know what you think and if you'd need more commands.
(This is work in progress, I barely started yet but as I'll need it for the updated demo scenario, I'll do it)

Last edited:

#### kuddel

##### Donator
Donator
Hello Dan,

I would like to ask if you might take a look at an issue I have with OrbiterSound (currently 4.0 that is).

I've programmed an example MFD to play sounds according to vessel settings (Name, radio frequency, etc. but that's irrelevant here).

But whenever it starts I always have to switch to another vessel (and back) before the PlayVesselWave call succeeds [1].
This is very unfortunate when we have a scenario with only one vessel
The issue is more or less Orbiters fault, as I seems it does not "trigger" a changeFocusVessel event, that seems to be needed by OrbiterSound.

Can you take a look into it or maybe add an API call to trigger the initialization of vessel in the upcoming (5.0) release?

Code for the ComMFD is on github.

By the way: The issue is independent of graphic client and also present in both Orbiter 2016 and Orbiter BETA (2010 worked if I remember correct[2]).

A "single Vessel in Orbit" scenario is attached.
If you like to have a compiled (debug) module DLL (for BETA or 2016) please drop me a note

Kuddel

[2] ...but I haven't checked Orbiter 2010 recently.

#### Attachments

• 730 bytes Views: 0
Last edited:

#### Face

Beta Tester
The issue is more or less Orbiters fault, as I seems it does not "trigger" a changeFocusVessel event, that seems to be needed by OrbiterSound.
Do you mean oapi::Module::clbkFocusChanged ? If so, this should indeed trigger if the simulation starts due to the API reference:
This callback function is also called at the beginning of the simulation, where new_focus is the vessel receivingthe initial focus, and old_focus is NULL.

---------- Post added at 18:00 ---------- Previous post was at 17:48 ----------

Just tried it out with my recent project, and clbkFocusChanged behaves like documented. On simulation startup it fires the event and puts nullptr in the old_focus parameter.

Is it perhaps a different event you are talking about, or in a different module "class" (I've been using a non-vessel module).

---------- Post added at 18:29 ---------- Previous post was at 18:00 ----------

Out of curiosity, tried it with the vessel module callback as well, and it also triggers on simulation start with the old focus value at null. Both tests for 2016, not beta, though. Perhaps the problem is some order-specific thing, like e.g. the focus event coming too late or too early for OS to capture it?

#### kuddel

##### Donator
Donator
I can not say what OrbiterSound exactly triggers on (as I have no insight of course), so whether it's really clbkFocusChanged is pure speculation on my side

And because I still can not see what I'm really doing wrong here, I've pushed the source code to github to let "another pair of eyes" look onto it.

I initially wrote that code for Orbiter 2010 where it worked. Than came Orbiter 2016 and I couldn't get the same code to behave as expected anymore (regarding single vessel startup). I discussed that issue a while ago (can't find that thread again however).0
After some time I forgot about that add-on, but now when there's a 5.0 Version on the horizon it came back

---------- Post added at 15:50 ---------- Previous post was at 15:46 ----------
Side-Note (must not be relevant to this issue):
There was an issue with "Playback mode" and OrbiterSound, where the initial clbkFocusChanged call was not done by Orbiter core,
but that was fixed in D3D9Client.

---------- Post added at 16:09 ---------- Previous post was at 15:50 ----------

Side-Side-Note:
I also would like to see pull requests from voice-actors increasing the quality of the "voices"
Some phrases like "decimal" or "MHz" are rare on free sound libraries in the web
Adding more voices ("French" and "Russian" for example might be nice) is easy: Just add a folder with the samples in the Sound/ComMFD folder.

Last edited:

#### kuddel

##### Donator
Donator
If compiling the source is not an option here's the compiled Module (Debug & Release / for 2016 and BETA).
The "Sound/ComMFD" folder must be pulled from here to let it work, of course.

#### Attachments

• 700.8 KB Views: 0
Last edited:

#### dansteph

Beta Tester
Hello Kuddel,

Sorry for the delay, I'm not monitoring this thread but the update one on my forum where I post the news.

I downloaded your project on github, there is a reason why you use "OrbiterSoundSDK40.h" which is for vessel instead of "MfdSoundSDK40.h" which is for MFD ?
I didn't check the code, but the first one is not done for MFD so the "bug" sound logic.

Also small detail, it would be better to put your sound folder into "./Sound/_CustomVesselSound/ComMFD/*" instead of "./Sound/ComMFD/*"

-----------------------------------------------------------------

While I'm here a bit of youtube video,

Please, watch in HD (click on the title, not on play), pump up the volume and don't stop just after the first music.... (there is an end)

#### kuddel

##### Donator
Donator
Hello Kuddel,

Sorry for the delay, I'm not monitoring this thread but the update one on my forum where I post the news.

I downloaded your project on github, there is a reason why you use "OrbiterSoundSDK40.h" which is for vessel instead of "MfdSoundSDK40.h" which is for MFD ?
I didn't check the code, but the first one is not done for MFD so the "bug" sound logic.
I have no special reason for using OrbiterSoundSDK40 over MfdSoundSDK40...
I think I wanted sounds to be played automatically at a specific distance before docking when I started this project...
I'll try and see if using MfdSoundSDK40.h helps. It has become an MFD now so that header seems appropriate :thumbup:

Also small detail, it would be better to put your sound folder into "./Sound/_CustomVesselSound/ComMFD/*" instead of "./Sound/ComMFD/*"
No problem. It just isn't a vessel sound anymore But if it fits better I'll put 'em there.

Thanks for the notes and I'll post results when I got some.

---------- Post added at 15:43 ---------- Previous post was at 02:06 ----------

Update: MfdSoundSDK40.h does not include BOOL IsPlaying (int MyID, int WavNumber);, which is essential for the concept.

To keep the naming scheme of MfdSoundSDK40, the prototype should be:
BOOL IsMFDWavePlaying (int MyID, int WavNumber);

Any thoughts?

---------- Post added at 21:02 ---------- Previous post was at 15:43 ----------

O.K. github now contains a working version of ComMFD.
Changes:
• Changed to use MfdSoundSDK40 instead of OrbiterSoundSDK40
• Moved sound folder to "./Sound/_CustomVesselsSounds/ComMFD/" (...dansteph requested "./Sound/_CustomVesselSound/ComMFD/" - note the double singular/plural difference! Even the author can't get that right )
• Added work-around methods to mimic missing IsMFDWavePlaying() method

Last edited:

#### dansteph

Beta Tester
Do you want to stay compatible with 2010 & 2016 ?
If yes, you'll need to stick with your workaround.

If not I can maybe add as "IsPlaying" to MfdSoundSDK50.h but you'll have to wait until the OS release to release your addon.

Last edited:

#### kuddel

##### Donator
Donator
Do you want to stay compatible with 2010 & 2016 ?
If yes, you'll need to stick with your workaround.
Yes! And as I have a work-around that is "O.K." I'll keep that.

If not I can maybe add as "IsPlaying" to MfdSoundSDK50.h but you'll have to wait until the OS release to release your addon.
5.0 should also be "detectable" by a makro definition at compile-time[1].
At runtime I can use GetUserOrbiterSoundVer().

Keep up the good work,
Kuddel​

-------------------
[1] currently I can only check like:
Code:
#if defined([COLOR="Magenta"]__ORBITERSOUNDMFD40_SDK[/COLOR]) || defined([COLOR="Magenta"]__ORBITERSOUND40_SDK[/COLOR])
[COLOR="Green"]// ... Version 4.0 specific things...[/COLOR]
#endif [COLOR="Green"]// __ORBITERSOUNDMFD40_SDK || __ORBITERSOUND40_SDK[/COLOR]
... or use SFINAE... as described here.

#### dansteph

Beta Tester
Tuesday NEWS - New features of Arrow Freighter in Video

Please watch in HD 1440p 60fps if you can

And don't forget to like and subscribe

#### dansteph

Beta Tester
Tuesday NEWS - New features of Arrow Freighter - The new Camera system

Please watch in HD 1440p 60fps if you can

And don't forget to like and subscribe

Last edited:

#### Interceptor

##### Active member
Looking really awesome Dan.

#### Interceptor

##### Active member
Hey Dan just a suggestion,how about a night vision mode for the cameras?

#### macVsog

##### Active member
or cameras with a vintage film effect or other interesting filters

#### n122vu

Donator
Awesome work, Dan!

Maybe I missed it in an earlier video, but I'm equally intrigued by the Shuttle-A parked on her back.

#### PhantomCruiser

##### Wanderer
Moderator
Tutorial Publisher
Guy at helm - - "Oops"
OOD - - "What do you mean oops?! There's no oops in spaceflight!"

* OOD = Officer of the Day