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 ( 12
			Stream (
				Priority ( 6 )
				Triggers ( 3
					Initial_Trigger  (	StartLoop ( 1 File ( "../../DF7/Sound/x_df7_pc0.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
					Variable_Trigger 	( Variable2_Inc_Past	0.2	ReleaseLoopRelease () )
					Variable_Trigger 	( Variable2_Dec_Past	0.2	StartLoop ( 1 File ( "../../DF7/Sound/x_df7_pc0.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
				)
				FrequencyCurve(
					Variable2Controlled
					CurvePoints ( 2
						0.0		44100
						0.2		48000
					)
					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 ( "../../DF7/Sound/x_df7_pc1.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
					Variable_Trigger 	( Variable2_Inc_Past	0.9	ReleaseLoopReleaseWithJump () )
					Variable_Trigger 	( Variable2_Dec_Past	0.9	StartLoop ( 1 File ( "../../DF7/Sound/x_df7_pc1.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
					Variable_Trigger 	( Variable2_Dec_Past	0.01	ReleaseLoopReleaseWithJump () )
				)
				FrequencyCurve(
					Variable2Controlled
					CurvePoints ( 2
						0.0		35000
						0.8		60000
					)
					Granularity ( 25 )
				)
				VolumeCurve(
					Variable2Controlled
					CurvePoints ( 4
						0.0		0.0
						0.15		1.0
                                                0.75            1.0
                                                0.9             0.0
					)
					Granularity ( 0.05 )
				)
			)
			Stream(
				Priority ( 6 )
				Triggers ( 3
					Variable_Trigger 	( Variable2_Inc_Past	0.7	StartLoop ( 1 File ( "../../DF7/Sound/x_df7_pc2.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
					Variable_Trigger 	( Variable2_Dec_Past	0.7	ReleaseLoopReleaseWithJump () )
				)
				FrequencyCurve(
					Variable2Controlled
					CurvePoints ( 2
						0.8 		43000
						1.0		44100
					)
					Granularity ( 25 )
				)
				VolumeCurve(
					Variable2Controlled
					CurvePoints ( 2
						0.7		0.0
						0.85		1.0
					)
					Granularity ( 0.05 )
				)
			)
                        Stream (
				Priority ( 6 )
				Triggers ( 11
					Initial_Trigger  ( 			        StartLoop   ( 1 File ( "../../DF7/Sound/x_df7_turbo.wav" -1 )   SelectionMethod ( SequentialSelection ) ) )
                                
                                )
                                FrequencyCurve(
					Variable2Controlled
					CurvePoints ( 2
						0.1		7000
                                                1.0		24000  
					)
					Granularity ( 0.01 )
				)
				VolumeCurve(
					Variable2Controlled
					CurvePoints ( 2
						 0.0		0.0
                                                 0.5            1.0
					)
					Granularity ( 0.01 )
				)				
			)

                        Stream (			
				Priority ( 6 )			
				Triggers ( 7				
					Discrete_Trigger (  14	StartLoopRelease ( 1	File ( "../../DF7/Sound/x_df7_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 ( 1 ) )
				VolumeCurve(
					SpeedControlled
					CurvePoints ( 9
                                                   -80           0.0
						   -60           1.0
						   -1.0		 1.0
						   -0.1		 0.3
						    0.0		 0.0
						    0.1		 0.3
						    1.0		 1.0
                                                    60           1.0
                                                    80           0.0
					)
					Granularity ( 0.05 )
				)				
			)			

                        Stream (
				Priority ( 6 )                               
				Triggers ( 2
					Discrete_Trigger ( 8	StartLoopRelease ( 1	File ( "../../DF7/Sound/x_df7_horn.wav" -1 )	SelectionMethod ( SequentialSelection )	)	)
					Discrete_Trigger ( 9	ReleaseLoopRelease ()	)
				)
                           FrequencyCurve( Variable1Controlled CurvePoints ( 2 0.0	44100 1.0 44100 ) Granularity ( 1 ) )     
			)
			Stream (
				Skip ( **** This stream allows the horn to be played at the same time  	**** )
				Priority ( 6 )
				Triggers ( 2
					Discrete_Trigger ( 10	StartLoopRelease ( 1	File ( "../../DF7/Sound/x_df7_bell.wav" -1 )	SelectionMethod ( SequentialSelection )	)	)
					Discrete_Trigger ( 11 ReleaseLoopReleaseWithJump ()	)
				)
                           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 ( "df7_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 ( "../../DF7/Sound/x_df7_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 ( "../../DF7/Sound/x_df7_airb_Auto_TB.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
				  Skip ( **** Apply {normal & emergency}	**** )
					Discrete_Trigger ( 53  	PlayOneShot ( 1 File ( "../../DF7/Sound/x_df7_airb_ind_TB.wav" -1 ) SelectionMethod ( RandomSelection ) ) )
					Discrete_Trigger ( 54 	PlayOneShot ( 1 File ( "../../DF7/Sound/x_df7_airb_ind_TB.wav" -1 ) SelectionMethod ( RandomSelection ) ) )
					
				  Skip ( **** Ibrake 	**** )
				  Skip ( **** Release 	**** )
					Discrete_Trigger ( 21 	PlayOneShot ( 1 File ( "../../DF7/Sound/x_df7_airb_Auto_TB.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
				  Skip ( **** Apply	**** )
					Discrete_Trigger ( 22  	PlayOneShot ( 1 File ( "../../DF7/Sound/x_df7_airb_ind_TB.wav" -1 ) File ( "df7_airb_ind_TB.wav" -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 ( "../../DF7/Sound/x_df7_couple_auto.wav" -1 ) SelectionMethod (SequentialSelection) ) ) 
					Discrete_Trigger ( 59 PlayOneShot ( 1 	File ( "../../DF7/Sound/x_df7_couple_auto.wav" -1 ) SelectionMethod (SequentialSelection) ) ) 
					Discrete_Trigger ( 60 PlayOneShot ( 1 	File ( "../../DF7/Sound/x_df7_couple_auto.wav" -1 ) SelectionMethod (SequentialSelection) ) ) 
					Discrete_Trigger ( 61 PlayOneShot ( 1 	File ( "../../DF7/Sound/x_df7_uncouple_auto.wav" -1 ) SelectionMethod (SequentialSelection) ) ) 
					Discrete_Trigger ( 62 PlayOneShot ( 1 	File ( "../../DF7/Sound/x_df7_uncouple_auto.wav" -1 ) SelectionMethod (SequentialSelection) ) ) 
					Discrete_Trigger ( 63 PlayOneShot ( 1 	File ( "../../DF7/Sound/x_df7_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_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 )
				)
			)
		)
	)

	Skip ( ** SL 3 sounds - Two looping audio stream, idle wave and 3 moving 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				                                            	                         ** )
	ScalabiltyGroup( 3
		Activation (			ExternalCam ()			Distance    	(1000)		)
		Deactivation (		CabCam			()			PassengerCam	()			Distance    	(1000)		)
		Streams ( 7
			
			Stream (
				Skip ( **** This stream allows the horn to be played at the same time  	**** )
				Priority ( 6 )
				Triggers ( 2
					Discrete_Trigger ( 8	StartLoopRelease ( 1	File ( "../../DF7/Sound/x_df7_horn.wav" -1 )	SelectionMethod ( SequentialSelection )	)	)
					Discrete_Trigger ( 9	ReleaseLoopReleaseWithJump ()	)
				)
			)
			Stream (
				Skip ( **** This stream allows the bell to be played at the same time  	**** )
				Priority ( 6 )
				Triggers ( 2
					Discrete_Trigger ( 10	StartLoopRelease ( 1	File ( "../../DF7/Sound/x_df7_recall.wav" -1 )	SelectionMethod ( SequentialSelection )	)	)
					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 ( "../../DF7/Sound/x_df7_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 ( "../../DF7/Sound/x_df7_compressor.wav" -1 )	SelectionMethod ( SequentialSelection ) ) )
					Discrete_Trigger (  13	ReleaseLoopRelease () )	
				)
			)
		)
	)

	Skip ( ** SL 1 sounds - One looping audio stream, idle wave and moving - pitch shifted by rpm     ** )
	Skip ( **             - One Horn audio stream				                                              ** )
	ScalabiltyGroup( 1
		Activation (			ExternalCam ()			Distance    	(1000)		)
		Deactivation (		CabCam			()			PassengerCam	()			Distance    	(1000)		)
		Streams ( 2
			
			Stream (
				Skip ( **** This stream allows the horn to be played at the same time  	**** )
				Priority ( 6 )
				Triggers ( 2
					Discrete_Trigger ( 8	StartLoopRelease ( 1	File ( "../../DF7/Sound/x_df7_horn.wav" -1 )	SelectionMethod ( SequentialSelection )	)	)
					Discrete_Trigger ( 9	ReleaseLoopReleaseWithJump ()	)
				)
			)
		)
	)

