Project XRSound 1.0 and Updated XR Vessels Beta Testing

Status
Not open for further replies.

dbeachy1

O-F Administrator
Administrator
Orbiter Contributor
Addon Developer
Donator
Beta Tester
Joined
Jan 14, 2008
Messages
9,216
Reaction score
1,562
Points
203
Location
VA
Website
alteaaerospace.com
Preferred Pronouns
he/him
Because the conversation seems to be becoming more detailed, I figure the natural progression comes to the question of MFDs. Do you plan to add an MFD in the same light as Orbiter Sound's for direct control of XRSound within the simulator?

I only ask because this increases the versatility of Orbiter Sound's functions, and XRSound includes many similar features. Is this on the development roadmap at all?

Thanks,

Samuel

Yes, and yes -- XRSoundMFD is slated for XRSound version 2.0.

If there is list of features you would like to see in XRSoundMFD, please post them in-thread. It's still quite early, of course, but it is on the roadmap. :tiphat: Some obvious items would be 1) being able to set a custom music folder, 2) change master volume at runtime, 3) set sequential, random, or single looped playback from music folder, etc.
 

Mojave

60% Ethanol
Moderator
Addon Developer
Joined
Apr 6, 2010
Messages
1,647
Reaction score
132
Points
78
Location
Somewhere, but not here.
Yes, and yes -- XRSoundMFD is slated for XRSound version 2.0.

If there is list of features you would like to see in XRSoundMFD, please post them in-thread. It's still quite early, of course, but it is on the roadmap. :tiphat: Some obvious items would be 1) being able to set a custom music folder, 2) change master volume at runtime, 3) set sequential, random, or single looped playback from music folder, etc.

Thanks for the information!

As much as I adore listening to Julie Payette, I think the OrbiterSound route of "frequencies" and the ability to change them within the simulator would be useful. Other than that, and the music options, I cannot think of any other features to implement that you haven't already.

I do want to sing praises for your vessel proximity alarm. It is very non-intrusive, but defined.

EDIT: I just remembered a dynamic sound cone like the one in OS4 would be neat.

EDIT2: Of course, I just realized both of my suggestions made it into the original post that I totally read all the way through...Sorry.
 
Last edited:

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,605
Reaction score
2,327
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
I get a CTD here at startup during testing, sadly the only difference to a running software is:

Code:
000000.000: XRSound 1.00 Beta-2 (Build Date: Feb 11 2018) initialized using sound driver DirectSound8

It works with a default Orbiter 2016 scenario, but not when using a WIP add-on without any references to XRSound yet.

The scenario is made up like this, maybe you see something helpful there:

Code:
BEGIN_DESC
Testing a single Gemini spacecraft in low Earth Orbit
END_DESC


BEGIN_ENVIRONMENT
  System Sol
  Date MJD 38842.5993113886
END_ENVIRONMENT

BEGIN_FOCUS
  Ship GT-3
END_FOCUS

BEGIN_CAMERA
  TARGET GT-3
  MODE Extern
  POS 1.67 -179.86 84.96
  TRACKMODE TargetRelative
  FOV 60.00
END_CAMERA


BEGIN_SHIPS
GT-3:Project Gemini Ultra/Gemini
  STATUS Orbiting Earth
  RPOS 2949512.92 -5092168.59 2813469.64
  RVEL -6759.934 -1825.985 3553.293
  AROT -116.37 -73.90 152.91
  VROT -0.18 0.00 0.00
  AFCMODE 7
  PRPLEVEL 0:1.000000 1:1.000000 2:1.000000
END
GT-3-RetroSection:Project Gemini Ultra/RetroSection
  STATUS Orbiting Earth
  RPOS 2949512.92 -5092168.59 2813469.64
  RVEL -6759.934 -1825.985 3553.293
  AROT -116.37 -73.90 152.91
  VROT -0.18 0.00 0.00
  AFCMODE 7
  ATTACHED 0:0,GT-3
END
GT-3-RR-Section:Project Gemini Ultra/RRSection
  STATUS Orbiting Earth
  RPOS 2949512.92 -5092168.59 2813469.64
  RVEL -6759.934 -1825.985 3553.293
  AROT -116.37 -73.90 152.91
  VROT -0.18 0.00 0.00
  AFCMODE 7
  ATTACHED 0:1,GT-3
END
GT-3-EquipmentSection:Project Gemini Ultra/EquipmentSection
  STATUS Orbiting Earth
  RPOS 2949512.92 -5092168.59 2813469.64
  RVEL -6759.934 -1825.985 3553.293
  AROT -116.37 -73.90 152.91
  VROT -0.18 0.00 0.00
  AFCMODE 7
  ATTACHED 0:0,GT-3-RetroSection
END
END_SHIPS

EDIT: It also works with the coarsely fixed World of 2001 scenarios, so it is really just limited to this scenario file. Maybe the problem is in the "/" in the vessel configuration name? Or the whitespace?
 
Last edited:

dbeachy1

O-F Administrator
Administrator
Orbiter Contributor
Addon Developer
Donator
Beta Tester
Joined
Jan 14, 2008
Messages
9,216
Reaction score
1,562
Points
203
Location
VA
Website
alteaaerospace.com
Preferred Pronouns
he/him
Thanks for the info, I'll investigate that tonight -- hopefully I can reproduce it. Vessel class names are used to look up that vessel class's config file, if any, so it could be related to that.

Is there any way to reproduce it without those add-ons? If not, which add-ons do I need to install to reproduce it?
 

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,605
Reaction score
2,327
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
No idea, as said, its WIP but works without XRSound.

I can say the following:

"/" is no illegal character. World of 2001 uses it, and works fine with XRSound.
" " is no illegal character, the G42-200 scenario works.

Is there anything else incluencing the behavior during PostCreation? I still did not yet refer XRSound in the add-on, its not even linked into it yet. I wanted to finish something else first before getting to include XRSound in the DLL.
 

Face

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 18, 2008
Messages
4,398
Reaction score
578
Points
153
Location
Vienna
Is there anything else incluencing the behavior during PostCreation?

Some thruster definition maybe? Perhaps XRSound chokes on some unusual construct.
 

dbeachy1

O-F Administrator
Administrator
Orbiter Contributor
Addon Developer
Donator
Beta Tester
Joined
Jan 14, 2008
Messages
9,216
Reaction score
1,562
Points
203
Location
VA
Website
alteaaerospace.com
Preferred Pronouns
he/him
Hmm, if it's not the vessel class name itself, it could indeed be something related to how the vessel defines its thrusters. Is there any way you could zip up the scenario + vessel binaries + .cfg files and attach them to a post so I can try to reproduce the CTD here tonight?
 

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,605
Reaction score
2,327
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
Well there is nothing too fishy, the thrusters are mostly boilerplate right now.

Code:
void GEMINI::ConfigureACMEGroups(bool OAMS, bool sysA, bool sysB)
	{
		THRUSTER_HANDLE thT[6];
		int a = 0;

		//PITCH UP
		if (OAMS && EquipmentSectionAvailable())
		{
			thT[a++] = thOAMS25[4];	//THRUSTER 5
			thT[a++] = thOAMS25[5]; //THRUSTER 6
		}
		if (sysA) {
			thT[a++] = thRCS_A[4];	//THRUSTER 5
			thT[a++] = thRCS_A[5];	//THRUSTER 6
		}
		if (sysB) {
			thT[a++] = thRCS_B[4];	//THRUSTER 5
			thT[a++] = thRCS_B[5];	//THRUSTER 6
		}

		if (a > 0)
			CreateThrusterGroup(thT, a, THGROUP_ATT_PITCHUP);
		else
			DelThrusterGroup(THGROUP_ATT_PITCHUP);

		a = 0;

		//PITCH DOWN
		if (OAMS && EquipmentSectionAvailable())
		{
			thT[a++] = thOAMS25[0];	//THRUSTER 1
			thT[a++] = thOAMS25[1]; //THRUSTER 2
		}
		if (sysA) {
			thT[a++] = thRCS_A[0];	//THRUSTER 1
			thT[a++] = thRCS_A[1];	//THRUSTER 2
		}
		if (sysB) {
			thT[a++] = thRCS_B[0];	//THRUSTER 1
			thT[a++] = thRCS_B[1];	//THRUSTER 2
		}

		if (a > 0)
			CreateThrusterGroup(thT, a, THGROUP_ATT_PITCHDOWN);
		else
			DelThrusterGroup(THGROUP_ATT_PITCHDOWN);

		//YAW RIGHT
		a = 0;
		if (OAMS && EquipmentSectionAvailable())
		{
			thT[a++] = thOAMS25[2];	//THRUSTER 3
			thT[a++] = thOAMS25[3]; //THRUSTER 4
		}
		if (sysA) {
			thT[a++] = thRCS_A[2];	//THRUSTER 3
			thT[a++] = thRCS_A[3];	//THRUSTER 4
		}
		if (sysB) {
			thT[a++] = thRCS_B[2];	//THRUSTER 3
			thT[a++] = thRCS_B[3];	//THRUSTER 4
		}

		if (a > 0)
			CreateThrusterGroup(thT, a, THGROUP_ATT_YAWRIGHT);
		else
			DelThrusterGroup(THGROUP_ATT_YAWRIGHT);

		//YAW LEFT
		a = 0;
		if (OAMS && EquipmentSectionAvailable())
		{
			thT[a++] = thOAMS25[6];	//THRUSTER 7
			thT[a++] = thOAMS25[7]; //THRUSTER 8
		}
		if (sysA) {
			thT[a++] = thRCS_A[6];	//THRUSTER 7
			thT[a++] = thRCS_A[7];	//THRUSTER 8
		}
		if (sysB) {
			thT[a++] = thRCS_B[6];	//THRUSTER 7
			thT[a++] = thRCS_B[7];	//THRUSTER 8
		}

		if (a > 0)
			CreateThrusterGroup(thT, a, THGROUP_ATT_YAWLEFT);
		else
			DelThrusterGroup(THGROUP_ATT_YAWLEFT);
		//ROLL RIGHT
		a = 0;
		if (OAMS && EquipmentSectionAvailable())
		{
			thT[a++] = thOAMS25[2];	//THRUSTER 3
			thT[a++] = thOAMS25[6]; //THRUSTER 7
		}
		if (sysA) {
			thT[a++] = thRCS_A[2];	//THRUSTER 3
			thT[a++] = thRCS_A[6];	//THRUSTER 7
		}
		if (sysB) {
			thT[a++] = thRCS_B[2];	//THRUSTER 3
			thT[a++] = thRCS_B[6];	//THRUSTER 7
		}

		if (a > 0)
			CreateThrusterGroup(thT, a, THGROUP_ATT_BANKRIGHT);
		else
			DelThrusterGroup(THGROUP_ATT_BANKRIGHT);

		//ROLL LEFT
		a = 0;
		if (OAMS && EquipmentSectionAvailable())
		{
			thT[a++] = thOAMS25[3];	//THRUSTER 4
			thT[a++] = thOAMS25[7]; //THRUSTER 8
		}
		if (sysA) {
			thT[a++] = thRCS_A[3];	//THRUSTER 4
			thT[a++] = thRCS_A[7];	//THRUSTER 8
		}
		if (sysB) {
			thT[a++] = thRCS_B[3];	//THRUSTER 4
			thT[a++] = thRCS_B[7];	//THRUSTER 8
		}
		if (a > 0)
			CreateThrusterGroup(thT, a, THGROUP_ATT_BANKLEFT);
		else
			DelThrusterGroup(THGROUP_ATT_BANKLEFT);

		//FORWARD
		a = 0;
		if (OAMS && EquipmentSectionAvailable())
		{
			thT[a++] = thOAMS100[0];	//THRUSTER 9
			thT[a++] = thOAMS100[1];    //THRUSTER 10
		}

		if (a > 0)
		{
			CreateThrusterGroup(thT, a, THGROUP_ATT_FORWARD);
			CreateThrusterGroup(thT, a, THGROUP_MAIN);
		}
		else 
		{
			DelThrusterGroup(THGROUP_ATT_FORWARD);
			DelThrusterGroup(THGROUP_MAIN);
		}

		//AFT
		a = 0;
		if (OAMS && EquipmentSectionAvailable())
		{
			thT[a++] = thOAMS85[0];	//THRUSTER 11
			thT[a++] = thOAMS85[1];    //THRUSTER 12
		}

		if (a > 0)
		{
			CreateThrusterGroup(thT, a, THGROUP_ATT_BACK);
			CreateThrusterGroup(thT, a, THGROUP_RETRO);
		}
		else
		{
			DelThrusterGroup(THGROUP_ATT_BACK);
			DelThrusterGroup(THGROUP_RETRO);
		}

		//RIGHT
		a = 0;
		if (OAMS && EquipmentSectionAvailable())
		{
			thT[a++] = thOAMS100[2];	//THRUSTER 13
		}

		if (a > 0)
		{
			CreateThrusterGroup(thT, a, THGROUP_ATT_RIGHT);
			
		}
		else
		{
			DelThrusterGroup(THGROUP_ATT_RIGHT);
		}

		//LEFT
		a = 0;
		if (OAMS && EquipmentSectionAvailable())
		{
			thT[a++] = thOAMS100[3];	//THRUSTER 14
		}

		if (a > 0)
		{
			CreateThrusterGroup(thT, a, THGROUP_ATT_LEFT);

		}
		else
		{
			DelThrusterGroup(THGROUP_ATT_LEFT);
		}

		//UP
		a = 0;
		if (OAMS && EquipmentSectionAvailable())
		{
			thT[a++] = thOAMS100[4];	//THRUSTER 15
		}

		if (a > 0)
		{
			CreateThrusterGroup(thT, a, THGROUP_ATT_UP);

		}
		else
		{
			DelThrusterGroup(THGROUP_ATT_UP);
		}

		//DOWN
		a = 0;
		if (OAMS && EquipmentSectionAvailable())
		{
			thT[a++] = thOAMS100[5];	//THRUSTER 16
		}

		if (a > 0)
		{
			CreateThrusterGroup(thT, a, THGROUP_ATT_DOWN);

		}
		else
		{
			DelThrusterGroup(THGROUP_ATT_DOWN);
		}
	}

	void GEMINI::CreateOAMSThrusters()
	{
		thOAMS25[0] = CreateThruster(OAMS_THRUSTER1_POS + COG_OFFSET_FULL, OAMS_THRUSTER1_DIR, OAMS25_THRUST, phOAMS, RCS_ISP0, RCS_ISPSL);
		thOAMS25[1] = CreateThruster(OAMS_THRUSTER2_POS + COG_OFFSET_FULL, OAMS_THRUSTER2_DIR, OAMS25_THRUST, phOAMS, RCS_ISP0, RCS_ISPSL);
		thOAMS25[2] = CreateThruster(OAMS_THRUSTER3_POS + COG_OFFSET_FULL, OAMS_THRUSTER3_DIR, OAMS25_THRUST, phOAMS, RCS_ISP0, RCS_ISPSL);
		thOAMS25[3] = CreateThruster(OAMS_THRUSTER4_POS + COG_OFFSET_FULL, OAMS_THRUSTER4_DIR, OAMS25_THRUST, phOAMS, RCS_ISP0, RCS_ISPSL);
		thOAMS25[4] = CreateThruster(OAMS_THRUSTER5_POS + COG_OFFSET_FULL, OAMS_THRUSTER5_DIR, OAMS25_THRUST, phOAMS, RCS_ISP0, RCS_ISPSL);
		thOAMS25[5] = CreateThruster(OAMS_THRUSTER6_POS + COG_OFFSET_FULL, OAMS_THRUSTER6_DIR, OAMS25_THRUST, phOAMS, RCS_ISP0, RCS_ISPSL);
		thOAMS25[6] = CreateThruster(OAMS_THRUSTER7_POS + COG_OFFSET_FULL, OAMS_THRUSTER7_DIR, OAMS25_THRUST, phOAMS, RCS_ISP0, RCS_ISPSL);
		thOAMS25[7] = CreateThruster(OAMS_THRUSTER8_POS + COG_OFFSET_FULL, OAMS_THRUSTER8_DIR, OAMS25_THRUST, phOAMS, RCS_ISP0, RCS_ISPSL);

		thOAMS100[0] = CreateThruster(OAMS_THRUSTER9_POS + COG_OFFSET_FULL, OAMS_THRUSTER9_DIR, OAMS100_THRUST, phOAMS, RCS_ISP0, RCS_ISPSL);
		thOAMS100[1] = CreateThruster(OAMS_THRUSTER10_POS + COG_OFFSET_FULL, OAMS_THRUSTER10_DIR, OAMS100_THRUST, phOAMS, RCS_ISP0, RCS_ISPSL);
		thOAMS85[0] = CreateThruster(OAMS_THRUSTER11_POS + COG_OFFSET_FULL, OAMS_THRUSTER11_DIR, OAMS85_THRUST, phOAMS, RCS_ISP0, RCS_ISPSL);
		thOAMS85[1] = CreateThruster(OAMS_THRUSTER12_POS + COG_OFFSET_FULL, OAMS_THRUSTER12_DIR, OAMS85_THRUST, phOAMS, RCS_ISP0, RCS_ISPSL);

		thOAMS100[2] = CreateThruster(OAMS_THRUSTER13_POS + COG_OFFSET_FULL, OAMS_THRUSTER13_DIR, OAMS100_THRUST, phOAMS, RCS_ISP0, RCS_ISPSL);
		thOAMS100[3] = CreateThruster(OAMS_THRUSTER14_POS + COG_OFFSET_FULL, OAMS_THRUSTER14_DIR, OAMS100_THRUST, phOAMS, RCS_ISP0, RCS_ISPSL);
		thOAMS100[4] = CreateThruster(OAMS_THRUSTER15_POS + COG_OFFSET_FULL, OAMS_THRUSTER15_DIR, OAMS100_THRUST, phOAMS, RCS_ISP0, RCS_ISPSL);
		thOAMS100[5] = CreateThruster(OAMS_THRUSTER16_POS + COG_OFFSET_FULL, OAMS_THRUSTER16_DIR, OAMS100_THRUST, phOAMS, RCS_ISP0, RCS_ISPSL);

		for (int i = 0; i < 8; ++i)
		{
			AddExhaust(thOAMS25[i], 1.5, 0.1);
		}

		for (int i = 0; i < 2; ++i)
		{
			AddExhaust(thOAMS85[i], 2.5, 0.2);
		}

		for (int i = 0; i < 6; ++i)
		{
			AddExhaust(thOAMS100[i], 3, 0.25);
		}

		SetDefaultPropellantResource(phOAMS);
	}

	void GEMINI::CreateRCSThrustersA()
	{
		thRCS_A[0] = CreateThruster(THRUSTER1_POS + OFFSET_SYSTEM_A + COG_OFFSET_FULL, THRUSTER1_DIR, RCS_THRUST, phRCS_A, RCS_ISP0, RCS_ISPSL);
		thRCS_A[1] = CreateThruster(THRUSTER2_POS + OFFSET_SYSTEM_A + COG_OFFSET_FULL, THRUSTER2_DIR, RCS_THRUST, phRCS_A, RCS_ISP0, RCS_ISPSL);
		thRCS_A[2] = CreateThruster(THRUSTER3_POS + OFFSET_SYSTEM_A + COG_OFFSET_FULL, THRUSTER3_DIR, RCS_THRUST, phRCS_A, RCS_ISP0, RCS_ISPSL);
		thRCS_A[3] = CreateThruster(THRUSTER4_POS + OFFSET_SYSTEM_A + COG_OFFSET_FULL, THRUSTER4_DIR, RCS_THRUST, phRCS_A, RCS_ISP0, RCS_ISPSL);
		thRCS_A[4] = CreateThruster(THRUSTER5_POS + OFFSET_SYSTEM_A + COG_OFFSET_FULL, THRUSTER5_DIR, RCS_THRUST, phRCS_A, RCS_ISP0, RCS_ISPSL);
		thRCS_A[5] = CreateThruster(THRUSTER6_POS + OFFSET_SYSTEM_A + COG_OFFSET_FULL, THRUSTER6_DIR, RCS_THRUST, phRCS_A, RCS_ISP0, RCS_ISPSL);
		thRCS_A[6] = CreateThruster(THRUSTER7_POS + OFFSET_SYSTEM_A + COG_OFFSET_FULL, THRUSTER7_DIR, RCS_THRUST, phRCS_A, RCS_ISP0, RCS_ISPSL);
		thRCS_A[7] = CreateThruster(THRUSTER8_POS + OFFSET_SYSTEM_A + COG_OFFSET_FULL, THRUSTER8_DIR, RCS_THRUST, phRCS_A, RCS_ISP0, RCS_ISPSL);

		for (int i = 0; i < 8; ++i) 
		{
			AddExhaust(thRCS_A[i], 1.5, 0.1);
		}
	}

	void GEMINI::CreateRCSThrustersB()
	{
		thRCS_B[0] = CreateThruster(THRUSTER1_POS + OFFSET_SYSTEM_B + COG_OFFSET_FULL, THRUSTER1_DIR, RCS_THRUST, phRCS_B, RCS_ISP0, RCS_ISPSL);
		thRCS_B[1] = CreateThruster(THRUSTER2_POS + OFFSET_SYSTEM_B + COG_OFFSET_FULL, THRUSTER2_DIR, RCS_THRUST, phRCS_B, RCS_ISP0, RCS_ISPSL);
		thRCS_B[2] = CreateThruster(THRUSTER3_POS + OFFSET_SYSTEM_B + COG_OFFSET_FULL, THRUSTER3_DIR, RCS_THRUST, phRCS_B, RCS_ISP0, RCS_ISPSL);
		thRCS_B[3] = CreateThruster(THRUSTER4_POS + OFFSET_SYSTEM_B + COG_OFFSET_FULL, THRUSTER4_DIR, RCS_THRUST, phRCS_B, RCS_ISP0, RCS_ISPSL);
		thRCS_B[4] = CreateThruster(THRUSTER5_POS + OFFSET_SYSTEM_B + COG_OFFSET_FULL, THRUSTER5_DIR, RCS_THRUST, phRCS_B, RCS_ISP0, RCS_ISPSL);
		thRCS_B[5] = CreateThruster(THRUSTER6_POS + OFFSET_SYSTEM_B + COG_OFFSET_FULL, THRUSTER6_DIR, RCS_THRUST, phRCS_B, RCS_ISP0, RCS_ISPSL);
		thRCS_B[6] = CreateThruster(THRUSTER7_POS + OFFSET_SYSTEM_B + COG_OFFSET_FULL, THRUSTER7_DIR, RCS_THRUST, phRCS_B, RCS_ISP0, RCS_ISPSL);
		thRCS_B[7] = CreateThruster(THRUSTER8_POS + OFFSET_SYSTEM_B + COG_OFFSET_FULL, THRUSTER8_DIR, RCS_THRUST, phRCS_B, RCS_ISP0, RCS_ISPSL);

		for (int i = 0; i < 8; ++i)
		{
			AddExhaust(thRCS_B[i], 1.5, 0.1);
		}
	}
 

dbeachy1

O-F Administrator
Administrator
Orbiter Contributor
Addon Developer
Donator
Beta Tester
Joined
Jan 14, 2008
Messages
9,216
Reaction score
1,562
Points
203
Location
VA
Website
alteaaerospace.com
Preferred Pronouns
he/him
If you can't send the binaries, one thing you could try is commenting out different thruster definitions until it doesn't crash -- it might narrow it down. Also, you could set EnableVerboseLogging = 1 in your XRSound.cfg so XRSound will log exactly what vessel is doing what -- it may give us a clue.

You can also try commenting out animations, if any. XRSound tracks those as well in order to play sounds for them (if configured to do so via its XRSound-<vessel class>.cfg file).
 

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,605
Reaction score
2,327
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
What might be interesting there: In the first timestep, the thrustergroups are configured according to the attached sections of the spacecraft:

Code:
void GEMINI::clbkPreStep(double fSimT, double fDeltaT, double fMJD)
	{
		if (bFirstSimulationPass)
		{
			UpdateMasses();
			ConfigureACMEGroups(bEnableOAMS, RCSAEnabled(), RCSBEnabled());
			bFirstSimulationPass = false;
		}
		subsystems.PreStep(fSimT, fDeltaT, fMJD);

EDIT: And for packaging the binaries, there is the tiny problem that I did not even think about packaging yet. :rofl: I still use assets of another add-on as placeholders, thus I am currently far away from any release. I'll try getting something done the manual way but it takes some time.
 
Last edited:

dbeachy1

O-F Administrator
Administrator
Orbiter Contributor
Addon Developer
Donator
Beta Tester
Joined
Jan 14, 2008
Messages
9,216
Reaction score
1,562
Points
203
Location
VA
Website
alteaaerospace.com
Preferred Pronouns
he/him
Well, you are welcome to just zip up your entire Orbiter folder, minus scenery files, and FTP them up to my Web site -- I could send you a login. :cool:

Thanks for your help on this, I really want to track this down!

EDIT:
Just sent you a PM with SFTP login credentials. :tiphat:
 
Last edited:

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,605
Reaction score
2,327
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
Well, you are welcome to just zip up your entire Orbiter folder, minus scenery files, and FTP them up to my Web site -- I could send you a login. :cool:

Thanks for your help on this, I really want to track this down!

:lol: Lets try something more efficient, its the 6 GB one.

I just write a file list for packing everything related into a ZIP.

---------- Post added at 23:13 ---------- Previous post was at 22:04 ----------

There should be an upload now, please consider it a "destroy after reading" situation. Its not meant for public distribution.
 

dbeachy1

O-F Administrator
Administrator
Orbiter Contributor
Addon Developer
Donator
Beta Tester
Joined
Jan 14, 2008
Messages
9,216
Reaction score
1,562
Points
203
Location
VA
Website
alteaaerospace.com
Preferred Pronouns
he/him
:lol: Lets try something more efficient, its the 6 GB one.

I just write a file list for packing everything related into a ZIP.

---------- Post added at 23:13 ---------- Previous post was at 22:04 ----------

There should be an upload now, please consider it a "destroy after reading" situation. Its not meant for public distribution.

Thanks! I downloaded the zip and I'm digging into this now.

EDIT:
Thanks to the files Urwumpe uploaded, I was able to find and fix the crash. :thumbup: The problem turned out to quite simple: the code in XRSound that handles docking callouts and radar beeps needs to track the distance from a given vessel's docking port to the docking port its NAV radio is tuned to (e.g,. the ISS's docking port). However, if the source vessel doesn't have a docking port defined, the Orbiter core (correctly) returns NULL for that, and that is something XRSound didn't check for since that code is based on the existing code in the XR vessels, and all XR vessels have docking ports. The fix was to check for NULL there.

@Urwumpe -- I sent you a PM with a download link for a pre-release of BETA-3 to try out. I also deleted all the files you uploaded, as you requested. :tiphat:
 
Last edited:

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,605
Reaction score
2,327
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
Thank you :)

Problem is solved, time for creating newer better bugs. :cheers:
 

dbeachy1

O-F Administrator
Administrator
Orbiter Contributor
Addon Developer
Donator
Beta Tester
Joined
Jan 14, 2008
Messages
9,216
Reaction score
1,562
Points
203
Location
VA
Website
alteaaerospace.com
Preferred Pronouns
he/him
I just uploaded XRSound BETA-3 -- same download links. I also uploaded BETA-3 versions of the XR vessels; however, you do not need to udpate those unless you want to view the newly updated XR Flight Operations Manual, since that was the only change to their download packages. The BETA-2 XR vessel versions did not have a flight manual included because the flight manual still contained references to UMMu and OrbiterSound.

XRSound 1.00 BETA-3 release notes:

  • Fixed CTD if a vessel does not define a docking port (special thanks to Urwumpe for uploading a zip package to help me track this down).
  • Implemented vessel-independent music playback from a folder with any number of files; has these new settings in XRSound.cfg:
    Code:
    [SYSTEM]
    #--------------------------------------------------------------------------
    # Global music settings.  Sound files in the specified music folder may be 
    # played back at random or sequentially.  Unlike other sounds and sound 
    # groups, music sounds play independently of any vessel, *except that* 
    # the active vessel determines whether the music keeps playing or
    # is paused at any given instant.  See the MusicPlayInternal and 
    # MusicPlayExternal settings in the [SOUND_FILES] section later in
    # this file for details.
    #
    # Sound ID = 10003
    #
    # A lossless version of 'Solar Serenity' by Grzegorz Lorens (Loru on Orbiter-Forum) is
    # available at https://loru.bandcamp.com/track/solar-serenity
    #
    # Defaults:
    #   MusicFolder = XRSound\Default\Music (which contains Solar Serenity.ogg). [none = disable music; e.g., MusicFolder = none]
    #   MusicVolume = 1.0    [range is between 0 (muted) and 1.0 (max)]
    #   MusicOrder = random  [may be sequential or random]
    #--------------------------------------------------------------------------
    MusicFolder = XRSound\Default\Music
    MusicVolume = 1.0
    MusicOrder = random
    
    [SOUND_FILES]
    #--------------------------------------------------------------------------
    # Vessel-specific music settings; by default, plays only in external view in space (vacuum).
    # Refer the global (i.e., vessel-independent) music settings above in the [SYSTEM] section
    # for more information.
    #
    # Defaults:
    #   MusicPlayInternal = off   [sets whether music plays in internal view; values are off (default), space, or on]
    #   MusicPlayExternal = space [sets whether music plays in external view; values are off, space (default), or on]
    #--------------------------------------------------------------------------
    MusicPlayInternal = off
    MusicPlayExternal = space
  • Updated the XR Flight Operations Manual for XRSound and removed UMMU references.
  • Tweaked XRSound and XR vessel license terms to clarify that only for-profit commercial use without written authorization is prohibited.
  • Updated irrKlang Pro sound engine to the newly released 1.6.0 version.
  • Updated XRSound startup to write the irrKlang version to XRSound.log.
  • Added code to convert any illegal filename characters in a vessel's Orbiter class name (e.g., "/") to underscores when looking up that vessel's XRSound-<vessel classname>.cfg file. e.g., a vessel with class "Foo/BAR" as its class name would use "XRSound-Foo_BAR.cfg" as its override filename.
  • Wrote the initial version of the XRSound User Manual.pdf.

Please let me know if you have any problems with it, particularly with the new MusicFolder support. As always, thanks so much for your help beta-testing! :thumbup:

P.S. @Woo482 and @Xyon: I pushed the XRSound BETA-3 source up to my server; same download link and password as before. Please download it and save it as a backup when you have a chance. Thanks. :)
 

Abloheet

Addon Developer
Addon Developer
Joined
Apr 18, 2009
Messages
212
Reaction score
40
Points
43
Location
Kolkata,West Bengal
Woohoo! Much thanks for this fantastic sound library. Now Orbiter 2016 should become more popular than 2010. This project is the catalyst which will lead to the creation of newer and cooler replacements for some closed libraries
 

kuddel

Donator
Donator
Joined
Apr 1, 2008
Messages
2,064
Reaction score
507
Points
113
Small issues / question

Hi Douglas,

thanks for the updated version of XRSound.

I've two things to mention:
  1. XRSound appears under "Miscellaneous", but I think it would be more fitting if it would appear under "Sound module for Orbiter" (like OrbiterSound did/does). See attached image.
  2. I can't find the .cfg option to disable "Silence of Space"[TM] ;)
    Is this option missing, or just not (yet) documented in the XRSound.cfg file?
    I mean I like to hear the RCS & Mains in Space. ATC & RCS-Mode- Announcements do work in external view however.
  3. Is it possible to overwrite a vessel-specific sound-event with "no sound"?
    For example when landing Atlantis, the "Warning Gear is Up" annotation does not feel right ;) We have to deploy it that late.
    Alternatively a config parameter like WarningGearIsUpAltitude could also work (that could be set to 0)
 

Attachments

  • Addon-Group.png
    Addon-Group.png
    32 KB · Views: 16
Last edited:

kuddel

Donator
Donator
Joined
Apr 1, 2008
Messages
2,064
Reaction score
507
Points
113
Twin Sonic Boom

Hi (again) Douglas,

while fiddling around with BETA3 of XRSound I found myself switching the default Sonic Boom for Atlantis ;)

Attached are my changes.
I know that usually a 3rd party developer should not put their custom sounds under the XRSound/Default folder...
but hey, maybe this Twin Sonic Boom might end up in your distribution :thumbup: I claim no copyright for this, so it's free to be used by anyone.

The sound is, by the way actually Atlantis! (STS-122, February 20. 2008).

I've also included the -1 dB normalized version, so it's up to you to tweak it to your "level" (mine is intentionally clipped to let it feel "louder")
 

Attachments

  • XRSound-AtlantisPatches.zip
    114.9 KB · Views: 6

francisdrake

Addon Developer
Addon Developer
Joined
Mar 23, 2008
Messages
1,073
Reaction score
885
Points
128
Website
francisdrakex.deviantart.com
This is an excellent project! Very professional!

Some minor remarks:

- When an autopilot is engaged, the attitude thruster sound plays continously, although the thrusters only fire from time to time, after the initial attitude has been reached.

- Can thruster sounds also play in outboard view?
I know this is not real in vaccum, but I am spoiled by movie sound effects. :)

- Could someone make a dll or so to mimic Orbitersounds "Disable autopilots above 10x time acceleration?" This is surely no sound config, but I used this option forever and was wondering what happens to my vessel at higher time acceleration, before I realized I was missing this setting.
 

Ripley

Tutorial translator
Donator
Joined
Sep 12, 2010
Messages
3,133
Reaction score
407
Points
123
Location
Rome
Website
www.tuttovola.org
Could someone make a dll or so to mimic Orbitersounds "Disable autopilots above 10x time acceleration?"
There is already another addon doing this... Let me dig it out...

---------- Post added at 22:14 ---------- Previous post was at 22:09 ----------

There you go. Hope it works with O2016: [ame="http://www.orbithangar.com/searchid.php?ID=5669"]Autotime[/ame]
 
Status
Not open for further replies.
Top