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


Tr_SMS (
	Skip ( ** SL 5 sounds - Two looping audio streams, multiple waves - pitch shifted & Xfaded by rpm                            ** )
	Skip ( **             - One Horn audio stream				                                								                         ** )
	Skip ( **             - One Bell audio stream				                                								                         ** )
	Skip ( **             - One Sander audio stream				                                            	                         ** )
	Skip ( **             - One Compressor audio stream				                                        	                         ** )
	Skip ( **             - One TBrake & IBrake audio stream {as only one shots for apply and off - unkilely to be at same time} ** )
	Skip ( **             - One DBrake audio stream				                                            	                         ** )
	Skip ( **             - One Coupling audio stream				                                            	                         ** )
	ScalabiltyGroup( 5
		Activation (			ExternalCam ()			Distance    	(1000)		)
		Deactivation (		CabCam			()			PassengerCam	()			Distance    	(1000)		)
		Streams ( 13
			Stream (
				Priority ( 6 )
				Triggers ( 3
					Initial_Trigger  (	StartLoop ( 1 File ( "../../DF5/Sound/x_df5_pc0.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
					Variable_Trigger 	( Variable2_Inc_Past	0.2	ReleaseLoopRelease () )
					Variable_Trigger 	( Variable2_Dec_Past	0.2	StartLoop ( 1 File ( "../../DF5/Sound/x_df5_pc0.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
                                )
                                FrequencyCurve(
					Variable2Controlled
					CurvePoints ( 2
						0.0		11025
                                                0.2		11500  
					)
					Granularity ( 25 )
                                )
				VolumeCurve(
					Variable2Controlled
					CurvePoints ( 2
						 0.05 		1.0
						 0.2            0.0
					)
					Granularity ( 0.05 )
				)				
			)
			Stream(
				Priority ( 6 )
				Triggers ( 4
					Variable_Trigger 	( Variable2_Inc_Past	0.01	StartLoop ( 1 File ( "../../DF5/Sound/x_df5_pc1.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
					Variable_Trigger 	( Variable2_Inc_Past	0.8	ReleaseLoopReleaseWithJump () )
					Variable_Trigger 	( Variable2_Dec_Past	0.8	StartLoop ( 1 File ( "../../DF5/Sound/x_df5_pc1.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
					Variable_Trigger 	( Variable2_Dec_Past	0.01	ReleaseLoopReleaseWithJump () )
				)
				FrequencyCurve(
					Variable2Controlled
					CurvePoints ( 2
						0.0		11025
						0.8		20000
					)
					Granularity ( 25 )
				)
				VolumeCurve(
					Variable2Controlled
					CurvePoints ( 4
						0.0		0.0
						0.15		1.0
                                                0.65            1.0
                                                0.8             0.0
					)
					Granularity ( 0.05 )
				)
			)
			Stream(
				Priority ( 6 )
				Triggers ( 4
					Variable_Trigger 	( Variable2_Inc_Past	0.6	StartLoop ( 1 File ( "../../DF5/Sound/x_df5_pc2.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
					Variable_Trigger 	( Variable2_Inc_Past	1.0	ReleaseLoopReleaseWithJump () )
					Variable_Trigger 	( Variable2_Dec_Past	1.0	StartLoop ( 1 File ( "../../DF5/Sound/x_df5_pc2.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
					Variable_Trigger 	( Variable2_Dec_Past	0.6	ReleaseLoopReleaseWithJump () )
				)
				FrequencyCurve(
					Variable2Controlled
					CurvePoints ( 2
						0.6		10000
						1.0		11500
					)
					Granularity ( 25 )
				)
				VolumeCurve(
					Variable2Controlled
					CurvePoints ( 4
						0.6		0.0
						0.75		1.0
                                                0.85            1.0
                                                1.0             0.0
					)
					Granularity ( 0.05 )
				)
			)
			Stream(
				Priority ( 6 )
				Triggers ( 3
					Variable_Trigger 	( Variable2_Inc_Past	0.8	StartLoop ( 1 File ( "../../DF5/Sound/x_df5_pc3.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
					Variable_Trigger 	( Variable2_Dec_Past	0.8	ReleaseLoopRelease () )
				)
				FrequencyCurve(
					Variable2Controlled
					CurvePoints ( 2
						0.8		10000
                                                1.0		11025
					)
					Granularity ( 25 )
				)
				VolumeCurve(
					Variable2Controlled
					CurvePoints ( 2
						0.8	0.0
						0.95	1.0
					)
					Granularity ( 0.05 )
				)
			)			
                        Stream (
				Priority ( 6 )
				Triggers ( 11
					Initial_Trigger  ( 			        StartLoop   ( 1 File ( "../../DF5/Sound/x_df5_turbo.wav" -1 )   SelectionMethod ( SequentialSelection ) ) )
                                
                                )
                                FrequencyCurve(
					Variable2Controlled
					CurvePoints ( 2
						0.1		8000
                                                1.0		26000  
					)
					Granularity ( 0.01 )
				)
				VolumeCurve(
					Variable2Controlled
					CurvePoints ( 2
						 0.0		0.0
                                                 1.0            1.0
					)
					Granularity ( 0.01 )
				)				
			)
                        Stream (			
				Priority ( 6 )			
				Triggers ( 7				
					Discrete_Trigger (  14	StartLoopRelease ( 1	File ( "../../DF5/Sound/x_df5_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 0.1	ReleaseLoopRelease ()	)
					Variable_Trigger ( Speed_Inc_Past 1.0	ReleaseLoopRelease ()	)
				)
                                FrequencyCurve( Variable1Controlled CurvePoints ( 2 0.0	44100 1.0 44100 ) Granularity ( 0.01 ) )
				VolumeCurve(
					SpeedControlled
					CurvePoints ( 3
						   -1.0		 1.0
						    0.0		 0.0
						    1.0		 1.0
					)
					Granularity ( 0.05 )
				)				
			)			
                        Stream (
				Skip ( **** This stream allows the horn to be played at the same time  	**** )
				Priority ( 6 )
				Triggers ( 2
					Discrete_Trigger ( 8	StartLoopRelease ( 1	File ( "../../DF5/Sound/x_df5_horn.wav" -1 )	SelectionMethod ( SequentialSelection )	)	)
					Discrete_Trigger ( 9	ReleaseLoopReleaseWithJump ()	)

				)
                                FrequencyCurve( Variable1Controlled CurvePoints ( 2 0.0	44100 1.0 44100 ) Granularity ( 0.01 ) )                                
			)
			Stream (
				Skip ( **** This stream allows the horn to be played at the same time  	**** )
				Priority ( 6 )
				Triggers ( 1
					Discrete_Trigger ( 10	PlayOneShot ( 1	File ( "../../DF5/Sound/x_df5_bell.wav" -1 )	SelectionMethod ( SequentialSelection )	)	)
				)
                                FrequencyCurve( Variable1Controlled CurvePoints ( 2 0.0	44100 1.0 44100 ) Granularity ( 0.01 ) )
			)
			Stream (
				Skip ( **** This stream allows the sander to be played at the same time  	**** )				
				Priority ( 5 )			
				Triggers ( 2				
					Discrete_Trigger (  4	StartLoopRelease ( 1	File ( "../../DF5/Sound/x_df5_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 ( "../../DF5/Sound/x_df5_compressor.wav" -1 )	SelectionMethod ( SequentialSelection ) ) )
					Discrete_Trigger (  13	ReleaseLoopRelease () )	
				)
                                FrequencyCurve( Variable1Controlled CurvePoints ( 2 0.0	44100 1.0 44100 ) Granularity ( 0.01 ) )
			)
			Stream (
				Skip ( **** This stream allows the Train Brake & Independant Brakes to be played at the same time  	**** )
				Priority ( 5 )
				Triggers ( 5
					Skip ( **** NOTE: Need to check if correct waves used for apply/release  	**** )
					Skip ( ****       Assumes 3 = Release, 1 & 2 = Apply  	                  **** )
				  
				  Skip ( **** Tbrake 	**** )
				  Skip ( **** Release 	**** )
					Discrete_Trigger ( 14 	PlayOneShot ( 1 File ( "../../DF5/Sound/x_df5_airb_Auto_TB.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
				  Skip ( **** Apply {normal & emergency}	**** )
					Discrete_Trigger ( 53  	PlayOneShot ( 2 File ( "../../DF5/Sound/x_df5_airb_ind_TB.wav" -1 ) File ( "../../DF5/Sound/x_df5_airb_ind_TB.wav" -1 ) SelectionMethod ( RandomSelection ) ) )
					Discrete_Trigger ( 54 	PlayOneShot ( 2 File ( "../../DF5/Sound/x_df5_airb_ind_TB.wav" -1 ) File ( "../../DF5/Sound/x_df5_airb_ind_TB.wav" -1 ) SelectionMethod ( RandomSelection ) ) )
					
				  Skip ( **** Ibrake 	**** )
				  Skip ( **** Release 	**** )
					Discrete_Trigger ( 21 	PlayOneShot ( 1 File ( "../../DF5/Sound/x_df5_airb_Auto_TB.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
				  Skip ( **** Apply	**** )
					Discrete_Trigger ( 22  	PlayOneShot ( 2 File ( "../../DF5/Sound/x_df5_airb_ind_TB.wav" -1 ) File ( "../../DF5/Sound/x_df5_airb_ind.wav_TB" -1 ) SelectionMethod ( RandomSelection ) ) )
				)
                                FrequencyCurve( Variable1Controlled CurvePoints ( 2 0.0	44100 1.0 44100 ) Granularity ( 0.01 ) )
			)	
			Stream (
				Priority ( 5 )
				Triggers ( 6
					Discrete_Trigger ( 58 PlayOneShot ( 1 	File ( "../../DF5/Sound/x_df5_couple_auto.wav" -1 ) SelectionMethod (SequentialSelection) ) ) 
					Discrete_Trigger ( 59 PlayOneShot ( 1 	File ( "../../DF5/Sound/x_df5_couple_auto.wav" -1 ) SelectionMethod (SequentialSelection) ) ) 
					Discrete_Trigger ( 60 PlayOneShot ( 1 	File ( "../../DF5/Sound/x_df5_couple_auto.wav" -1 ) SelectionMethod (SequentialSelection) ) ) 
					Discrete_Trigger ( 61 PlayOneShot ( 1 	File ( "../../DF5/Sound/x_df5_uncouple_auto.wav" -1 ) SelectionMethod (SequentialSelection) ) ) 
					Discrete_Trigger ( 62 PlayOneShot ( 1 	File ( "../../DF5/Sound/x_df5_uncouple_auto.wav" -1 ) SelectionMethod (SequentialSelection) ) ) 
					Discrete_Trigger ( 63 PlayOneShot ( 1 	File ( "../../DF5/Sound/x_df5_uncouple_auto.wav" -1 ) SelectionMethod (SequentialSelection) ) ) 
				)
                                FrequencyCurve( Variable1Controlled CurvePoints ( 2 0.0	44100 1.0 44100 ) Granularity ( 0.01 ) )
			)
			Stream (
				Skip( **** Dynamic brakes **** )
				Skip( **** NOTE: First See comment for SL 3 Dynamic brake. ** )
				Skip( ****       I am going to continue using Method 2 outlined there for the moment, since I am not sure   ** )
				Skip( ****       if the waves we have will allow crossfading {due to the loop/release} - I may be able      ** )
				Skip( ****       to manage something using the play only one block feature { setting the number after       ** )
				Skip( ****       the filename to something other than	-1 }, But I will look at if I have more time.         ** )
				Priority ( 6 )
				Triggers ( 10
					Variable_Trigger ( Variable3_Inc_Past 0.05  StartLoopRelease   ( 1 File ( "../../DF5/Sound/x_df5_dynb.wav" -1 )   SelectionMethod ( SequentialSelection ) ) )
					Variable_Trigger ( Variable3_Dec_Past 0.05  ReleaseLoopRelease  () )
				)
				FrequencyCurve(
					Variable3Controlled
					CurvePoints ( 2
						  0.0		12025
						  1.0		17800
					)
					Granularity ( 100 )
				)
			)
		)
	)

	ScalabiltyGroup( 0
		Activation (	ExternalCam ()	PassengerCam () CabCam () Distance (1000)	)
		Deactivation (	)
		Streams ( 1
			Stream (
				Priority ( 6 )
				Triggers ( 1
					Variable_Trigger ( Distance_Dec_Past 120 PlayOneShot ( 1 File ( "../../DF5/Sound/x_df5_horn.wav" -1 )
					SelectionMethod ( SequentialSelection ) ) )
				)
                                FrequencyCurve( Variable1Controlled CurvePoints ( 2 0.0	44100 1.0 44100 ) Granularity ( 0.01 ) )
			)
		)
	)
)