Orbiter-Forum  

Go Back   Orbiter-Forum > Orbiter Addons > Addons
Register Blogs Orbinauts List Social Groups FAQ Projects Mark Forums Read

Addons A repository for Orbiter addons contributed by users. Developers & members may announce new releases here and discuss any Orbiter addon.

Reply
 
Thread Tools
Old 09-11-2018, 11:52 PM   #106
dbeachy1
O-F Administrator
 
dbeachy1's Avatar


Default

Quote:
Originally Posted by Marijn View Post
 The problem I am having with this is that the XR vessels configurable settings appear not to be the same bunch as in XRSound. For example, I was happy to see the 'WarningGearIsUpAltitude = 275' setting in XRSound. Because in my flights in the XR's, this warning always plays shortly after I deployed the gear. Both audio files are played at the same time which is annoying.
I don't follow you here -- do you mean you hear two simultaneous gear-up warning callouts when flying an XR vessel? I just tested that here and only one warning callout plays, as expected. If you're hearing two sets of sounds play, please retest that in a clean installation and post a scenario, and I'll see if I can reproduce it.

Quote:
Originally Posted by Marijn View Post
 But setting WarningGearIsUpAltitude to any other value is not applied by any XR vessel. The audio file is always played at 275ft and cannot be changed in any way. No other file, no other volume.

So it seems to me that these new features are not available to XR vessels, which I was not expecting from a mod called XRSound.
This is by design since the sound handling and sound settings in the XR vessels were not changed when I ported the vessels to use XRSound: XR vessels still play all their own sounds and so those sounds are configured on a per-vessel-class (as well as a per-scenario basis) as they have always been. Removing all that existing sound logic in the XR vessel code would be a lot of work for minimal benefit, and we would lose some features, too: there are only a few configuration settings new to XRSound.cfg that are not already present in the XR vessels, and we would lose the ability to optionally configure XR vessel sound settings on a per-scenario basis.
dbeachy1 is offline   Reply With Quote
Old 09-12-2018, 12:23 AM   #107
Marijn
Orbinaut
 
Marijn's Avatar
Default

Quote:
Originally Posted by dbeachy1 View Post
 I don't follow you here -- do you mean you hear two simultaneous gear-up warning callouts when flying an XR vessel? I just tested that here and only one warning callout plays, as expected. If you're hearing two sets of sounds play, please retest that in a clean installation and post a scenario, and I'll see if I can reproduce it.
Sorry for not being clear. I am experimenting with making Orbiter movies. Have a look (and listen) at a landing I made yesterday:


What I mean is that the callouts become cluttered. It goes "Gear down" "Warning gear is up" "Gear down and locked". On top you have the altitude callouts. I want to avoid that, mainly for cinematic reasons.

I understand that's proper airplane design and I probably should lower the gear a bit earlier, but that's how I like it and I thought that muting the warning or changing the altitude at which it is triggered would be a way to get rid of it.

Actually, the clip is the default XR5 'On Final Approach to KSC' scenario. You start off in a low energy situation. Lowering the gear earlier would mean that you hardly make it to the runway imho.


Quote:
Originally Posted by dbeachy1 View Post
 This is by design since the sound handling and sound settings in the XR vessels were not changed when I ported the vessels to use XRSound: XR vessels still play all their own sounds and so those sounds are configured on a per-vessel-class (as well as a per-scenario basis) as they have always been. Removing all that existing sound logic in the XR vessel code would be a lot of work for minimal benefit, and we would lose some features, too: there are only a few configuration settings new to XRSound.cfg that are not already present in the XR vessels, and we would lose the ability to optionally configure XR vessel sound settings on a per-scenario basis.
That's just fine. The XR vessels are suberb as they are. Now I know now which settings can be adjusted and which cannot.

Last edited by Marijn; 09-12-2018 at 12:35 AM.
Marijn is offline   Reply With Quote
Old 09-12-2018, 01:03 AM   #108
dbeachy1
O-F Administrator
 
dbeachy1's Avatar


Default

What I suggest in that case is to simply disable both the altitude and warning callouts. To do that, edit your $ORBITER_ROOT\Config\XR5VanguardPrefs.cfg and make the following two edits:

Code:
#--------------------------------------------------------------------------
# Enable or disable specific categories for voice callouts
#
# 0 = callouts for named category disabled
# 1 = callouts for named category enabled (default)
#--------------------------------------------------------------------------
EnableAudioStatusGreeting=1
EnableVelocityCallouts=1
EnableAltitudeCallouts=0
EnableDockingDistanceCallouts=1
EnableInformationCallouts=1
EnableRCSStatusCallouts=1
EnableAFStatusCallouts=1
EnableWarningCallouts=0
That way, you won't have any altitude callouts or gear warnings in your flights.
dbeachy1 is offline   Reply With Quote
Thanked by:
Old 02-15-2019, 08:09 AM   #109
Marijn
Orbinaut
 
Marijn's Avatar
Default

Hello,

I am not hearing any sound when firing the attitude control thrusters and holding the Ctrl button for fine control. The attack and sustain sound is audible normally when not holding Ctrl.

Any suggestions what I can do about that?

Orbiter 2016
XRSound 1.1

Here's the XRSound log from a session where I applied a normal attitude control to roll left (sounding) and then a fine control burst to roll back to the right holding Ctrl (no sound).

Code:
02.15.2019 08:54:25.498 - Parsing config file 'XRSound\XRSound.cfg'
02.15.2019 08:54:25.498 - Successfully parsed configuration file 'XRSound\XRSound.cfg'
02.15.2019 08:54:33.924 - ----------------------------------------------------------------------------
02.15.2019 08:54:33.925 - XRSound 1.10 (Build Date: Mar  9 2018) initialized using sound driver DirectSound8; irrKlang version = 1.6.0.  XRSound UpdateInterval = 0.050 (20.0 updates per second)
02.15.2019 08:54:33.928 - [MyXR5][class XR5Vanguard] Using configuration file(s): XRSound\XRSound.cfg (no override found [XRSound\XRSound-XR5Vanguard.cfg])
02.15.2019 08:54:33.928 - Parsing config file 'XRSound\XRSound.cfg'
02.15.2019 08:54:33.928 - Successfully parsed configuration file 'XRSound\XRSound.cfg'
02.15.2019 08:54:33.929 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 10009, playbackType = InternalOnly (1), filename = 'XRSound\Default\SwitchOn1.wav']
02.15.2019 08:54:33.929 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 10010, playbackType = InternalOnly (1), filename = 'XRSound\Default\SwitchOff1.wav']
02.15.2019 08:54:33.929 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 10000, playbackType = InternalOnly (1), filename = 'XRSound\Default\Air Conditioning.wav']
02.15.2019 08:54:33.929 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 10001, playbackType = Wind (6), filename = 'XRSound\Default\Landed Wind.wav']
02.15.2019 08:54:33.929 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 10002, playbackType = Radio (5), filename = 'XRSound\Default\Welcome Aboard All Systems Nominal.wav']
02.15.2019 08:54:33.929 - [MyXR5][0.000] XRSoundEngine::AddDefaultSound INFO: default sound ID 10014 disabled via config file.
02.15.2019 08:54:33.929 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 10032, playbackType = BothViewClose (4), filename = 'XRSound\Default\Wheelbrakes Noise.wav']
02.15.2019 08:54:33.929 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 10033, playbackType = InternalOnly (1), filename = 'XRSound\Default\Docking Radar Beep.wav']
02.15.2019 08:54:33.929 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 10004, playbackType = BothViewFar (2), filename = 'XRSound\Default\Main Engines.wav']
02.15.2019 08:54:33.929 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 10005, playbackType = BothViewFar (2), filename = 'XRSound\Default\Main Engines.wav']
02.15.2019 08:54:33.929 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 10006, playbackType = BothViewFar (2), filename = 'XRSound\Default\Main Engines.wav']
02.15.2019 08:54:33.929 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 10040, playbackType = BothViewClose (4), filename = 'XRSound\Default\RCS Attack.wav']
02.15.2019 08:54:33.929 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 10041, playbackType = BothViewClose (4), filename = 'XRSound\Default\RCS Attack.wav']
02.15.2019 08:54:33.929 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 10042, playbackType = BothViewClose (4), filename = 'XRSound\Default\RCS Attack.wav']
02.15.2019 08:54:33.929 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 10043, playbackType = BothViewClose (4), filename = 'XRSound\Default\RCS Attack.wav']
02.15.2019 08:54:33.929 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 10044, playbackType = BothViewClose (4), filename = 'XRSound\Default\RCS Attack.wav']
02.15.2019 08:54:33.930 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 10045, playbackType = BothViewClose (4), filename = 'XRSound\Default\RCS Attack.wav']
02.15.2019 08:54:33.930 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 10008, playbackType = BothViewMedium (3), filename = 'XRSound\Default\RCS Sustain.wav']
02.15.2019 08:54:33.930 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 10018, playbackType = BothViewFar (2), filename = 'XRSound\Default\Crash.wav']
02.15.2019 08:54:33.930 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 10019, playbackType = BothViewFar (2), filename = 'XRSound\Default\Metal Crunch.wav']
02.15.2019 08:54:33.930 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 10021, playbackType = Radio (5), filename = 'XRSound\Default\Touchdown.wav']
02.15.2019 08:54:33.930 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 10024, playbackType = Radio (5), filename = 'XRSound\Default\100 Knots.wav']
02.15.2019 08:54:33.930 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 10034, playbackType = BothViewFar (2), filename = 'XRSound\Default\Flight Wind.wav']
02.15.2019 08:54:33.930 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 10035, playbackType = BothViewFar (2), filename = 'XRSound\Default\Reentry Plasma.wav']
02.15.2019 08:54:33.930 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 10037, playbackType = InternalOnly (1), filename = 'XRSound\Default\Autopilot On.wav']
02.15.2019 08:54:33.930 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 10038, playbackType = InternalOnly (1), filename = 'XRSound\Default\Autopilot Off.wav']
02.15.2019 08:54:33.930 - [MyXR5][0.000] DefaultSoundGroupPreStep::SetFolder: successfully scanned folder path 'XRSound\Default\Cabin Ambience' for soundID 11001: 12 sound file(s) found with extensions [.wav .ogg  .mp3 .flac .mod .it .s3d .xm].
02.15.2019 08:54:33.930 - [MyXR5][0.000] XRSoundEngine::AddDefaultSound INFO: default sound ID 11000 disabled via config file.
02.15.2019 08:54:33.931 - [MyXR5][0.000] DefaultSoundGroupPreStep::SetFolder: successfully scanned folder path 'XRSound\Default' for soundID 11003: 299 sound file(s) found with extensions [.wav .ogg  .mp3 .flac .mod .it .s3d .xm].
02.15.2019 08:54:33.931 - [MyXR5][0.000] DefaultSoundGroupPreStep::SetFolder: successfully scanned folder path 'XRSound\Default' for soundID 11004: 299 sound file(s) found with extensions [.wav .ogg  .mp3 .flac .mod .it .s3d .xm].
02.15.2019 08:54:33.931 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 10036, playbackType = BothViewFar (2), filename = 'XRSound\Default\Sonic Boom.wav']
02.15.2019 08:54:33.931 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 10039, playbackType = Radio (5), filename = 'XRSound\Default\Subsonic.wav']
02.15.2019 08:54:33.932 - [MyXR5][0.000] DefaultSoundGroupPreStep::SetFolder: successfully scanned folder path 'XRSound\Default' for soundID 11002: 299 sound file(s) found with extensions [.wav .ogg  .mp3 .flac .mod .it .s3d .xm].
02.15.2019 08:54:33.932 - [MyXR5][0.000] DefaultSoundGroupPreStep::SetFolder: successfully scanned folder path 'XRSound\Default\Music' for soundID 11005: 1 sound file(s) found with extensions [.wav .ogg  .mp3 .flac .mod .it .s3d .xm].
02.15.2019 08:54:33.932 - XRSoundDLL::GetXRSoundEngineInstance: creating new XRSound engine instance for vessel 'MyXR5' [class name 'XR5Vanguard'], bInvokedByClientVessel = 1, dwThrusterCount = 22, bShouldHaveDefaultSounds = 1
02.15.2019 08:54:33.932 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 1, playbackType = InternalOnly (1), filename = 'XRSound\Default\SwitchOn1.wav']
02.15.2019 08:54:33.932 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 2, playbackType = InternalOnly (1), filename = 'XRSound\Default\SwitchOff1.wav']
02.15.2019 08:54:33.932 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 3, playbackType = Radio (5), filename = 'XRSound\Default\Off.wav']
02.15.2019 08:54:33.932 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 4, playbackType = Radio (5), filename = 'XRSound\Default\Rotation.wav']
02.15.2019 08:54:33.932 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 5, playbackType = Radio (5), filename = 'XRSound\Default\Translation.wav']
02.15.2019 08:54:33.932 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 8, playbackType = Radio (5), filename = 'XRSound\Default\Error1.wav']
02.15.2019 08:54:33.932 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 9, playbackType = Radio (5), filename = 'XRSound\Default\100 Knots.wav']
02.15.2019 08:54:33.932 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 10, playbackType = Radio (5), filename = 'XRSound\Default\V1.wav']
02.15.2019 08:54:33.932 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 11, playbackType = Radio (5), filename = 'XRSound\Default\Rotate.wav']
02.15.2019 08:54:33.932 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 6, playbackType = Radio (5), filename = 'XRSound\Default\Gear Up.wav']
02.15.2019 08:54:33.932 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 7, playbackType = Radio (5), filename = 'XRSound\Default\Gear Down.wav']
02.15.2019 08:54:33.932 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 14, playbackType = Radio (5), filename = 'XRSound\Default\Pitch.wav']
02.15.2019 08:54:33.933 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 15, playbackType = Radio (5), filename = 'XRSound\Default\On.wav']
02.15.2019 08:54:33.933 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 16, playbackType = InternalOnly (1), filename = 'XRSound\Default\BeepHigh.wav']
02.15.2019 08:54:33.933 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 17, playbackType = InternalOnly (1), filename = 'XRSound\Default\BeepLow.wav']
02.15.2019 08:54:33.933 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 18, playbackType = InternalOnly (1), filename = 'XRSound\Default\Autopilot On.wav']
02.15.2019 08:54:33.933 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 19, playbackType = InternalOnly (1), filename = 'XRSound\Default\Autopilot Off.wav']
02.15.2019 08:54:33.933 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 20, playbackType = InternalOnly (1), filename = 'XRSound\Default\Retro doors are closed.wav']
02.15.2019 08:54:33.933 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 23, playbackType = BothViewFar (2), filename = 'XRSound\Default\Sonic Boom.wav']
02.15.2019 08:54:33.933 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 27, playbackType = BothViewFar (2), filename = 'XRSound\Default\ScramJet.wav']
02.15.2019 08:54:33.933 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 13, playbackType = InternalOnly (1), filename = 'XRSound\Default\Warning Beep.wav']
02.15.2019 08:54:33.933 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 28, playbackType = InternalOnly (1), filename = 'XRSound\Default\Gear Whine.wav']
02.15.2019 08:54:33.933 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 29, playbackType = InternalOnly (1), filename = 'XRSound\Default\Gear Locked Thump.wav']
02.15.2019 08:54:33.933 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 30, playbackType = BothViewFar (2), filename = 'XRSound\Default\Crash.wav']
02.15.2019 08:54:33.933 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 31, playbackType = BothViewFar (2), filename = 'XRSound\Default\Error Sound File Missing.wav']
02.15.2019 08:54:33.933 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 43, playbackType = InternalOnly (1), filename = 'XRSound\Default\Fuel Flow.wav']
02.15.2019 08:54:33.933 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 44, playbackType = InternalOnly (1), filename = 'XRSound\Default\Fuel Flow.wav']
02.15.2019 08:54:33.934 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 45, playbackType = InternalOnly (1), filename = 'XRSound\Default\Fuel Flow.wav']
02.15.2019 08:54:33.934 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 46, playbackType = InternalOnly (1), filename = 'XRSound\Default\Door Opened Thump.wav']
02.15.2019 08:54:33.934 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 50, playbackType = InternalOnly (1), filename = 'XRSound\Default\Hover doors are closed.wav']
02.15.2019 08:54:33.934 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 51, playbackType = InternalOnly (1), filename = 'XRSound\Default\SCRAM doors are closed.wav']
02.15.2019 08:54:33.934 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 52, playbackType = InternalOnly (1), filename = 'XRSound\Default\Airlock.wav']
02.15.2019 08:54:33.934 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 61, playbackType = BothViewClose (4), filename = 'XRSound\Default\Wheel Chirp.wav']
02.15.2019 08:54:33.934 - [MyXR5][0.000] XRSoundEngine::LoadWav success: [soundID = 62, playbackType = BothViewClose (4), filename = 'XRSound\Default\Tires Rolling.wav']
02.15.2019 08:54:34.004 - Parsing config file 'XRSound\XRSound.cfg'
02.15.2019 08:54:34.004 - Successfully parsed configuration file 'XRSound\XRSound.cfg'
02.15.2019 08:54:34.134 - XRSoundDLL::GetXRSoundEngineInstance: returning NULL for vessel 'MyXR5_Bay' [class name 'XRPayloadBay'], bInvokedByClientVessel = 0, dwThrusterCount = 0, bShouldHaveDefaultSounds = 0
02.15.2019 08:54:34.134 - XRSoundDLL::GetXRSoundEngineInstance: returning NULL for vessel 'CSA_XR5_ER_LOX-03-1' [class name 'CSA_XR5_ER_LOX'], bInvokedByClientVessel = 0, dwThrusterCount = 0, bShouldHaveDefaultSounds = 0
02.15.2019 08:54:34.134 - XRSoundDLL::GetXRSoundEngineInstance: returning NULL for vessel 'CSA_XR5_ER_LOX-08-1' [class name 'CSA_XR5_ER_LOX'], bInvokedByClientVessel = 0, dwThrusterCount = 0, bShouldHaveDefaultSounds = 0
02.15.2019 08:54:34.134 - XRSoundDLL::GetXRSoundEngineInstance: returning NULL for vessel 'CSA_XR5_ER_MainFuel-13-1' [class name 'CSA_XR5_ER_MainFuel'], bInvokedByClientVessel = 0, dwThrusterCount = 0, bShouldHaveDefaultSounds = 0
02.15.2019 08:54:34.142 - [MyXR5][0.010] XRSoundEngine::PlayWav playing sound [soundID = 10000, playbackType = InternalOnly (1), bLoop = 1, volume = 1.00, bPaused = 0, bEnabled = 1, filename = 'XRSound\Default\Air Conditioning.wav']
02.15.2019 08:54:41.222 - [MyXR5][0.060] XRSoundEngine::LoadWav success: [soundID = 10017, playbackType = Radio (5), filename = 'XRSound\Default\Off.wav']
02.15.2019 08:54:41.673 - [MyXR5][0.511] XRSoundEngine::LoadWav success: [soundID = 26, playbackType = Radio (5), filename = 'XRSound\Default\Wheels Up.wav']
02.15.2019 08:54:41.674 - [MyXR5][0.511] XRSoundEngine::PlayWav playing sound [soundID = 26, playbackType = Radio (5), bLoop = 0, volume = 1.00, bPaused = 0, bEnabled = 1, filename = 'XRSound\Default\Wheels Up.wav']
02.15.2019 08:54:42.173 - [MyXR5][1.012] XRSoundEngine::StopWavImpl: stopping sound [soundID = 26, playbackType = Radio (5), bLoop = 0, volume = 1.00, bPaused = 0, bEnabled = 1, filename = 'XRSound\Default\Wheels Up.wav']
02.15.2019 08:54:42.174 - [MyXR5][1.012] XRSoundEngine::LoadWav success: [soundID = 26, playbackType = Radio (5), filename = 'XRSound\Default\All Vanguard Systems Nominal.wav']
02.15.2019 08:54:42.175 - [MyXR5][1.012] XRSoundEngine::PlayWav playing sound [soundID = 26, playbackType = Radio (5), bLoop = 0, volume = 1.00, bPaused = 0, bEnabled = 1, filename = 'XRSound\Default\All Vanguard Systems Nominal.wav']
02.15.2019 08:54:47.099 - [MyXR5][5.937] XRSoundEngine::PlayWav playing sound [soundID = 10045, playbackType = BothViewClose (4), bLoop = 0, volume = 1.00, bPaused = 0, bEnabled = 1, filename = 'XRSound\Default\RCS Attack.wav']
02.15.2019 08:54:47.100 - [MyXR5][5.937] XRSoundEngine::PlayWav playing sound [soundID = 10008, playbackType = BothViewMedium (3), bLoop = 1, volume = 1.00, bPaused = 0, bEnabled = 1, filename = 'XRSound\Default\RCS Sustain.wav']
02.15.2019 08:54:49.001 - [MyXR5][7.840] XRSoundEngine::StopWavImpl: stopping sound [soundID = 10008, playbackType = BothViewMedium (3), bLoop = 1, volume = 1.00, bPaused = 0, bEnabled = 1, filename = 'XRSound\Default\RCS Sustain.wav']
02.15.2019 08:55:05.679 - [MyXR5][24.518] XRSoundEngine::LoadWav success: [soundID = 11001, playbackType = InternalOnly (1), filename = 'XRSound\Default\Cabin Ambience\amb0.wav']
02.15.2019 08:55:05.681 - [MyXR5][24.518] XRSoundEngine::PlayWav playing sound [soundID = 11001, playbackType = InternalOnly (1), bLoop = 0, volume = 1.00, bPaused = 0, bEnabled = 1, filename = 'XRSound\Default\Cabin Ambience\amb0.wav']
02.15.2019 08:55:16.557 - XRSoundEngine::DestroyInstance: destroying XRSound engine instance for vessel 'MyXR5'
02.15.2019 08:55:16.557 - [MyXR5][33.299] XRSoundEngine::StopWavImpl: stopping sound [soundID = 10000, playbackType = InternalOnly (1), bLoop = 1, volume = 1.00, bPaused = 0, bEnabled = 1, filename = 'XRSound\Default\Air Conditioning.wav']
02.15.2019 08:55:16.564 - XRSound 1.10 (Build Date: Mar  9 2018) terminating.
Thanks
Marijn is offline   Reply With Quote
Old 06-11-2019, 03:16 PM   #110
GLS
Addon Developer
 
GLS's Avatar
Default

Quote:
Originally Posted by dbeachy1 View Post
 [*]XRSound.lib is statically linked; no need to bundle Visual Studio redistribution files with an add-on in order to use XRSound, and add-ons that link with XRSound.lib can still run without XRSound.dll installed.
Any chance of this being (also) compiled with the "MD" switch, so the DLL can also be compiled with "MD"?
GLS is online now   Reply With Quote
Old 06-11-2019, 03:38 PM   #111
dbeachy1
O-F Administrator
 
dbeachy1's Avatar


Default

Quote:
Originally Posted by GLS View Post
 Any chance of this being (also) compiled with the "MD" switch, so the DLL can also be compiled with "MD"?
No, because then users would need to know to download and install the correct Visual Studio 2017 redistributable package in order for XRSound to run, and that requirement causes problems for normal users getting XRSound to work.

The reasons detailing why I prefer static linking are in this post.
dbeachy1 is offline   Reply With Quote
Thanked by:
Old 06-11-2019, 03:51 PM   #112
GLS
Addon Developer
 
GLS's Avatar
Default

Quote:
Originally Posted by dbeachy1 View Post
 No, because then users would need to know to download and install the correct Visual Studio 2017 redistributable package in order for XRSound to run
They would need it for the addon anyway...
GLS is online now   Reply With Quote
Old 06-11-2019, 03:58 PM   #113
dbeachy1
O-F Administrator
 
dbeachy1's Avatar


Default

Can't you just switch your add-on to use static linking? It's a lot simpler for end users to get it running that way anyway.

In any case, I'm not inclined to do multiple builds of XRSound because of developer confusion about which version to build with and because not all developers use Visual Studio 2017 (some use newer or older versions). Static linking works with all of those versions, but dynamic will not (i.e., we would need a version of XRSound.lib for each different compiler version).
dbeachy1 is offline   Reply With Quote
Thanked by:
Old 06-11-2019, 05:47 PM   #114
Urwumpe
Certain Super User
 
Urwumpe's Avatar

Default

Quote:
Originally Posted by dbeachy1 View Post
 Can't you just switch your add-on to use static linking? It's a lot simpler for end users to get it running that way anyway.

Well, remember, that people only need to install the runtime once for all add-ons using it.



That is the big advantage of MD, it greatly reduces the memory demands and loading times, because then, the runtime must only be loaded into memory once the first time and can be simply referenced by the next DLL using it, without any I/O. With static linking of the runtime library, a copy of it exists in every process.
Urwumpe is online now   Reply With Quote
Thanked by:
Old 06-11-2019, 08:11 PM   #115
kuddel
Donator
Default

Quote:
Originally Posted by Urwumpe View Post
 That is the big advantage of MD, it greatly reduces the memory demands and loading times, because then, the runtime must only be loaded into memory once the first time and can be simply referenced by the next DLL using it, without any I/O.
I am pretty sure this is not what happens when using a DLL
(see:
for further details)
Each process loads it only once (into memory) but every other process still has it's own copy (in memory).
So in case of memory (RAM) usage, this doesn't make much of a difference.

If Orbiter core already uses a DLL (the C++ runtimes are a good example), chances are high that the same functions might be used by the add-on (thread). So here they can share the same code from the same memory.

By means of (disk-)storage however a DLL is (usually) present only once on the disk and therefore sames space.

The dynamic linking makes much sense for functions that are used by many add-ons! (OrbiterSound is a very good example here; XRSound might not yet be used so often).


...just wanted to throw in this info (and BTW if it's wrong, please tell me, so I can facepalm and strike-though this post )

---------- Post added at 20:11 ---------- Previous post was at 19:25 ----------

Addendum:
.rdata and .text segments might get shared! As this Q&A at the end of the video clarifies:
https://youtu.be/JPQWQfDhICA?t=54m6s

Last edited by kuddel; 06-11-2019 at 08:19 PM.
kuddel is offline   Reply With Quote
Thanked by:
Old 06-11-2019, 08:41 PM   #116
Urwumpe
Certain Super User
 
Urwumpe's Avatar

Default

Quote:
Originally Posted by kuddel View Post
 .rdata and .text segments might get shared! As this Q&A at the end of the video clarifies:
https://youtu.be/JPQWQfDhICA?t=54m6s

Yes - that is the magic what virtual memory does. If we wouldn't have it yet, we would wish somebody would invent it.


(For those not too deep into Windows programming: .text contains the machine code instructions of the DLL, .rdata is the read-only/constant data)


As you can expect: Every DLL instance in a process sure needs its own copy of the .data segment.
Urwumpe is online now   Reply With Quote
Thanked by:
Old 06-11-2019, 11:36 PM   #117
dbeachy1
O-F Administrator
 
dbeachy1's Avatar


Default

Quote:
Originally Posted by kuddel View Post
 By means of (disk-)storage however a DLL is (usually) present only once on the disk and therefore sames space.

The dynamic linking makes much sense for functions that are used by many add-ons!
With respect, we will just have to agree to disagree on that. From my perspective, saving a few hundred kilobytes of disk space is utterly insignificant compared to the poor user experience of users having to remember to go and find the correct version of the Microsoft Visual Studio redistributable files and manually install them in order to get XRSound working. If a user forgets to do that (how many users actually read the install.txt file before installing it?), or if they install the x64 version of the MSVC redistributable files instead of the x86 version (which a number of users do, since they assume they need the x64 version for their 64-bit Windows), Orbiter will die on startup with a cryptic error message in the log. I already detailed all this in my 2016 post discussing the issues: from my perspective, a good user experience matters far more here han a few hundred K of disk space, I want XRSound to "just work" when users install it. So it's for that reason that XRSound and the XR vessels use static linking, and that's not going to change (sorry ).
dbeachy1 is offline   Reply With Quote
Old 06-12-2019, 05:04 AM   #118
Face
Beta Tester
 
Face's Avatar

Default

Quote:
Originally Posted by dbeachy1 View Post
 From my perspective, saving a few hundred kilobytes of disk space is utterly insignificant compared to the poor user experience of users having to remember to go and find the correct version of the Microsoft Visual Studio redistributable files and manually install them in order to get XRSound working. If a user forgets to do that (how many users actually read the install.txt file before installing it?), or if they install the x64 version of the MSVC redistributable files instead of the x86 version (which a number of users do, since they assume they need the x64 version for their 64-bit Windows), Orbiter will die on startup with a cryptic error message in the log. I already detailed all this in my 2016 post discussing the issues: from my perspective, a good user experience matters far more here han a few hundred K of disk space, I want XRSound to "just work" when users install it.
All good points. To be fair, there is always the possibility to create a setup for it, where such prerequisites are taken into account. AFAIK, Dan made a custom installer for OS, too.
Face is offline   Reply With Quote
Old 06-12-2019, 07:09 AM   #119
Urwumpe
Certain Super User
 
Urwumpe's Avatar

Default

Quote:
Originally Posted by dbeachy1 View Post
 ...poor user experience of users having to remember to go and find the correct version of the Microsoft Visual Studio redistributable files and manually install them...

Once. Not once for this add-on. Once for all add-ons compiled like that. Also, it isn't about a few KB. It isn't even about a few KB for one add-on, the VC++ runtime is pretty huge.
Urwumpe is online now   Reply With Quote
Old 06-12-2019, 11:58 AM   #120
kuddel
Donator
Default

Quote:
Originally Posted by dbeachy1 View Post
 [...]I want XRSound to "just work" when users install it. So it's for that reason that XRSound and the XR vessels use static linking, and that's not going to change (sorry ).
No need to apologize. I totally agree with your reasoning.

I just wanted to point out the possibilities, the risks and some background information.
kuddel is offline   Reply With Quote
Thanked by:
Reply

  Orbiter-Forum > Orbiter Addons > Addons

Tags
ommu, xr1, xr2, xr5, xrsound


Thread Tools

Posting Rules
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
Forum Jump


All times are GMT. The time now is 10:47 PM.

Quick Links Need Help?


About Us | Rules & Guidelines | TOS Policy | Privacy Policy

Orbiter-Forum is hosted at Orbithangar.com
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Copyright 2007 - 2017, Orbiter-Forum.com. All rights reserved.