SIMISA@@@@@@@@@@JINX0x1t______

Tr_SMS (

Skip ( ***** Modified Acela Engine Sound by Joseph T. Realmuto ***** )
Skip ( ***** Traction Motor Sounds based on modified APSEL algorithm ***** )
Skip ( ***** Original APSEL(All Purpose Sound Management System for Electric Locomotives) algorithm by Hans-Peter Scholz ***** )
	
	ScalabiltyGroup( 5
		Activation (		CabCam			()	ExternalCam ()	PassengerCam	()		Distance    	(1000)		)
		Deactivation (								Distance    	(1000)		)
		Volume(1.0)
		Streams ( 13
			Stream (
				Skip ( **** Traction motors and gearboxes - throttle dependent **** )
				Priority ( 6 )
				Triggers ( 1
					Initial_Trigger  (                                                StartLoop   ( 1 File ( "..\\..\\ACELA\\SOUND\\x_acela_power_cruise2.wav" -1 )   SelectionMethod ( SequentialSelection ) ) )
						)
				FrequencyCurve(
					SpeedControlled
					CurvePoints ( 5
						-150.0	 90000
						-20.0		 20000
						0.000		  2000
						 20.0		 20000
						150.0		 90000
					)
					Granularity ( 100 )
				)
				VolumeCurve(
					Variable2Controlled
					CurvePoints ( 2
						 0.000		0.0
						 100.0		0.25
					)
					Granularity ( 0.02 )
				)				
			)
			Stream (
				Skip ( **** Traction motors and gearboxes - speed dependent **** )
				Priority ( 6 )
				Triggers ( 1
					Initial_Trigger  (                                                StartLoop   ( 1 File ( "..\\..\\ACELA\\SOUND\\x_acela_power_cruise1.wav" -1 )   SelectionMethod ( SequentialSelection ) ) )
						)
				FrequencyCurve(
					SpeedControlled
					CurvePoints ( 5
						-150.0	 90000
						-20.0		 20000
						  0.0		  2000
						 20.0		 20000
						150.0		 90000
					)
					Granularity ( 100 )
				)
				VolumeCurve(
					SpeedControlled
					CurvePoints ( 5
						-50.0		0.0
						-20.0		0.35
						  0.0		0.25
						 20.0		0.35	
						 50.0		0.0
					)
					Granularity ( 0.02 )
				)				
			)
			Stream (
				Skip ( **** Fans **** )
				Priority ( 6 )
				Volume ( 0.25 )
				Triggers ( 1
					Initial_Trigger  (                                                StartLoop   ( 1 File ( "..\\..\\ACELA\\SOUND\\x_acela_power_cruise0.wav" -1 )   SelectionMethod ( SequentialSelection ) ) )
						)
			)
			Stream (
				Skip ( **** This stream allows the horn to be played at the same time **** )
				Priority ( 6 )
				Triggers ( 2
					Discrete_Trigger ( 8	StartLoopRelease ( 1	File ( "..\\..\\ACELA\\SOUND\\x_acela_hornh.wav" -1 )	SelectionMethod ( SequentialSelection )	)	)
					Discrete_Trigger ( 9	ReleaseLoopReleaseWithJump ()	)
				)
			)
			Stream (
				Skip ( **** This stream allows the horn to be played at the same time **** )
				Priority ( 6 )
				Triggers ( 2
					Discrete_Trigger ( 10	StartLoopRelease ( 1
													File ( "..\\..\\ACELA\\SOUND\\x_acela_bell1.wav" -1 )	
													SelectionMethod ( RandomSelection ) 
												)
								)

					Discrete_Trigger ( 11 	ReleaseLoopReleaseWithJump ()	)
				)
			)

			Stream (
				Skip ( **** This stream allows the Sander to be played at the same time **** )
				Priority ( 5 )			
				Triggers ( 2				
					Discrete_Trigger (  4	StartLoopRelease ( 1	File ( "..\\..\\ACELA\\SOUND\\x_acela_sand.wav" -1 )	SelectionMethod ( SequentialSelection ) ) )
					Discrete_Trigger (  5	ReleaseLoopRelease () )	
				)
			)
			Stream (
				Skip ( **** This stream allows the Compressor to be played at the same time **** )				
				Priority ( 6 )			
				Triggers ( 2				
					Discrete_Trigger (  12	StartLoopRelease ( 1	File ( "..\\..\\DASH9\\SOUND\\x_d9_compressor.wav" -1 )
SelectionMethod ( SequentialSelection ) ) )
					Discrete_Trigger (  13	ReleaseLoopRelease () )	
				)
			)
			Stream (
				Skip ( **** Wind noise **** )	
				Priority ( 6 )
				Triggers ( 1
					Initial_Trigger ( StartLoop ( 1	File ( "x_wind.wav" -1 )	SelectionMethod ( SequentialSelection )	)	)
				)
				FrequencyCurve(
					SpeedControlled
					CurvePoints ( 3
						-150.0	 5000
						   0.0	10000
						 150.0	 5000
						)
					Granularity ( 100 )
				)
				VolumeCurve(
					SpeedControlled
					CurvePoints ( 3
						-150.0	0.35
						   0.0	0.0
						 150.0	0.35
					)
					Granularity ( 0.01 )	)
			)
			Stream (
				Skip ( **** Brake Rumble **** )				
				Priority ( 6 )			
				Triggers ( 6				
					Discrete_Trigger (  14	StartLoopRelease ( 1	File ( "..\\..\\ACELA\\SOUND\\x_acela_brake.wav" -1 )
SelectionMethod ( SequentialSelection ) ) )
					Discrete_Trigger (  54	ReleaseLoopRelease () )
					Discrete_Trigger (  54	ReleaseLoopRelease () )
					Discrete_Trigger (  54	ReleaseLoopRelease () )
					Discrete_Trigger (  54	ReleaseLoopRelease () )
					Variable_Trigger ( Speed_Dec_Past 4.0	ReleaseLoopRelease ()	)
				)
				FrequencyCurve(
					SpeedControlled
					CurvePoints ( 3
						-150.0	 25000
						0.000		 10000
						150.0		 25000
					)
					Granularity ( 100 )
				)
				VolumeCurve(
					SpeedControlled
					CurvePoints ( 5
						 -150.0		1.0
						  -5.0		1.0
						   0.0		0.0
						   5.0		1.0
						 150.0		1.0
					)
					Granularity ( 0.05 )
				)				
			)
			Stream (
				Skip ( **** Brake Squeal **** )				
				Priority ( 6 )			
				Triggers ( 7				
					Discrete_Trigger (  14	StartLoopRelease ( 1	File ( "x_squeal.wav" -1 )
SelectionMethod ( SequentialSelection ) ) )
					Discrete_Trigger (  54	ReleaseLoopRelease () )
					Discrete_Trigger (  54	ReleaseLoopRelease () )
					Discrete_Trigger (  54	ReleaseLoopRelease () )
					Discrete_Trigger (  54	ReleaseLoopRelease () )
					Variable_Trigger ( Speed_Dec_Past 0.2	ReleaseLoopRelease ()	)
					Variable_Trigger ( Speed_Inc_Past 7.0	ReleaseLoopRelease ()	)
				)
				FrequencyCurve(
					SpeedControlled
					CurvePoints ( 3
						  -7.0		11000
						   0.0		12000
						   7.0		11000
						)
					Granularity ( 100 )
				)
				VolumeCurve(
					SpeedControlled
					CurvePoints ( 5
						  -5.0		0.0
						  -3.5		1.0
						   0.0		0.0
						   3.5		1.0
						   5.0		0.0
					)
					Granularity ( 0.05 )
				)				
			)
			Stream (
				Skip ( **** Train Brake **** )
				Priority ( 5 )
				Triggers ( 1				
					Skip ( **** Brake Apply or Release **** )
					Discrete_Trigger (  54	
						PlayOneShot ( 3	
							File ( "..\\..\\ACELA\\SOUND\\x_acela_ibrake1.wav" -1 )	
							File ( "..\\..\\ACELA\\SOUND\\x_acela_ibrake2.wav" -1 )	
							File ( "..\\..\\ACELA\\SOUND\\x_acela_ibrake2.wav" -1 )	
							SelectionMethod ( RandomSelection ) 
						) 
					)
				)
			)
			Stream (
				Priority ( 6 )
				Volume ( 0.5 )
				Triggers ( 6
					Discrete_Trigger ( 58 PlayOneShot ( 1 	File ( "x_couple_auto1.wav" -1 ) SelectionMethod (SequentialSelection) ) ) 
					Discrete_Trigger ( 59 PlayOneShot ( 1 	File ( "x_couple_auto2.wav" -1 ) SelectionMethod (SequentialSelection) ) ) 
					Discrete_Trigger ( 60 PlayOneShot ( 1 	File ( "x_couple_auto3.wav" -1 ) SelectionMethod (SequentialSelection) ) ) 
					Discrete_Trigger ( 61 PlayOneShot ( 1 	File ( "x_uncouple_auto1.wav" -1 ) SelectionMethod (SequentialSelection) ) ) 
					Discrete_Trigger ( 62 PlayOneShot ( 1 	File ( "x_uncouple_auto2.wav" -1 ) SelectionMethod (SequentialSelection) ) ) 
					Discrete_Trigger ( 63 PlayOneShot ( 1 	File ( "x_uncouple_auto3.wav" -1 ) SelectionMethod (SequentialSelection) ) ) 
				)
			)
			Stream (
				Priority ( 6 )
				Volume ( 1.0 )
				Triggers ( 2
					Discrete_Trigger ( 45 PlayOneShot ( 1 	File ( "..\\..\\ACELA\\SOUND\\x_acela_pantou.wav" -1 ) SelectionMethod (SequentialSelection) ) ) 
					Discrete_Trigger ( 46 PlayOneShot ( 1 	File ( "..\\..\\ACELA\\SOUND\\x_acela_pantod.wav" -1 ) SelectionMethod (SequentialSelection) ) ) 
				)
			)
		)
	)


	ScalabiltyGroup( 3
		Activation (		CabCam			()			PassengerCam	()	ExternalCam ()			Distance    	(1000)		)
		Deactivation (					Distance    	(1000)		)
		Streams ( 12
			Stream (
				Skip ( **** Traction motors and gearboxes - throttle dependent **** )
				Priority ( 6 )
				Triggers ( 1
					Initial_Trigger  (                                                StartLoop   ( 1 File ( "..\\..\\ACELA\\SOUND\\x_acela_power_cruise2.wav" -1 )   SelectionMethod ( SequentialSelection ) ) )
						)
				FrequencyCurve(
					SpeedControlled
					CurvePoints ( 5
						-150.0	 90000
						-20.0		 20000
						0.000		  2000
						 20.0		 20000
						150.0		 90000
					)
					Granularity ( 100 )
				)
				VolumeCurve(
					Variable2Controlled
					CurvePoints ( 2
						 0.000		0.0
						 100.0		0.25
					)
					Granularity ( 0.02 )
				)				
			)
			Stream (
				Skip ( **** Traction motors and gearboxes - speed dependent **** )
				Priority ( 6 )
				Triggers ( 1
					Initial_Trigger  (                                                StartLoop   ( 1 File ( "..\\..\\ACELA\\SOUND\\x_acela_power_cruise1.wav" -1 )   SelectionMethod ( SequentialSelection ) ) )
						)
				FrequencyCurve(
					SpeedControlled
					CurvePoints ( 5
						-150.0	 90000
						-20.0		 20000
						  0.0		  2000
						 20.0		 20000
						150.0		 90000
					)
					Granularity ( 100 )
				)
				VolumeCurve(
					SpeedControlled
					CurvePoints ( 5
						-50.0		0.0
						-20.0		0.35
						  0.0		0.25
						 20.0		0.35	
						 50.0		0.0
					)
					Granularity ( 0.02 )
				)				
			)
			Stream (
				Skip ( **** Fans **** )
				Priority ( 6 )
				Volume ( 0.25 )
				Triggers ( 1
					Initial_Trigger  (                                                StartLoop   ( 1 File ( "..\\..\\ACELA\\SOUND\\x_acela_power_cruise0.wav" -1 )   SelectionMethod ( SequentialSelection ) ) )
						)
			)
			Stream (
				Skip ( **** This stream allows the horn to be played at the same time **** )
				Priority ( 6 )
				Triggers ( 2
					Discrete_Trigger ( 8	StartLoopRelease ( 1	File ( "..\\..\\ACELA\\SOUND\\x_acela_hornh.wav" -1 )	SelectionMethod ( SequentialSelection )	)	)
					Discrete_Trigger ( 9	ReleaseLoopReleaseWithJump ()	)
				)
			)
			Stream (
				Skip ( **** This stream allows the horn to be played at the same time **** )
				Priority ( 6 )
				Triggers ( 2
					Discrete_Trigger ( 10	StartLoopRelease ( 1	
													File ( "..\\..\\ACELA\\SOUND\\x_acela_bell1.wav" -1 )	
													SelectionMethod ( RandomSelection ) 
												)
								)

					Discrete_Trigger ( 11 	ReleaseLoopReleaseWithJump ()	)
				)
			)
			Stream (
				Skip ( **** This stream allows the Sander to be played at the same time **** )
				Priority ( 5 )			
				Triggers ( 2				
					Discrete_Trigger (  4	StartLoopRelease ( 1	File ( "..\\..\\ACELA\\SOUND\\x_acela_sand.wav" -1 )	SelectionMethod ( SequentialSelection ) ) )
					Discrete_Trigger (  5	ReleaseLoopRelease () )	
				)
			)
			Stream (
				Skip ( **** This stream allows the Compressor to be played at the same time **** )				
				Priority ( 6 )			
				Triggers ( 2				
					Discrete_Trigger (  12	StartLoopRelease ( 1	File ( "..\\..\\DASH9\\SOUND\\x_d9_compressor.wav" -1 )
SelectionMethod ( SequentialSelection ) ) )
					Discrete_Trigger (  13	ReleaseLoopRelease () )	
				)
			)
			Stream (
				Skip ( **** Wind noise **** )	
				Priority ( 6 )
				Triggers ( 1
					Initial_Trigger ( StartLoop ( 1	File ( "x_wind.wav" -1 )	SelectionMethod ( SequentialSelection )	)	)
				)
				FrequencyCurve(
					SpeedControlled
					CurvePoints ( 3
						-150.0	 5000
						   0.0	10000
						 150.0	 5000
						)
					Granularity ( 100 )
				)
				VolumeCurve(
					SpeedControlled
					CurvePoints ( 3
						-150.0	0.35
						   0.0	0.0
						 150.0	0.35
					)
					Granularity ( 0.01 )	)
			)
			Stream (
				Skip ( **** Train Brake **** )
				Priority ( 5 )
				Triggers ( 1				
					Skip ( **** Brake Apply or Release **** )
					Discrete_Trigger (  54	
						PlayOneShot ( 3	
							File ( "..\\..\\ACELA\\SOUND\\x_acela_ibrake1.wav" -1 )	
							File ( "..\\..\\ACELA\\SOUND\\x_acela_ibrake2.wav" -1 )	
							File ( "..\\..\\ACELA\\SOUND\\x_acela_ibrake2.wav" -1 )	
							SelectionMethod ( RandomSelection ) 
						) 
					)
				)
			)
			Stream (
				Skip ( **** Brake Rumble **** )				
				Priority ( 6 )			
				Triggers ( 6				
					Discrete_Trigger (  14	StartLoopRelease ( 1	File ( "..\\..\\ACELA\\SOUND\\x_acela_brake.wav" -1 )
SelectionMethod ( SequentialSelection ) ) )
					Discrete_Trigger (  54	ReleaseLoopRelease () )
					Discrete_Trigger (  54	ReleaseLoopRelease () )
					Discrete_Trigger (  54	ReleaseLoopRelease () )
					Discrete_Trigger (  54	ReleaseLoopRelease () )
					Variable_Trigger ( Speed_Dec_Past 4.0	ReleaseLoopRelease ()	)
				)
				FrequencyCurve(
					SpeedControlled
					CurvePoints ( 3
						-150.0	 25000
						0.000		 10000
						150.0		 25000
					)
					Granularity ( 100 )
				)
				VolumeCurve(
					SpeedControlled
					CurvePoints ( 5
						 -150.0		1.0
						  -5.0		1.0
						   0.0		0.0
						   5.0		1.0
						 150.0		1.0
					)
					Granularity ( 0.05 )
				)				
			)
			Stream (
				Skip ( **** Brake Squeal **** )				
				Priority ( 6 )			
				Triggers ( 7				
					Discrete_Trigger (  14	StartLoopRelease ( 1	File ( "x_squeal.wav" -1 )
SelectionMethod ( SequentialSelection ) ) )
					Discrete_Trigger (  54	ReleaseLoopRelease () )
					Discrete_Trigger (  54	ReleaseLoopRelease () )
					Discrete_Trigger (  54	ReleaseLoopRelease () )
					Discrete_Trigger (  54	ReleaseLoopRelease () )
					Variable_Trigger ( Speed_Dec_Past 0.2	ReleaseLoopRelease ()	)
					Variable_Trigger ( Speed_Inc_Past 7.0	ReleaseLoopRelease ()	)
				)
				FrequencyCurve(
					SpeedControlled
					CurvePoints ( 3
						  -7.0		11000
						   0.0		12000
						   7.0		11000
						)
					Granularity ( 100 )
				)
				VolumeCurve(
					SpeedControlled
					CurvePoints ( 5
						  -5.0		0.0
						  -3.5		1.0
						   0.0		0.0
						   3.5		1.0
						   5.0		0.0
					)
					Granularity ( 0.05 )
				)				
			)
			Stream (
				Priority ( 6 )
				Volume ( 1.0 )
				Triggers ( 2
					Discrete_Trigger ( 45 PlayOneShot ( 1 	File ( "..\\..\\ACELA\\SOUND\\x_acela_pantou.wav" -1 ) SelectionMethod (SequentialSelection) ) ) 
					Discrete_Trigger ( 46 PlayOneShot ( 1 	File ( "..\\..\\ACELA\\SOUND\\x_acela_pantod.wav" -1 ) SelectionMethod (SequentialSelection) ) ) 
				)
			)
		)
	)
	
	ScalabiltyGroup( 1
		Activation (		CabCam			()			PassengerCam	()	ExternalCam ()			Distance    	(1000)		)
		Deactivation (					Distance    	(1000)		)
		Streams ( 4
			Stream (
				Skip ( **** Traction motors and gearboxes **** )
				Priority ( 6 )
				Triggers ( 1
					Initial_Trigger  (                                                StartLoop   ( 1 File ( "..\\..\\ACELA\\SOUND\\x_acela_power_cruise1.wav" -1 )   SelectionMethod ( SequentialSelection ) ) )
						)
				FrequencyCurve(
					SpeedControlled
					CurvePoints ( 5
						-150.0	 90000
						 -20.0	 20000
						  0.0		  2000
						 20.0		 20000
						150.0		 90000
					)
					Granularity ( 100 )
				)
				VolumeCurve(
					Variable2Controlled
					CurvePoints ( 2
						 0.000		0.2
						 100.0		0.5
					)
					Granularity ( 0.05 )
				)				
			)
			Stream (
				Skip ( **** Fans **** )
				Priority ( 6 )
				Volume ( 0.25 )
				Triggers ( 1
					Initial_Trigger  (                                                StartLoop   ( 1 File ( "..\\..\\ACELA\\SOUND\\x_acela_power_cruise0.wav" -1 )   SelectionMethod ( SequentialSelection ) ) )
						)
			)
			Stream (
				Skip ( **** This stream allows the horn to be played at the same time **** )
				Priority ( 6 )
				Triggers ( 2
					Discrete_Trigger ( 8	StartLoopRelease ( 1	File ( "..\\..\\ACELA\\SOUND\\x_acela_hornh.wav" -1 )	SelectionMethod ( SequentialSelection )	)	)
					Discrete_Trigger ( 9	ReleaseLoopReleaseWithJump ()	)
				)
			)
			Stream (
				Skip ( **** This stream allows the horn to be played at the same time **** )
				Priority ( 6 )
				Triggers ( 2
					Discrete_Trigger ( 10	StartLoopRelease ( 1	
													File ( "..\\..\\ACELA\\SOUND\\x_acela_bell1.wav" -1 )	
													SelectionMethod ( RandomSelection ) 
												)
								)

					Discrete_Trigger ( 11 	ReleaseLoopReleaseWithJump ()	)
				)
			)
		)
	)
	
	Skip( **** ******************************************* **** )
	Skip( **** Copy of Generic Electric SMS Used for SL 0  **** )
	Skip( **** ******************************************* **** )

	ScalabiltyGroup( 0
		Activation (	ExternalCam () PassengerCam () CabCam () Distance (200)  )
		Deactivation ( )
		Streams ( 2
			Stream (
				Priority ( 6 )
				Triggers ( 3
					Variable_Trigger ( Distance_Dec_Past 130 PlayOneShot ( 1 File ( "..\\..\\ACELA\\SOUND\\x_acela_hornh.wav" -1 )
					SelectionMethod ( SequentialSelection ) ) )
					Variable_Trigger ( Distance_Dec_Past 70 PlayOneShot ( 1 File ( "..\\..\\ACELA\\SOUND\\x_acela_hornh.wav" -1 )
					SelectionMethod ( SequentialSelection ) ) )

					Variable_Trigger ( Speed_Inc_Past  0.05 PlayOneShot ( 1 File ( "..\\..\\ACELA\\SOUND\\x_acela_hornh.wav" -1 )   
					SelectionMethod ( SequentialSelection ) ) )
				)
			)
			Stream (
				Priority ( 4 )
				Triggers ( 6
					Variable_Trigger ( Speed_Inc_Past   1.0 StartLoop   ( 1 File ( "a_e_comp1.wav" -1 )   SelectionMethod ( SequentialSelection ) ) )
					Variable_Trigger ( Speed_Inc_Past  50.0 StartLoop   ( 1 File ( "a_e_comp2.wav" -1 )   SelectionMethod ( SequentialSelection ) ) )
					Variable_Trigger ( Speed_Inc_Past  50.0 ReleaseLoopRelease () )					
					Variable_Trigger ( Speed_Dec_Past  49.0 StartLoop   ( 1 File ( "a_e_comp1.wav" -1 )   SelectionMethod ( SequentialSelection ) ) )
					Variable_Trigger ( Speed_Dec_Past  49.0 ReleaseLoopRelease () )					
					Variable_Trigger ( Speed_Dec_Past   1.0 ReleaseLoopRelease () )					
				)
				VolumeCurve(
					SpeedControlled
					CurvePoints ( 3
					 	  0.0		0.0
						 10.0		1.0
						100.0		1.0
					)
					Granularity ( 0.05 )
				)				
			)
		)
	)
)


