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


Tr_SMS (

 Skip ( ** SL 5 sounds - Two looping audio streams, playing an pitch shifting loops by Chuff Speed {wheel rot} ** )
 Skip ( **             - One One shot Steam audio stream                ** )
 Skip ( **             - One Whistle audio stream                                                                         ** )
 Skip ( **             - One Bell audio stream                           ** )
      Skip ( **             - One Injector 1 audio stream                                                                              ** )
 Skip ( **             - One Injector 2 audio stream                                                                              ** )
 Skip ( **             - One Compressor audio stream                                                                      ** )
      Skip ( **             - One Sander audio stream                                                                              ** )
 Skip ( **             - One TBrake audio stream      ** )
 Skip ( **             - One Brake Loop audio stream                                                                              ** )
 Skip ( **             - One Safety Valve Loop audio stream                                                                              ** )
 Skip ( **             - One Water Trough Loop audio stream                                         ** )
 Skip ( **             - One Coupling audio stream                                                                          ** )
 
 Skip ( ** NOTE: This highest scalabily level used Paul W's method of pitch shifting and over laying differing      ** )
 Skip ( **       frequencies to cover the join.  Also using one shots at the low speeds.     ** )
 Skip ( **       And Setting the volume from a code generated volume value     ** )
 ScalabiltyGroup( 5
  Activation (
   ExternalCam ()   
   Distance    (1000)
  )
  Deactivation (
   CabCam  ()
   PassengerCam ()  
   Distance     (1000)
  )
  Streams ( 13
   Stream (
    Priority ( 6 )
    Triggers ( 3
     Initial_Trigger  ( StartLoop ( 1 File ( "x_PRR_power_cruise0.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )

     Variable_Trigger ( Speed_Inc_Past 2.0 ReleaseLoopRelease () )
     Variable_Trigger ( Speed_Dec_Past 2.0 StartLoop ( 1 File ( "x_PRR_power_cruise0.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
    )
    VolumeCurve ( 
     SpeedControlled
     
     CurvePoints ( 6
      0.0,  0.5
      0.4,  0.4
      0.8,  0.3
      1.2,  0.2
      1.6,  0.1
      2.0,   0.0
     )

     Granularity ( 0.01 )
    )   
   )
   Stream (
    Priority ( 6 )
    Triggers ( 16
     Variable_Trigger ( Speed_Inc_Past  .2 StartLoop ( 1 File ( "x_PRR_power_cruise1.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Inc_Past  5 ReleaseLoopRelease () ) 

     Variable_Trigger ( Speed_Inc_Past  8 StartLoop ( 1 File ( "x_PRR_power_cruise3.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Inc_Past 13 ReleaseLoopRelease () ) 

     Variable_Trigger ( Speed_Inc_Past  16 StartLoop ( 1 File ( "x_PRR_power_cruise5.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Inc_Past 21 ReleaseLoopRelease () ) 
     
     Variable_Trigger ( Speed_Inc_Past  24 StartLoop ( 1 File ( "x_PRR_power_cruise7.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Inc_Past  29 ReleaseLoopRelease () )     

     Variable_Trigger ( Speed_Dec_Past  29 StartLoop ( 1 File ( "x_PRR_power_cruise7.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Dec_Past   24 ReleaseLoopRelease () )     

     Variable_Trigger ( Speed_Dec_Past   21 StartLoop ( 1 File ( "x_PRR_power_cruise5.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Dec_Past   16 ReleaseLoopRelease () )     

     Variable_Trigger ( Speed_Dec_Past   13 StartLoop ( 1 File ( "x_PRR_power_cruise3.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Dec_Past   8 ReleaseLoopRelease () )     

     Variable_Trigger ( Speed_Dec_Past   5 StartLoop ( 1 File ( "x_PRR_power_cruise1.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Dec_Past   .2 ReleaseLoopRelease () )     
    )

    VolumeCurve ( 
     SpeedControlled
     
     CurvePoints ( 41
      0.0,  0.0
      0.2,  0.2
      0.4,  0.4
      0.6,  0.6
      0.8,  0.8
      1.0,  1.0
      4.2,  0.8
      4.4,  0.6
      4.6,  0.4
      4.8,  0.2
      5.0,  0.0

      8.2,  0.2
      8.4,  0.4
      8.6,  0.6
      8.8,  0.8
      9.0,  1.0
      12.2,  0.8
      12.4,  0.6
      12.6,  0.4
      12.8,  0.2
      13.0,  0.0

      16.2,  0.2
      16.4,  0.4
      16.6,  0.6
      16.8,  0.8
      17.0,  1.0
      20.2,  0.8
      20.4,  0.6
      20.6,  0.4
      20.8,  0.2
      21.0,  0.0

      24.2,  0.2
      24.4,  0.4
      24.6,  0.6
      24.8,  0.8
      25.0,  1.0
      28.2,  0.8
      28.4,  0.6
      28.6,  0.4
      28.8,  0.2
      29.0,  0.0
     )
     
     Granularity (0.01)
    )
   )
   Stream (
    Priority ( 6 )
    Triggers ( 14
     Variable_Trigger ( Speed_Inc_Past 4  StartLoop ( 1 File ( "x_PRR_power_cruise2.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Inc_Past 9  ReleaseLoopRelease () ) 

     Variable_Trigger ( Speed_Inc_Past 12 StartLoop ( 1 File ( "x_PRR_power_cruise4.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Inc_Past 17 ReleaseLoopRelease () )
     
     Variable_Trigger ( Speed_Inc_Past 20 StartLoop ( 1 File ( "x_PRR_power_cruise6.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Inc_Past 25 ReleaseLoopRelease () ) 

     Variable_Trigger ( Speed_Inc_Past   28 StartLoop ( 1 File ( "x_PRR_power_cruise8.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Dec_Past   28 ReleaseLoopRelease () )

     Variable_Trigger ( Speed_Dec_Past  25 StartLoop ( 1 File ( "x_PRR_power_cruise6.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Dec_Past  20 ReleaseLoopRelease () ) 

     Variable_Trigger ( Speed_Dec_Past  17 StartLoop ( 1 File ( "x_PRR_power_cruise4.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Dec_Past   12 ReleaseLoopRelease () ) 

     Variable_Trigger ( Speed_Dec_Past   9 StartLoop ( 1 File ( "x_PRR_power_cruise2.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Dec_Past   4 ReleaseLoopRelease () ) 
    )

    VolumeCurve ( 
     SpeedControlled
     
     CurvePoints ( 35
      
      4.2,   0.2
      4.4,  0.4
      4.6,  0.6
      4.8,  0.8
      5.0,  1.0
      8.2,  0.8
      8.4,  0.6
      8.6,  0.4
      8.8,  0.2
      9.0,  0.0
     
      12.2,  0.2
      12.4,  0.4
      12.6,  0.6
      12.8,  0.8
      13.0,  1.0
      16.2,  0.8
      16.4,  0.6
      16.6,  0.4
      16.8,  0.2
      17.0,  0.0

      20.2,  0.2
      20.4,  0.4
      20.6,  0.6
      20.8,  0.8
      21.0,  1.0
      24.2,  0.8
      24.4,  0.6
      24.6,  0.4
      24.8,  0.2
      25.0,  0.0

      28.2,  0.2
      28.4,  0.4
      28.6,  0.6
      28.8,  0.8
      29.0,  1.0
     )
     
     Granularity (0.01)
    )
   )
   Stream(
    Skip( **** Whistle sounds. **** )
    Priority( 6 )
    Volume ( 2 )
                        Triggers( 2     
     Discrete_Trigger ( 8  StartLoopRelease ( 1 File ( "X_PRR_whistle1.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 ( "x_PRR_air_bell1.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
     Discrete_Trigger ( 11 ReleaseLoopReleaseWithJump () )
    )
   )
                  Stream(
    Skip( **** Sanding sounds. **** )
    Priority( 5 )
    Volume ( 0.70 )
                        Triggers( 2     
     Discrete_Trigger ( 4  StartLoopRelease ( 1 File ( "x_PRR_sand.wav" -1  ) SelectionMethod ( SequentialSelection ) ) )
     Discrete_Trigger ( 5  ReleaseLoopRelease () )
    )  
   )
   Stream(
    Skip( **** Injector 1 operating sounds. **** )
    Priority( 6 )
    Volume(0.35)
    Triggers( 2    
     Discrete_Trigger ( 30  StartLoopRelease ( 1 File ( "x_PRR_inject1.wav" -1  ) SelectionMethod ( SequentialSelection ) ) )
     Discrete_Trigger ( 31  ReleaseLoopRelease () )
    )
   )   
   Stream(
    Skip( **** Injector 2 operating sounds. **** )
    Priority( 6 )
    Volume(0.35)
    Triggers( 2    
     Discrete_Trigger ( 27  StartLoopRelease ( 1 File ( "x_PRR_inject2.wav" -1  ) SelectionMethod ( SequentialSelection ) ) )
     Discrete_Trigger ( 28  ReleaseLoopRelease () )
    )
   )   
   Stream (
    Skip ( **** Compressor **** )
    Priority ( 6 )
                        Volume ( 0.8 )
    Triggers ( 2
      
     Discrete_Trigger (  12 
      PlayOneShot ( 1 
       File ( "x_PRR_hudson_compressor.wav" -1 ) 
       SelectionMethod ( SequentialSelection ) 
      ) 
     )
                              Discrete_Trigger (  54 
      PlayOneShot ( 1 
       File ( "x_PRR_hudson_compressor.wav" -1 ) 
       SelectionMethod ( SequentialSelection ) 
      ) 
     )
    )
   )
                  Stream(
    Skip( **** Safety Valve sounds. **** )
    Priority( 5 )
    Triggers( 2    
     Discrete_Trigger ( 42  StartLoopRelease ( 1 File ( "x_PRR_safety.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
     Discrete_Trigger ( 43  ReleaseLoopRelease () )
    )
   ) 
   Stream (
    Skip ( **** This stream allows the Train Brake & Independant Brakes to be played at the same time   **** )
    Priority ( 5 )
                        Volume ( 0.75 )
    Triggers ( 2
     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 ( 54  PlayOneShot ( 1 File ( "x_PRR_abrake3.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
      Skip ( **** Apply {normal & emergency} **** )
     Discrete_Trigger ( 14   PlayOneShot ( 2 File ( "x_PRR_abrake1.wav" -1 ) File ( "x_PRR_abrake2.wav" -1 ) SelectionMethod ( RandomSelection ) ) )
    )
   )
   Stream(
    Skip( **** Water scoop sounds. **** )
    Priority( 6 )
    Triggers( 2    
     Discrete_Trigger ( 38  StartLoopRelease ( 3
      File ( "x_fuel_xfer_wtr1t.wav" -1 ) 
      File ( "x_fuel_xfer_wtr2t.wav" -1 ) 
      File ( "x_fuel_xfer_wtr3t.wav" -1 ) 
      SelectionMethod ( RandomSelection ) ) 
     )
     Discrete_Trigger ( 39  ReleaseLoopRelease () )
    )
   )   
   Stream (
    Skip( **** {un}Coupling sounds. **** )
    Priority ( 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) ) ) 
    )
   )
  )
 )
 
 Skip ( ** SL 3 sounds - Two looping audio stream, idle wave and moving waves - pitch shifted & Xfaded by Chuff Speed {wheel rot} ** )
 Skip ( **             - One Whistle audio stream                                                                         ** )
 Skip ( **             - One Bell audio stream                           ** )
      Skip ( **             - One Injector 1 audio stream                                                                              ** )
 Skip ( **             - One Injector 2 audio stream                                                                              ** )
 Skip ( **             - One Compressor audio stream                                                                      ** )
      Skip ( **             - One Sander audio stream                                                                              ** )
 Skip ( **             - One TBrake audio stream      ** )
 Skip ( **             - One Brake Loop audio stream                                                                              ** )
 Skip ( **             - One Safety Valve Loop audio stream                                                                              ** )
 Skip ( **             - Water Trough Loop audio stream                                                                              ** )
 ScalabiltyGroup( 3
  Activation (
   ExternalCam ()   
   Distance    (1000)
  )
  Deactivation (
   CabCam  ()
   PassengerCam ()  
   Distance     (1000)
  )
  Streams ( 12
   Stream (
    Priority ( 6 )
    Triggers ( 3
     Initial_Trigger  ( StartLoop ( 1 File ( "x_PRR_power_cruise0.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )

     Variable_Trigger ( Speed_Inc_Past 2.0 ReleaseLoopRelease () )
     Variable_Trigger ( Speed_Dec_Past 2.0 StartLoop ( 1 File ( "x_PRR_power_cruise0.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
    )
    VolumeCurve ( 
     SpeedControlled
     
     CurvePoints ( 6
      0.0,  0.5
      0.4,  0.4
      0.8,  0.3
      1.2,  0.2
      1.6,  0.1
      2.0,   0.0
     )

     Granularity ( 0.01 )
    )   
   )
   Stream (
    Priority ( 6 )
    Triggers ( 16
     Variable_Trigger ( Speed_Inc_Past  .2 StartLoop ( 1 File ( "x_PRR_power_cruise1.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Inc_Past  5 ReleaseLoopRelease () ) 

     Variable_Trigger ( Speed_Inc_Past  8 StartLoop ( 1 File ( "x_PRR_power_cruise3.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Inc_Past 13 ReleaseLoopRelease () ) 

     Variable_Trigger ( Speed_Inc_Past  16 StartLoop ( 1 File ( "x_PRR_power_cruise5.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Inc_Past 21 ReleaseLoopRelease () ) 
     
     Variable_Trigger ( Speed_Inc_Past  24 StartLoop ( 1 File ( "x_PRR_power_cruise7.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Inc_Past  29 ReleaseLoopRelease () )     

     Variable_Trigger ( Speed_Dec_Past  29 StartLoop ( 1 File ( "x_PRR_power_cruise7.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Dec_Past   24 ReleaseLoopRelease () )     

     Variable_Trigger ( Speed_Dec_Past   21 StartLoop ( 1 File ( "x_PRR_power_cruise5.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Dec_Past   16 ReleaseLoopRelease () )     

     Variable_Trigger ( Speed_Dec_Past   13 StartLoop ( 1 File ( "x_PRR_power_cruise3.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Dec_Past   8 ReleaseLoopRelease () )     

     Variable_Trigger ( Speed_Dec_Past   5 StartLoop ( 1 File ( "x_PRR_power_cruise1.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Dec_Past   .2 ReleaseLoopRelease () )     
    )

    VolumeCurve ( 
     SpeedControlled
     
     CurvePoints ( 41
      0.0,  0.0
      0.2,  0.2
      0.4,  0.4
      0.6,  0.6
      0.8,  0.8
      1.0,  1.0
      4.2,  0.8
      4.4,  0.6
      4.6,  0.4
      4.8,  0.2
      5.0,  0.0

      8.2,  0.2
      8.4,  0.4
      8.6,  0.6
      8.8,  0.8
      9.0,  1.0
      12.2,  0.8
      12.4,  0.6
      12.6,  0.4
      12.8,  0.2
      13.0,  0.0

      16.2,  0.2
      16.4,  0.4
      16.6,  0.6
      16.8,  0.8
      17.0,  1.0
      20.2,  0.8
      20.4,  0.6
      20.6,  0.4
      20.8,  0.2
      21.0,  0.0

      24.2,  0.2
      24.4,  0.4
      24.6,  0.6
      24.8,  0.8
      25.0,  1.0
      28.2,  0.8
      28.4,  0.6
      28.6,  0.4
      28.8,  0.2
      29.0,  0.0
     )
     
     Granularity (0.01)
    )
   )
   Stream (
    Priority ( 6 )
    Triggers ( 14
     Variable_Trigger ( Speed_Inc_Past 4  StartLoop ( 1 File ( "x_PRR_power_cruise2.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Inc_Past 9  ReleaseLoopRelease () ) 

     Variable_Trigger ( Speed_Inc_Past 12 StartLoop ( 1 File ( "x_PRR_power_cruise4.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Inc_Past 17 ReleaseLoopRelease () )
     
     Variable_Trigger ( Speed_Inc_Past 20 StartLoop ( 1 File ( "x_PRR_power_cruise6.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Inc_Past 25 ReleaseLoopRelease () ) 

     Variable_Trigger ( Speed_Inc_Past   28 StartLoop ( 1 File ( "x_PRR_power_cruise8.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Dec_Past   28 ReleaseLoopRelease () )

     Variable_Trigger ( Speed_Dec_Past  25 StartLoop ( 1 File ( "x_PRR_power_cruise6.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Dec_Past  20 ReleaseLoopRelease () ) 

     Variable_Trigger ( Speed_Dec_Past  17 StartLoop ( 1 File ( "x_PRR_power_cruise4.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Dec_Past   12 ReleaseLoopRelease () ) 

     Variable_Trigger ( Speed_Dec_Past   9 StartLoop ( 1 File ( "x_PRR_power_cruise2.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Dec_Past   4 ReleaseLoopRelease () ) 
    )

    VolumeCurve ( 
     SpeedControlled
     
     CurvePoints ( 35
      
      4.2,   0.2
      4.4,  0.4
      4.6,  0.6
      4.8,  0.8
      5.0,  1.0
      8.2,  0.8
      8.4,  0.6
      8.6,  0.4
      8.8,  0.2
      9.0,  0.0
     
      12.2,  0.2
      12.4,  0.4
      12.6,  0.6
      12.8,  0.8
      13.0,  1.0
      16.2,  0.8
      16.4,  0.6
      16.6,  0.4
      16.8,  0.2
      17.0,  0.0

      20.2,  0.2
      20.4,  0.4
      20.6,  0.6
      20.8,  0.8
      21.0,  1.0
      24.2,  0.8
      24.4,  0.6
      24.6,  0.4
      24.8,  0.2
      25.0,  0.0

      28.2,  0.2
      28.4,  0.4
      28.6,  0.6
      28.8,  0.8
      29.0,  1.0
     )
     
     Granularity (0.01)
    )
   )
   Stream(
    Skip( **** Whistle sounds. **** )
    Priority( 6 )
    Volume ( 2 )
                        Triggers( 2     
     Discrete_Trigger ( 8  StartLoopRelease ( 1 File ( "x_PRR_whistle1.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 ( "x_PRR_air_bell1.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
     Discrete_Trigger ( 11 ReleaseLoopReleaseWithJump () )
    )
   )
                  Stream(
    Skip( **** Sanding sounds. **** )
    Priority( 5 )
                        Volume ( 0.70 )
    Triggers( 2     
     Discrete_Trigger ( 4  StartLoopRelease ( 1 File ( "x_PRR_sand.wav" -1  ) SelectionMethod ( SequentialSelection ) ) )
     Discrete_Trigger ( 5  ReleaseLoopRelease () )
    )  
   )
   Stream (
    Skip ( **** Compressor **** )
    Priority ( 5 )
                        Volume ( 0.6 )
    Triggers ( 2
      
     Discrete_Trigger (  12 
      PlayOneShot ( 1 
       File ( "x_PRR_hudson_compressor.wav" -1 ) 
       SelectionMethod ( SequentialSelection ) 
      ) 
     )
                              Discrete_Trigger (  54 
      PlayOneShot ( 1 
       File ( "x_PRR_hudson_compressor.wav" -1 ) 
       SelectionMethod ( SequentialSelection ) 
      ) 
     )
    )
   )
                  Stream(
    Skip( **** Injector 1 operating sounds. **** )
    Priority( 6 )
    Volume(0.25)
    Triggers( 2    
     Discrete_Trigger ( 30  StartLoopRelease ( 1 File ( "x_PRR_inject1.wav" -1  ) SelectionMethod ( SequentialSelection ) ) )
     Discrete_Trigger ( 31  ReleaseLoopRelease () )
    )
   )   
   Stream(
    Skip( **** Injector 2 operating sounds. **** )
    Priority( 6 )
    Volume(0.25)
    Triggers( 2    
     Discrete_Trigger ( 27  StartLoopRelease ( 1 File ( "x_PRR_inject2.wav" -1  ) SelectionMethod ( SequentialSelection ) ) )
     Discrete_Trigger ( 28  ReleaseLoopRelease () )
    )
   )   
   Stream(
    Skip( **** Safety Valve sounds. **** )
    Priority( 5 )
    Triggers( 2    
     Discrete_Trigger ( 42  StartLoopRelease ( 1 File ( "x_PRR_safety.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
     Discrete_Trigger ( 43  ReleaseLoopRelease () )
    )
   ) 
   Stream (
    Skip ( **** This stream allows the Train Brake & Independant Brakes to be played at the same time   **** )
    Priority ( 5 )
    Triggers ( 2
     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 ( 54  PlayOneShot ( 1 File ( "x_PRR_abrake3.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
      Skip ( **** Apply {normal & emergency} **** )
     Discrete_Trigger ( 14   PlayOneShot ( 2 File ( "x_PRR_abrake1.wav" -1 ) File ( "x_PRR_abrake2.wav" -1 ) SelectionMethod ( RandomSelection ) ) )
    )
   )
   Stream(
    Skip( **** Water scoop sounds. **** )
    Priority( 6 )
    Triggers( 2    
     Discrete_Trigger ( 38  StartLoopRelease ( 1 File ( "x_fuel_xfer_wtr1t.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
     Discrete_Trigger ( 39  ReleaseLoopRelease () )
    )
   )   
  )
 )

 Skip ( ** SL 1 sounds - One looping audio stream, idle wave and low, medium & high speed          ** )
 Skip ( **             - One whistle audio stream                                                 ** )
 ScalabiltyGroup( 1
  Activation (   ExternalCam ()   Distance     (1000)  )
  Deactivation (  CabCam   ()   PassengerCam ()   Distance     (1000)  )
  Streams ( 2
   Stream (
    Priority ( 6 )
    Triggers ( 13
     Skip( **** The engine/current related sounds **** )
     Initial_Trigger  ( StartLoop   ( 1 File ( "x_PRR_power_cruise0.wav" -1 )   SelectionMethod ( SequentialSelection ) ) )
     
     Variable_Trigger ( Speed_Inc_Past    2.0 ReleaseLoopRelease () )
     Variable_Trigger ( Speed_Inc_Past    2.0 StartLoop   ( 1 File ( "x_PRR_power_cruise2.wav" -1 )   SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Inc_Past    10.0 ReleaseLoopRelease () )    
     Variable_Trigger ( Speed_Inc_Past    10.0 StartLoop   ( 1 File ( "x_PRR_power_cruise4.wav" -1 )   SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Inc_Past    20.0 ReleaseLoopRelease () )     
     Variable_Trigger ( Speed_Inc_Past    20.0 StartLoop   ( 1 File ( "x_PRR_power_cruise6.wav" -1 )   SelectionMethod ( SequentialSelection ) ) )
     
     Variable_Trigger ( Speed_Dec_Past    20.0 ReleaseLoopRelease () )     
     Variable_Trigger ( Speed_Dec_Past    20.0 StartLoop   ( 1 File ( "x_PRR_power_cruise4.wav" -1 )   SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Dec_Past    10.0 ReleaseLoopRelease () )     
     Variable_Trigger ( Speed_Dec_Past    10.0 StartLoop   ( 1 File ( "x_PRR_power_cruise2.wav" -1 )   SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Dec_Past    2.0 ReleaseLoopRelease () )     
     Variable_Trigger ( Speed_Dec_Past    2.0 StartLoop   ( 1 File ( "x_PRR_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 ( "x_PRR_whistle1.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
     Discrete_Trigger ( 9 ReleaseLoopReleaseWithJump () )
    )
   )
  )
 )

 Skip( **** ******************************************* **** )
 Skip( **** Copy of Generic Steam SMS Used for SL 0     **** )
 Skip( **** ******************************************* **** )

 ScalabiltyGroup( 0
  Activation ( ExternalCam () Distance     (500) )
  Deactivation (CabCam ()   PassengerCam () Distance     (500) )
  Streams ( 1
   Stream (
    Priority ( 4 )
    Triggers ( 6
     Variable_Trigger ( Speed_Inc_Past   1.0 StartLoop   ( 1 File ( "a_s_comp1.wav" -1 )   SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Inc_Past  40.0 StartLoop   ( 1 File ( "a_s_comp2.wav" -1 )   SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Inc_Past  40.0 ReleaseLoopRelease () )     
     Variable_Trigger ( Speed_Dec_Past  39.0 StartLoop   ( 1 File ( "a_s_comp1.wav" -1 )   SelectionMethod ( SequentialSelection ) ) )
     Variable_Trigger ( Speed_Dec_Past  39.0 ReleaseLoopRelease () )     
     Variable_Trigger ( Speed_Dec_Past   1.0 ReleaseLoopRelease () )     
    )
   )
  )
 )
)







