<TangentDevices>

  <!-- SpeedGrade will automatically activate states in this group -->
  <!-- based on the currently active properties panel page -->
  <!-- we will "translate" these states into more general ones, -->
  <!-- like "grading" or "mask" -->

  <StateGroup>
    <Name>"GUI_PropertiesPanel"</Name>

    <State>
      <Name>"Inactive"</Name>

      <OnActivate>"
        SetState(Trackerball.Other);
        SetState(EncoderPanel.Off);
        SetState(WAVE.Inactive)"
      </OnActivate>

      <DisplayText><Display>"Tangent0.Display0.Line0"</Display><Text>""</Text></DisplayText>
    </State>

    <State>
      <Name>"Shadows"</Name>

      <OnActivate>"
        SetState(Trackerball.Grading);
        SetState(EncoderPanel.Grading_Shadows);
        SetState(WAVE.Grading);
        SetState(WAVE.Grading.Shadows)"
      </OnActivate>

      <DisplayText><Display>"Tangent0.Display0.Line0"</Display><Text>"Shadows"</Text></DisplayText>
    </State>

    <State>
      <Name>"Midtones"</Name>

      <OnActivate>"
        SetState(Trackerball.Grading);
        SetState(EncoderPanel.Grading_Midtones);
        SetState(WAVE.Grading);
        SetState(WAVE.Grading.Midtones)"
      </OnActivate>

      <DisplayText><Display>"Tangent0.Display0.Line0"</Display><Text>"Midtones"</Text></DisplayText>
    </State>

    <State>
      <Name>"Highlights"</Name>

      <OnActivate>"
        SetState(Trackerball.Grading);
        SetState(EncoderPanel.Grading_Highlights);
        SetState(WAVE.Grading);
        SetState(WAVE.Grading.Highlights)"
      </OnActivate>

      <DisplayText><Display>"Tangent0.Display0.Line0"</Display><Text>"Highlights"</Text></DisplayText>
    </State>

    <State>
      <Name>"Overall"</Name>

      <OnActivate>"
        SetState(Trackerball.Grading);
        SetState(EncoderPanel.Grading_Overall);
        SetState(WAVE.Grading);
        SetState(WAVE.Grading.Overall)"
      </OnActivate>

      <DisplayText><Display>"Tangent0.Display0.Line0"</Display><Text>"Overall"</Text></DisplayText>
    </State>

    <State>
      <Name>"Secondary"</Name>

      <OnActivate>"
        SetState(Trackerball.Secondaries);
        SetState(EncoderPanel.Grading_Secondaries);
        SetState(WAVE.Grading);
        SetState(WAVE.Grading.Secondaries)"
      </OnActivate>

      <DisplayText><Display>"Tangent0.Display0.Line0"</Display><Text>"Secondaries"</Text></DisplayText>
    </State>

    <State>
      <Name>"Mask"</Name>

      <OnActivate>"
        SetState(Trackerball.Mask);
        SetState(EncoderPanel.Mask);
        SetState(WAVE.Mask)"
      </OnActivate>

      <DisplayText><Display>"Tangent0.Display0.Line0"</Display><Text>"Mask"</Text></DisplayText>
    </State>

    <State>
      <Name>"Pan & Scan"</Name>

      <OnActivate>"
        SetState(Trackerball.PanAndScan);
        SetState(EncoderPanel.PanAndScan);
        SetState(WAVE.PanAndScan)"
      </OnActivate>

      <DisplayText><Display>"Tangent0.Display0.Line0"</Display><Text>"Pan & Scan"</Text></DisplayText>
    </State>

    <State>
      <Name>"Stereo 3D"</Name>

      <OnActivate>"
        SetState(Trackerball.StereoPanel);
        SetState(EncoderPanel.Other);
        SetState(WAVE.StereoPanel)"
      </OnActivate>

      <DisplayText><Display>"Tangent0.Display0.Line0"</Display><Text>"Stereo"</Text></DisplayText>
    </State>

    <!-- these states don't have any controls -->
    <!-- we will redirect them to a virtual state "other" -->

    <State><Name>"Timeline"</Name><OnActivate>"SetState(GUI_PropertiesPanel.Other)"</OnActivate><DisplayText><Display>"Tangent0.Display0.Line0"</Display><Text>"Timeline"</Text></DisplayText></State>
    <State><Name>"Clip"</Name><OnActivate>"SetState(GUI_PropertiesPanel.Other)"</OnActivate><DisplayText><Display>"Tangent0.Display0.Line0"</Display><Text>"Clip"</Text></DisplayText></State>
    <State><Name>"Annotations"</Name><OnActivate>"SetState(GUI_PropertiesPanel.Other)"</OnActivate><DisplayText><Display>"Tangent0.Display0.Line0"</Display><Text>"Annotations"</Text></DisplayText></State>
    <State><Name>"Audio"</Name><OnActivate>"SetState(GUI_PropertiesPanel.Other)"</OnActivate><DisplayText><Display>"Tangent0.Display0.Line0"</Display><Text>"Audio"</Text></DisplayText></State>

    <State>
      <Name>"Other"</Name>

      <OnActivate>"
        SetState(Trackerball.Other);
        SetState(EncoderPanel.Off);
        SetState(WAVE.Grading.Other)"
      </OnActivate>

      
    </State>

  </StateGroup>

  <!-- SpeedGrade will automatically activate states in this group -->
  <!-- based on the currently active tab in the stereo properties page -->

  <StateGroup>
    <Name>"GUI_StereoPanel"</Name>

    <State>
      <!-- this helper state will be active from the start, and it ensures -->
      <!-- proper initialization of the other ones once the stereo panel is activated -->
      <Name>"Init"</Name>
    </State>

    <State>
      <Name>"Reel Setup"</Name>
      <OnActivate>"
        SetState(Trackerball.StereoPanel.ReelSetup);
        SetState(WAVE.StereoPanel.ReelSetup)"
      </OnActivate>
    </State>
    <State>
      <Name>"Geometry"</Name>
      <OnActivate>"
        SetState(Trackerball.StereoPanel.ReelGeometry);
        SetState(WAVE.StereoPanel.ReelGeometry)"
      </OnActivate>
    </State>
    <State>
      <Name>"Adjust"</Name>
      <OnActivate>"
        SetState(Trackerball.StereoPanel.Adjust);
        SetState(WAVE.StereoPanel.Adjust)"
      </OnActivate>
    </State>
    <State>
      <Name>"Floating Window"</Name>
      <OnActivate>"
        SetState(Trackerball.StereoPanel.FloatingWindow);
        SetState(WAVE.StereoPanel.FloatingWindow)"
      </OnActivate>
    </State>
  </StateGroup>

  <!-- ********************* -->
  <!-- CP200-BK Trackerball  -->
  <!-- ********************* -->

  <!-- the Alt key is on Tangent1 but applies to Tangent0 as well -->
  <!-- this basic Alt binding will be overridden in other state groups -->

  <Bind>
    <Key>"Tangent1.Alt"</Key>
    <Down>"
      SetEncoderSpeed(10);
      SetState(TransportSoft.Alt)"
    </Down>
    <Up>"
      SetEncoderSpeed(1);
      SetState(TransportSoft.Normal)"
    </Up>
  </Bind>
    
  <Bind>
    <Key>"Tangent1.More"</Key>
    <Down>"SetState(TransportSoft.More)"</Down>
    <Up>"SetState(TransportSoft.Normal)"</Up>
  </Bind>

  <!-- the F1 - F6 keys will be used to select property pages -->

  <Bind>
    <Key>"Tangent0.F1"</Key>
    <Down>"Command(Property_Window.PreviousPage)"</Down>
  </Bind>
  <Bind>
    <Key>"Tangent0.F2"</Key>
    <Down>"Command(Property_Window.SetCurrentPage, Overall)"</Down>
  </Bind>
  <Bind>
    <Key>"Tangent0.F2"</Key>
    <Modifier>"Tangent1.Alt"</Modifier>
    <Down>"Command(Property_Window.SetCurrentPage, Secondary)"</Down>
  </Bind>
  <Bind>
    <Key>"Tangent0.F3"</Key>
    <Down>"Command(Property_Window.NextPage)"</Down>
  </Bind>

  <Bind>
    <Key>"Tangent0.F4"</Key>
    <Down>"Command(Property_Window.SetCurrentPage, Shadows)"</Down>
  </Bind>
  <Bind>
    <Key>"Tangent0.F5"</Key>
    <Down>"Command(Property_Window.SetCurrentPage, Midtones)"</Down>
  </Bind>
  <Bind>
    <Key>"Tangent0.F6"</Key>
    <Down>"Command(Property_Window.SetCurrentPage, Highlights)"</Down>
  </Bind>
  
  <StateGroup>
<!--

1234567890123456789012345678901234567890
XXXXXXXX++++++++XXXXXXXX++++++++XXXXXXXX
  
-->

    <Name>"TransportSoft"</Name>
    <State>
       <Name>"Normal"</Name>
       <DisplayText>
         <Display>"Tangent1.Display0.Line0"</Display>
         <Text>"Add:               Layers:"</Text>
       </DisplayText>
       
       <DisplayText>
         <Display>"Tangent1.Display0.Line1"</Display>
         <Text>"Primary  Second.   Up     Down    Remove"</Text>
       </DisplayText>
    </State>
    <State>
       <Name>"Alt"</Name>
       <DisplayText>
         <Display>"Tangent1.Display0.Line0"</Display>
         <Text>"Gray Out"</Text>
       </DisplayText>
       
       <DisplayText>
         <Display>"Tangent1.Display0.Line1"</Display>
         <Text>"  Gray   White   Black            Off"</Text>
       </DisplayText>
    </State>
    
    <State>
       <Name>"More"</Name>
       <DisplayText>
         <Display>"Tangent1.Display0.Line0"</Display>
         <Text>"Commands"</Text>
       </DisplayText>
       
       <DisplayText>
         <Display>"Tangent1.Display0.Line1"</Display>
         <Text>"Desktop         Hide UI Reels  Zoom Fit"</Text>
       </DisplayText>
    </State>
  </StateGroup>

  <StateGroup>
    <Name>"Trackerball"</Name>

    <!-- ********************* -->
    <!-- Grading -->
    <!-- ********************* -->

    <State>
      <Name>"Grading"</Name>

      <!-- the trackballs -->

      <!-- offset -->
      <Bind>
        <Trackball>"Tangent0.Encoder0, Tangent0.Encoder1, Tangent0.Encoder2"</Trackball>
        <Scale>"0.15,0.15,0.8"</Scale>
        <HWColor>"0"</HWColor>
      </Bind>
      <Bind>
        <Key>"Tangent0.ResetColor1"</Key>
        <Down>"Command(Grading_Interface.ResetHWColorHS, 0)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent0.ResetRing1"</Key>
        <Down>"Command(Grading_Interface.ResetHWColorL, 0)"</Down>
      </Bind>

      <!-- gamma -->
      <Bind>
        <Trackball>"Tangent0.Encoder3, Tangent0.Encoder4, Tangent0.Encoder5"</Trackball>
        <HWColor>"1"</HWColor>
      </Bind>
      <Bind>
        <Key>"Tangent0.ResetColor2"</Key>
        <Down>"Command(Grading_Interface.ResetHWColorHS, 1)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent0.ResetRing2"</Key>
        <Down>"Command(Grading_Interface.ResetHWColorL, 1)"</Down>
      </Bind>

      <!-- gain -->
      <Bind>
        <Trackball>"Tangent0.Encoder6, Tangent0.Encoder7, Tangent0.Encoder8"</Trackball>
        <Scale>"1.0,1.0,3"</Scale>
        <HWColor>"2"</HWColor>
      </Bind>
      <Bind>
        <Key>"Tangent0.ResetColor3"</Key>
        <Down>"Command(Grading_Interface.ResetHWColorHS, 2)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent0.ResetRing3"</Key>
        <Down>"Command(Grading_Interface.ResetHWColorL, 2)"</Down>
      </Bind>

     <!-- the F7 - F9 keys will be used to for selecting Mask and Alpha modes -->

      <Bind>
        <Key>"Tangent0.F7"</Key>
        <Down>"Command(Masks.Ignore)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent0.F7"</Key>
        <Modifier>"Tangent1.Alt"</Modifier>
        <Down>"Command(Alpha.Ignore)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent0.F8"</Key>
        <Down>"Command(Masks.Inside)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent0.F8"</Key>
        <Modifier>"Tangent1.Alt"</Modifier>
        <Down>"Command(Alpha.Inside)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent0.F9"</Key>
        <Down>"Command(Masks.Outside)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent0.F9"</Key>
        <Modifier>"Tangent1.Alt"</Modifier>
        <Down>"Command(Alpha.Outside)"</Down>
      </Bind>

      <!-- more specific Alt binding -->

      <Bind>
        <Key>"Tangent1.Alt"</Key>
        <Down>"
          SetState(Trackerball.Grading.Alt.Down);
          SetEncoderSpeed(10);
          SetState(TransportSoft.Alt)"
        </Down>
        <Up>"
          SetState(Trackerball.Grading.Alt.Up);
          SetEncoderSpeed(1);
          SetState(TransportSoft.Normal)"
        </Up>
      </Bind>

      <!-- states in this group will be active based on the Alt key being up or down -->
      <!-- note: the key bindings in these groups could be specified outside the groups, -->
      <!-- but placing them near the knobs they reset makes more sense -->

      <StateGroup>
        <Name>"Alt"</Name>

        <State>
          <Name>"Up"</Name>

          <DisplayText>
            <Display>"Tangent0.Display0.Line1"</Display>
            <Text>"  Saturation     Pivot       Contrast"</Text>
          </DisplayText>

          <!-- bindings for the 3 knobs at the top + their reset buttons -->

          <Bind>
            <Encoder>"Tangent0.Encoder9"</Encoder>    <!-- left knob -->
            <HWValue>"0"</HWValue>                    <!-- saturation -->
          </Bind>
          <Bind>
            <Key>"Tangent0.ResetKnob1"</Key>
            <Down>"Command(Grading_Interface.ResetHWValue, 0)"</Down>
          </Bind>
          <Bind>
            <Encoder>"Tangent0.Encoder10"</Encoder>    <!-- middle knob -->
            <HWValue>"1"</HWValue>                    <!-- pivot -->
          </Bind>
          <Bind>
            <Key>"Tangent0.ResetKnob2"</Key>
            <Down>"Command(Grading_Interface.ResetHWValue, 1)"</Down>
          </Bind>
          <Bind>
            <Encoder>"Tangent0.Encoder11"</Encoder>    <!-- right knob -->
            <HWValue>"2"</HWValue>                    <!-- contrast -->
          </Bind>
          <Bind>
            <Key>"Tangent0.ResetKnob3"</Key>
            <Down>"Command(Grading_Interface.ResetHWValue, 2)"</Down>
          </Bind>

        </State>

        <State>
          <Name>"Down"</Name>

          <DisplayText>
            <Display>"Tangent0.Display0.Line1"</Display>
            <Text>" Temperature    Magenta        Gain"</Text>
          </DisplayText>

          <!-- bindings for the 3 knobs at the top + their reset buttons -->

          <Bind>
            <Encoder>"Tangent0.Encoder9"</Encoder>    <!-- left knob -->
            <HWValue>"3"</HWValue>                    <!-- temperature -->
          </Bind>
          <Bind>
            <Key>"Tangent0.ResetKnob1"</Key>
            <Modifier>"Tangent1.Alt"</Modifier>
            <Down>"Command(Grading_Interface.ResetHWValue, 3)"</Down>
          </Bind>
          <Bind>
            <Encoder>"Tangent0.Encoder10"</Encoder>    <!-- middle knob -->
            <HWValue>"4"</HWValue>                    <!-- magenta -->
          </Bind>
          <Bind>
            <Key>"Tangent0.ResetKnob2"</Key>
            <Modifier>"Tangent1.Alt"</Modifier>
            <Down>"Command(Grading_Interface.ResetHWValue, 4)"</Down>
          </Bind>
          <Bind>
            <Encoder>"Tangent0.Encoder11"</Encoder>    <!-- right knob -->
            <HWValue>"5"</HWValue>                    <!-- gain -->
          </Bind>
          <Bind>
            <Key>"Tangent0.ResetKnob3"</Key>
            <Modifier>"Tangent1.Alt"</Modifier>
            <Down>"Command(Grading_Interface.ResetHWValue, 5)"</Down>
          </Bind>

        </State>

      </StateGroup>

    </State>

    <!-- ********************* -->
    <!-- Secondaries -->
    <!-- ********************* -->

    <State>
      <Name>"Secondaries"</Name>

      <!-- the trackballs -->

      <!-- offset -->
      <Bind>
        <Trackball>"Tangent0.Encoder0, Tangent0.Encoder1, Tangent0.Encoder2"</Trackball>
	<Scale>"0.15,0.15,0.8"</Scale>
        <HWColor>"0"</HWColor>
      </Bind>
      <Bind>
        <Key>"Tangent0.ResetColor1"</Key>
        <Down>"Command(Grading_Interface.ResetHWColorHS, 0)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent0.ResetRing1"</Key>
        <Down>"Command(Grading_Interface.ResetHWColorL, 0)"</Down>
      </Bind>

      <!-- gamma -->
      <Bind>
        <Trackball>"Tangent0.Encoder3, Tangent0.Encoder4, Tangent0.Encoder5"</Trackball>
        <HWColor>"1"</HWColor>
      </Bind>
      <Bind>
        <Key>"Tangent0.ResetColor2"</Key>
        <Down>"Command(Grading_Interface.ResetHWColorHS, 1)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent0.ResetRing2"</Key>
        <Down>"Command(Grading_Interface.ResetHWColorL, 1)"</Down>
      </Bind>

      <!-- gain -->
      <Bind>
        <Trackball>"Tangent0.Encoder6, Tangent0.Encoder7, Tangent0.Encoder8"</Trackball>
	<Scale>"1.0,1.0,3"</Scale>
        <HWColor>"2"</HWColor>
      </Bind>
      <Bind>
        <Key>"Tangent0.ResetColor3"</Key>
        <Down>"Command(Grading_Interface.ResetHWColorHS, 2)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent0.ResetRing3"</Key>
        <Down>"Command(Grading_Interface.ResetHWColorL, 2)"</Down>
      </Bind>

      <!-- the F7 - F9 keys will be used to for selecting Mask and Alpha modes -->

      <Bind>
        <Key>"Tangent0.F7"</Key>
        <Down>"Command(Masks.Ignore)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent0.F7"</Key>
        <Modifier>"Tangent1.Alt"</Modifier>
        <Down>"Command(Alpha.Ignore)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent0.F8"</Key>
        <Down>"Command(Masks.Inside)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent0.F8"</Key>
        <Modifier>"Tangent1.Alt"</Modifier>
        <Down>"Command(Alpha.Inside)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent0.F9"</Key>
        <Down>"Command(Masks.Outside)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent0.F9"</Key>
        <Modifier>"Tangent1.Alt"</Modifier>
        <Down>"Command(Alpha.Outside)"</Down>
      </Bind>
 
      <!-- more specific Alt binding -->

      <Bind>
        <Key>"Tangent1.Alt"</Key>
        <Down>"
          SetState(Trackerball.Secondaries.Alt.Down);
          SetEncoderSpeed(10);
          SetState(TransportSoft.Alt)"
        </Down>
        <Up>"
          SetState(Trackerball.Secondaries.Alt.Up);
          SetEncoderSpeed(1);
          SetState(TransportSoft.Normal)"
        </Up>
      </Bind>

      <!-- states in this group will be active based on the Alt key being up or down -->
      <!-- note: the key bindings in these groups could be specified outside the groups, -->
      <!-- but placing them near the knobs they reset makes more sense -->

      <StateGroup>
        <Name>"Alt"</Name>

        <State>
          <Name>"Up"</Name>

          <DisplayText>
            <Display>"Tangent0.Display0.Line1"</Display>
            <Text>"  Saturation     Pivot       Contrast"</Text>
          </DisplayText>

          <!-- bindings for the 3 knobs at the top + their reset buttons -->

          <Bind>
            <Encoder>"Tangent0.Encoder9"</Encoder>	<!-- left knob -->
            <HWValue>"0"</HWValue>					<!-- saturation -->
          </Bind>
          <Bind>
            <Key>"Tangent0.ResetKnob1"</Key>
            <Down>"Command(Grading_Interface.ResetHWValue, 0)"</Down>
          </Bind>
          <Bind>
            <Encoder>"Tangent0.Encoder10"</Encoder>	<!-- middle knob -->
            <HWValue>"1"</HWValue>					<!-- pivot -->
          </Bind>
          <Bind>
            <Key>"Tangent0.ResetKnob2"</Key>
            <Down>"Command(Grading_Interface.ResetHWValue, 1)"</Down>
          </Bind>
          <Bind>
            <Encoder>"Tangent0.Encoder11"</Encoder>	<!-- right knob -->
            <HWValue>"2"</HWValue>					<!-- contrast -->
          </Bind>
          <Bind>
            <Key>"Tangent0.ResetKnob3"</Key>
            <Down>"Command(Grading_Interface.ResetHWValue, 2)"</Down>
          </Bind>

        </State>

        <State>
          <Name>"Down"</Name>

          <DisplayText>
            <Display>"Tangent0.Display0.Line1"</Display>
            <Text>" Temperature    Magenta        Gain"</Text>
          </DisplayText>

          <!-- bindings for the 3 knobs at the top + their reset buttons -->

          <Bind>
            <Encoder>"Tangent0.Encoder9"</Encoder>	<!-- left knob -->
            <HWValue>"3"</HWValue>					<!-- temperature -->
          </Bind>
          <Bind>
            <Key>"Tangent0.ResetKnob1"</Key>
            <Modifier>"Tangent1.Alt"</Modifier>
            <Down>"Command(Grading_Interface.ResetHWValue, 3)"</Down>
          </Bind>
          <Bind>
            <Encoder>"Tangent0.Encoder10"</Encoder>	<!-- middle knob -->
            <HWValue>"4"</HWValue>					<!-- magenta -->
          </Bind>
          <Bind>
            <Key>"Tangent0.ResetKnob2"</Key>
            <Modifier>"Tangent1.Alt"</Modifier>
            <Down>"Command(Grading_Interface.ResetHWValue, 4)"</Down>
          </Bind>
          <Bind>
            <Encoder>"Tangent0.Encoder11"</Encoder>	<!-- right knob -->
            <HWValue>"5"</HWValue>					<!-- gain -->
          </Bind>
          <Bind>
            <Key>"Tangent0.ResetKnob3"</Key>
            <Modifier>"Tangent1.Alt"</Modifier>
            <Down>"Command(Grading_Interface.ResetHWValue, 5)"</Down>
          </Bind>

        </State>

      </StateGroup>

    </State>

    <!-- ********************* -->
    <!-- Mask -->
    <!-- ********************* -->

    <State>
      <Name>"Mask"</Name>

      <DisplayText>
        <Display>"Tangent0.Display0.Line1"</Display>
        <Text>"   Skew X       Skew Y      Scale Prop"</Text>
      </DisplayText>

      <!-- the trackballs -->

      <!-- translation -->
      <Bind>
        <Trackball>"Tangent0.Encoder0, Tangent0.Encoder1"</Trackball>
        <Scale>"2.0,-2.0"</Scale>
        <MaskTransform>"Move"</MaskTransform>
      </Bind>
      <Bind>
        <Key>"Tangent0.ResetColor1"</Key>
        <Down>"Command(Masks.ResetTranslation)"</Down>
      </Bind>
      <Bind>
        <Trackball>"Tangent0.Encoder6, Tangent0.Encoder7"</Trackball>
        <Scale>"0.2,-0.2"</Scale>
        <MaskTransform>"Move"</MaskTransform>
      </Bind>

      <!-- rotation -->
      <Bind>
        <Encoder>"Tangent0.Encoder2"</Encoder>
        <Scale>"-1"</Scale>
        <MaskTransform>"Rotate"</MaskTransform>
      </Bind>
      <Bind>
        <Key>"Tangent0.ResetRing1"</Key>
        <Down>"Command(Masks.ResetRotation)"</Down>
      </Bind>

      <!-- scale X/Y -->
      <Bind>
        <Trackball>"Tangent0.Encoder3, Tangent0.Encoder4"</Trackball>
        <Scale>"0.4,0.4"</Scale>
        <MaskTransform>"Resize"</MaskTransform>
      </Bind>
      <Bind>
        <Key>"Tangent0.ResetColor2"</Key>
        <Down>"Command(Masks.ResetScale)"</Down>
      </Bind>

      <!-- proportional scale -->
      <Bind>
        <Encoder>"Tangent0.Encoder5"</Encoder>
        <MaskTransform>"Resize"</MaskTransform>
      </Bind>
      <Bind>
        <Key>"Tangent0.ResetRing2"</Key>
        <Down>"Command(Masks.ResetScale)"</Down>
      </Bind>

      <!-- feather -->
      <Bind>
        <Encoder>"Tangent0.Encoder8"</Encoder>
        <Scale>"10.0"</Scale>
        <MaskTransform>"ResizeFeather"</MaskTransform>
      </Bind>
      <Bind>
        <Key>"Tangent0.ResetRing3"</Key>
        <Down>"Command(Masks.ResetFeather)"</Down>
      </Bind>

      <!-- bindings for the 3 knobs at the top + their reset buttons -->

      <Bind>
        <Encoder>"Tangent0.Encoder9"</Encoder>    <!-- left knob -->
        <Scale>"-1"</Scale>
        <MaskTransform>"SkewX"</MaskTransform>
      </Bind>
      <Bind>
        <Key>"Tangent0.ResetKnob1"</Key>
        <Down>"Command(Masks.ResetSkewX)"</Down>
      </Bind>
      <Bind>
        <Encoder>"Tangent0.Encoder10"</Encoder>    <!-- middle knob -->
        <MaskTransform>"SkewY"</MaskTransform>
      </Bind>
      <Bind>
        <Key>"Tangent0.ResetKnob2"</Key>
        <Down>"Command(Masks.ResetSkewY)"</Down>
      </Bind>
      <Bind>
        <Encoder>"Tangent0.Encoder11"</Encoder>    <!-- right knob -->
        <MaskTransform>"Resize"</MaskTransform>
      </Bind>
      <Bind>
        <Key>"Tangent0.ResetKnob3"</Key>
        <Down>"Command(Masks.ResetScale)"</Down>
      </Bind>

      <!-- the F7 - F9 keys load mask presets -->

      <Bind>
        <Key>"Tangent0.F7"</Key>
        <Down>"Command(Masks.Remove)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent0.F8"</Key>
        <Down>"Command(Masks.Rectangle)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent0.F9"</Key>
        <Down>"Command(Masks.Vignette)"</Down>
      </Bind>

    </State>

    <!-- ********************* -->
    <!-- Pan & Scan -->
    <!-- ********************* -->

    <State>
      <Name>"PanAndScan"</Name>

      <DisplayText>
        <Display>"Tangent0.Display0.Line1"</Display>
        <Text>"   Move X       Move Y      Scale Prop"</Text>
      </DisplayText>

      <!-- the trackballs -->

      <!-- translation -->
      <Bind>
        <Trackball>"Tangent0.Encoder0, Tangent0.Encoder1"</Trackball>
        <Scale>"0.2,-0.2"</Scale>
        <PanAndScan>"Move"</PanAndScan>
      </Bind>
      <Bind>
        <Key>"Tangent0.ResetColor1"</Key>
        <Down>"Command(PanAndScan.ResetTranslation)"</Down>
      </Bind>

      <!-- rotation -->
      <Bind>
        <Encoder>"Tangent0.Encoder2"</Encoder>
        <Scale>"-0.1"</Scale>
        <PanAndScan>"Rotate"</PanAndScan>
      </Bind>
      <Bind>
        <Key>"Tangent0.ResetRing1"</Key>
        <Down>"Command(PanAndScan.ResetRotation)"</Down>
      </Bind>

      <!-- scale X/Y -->
      <Bind>
        <Trackball>"Tangent0.Encoder3, Tangent0.Encoder4"</Trackball>
        <Scale>"0.5"</Scale>
        <PanAndScan>"Resize"</PanAndScan>
      </Bind>
      <Bind>
        <Key>"Tangent0.ResetColor2"</Key>
        <Down>"Command(PanAndScan.ResetScale)"</Down>
      </Bind>

      <!-- proportional scale -->
      <Bind>
        <Encoder>"Tangent0.Encoder5"</Encoder>
        <Scale>"0.5"</Scale>
        <PanAndScan>"Resize"</PanAndScan>
      </Bind>
      <Bind>
        <Key>"Tangent0.ResetRing2"</Key>
        <Down>"Command(PanAndScan.ResetScale)"</Down>
      </Bind>

      <!-- bindings for the 3 knobs at the top + their reset buttons -->

      <Bind>
        <Trackball>"Tangent0.Encoder9,Tangent0.Encoder10"</Trackball>    <!-- left knob & middle knob -->
        <Scale>"0.1,0.1"</Scale>
        <PanAndScan>"Move"</PanAndScan>
      </Bind>
      <Bind>
        <Key>"Tangent0.ResetKnob1"</Key>
        <Down>"Command(PanAndScan.ResetTranslationX)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent0.ResetKnob2"</Key>
        <Down>"Command(PanAndScan.ResetTranslationY)"</Down>
      </Bind>
      <Bind>
        <Encoder>"Tangent0.Encoder11"</Encoder>    <!-- right knob -->
        <Scale>"0.5"</Scale>
        <PanAndScan>"Resize"</PanAndScan>
      </Bind>
      <Bind>
        <Key>"Tangent0.ResetKnob3"</Key>
        <Down>"Command(PanAndScan.ResetScale)"</Down>
      </Bind>

    </State>

    <!-- ********************* -->
    <!-- Stereo Panel -->
    <!-- ********************* -->

    <State>
      <Name>"StereoPanel"</Name>

      <Bind>
        <Key>"Tangent0.F7"</Key>
        <Down>"
          Command(Stereo_Panel.ActivateTab, Reel Setup);
          SetState(Trackerball.StereoPanel.ReelSetup)"
        </Down>
      </Bind>
      <Bind>
        <Key>"Tangent0.F8"</Key>
        <Down>"
          Command(Stereo_Panel.ActivateTab, Geometry);
          SetState(Trackerball.StereoPanel.ReelGeometry)"
        </Down>
      </Bind>
      <Bind>
        <Key>"Tangent0.F9"</Key>
        <Down>"
          Command(Stereo_Panel.ActivateTab, Adjust);
          SetState(Trackerball.StereoPanel.Adjust)"
        </Down>
      </Bind>
      <Bind>
        <Key>"Tangent0.F9"</Key>
        <Modifier>"Tangent1.Alt"</Modifier>
        <Down>
          "
          Command(Stereo_Panel.ActivateTab, Floating Window);
          SetState(Trackerball.StereoPanel.FloatingWindow)"
        </Down>
      </Bind>

      <State>
        <Name>"ReelSetup"</Name>
        <DisplayText><Display>"Tangent0.Display0.Line1"</Display><Text>"   Offset L     Offset R    S. F. Split"</Text></DisplayText>

        <Bind>
          <Key>"Tangent0.ResetColor1"</Key>
          <Down>"Command(Stereo_Panel.ReelMirrorH, 0)"</Down>
        </Bind>
        <Bind>
          <Key>"Tangent0.ResetRing1"</Key>
          <Down>"Command(Stereo_Panel.ReelMirrorV, 0)"</Down>
        </Bind>
        <Bind>
          <Key>"Tangent0.ResetColor2"</Key>
          <Down>"Command(Stereo_Panel.ExchangeReels)"</Down>
        </Bind>
        <Bind>
          <Key>"Tangent0.ResetRing2"</Key>
          <Down>"Command(Stereo_Panel.CycleSingleFrameStereo)"</Down>
        </Bind>
        <Bind>
          <Key>"Tangent0.ResetColor3"</Key>
          <Down>"Command(Stereo_Panel.ReelMirrorH, 1)"</Down>
        </Bind>
        <Bind>
          <Key>"Tangent0.ResetRing3"</Key>
          <Down>"Command(Stereo_Panel.ReelMirrorV, 1)"</Down>
        </Bind>

        <!-- knobs & resets (reel offsets, split point) -->

        <Bind>
          <Encoder>"Tangent0.Encoder9"</Encoder>
          <Scale>"0.5"</Scale>
          <Stereo>"ReelOffsetL"</Stereo>
        </Bind>
        <Bind>
          <Key>"Tangent0.ResetKnob1"</Key>
          <Down>"Command(Stereo_Panel.ResetReelOffsetL)"</Down>
        </Bind>
        <Bind>
          <Encoder>"Tangent0.Encoder10"</Encoder>
          <Scale>"0.5"</Scale>
          <Stereo>"ReelOffsetR"</Stereo>
        </Bind>
        <Bind>
          <Key>"Tangent0.ResetKnob2"</Key>
          <Down>"Command(Stereo_Panel.ResetReelOffsetR)"</Down>
        </Bind>
        <Bind>
          <Encoder>"Tangent0.Encoder11"</Encoder>
          <Stereo>"SingleFrameSplit"</Stereo>
        </Bind>
        <Bind>
          <Key>"Tangent0.ResetKnob3"</Key>
          <Down>"Command(Stereo_Panel.ResetSingleFrameSplit)"</Down>
        </Bind>
		  
      </State>

      <State>
        <Name>"ReelGeometry"</Name>
        <DisplayText><Display>"Tangent0.Display0.Line1"</Display><Text>"  Rel. Scale"</Text></DisplayText>
		
        <!-- knobs & resets (scale) -->

        <Bind>
          <Key>"Tangent0.ResetKnob1"</Key>
          <Down>"Command(Stereo_Panel.ResetReelScale)"</Down>
        </Bind>
        <Bind>
          <Encoder>"Tangent0.Encoder9"</Encoder>
          <Stereo>"ReelScale"</Stereo>
        </Bind>

        <!-- rings: zero parallax, rotation, vertical shift -->

        <Bind>
          <Encoder>"Tangent0.Encoder2"</Encoder>
          <Scale>"0.01"</Scale>
          <Stereo>"ReelInteraxial"</Stereo>
        </Bind>
        <Bind>
          <Key>"Tangent0.ResetRing1"</Key>
          <Down>"Command(Stereo_Panel.ResetReelInteraxial)"</Down>
        </Bind>

        <Bind>
          <Encoder>"Tangent0.Encoder5"</Encoder>
          <Scale>"0.01"</Scale>
          <Stereo>"ReelRotation"</Stereo>
        </Bind>
        <Bind>
          <Key>"Tangent0.ResetRing2"</Key>
          <Down>"Command(Stereo_Panel.ResetReelRotation)"</Down>
        </Bind>

        <Bind>
          <Encoder>"Tangent0.Encoder8"</Encoder>
          <Scale>"0.01"</Scale>
          <Stereo>"ReelVerticalShift"</Stereo>
        </Bind>
        <Bind>
          <Key>"Tangent0.ResetRing3"</Key>
          <Down>"Command(Stereo_Panel.ResetReelVerticalShift)"</Down>
        </Bind>
		
      </State>

      <State>
        <Name>"Adjust"</Name>
        <DisplayText><Display>"Tangent0.Display0.Line1"</Display><Text>"   Parallax"</Text></DisplayText>

        <Bind>
          <Encoder>"Tangent0.Encoder9"</Encoder>
          <Scale>"0.01"</Scale>
          <Stereo>"AdjustInteraxial"</Stereo>
        </Bind>
        <Bind>
          <Encoder>"Tangent0.Encoder2"</Encoder>
          <Scale>"0.01"</Scale>	
          <Stereo>"AdjustInteraxial"</Stereo>
        </Bind>
        <Bind>
          <Key>"Tangent0.ResetKnob1"</Key>
          <Down>"Command(Stereo_Panel.ResetAdjustInteraxial)"</Down>
        </Bind>
        <Bind>
          <Key>"Tangent0.ResetRing1"</Key>
          <Down>"Command(Stereo_Panel.ResetAdjustInteraxial)"</Down>
        </Bind>

      </State>

      <State>
        <Name>"FloatingWindow"</Name>
        <DisplayText><Display>"Tangent0.Display0.Line1"</Display><Text>"     Left                      Right"</Text></DisplayText>

        <Bind>
          <Encoder>"Tangent0.Encoder2"</Encoder>
          <Scale>"0.01"</Scale>	
          <Stereo>"WindowLLeft"</Stereo>
        </Bind>
        <Bind>
          <Key>"Tangent0.ResetRing1"</Key>
          <Down>"Command(Stereo_Panel.ResetFloatingWindow,0)"</Down>
        </Bind>
        <Bind>
          <Encoder>"Tangent0.Encoder9"</Encoder>
          <Scale>"0.01"</Scale>	
          <Stereo>"WindowLTop"</Stereo>
        </Bind>
        <Bind>
          <Key>"Tangent0.ResetKnob1"</Key>
          <Down>"Command(Stereo_Panel.ResetFloatingWindow,3)"</Down>
        </Bind>
        <Bind>
          <Encoder>"Tangent0.Encoder0"</Encoder>
          <Scale>"-0.01"</Scale>
          <Stereo>"WindowLRight"</Stereo>
        </Bind>
        <Bind>
          <Key>"Tangent0.ResetColor1"</Key>
          <Down>"Command(Stereo_Panel.ResetFloatingWindow,2)"</Down>
        </Bind>
        <Bind>
          <Encoder>"Tangent0.Encoder5"</Encoder>
          <Scale>"-0.01"</Scale>
          <Stereo>"WindowLBottom"</Stereo>
        </Bind>
        <Bind>
          <Key>"Tangent0.ResetRing2"</Key>
          <Down>"Command(Stereo_Panel.ResetFloatingWindow,1)"</Down>
        </Bind>

        <Bind>
          <Encoder>"Tangent0.Encoder6"</Encoder>
          <Scale>"0.01"</Scale>
          <Stereo>"WindowRLeft"</Stereo>
        </Bind>
        <Bind>
          <Key>"Tangent0.ResetColor3"</Key>
          <Down>"Command(Stereo_Panel.ResetFloatingWindow,4)"</Down>
        </Bind>
        <Bind>
          <Encoder>"Tangent0.Encoder11"</Encoder>
          <Scale>"0.01"</Scale>	
          <Stereo>"WindowRTop"</Stereo>
        </Bind>
        <Bind>
          <Key>"Tangent0.ResetKnob3"</Key>
          <Down>"Command(Stereo_Panel.ResetFloatingWindow,7)"</Down>
        </Bind>
        <Bind>
          <Encoder>"Tangent0.Encoder8"</Encoder>
          <Scale>"-0.01"</Scale>
          <Stereo>"WindowRRight"</Stereo>
        </Bind>
        <Bind>
          <Key>"Tangent0.ResetRing3"</Key>
          <Down>"Command(Stereo_Panel.ResetFloatingWindow,6)"</Down>
        </Bind>
        <Bind>
          <Encoder>"Tangent0.Encoder3"</Encoder>
          <Scale>"-0.01"</Scale>
          <Stereo>"WindowRBottom"</Stereo>
        </Bind>
        <Bind>
          <Key>"Tangent0.ResetColor2"</Key>
          <Down>"Command(Stereo_Panel.ResetFloatingWindow,5)"</Down>
        </Bind>

      </State>
	  
    </State>
	
    <!-- ********************* -->
    <!-- Other -->
    <!-- ********************* -->

    <State>
      <Name>"Other"</Name>

      <DisplayText>
        <Display>"Tangent0.Display0.Line1"</Display>
        <Text>""</Text>
      </DisplayText>

    </State>

  </StateGroup>

  <!-- ********************* -->
  <!-- CP200-TS Transport    -->
  <!-- ********************* -->

  <!-- the shuttle -->

  <Bind>
    <Encoder>"Tangent1.Encoder0"</Encoder>
    <Playback>"MasterTime"</Playback>
  </Bind>

  <!-- soft keys -->

  <Bind>
    <Key>"Tangent1.Soft1_1"</Key>
    <Down>"Command(Grading_Interface.AddPrimary)"</Down>
  </Bind>
  <Bind>
    <Key>"Tangent1.Soft1_2"</Key>
    <Down>"Command(Grading_Interface.AddSecondary)"</Down>
  </Bind>
  <Bind>
    <Key>"Tangent1.Soft1_3"</Key>
    <Down>"Command((Grading_Interface.SelectLayerAbove)"</Down>
  </Bind>
  <Bind>
    <Key>"Tangent1.Soft1_4"</Key>
    <Down>"Command((Grading_Interface.SelectLayerBellow)"</Down>
  </Bind>
  <Bind>
    <Key>"Tangent1.Soft1_5"</Key>
    <Down>"Command(Grading_Interface.RemoveSelectedLayer)"</Down>
  </Bind>

  <!-- Alt + soft keys -->

  <Bind>
    <Key>"Tangent1.Soft1_1"</Key>
    <Modifier>"Tangent1.Alt"</Modifier>
    <Down>"Command(GrayOut.Gray)"</Down>
  </Bind>
  <Bind>
    <Key>"Tangent1.Soft1_2"</Key>
    <Modifier>"Tangent1.Alt"</Modifier>
    <Down>"Command(GrayOut.White)"</Down>
  </Bind>
  <Bind>
    <Key>"Tangent1.Soft1_3"</Key>
    <Modifier>"Tangent1.Alt"</Modifier>
    <Down>"Command(GrayOut.Black)"</Down>
  </Bind>

  <Bind>
    <Key>"Tangent1.Soft1_5"</Key>
    <Modifier>"Tangent1.Alt"</Modifier>
    <Down>"Command(GrayOut.Off)"</Down>
  </Bind>
  
  <!-- More + soft keys -->
  
  <Bind>
    <Key>"Tangent1.Soft1_1"</Key>
    <Modifier>"Tangent1.More"</Modifier>
    <Down>"Command(User_Interface.DesktopToggleVisible)"</Down>
  </Bind>
  <Bind>
    <Key>"Tangent1.Soft1_3"</Key>
    <Modifier>"Tangent1.More"</Modifier>
    <Down>"Command(User_Interface.ImageOnlyMode)"</Down>
  </Bind>
  <Bind>
    <Key>"Tangent1.Soft1_4"</Key>
    <Modifier>"Tangent1.More"</Modifier>
    <Down>"Command(User_Interface.AssetBrowserToggleVisible)"</Down>
  </Bind>
  <Bind>
    <Key>"Tangent1.Soft1_5"</Key>
    <Modifier>"Tangent1.More"</Modifier>
    <Down>"Command(Zoom_and_Pan.ZoomToFit)"</Down>
  </Bind>

  <!-- 00, 0, . -->

  <Bind>
    <Key>"Tangent1.Num00"</Key>
    <Down>"Command(Timeline.CancelPreview); SetState(Transport.Playback)"</Down>
  </Bind>
  <Bind>
    <Key>"Tangent1.Num0"</Key>
    <Down>"Command(Playback.DisableGrading)"</Down>
    <Up>"Command(Playback.EnableGrading)"</Up>
  </Bind>
  <Bind>
    <Key>"Tangent1.NumDecimal"</Key>
    <Down>"Command(Playback.DisableGradingPanel)"</Down>
    <Up>"Command(Playback.EnableGradingPanel)"</Up>
  </Bind>

  <!-- the Mem key switches to look browser mode, Alt+Mem hides the browser -->

  <Bind>
    <Key>"Tangent1.Mem"</Key>
    <Down>"SetState(Transport.LookBrowser)"</Down>
  </Bind>
  <Bind>
    <Key>"Tangent1.Mem"</Key>
    <Modifier>"Tangent1.Alt"</Modifier>
    <Down>"Command(User_Interface.DeactivatePresetBrowser); SetState(Transport.Playback)"</Down>
  </Bind>

  <StateGroup>
    <Name>"Transport"</Name>

    <!-- in this state, the playback controls control playback -->

    <State>
      <Name>"Playback"</Name>

      <!-- undo, redo, prev, next ... -->

      <Bind>
        <Key>"Tangent1.Do"</Key>
        <Down>"Command(Snapshot.Add)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent1.Do"</Key>
        <Modifier>"Tangent1.Alt"</Modifier>
        <Down>"Command(User_Interface.SnapshotBrowserToggleVisible)"</Down>
      </Bind>

      <Bind>
        <Key>"Tangent1.Cue"</Key>
        <Down>"Command(Timeline.ClipsSplitHere)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent1.Cue"</Key>
        <Modifier>"Tangent1.Alt"</Modifier>
        <Down>"Command(Timeline.ClipsSplitAboveHere)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent1.Undo"</Key>
        <Down>"Command(Undo.Undo)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent1.Redo"</Key>
        <Down>"Command(Undo.Redo)"</Down>
      </Bind>

      <Bind>
        <Key>"Tangent1.Prev"</Key>
        <Down>"Command(Timeline.NavigateDown)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent1.Next"</Key>
        <Down>"Command(Timeline.NavigateUp)"</Down>
      </Bind>

      <Bind>
        <Key>"Tangent1.In"</Key>
        <Down>"Command(In_Outs.ToggleInPoint)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent1.Out"</Key>
        <Down>"Command(In_Outs.ToggleOutPoint)"</Down>
      </Bind>

      <Bind>
        <Key>"Tangent1.Mark"</Key>
        <Down>"Command(Timeline.SavePreset)"</Down>
      </Bind>

      <Bind>
        <Key>"Tangent1.Grade"</Key>
        <Down>"Command(Keyframing.Set)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent1.Delete"</Key>
        <Down>"Command(Keyframing.Remove)"</Down>
      </Bind>

      <!-- playback controls -->

      <Bind>
        <Key>"Tangent1.PlayRev"</Key>
        <Down>"Command(Playback.Backward)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent1.Stop"</Key>
        <Down>"Command(Playback.Pause)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent1.PlayFwd"</Key>
        <Down>"Command(Playback.Forward)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent1.StepRev"</Key>
        <Down>"Command(Timeline.NavigateLeft)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent1.StepRev"</Key>
        <Modifier>"Tangent1.Alt"</Modifier>
        <Down>"Command(Playback.SingleBack)"</Down>
      </Bind>      
      <Bind>
        <Key>"Tangent1.StepFwd"</Key>
        <Down>"Command(Timeline.NavigateRight)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent1.StepFwd"</Key>
        <Modifier>"Tangent1.Alt"</Modifier>
        <Down>"Command(Playback.SingleForward)"</Down>
      </Bind>

      <!-- number block -->

      <Bind>
        <Key>"Tangent1.Num1"</Key>
        <Down>"Command(Copy_Grade.CopyFrom,-1)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent1.Num2"</Key>
        <Down>"Command(Copy_Grade.CopyFrom,-2)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent1.Num3"</Key>
        <Down>"Command(Copy_Grade.CopyFrom,-3)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent1.Num4"</Key>
        <Down>"Command(Copy_Grade.CopyFrom,-4)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent1.Num5"</Key>
        <Down>"Command(Copy_Grade.CopyFrom,-5)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent1.Num6"</Key>
        <Down>"Command(Copy_Grade.CopyFrom,-6)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent1.Num7"</Key>
        <Down>"Command(Copy_Grade.CopyFrom,-7)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent1.Num8"</Key>
        <Down>"Command(Copy_Grade.CopyFrom,-8)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent1.Num9"</Key>
        <Down>"Command(Copy_Grade.CopyFrom,-9)"</Down>
      </Bind>

      <Bind>
        <Key>"Tangent1.Num1"</Key>
        <Modifier>"Tangent1.Alt"</Modifier>
        <Down>"Command(Copy_Grade.CopyFrom,1)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent1.Num2"</Key>
        <Modifier>"Tangent1.Alt"</Modifier>
        <Down>"Command(Copy_Grade.CopyFrom,2)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent1.Num3"</Key>
        <Modifier>"Tangent1.Alt"</Modifier>
        <Down>"Command(Copy_Grade.CopyFrom,3)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent1.Num4"</Key>
        <Modifier>"Tangent1.Alt"</Modifier>
        <Down>"Command(Copy_Grade.CopyFrom,4)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent1.Num5"</Key>
        <Modifier>"Tangent1.Alt"</Modifier>
        <Down>"Command(Copy_Grade.CopyFrom,5)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent1.Num6"</Key>
        <Modifier>"Tangent1.Alt"</Modifier>
        <Down>"Command(Copy_Grade.CopyFrom,6)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent1.Num7"</Key>
        <Modifier>"Tangent1.Alt"</Modifier>
        <Down>"Command(Copy_Grade.CopyFrom,7)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent1.Num8"</Key>
        <Modifier>"Tangent1.Alt"</Modifier>
        <Down>"Command(Copy_Grade.CopyFrom,8)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent1.Num9"</Key>
        <Modifier>"Tangent1.Alt"</Modifier>
        <Down>"Command(Copy_Grade.CopyFrom,9)"</Down>
      </Bind>

    </State>

    <!-- in this state, the playback controls control the look browser -->

    <State>
      <Name>"LookBrowser"</Name>

      <OnActivate>"Command(User_Interface.ActivatePresetBrowser)"</OnActivate>

      <Bind>
        <Key>"Tangent1.PlayRev"</Key>
        <Down>"Command(Preset_Browser.PreviousItem)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent1.Stop"</Key>
        <Down>"Command(Timeline.CommitPreview); SetState(Transport.Playback)"</Down>
      </Bind>
      <Bind>
        <Modifier>"Tangent1.Alt"</Modifier>
        <Key>"Tangent1.Stop"</Key>
        <Down>"Command(Timeline.CancelPreview); SetState(Transport.Playback)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent1.PlayFwd"</Key>
        <Down>"Command(Preset_Browser.NextItem)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent1.StepRev"</Key>
        <Down>"Command(Preset_Browser.PreviousTab)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent1.StepFwd"</Key>
        <Down>"Command(Preset_Browser.NextTab)"</Down>
      </Bind>

    </State>

  </StateGroup>
  
  <!--
1234567890123456789012345678901234567890
XXXXXXXX++++++++XXXXXXXX++++++++XXXXXXXX
AAAAAAAAAAAAA|BBBBBBBBBBBB|CCCCCCCCCCCCC
 Saturation      Pivot       Contrast
 Temperature    Magenta    Overall Gain
 Prev 1  Prev 2  Prev 3  Prev 4  Prev 5
  
-->

  <StateGroup>
    <Name>"KeyPanel"</Name>

      <State>
        <Name>"Normal"</Name>

        <DisplayText>
          <Display>"Tangent2.Display0.Line0"</Display>
          <Text>"Copy Grading Keyframe"</Text>
        </DisplayText>
        
        <DisplayText>
          <Display>"Tangent2.Display0.Line1"</Display>
          <Text>" Prev 1  Prev 2  Prev 3  Prev 4  Prev 5"</Text>
        </DisplayText>
        
        <DisplayText>
          <Display>"Tangent2.Display1.Line0"</Display>
          <Text>"Copy Grading Keyframe"</Text>
        </DisplayText>
        
        <DisplayText>
          <Display>"Tangent2.Display1.Line1"</Display>
          <Text>" Next 1  Next 2  Next 3  Next 4  Next5"</Text>
        </DisplayText>
        
        <DisplayText>
        <Display>"Tangent2.Display2.Line0"</Display>
        <Text>"Tools"</Text>
      </DisplayText>
        
      <DisplayText>
        <Display>"Tangent2.Display2.Line1"</Display>
        <Text>"Desktop  Panel  Hide UI Reels  Zoom Fit"</Text>
      </DisplayText>
        
        <Bind>
        <Key>"Tangent2.Soft1_1"</Key>
        <Down>"Command(Copy_Grade.CopyFrom,-1)"</Down>
      </Bind>
        
        <Bind>
        <Key>"Tangent2.Soft1_2"</Key>
        <Down>"Command(Copy_Grade.CopyFrom,-2)"</Down>
      </Bind>
        
        <Bind>
          <Key>"Tangent2.Soft1_3"</Key>
        <Down>"Command(Copy_Grade.CopyFrom,-3)"</Down>
      </Bind>
        
        <Bind>
        <Key>"Tangent2.Soft1_4"</Key>
        <Down>"Command(Copy_Grade.CopyFrom,-4)"</Down>
      </Bind>
        
        <Bind>
        <Key>"Tangent2.Soft1_5"</Key>
        <Down>"Command(Copy_Grade.CopyFrom,-5)"</Down>
      </Bind>
        
        <Bind>
          <Key>"Tangent2.Soft2_1"</Key>
        <Down>"Command(Copy_Grade.CopyFrom,1)"</Down>
      </Bind>
        
        <Bind>
          <Key>"Tangent2.Soft2_2"</Key>
        <Down>"Command(Copy_Grade.CopyFrom,2)"</Down>
      </Bind>
        
        <Bind>
          <Key>"Tangent2.Soft2_3"</Key>
        <Down>"Command(Copy_Grade.CopyFrom,3)"</Down>
      </Bind>
        
        <Bind>
          <Key>"Tangent2.Soft2_4"</Key>
        <Down>"Command(Copy_Grade.CopyFrom,4)"</Down>
      </Bind>
        
        <Bind>
        <Key>"Tangent2.Soft2_5"</Key>
        <Down>"Command(Copy_Grade.CopyFrom,5)"</Down>
      </Bind>
        
        <Bind>
        <Key>"Tangent2.Soft3_1"</Key>
        <Down>"Command(User_Interface.DesktopToggleVisible)"</Down>
      </Bind>
        
      <Bind>
        <Key>"Tangent2.Soft3_2"</Key>
        <Down>"Command(Property_Window.ToggleVisible)"</Down>
      </Bind>
        
      <Bind>
        <Key>"Tangent2.Soft3_3"</Key>
        <Down>"Command(User_Interface.TogglePanels)"</Down>
      </Bind>
        
      <Bind>
        <Key>"Tangent2.Soft3_4"</Key>
        <Down>"Command(User_Interface.AssetBrowserToggleVisible)"</Down>
      </Bind>
        
      <Bind>
        <Key>"Tangent2.Soft3_5"</Key>
        <Down>"Command(Zoom_and_Pan.ZoomToFit)"</Down>
      </Bind>
    </State>
  </StateGroup>
  
  <StateGroup>
    <Name>"EncoderPanel"</Name>

    <State>
      <Name>"Off"</Name>

      <DisplayText>
        <Display>"Tangent3.Display0.Line0"</Display>
        <Text>"Adobe SpeedGrade CS6"</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display0.Line1"</Display>
        <Text>""</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display1.Line0"</Display>
        <Text>"Adobe SpeedGrade CS6"</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display1.Line1"</Display>
        <Text>""</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display2.Line0"</Display>
        <Text>"Adobe SpeedGrade CS6"</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display2.Line1"</Display>
        <Text>""</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display3.Line0"</Display>
        <Text>"Adobe SpeedGrade CS6"</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display3.Line1"</Display>
        <Text>""</Text>
      </DisplayText>
    </State>
    <!--EncoderPanel.Off-->
    
      <State>
        <Name>"Grading_Overall"</Name>

      <DisplayText>
        <Display>"Tangent3.Display0.Line0"</Display>
        <Text>"Grading: Overall"</Text>
      </DisplayText>
      
        <DisplayText>
          <Display>"Tangent3.Display0.Line1"</Display>
          <Text>" Saturation      Pivot       Contrast"</Text>
        </DisplayText>
        
         <DisplayText>
          <Display>"Tangent3.Display1.Line0"</Display>
          <Text>""</Text>
        </DisplayText>

        <DisplayText>
          <Display>"Tangent3.Display1.Line1"</Display>
          <Text>" Temperature    Magenta    Overall Gain"</Text>
        </DisplayText>
        
        <DisplayText>
          <Display>"Tangent3.Display2.Line0"</Display>
          <Text>"      Reset         Reset      SDI Mouse"</Text>
        </DisplayText>

        <DisplayText>
          <Display>"Tangent3.Display2.Line1"</Display>
          <Text>"      Panel          All          Toggle"</Text>
        </DisplayText>
        
        <DisplayText>
          <Display>"Tangent3.Display3.Line0"</Display>
          <Text>" Zoom+Pan                   Screenlayout"</Text>
        </DisplayText>

        <DisplayText>
          <Display>"Tangent3.Display3.Line1"</Display>
          <Text>"       100%         Fit           Toggle"</Text>
        </DisplayText>
      
        <Bind>
        <Encoder>"Tangent3.Encoder0"</Encoder>
        <HWValue>"0"</HWValue>
      </Bind>
        
        <Bind>
        <Key>"Tangent3.ResetKnob1_1"</Key>
        <Down>"Command(Grading_Interface.ResetHWValue, 0)"</Down>
      </Bind>
        
        <Bind>
        <Encoder>"Tangent3.Encoder1"</Encoder>
          <HWValue>"1"</HWValue>
      </Bind>
        
        <Bind>
        <Key>"Tangent3.ResetKnob1_2"</Key>
        <Down>"Command(Grading_Interface.ResetHWValue, 1)"</Down>
      </Bind>
        
        <Bind>
        <Encoder>"Tangent3.Encoder2"</Encoder>
        <HWValue>"2"</HWValue>
      </Bind>
      
        <Bind>
        <Key>"Tangent3.ResetKnob1_3"</Key>
        <Down>"Command(Grading_Interface.ResetHWValue, 2)"</Down>
      </Bind>
      
        <Bind>
        <Encoder>"Tangent3.Encoder3"</Encoder>
          <HWValue>"3"</HWValue>
      </Bind>
      
        <Bind>
        <Key>"Tangent3.ResetKnob2_1"</Key>
        <Down>"Command(Grading_Interface.ResetHWValue, 3)"</Down>
      </Bind>
      
        <Bind>
        <Encoder>"Tangent3.Encoder4"</Encoder>
        <HWValue>"4"</HWValue>
      </Bind>
      
        <Bind>
        <Key>"Tangent3.ResetKnob2_2"</Key>
        <Down>"Command(Grading_Interface.ResetHWValue, 4)"</Down>
      </Bind>
      
        <Bind>
        <Encoder>"Tangent3.Encoder5"</Encoder>
         <HWValue>"5"</HWValue>
      </Bind>
      
        <Bind>
        <Key>"Tangent3.ResetKnob2_3"</Key>
        <Down>"Command(Grading_Interface.ResetHWValue, 5)"</Down>
      </Bind>
      <Bind>
        <Key>"Tangent3.ResetKnob3_1"</Key>
        <Down>"Command(Base_Shader.ResetPanel)"</Down>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob3_2"</Key>
	<Down>"Command(Base_Shader.ResetAll)"</Down>
      </Bind>
	  
      <Bind>
        <Key>"Tangent3.ResetKnob3_3"</Key>
        <Down>"Command(User_Interface.SDIMouseToggle)"</Down>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob4_1"</Key>
        <Down>"Command(Zoom_and_Pan.ZoomTo100)"</Down>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob4_2"</Key>
        <Down>"Command(Zoom_and_Pan.ZoomToFit)"</Down>
      </Bind>
	  
      <Bind>
        <Key>"Tangent3.ResetKnob4_3"</Key>
        <Down>"Command(Split.CycleConfigurations)"</Down>
      </Bind>
    </State>
    <!--EncoderPanel.Grading_Overall-->

    <State>
      <Name>"Grading_Highlights"</Name>

      <DisplayText>
        <Display>"Tangent3.Display0.Line0"</Display>
        <Text>"Grading: Highlights"</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display0.Line1"</Display>
        <Text>" Saturation      Pivot       Contrast"</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display1.Line0"</Display>
        <Text>""</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display1.Line1"</Display>
        <Text>" Temperature    Magenta    Overall Gain"</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display2.Line0"</Display>
        <Text>"      Reset         Reset      SDI Mouse"</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display2.Line1"</Display>
        <Text>"      Panel          All          Toggle"</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display3.Line0"</Display>
        <Text>" Zoom+Pan                   Screenlayout"</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display3.Line1"</Display>
        <Text>"       100%         Fit           Toggle"</Text>
      </DisplayText>

      <Bind>
        <Encoder>"Tangent3.Encoder0"</Encoder>
        <HWValue>"0"</HWValue>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob1_1"</Key>
        <Down>"Command(Grading_Interface.ResetHWValue, 0)"</Down>
      </Bind>

      <Bind>
        <Encoder>"Tangent3.Encoder1"</Encoder>
        <HWValue>"1"</HWValue>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob1_2"</Key>
        <Down>"Command(Grading_Interface.ResetHWValue, 1)"</Down>
      </Bind>

      <Bind>
        <Encoder>"Tangent3.Encoder2"</Encoder>
        <HWValue>"2"</HWValue>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob1_3"</Key>
        <Down>"Command(Grading_Interface.ResetHWValue, 2)"</Down>
      </Bind>

      <Bind>
        <Encoder>"Tangent3.Encoder3"</Encoder>
        <HWValue>"3"</HWValue>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob2_1"</Key>
        <Down>"Command(Grading_Interface.ResetHWValue, 3)"</Down>
      </Bind>

      <Bind>
        <Encoder>"Tangent3.Encoder4"</Encoder>
        <HWValue>"4"</HWValue>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob2_2"</Key>
        <Down>"Command(Grading_Interface.ResetHWValue, 4)"</Down>
      </Bind>

      <Bind>
        <Encoder>"Tangent3.Encoder5"</Encoder>
        <HWValue>"5"</HWValue>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob2_3"</Key>
        <Down>"Command(Grading_Interface.ResetHWValue, 5)"</Down>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob3_1"</Key>
        <Down>"Command(Base_Shader.ResetPanel)"</Down>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob3_2"</Key>
	<Down>"Command(Base_Shader.ResetAll)"</Down>
      </Bind>
	  
      <Bind>
        <Key>"Tangent3.ResetKnob3_3"</Key>
        <Down>"Command(User_Interface.SDIMouseToggle)"</Down>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob4_1"</Key>
        <Down>"Command(Zoom_and_Pan.ZoomTo100)"</Down>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob4_2"</Key>
        <Down>"Command(Zoom_and_Pan.ZoomToFit)"</Down>
      </Bind>
	  
      <Bind>
        <Key>"Tangent3.ResetKnob4_3"</Key>
        <Down>"Command(Split.CycleConfigurations)"</Down>
      </Bind>
    </State>
    <!--EncoderPanel.Grading_Highlights-->

    <State>
      <Name>"Grading_Midtones"</Name>

      <DisplayText>
        <Display>"Tangent3.Display0.Line0"</Display>
        <Text>"Grading: Midtones"</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display0.Line1"</Display>
        <Text>" Saturation      Pivot       Contrast"</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display1.Line0"</Display>
        <Text>""</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display1.Line1"</Display>
        <Text>" Temperature    Magenta    Overall Gain"</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display2.Line0"</Display>
        <Text>"      Reset         Reset      SDI Mouse"</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display2.Line1"</Display>
        <Text>"      Panel          All          Toggle"</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display3.Line0"</Display>
        <Text>" Zoom+Pan                   Screenlayout"</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display3.Line1"</Display>
        <Text>"       100%         Fit           Toggle"</Text>
      </DisplayText>

      <Bind>
        <Encoder>"Tangent3.Encoder0"</Encoder>
        <HWValue>"0"</HWValue>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob1_1"</Key>
        <Down>"Command(Grading_Interface.ResetHWValue, 0)"</Down>
      </Bind>

      <Bind>
        <Encoder>"Tangent3.Encoder1"</Encoder>
        <HWValue>"1"</HWValue>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob1_2"</Key>
        <Down>"Command(Grading_Interface.ResetHWValue, 1)"</Down>
      </Bind>

      <Bind>
        <Encoder>"Tangent3.Encoder2"</Encoder>
        <HWValue>"2"</HWValue>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob1_3"</Key>
        <Down>"Command(Grading_Interface.ResetHWValue, 2)"</Down>
      </Bind>

      <Bind>
        <Encoder>"Tangent3.Encoder3"</Encoder>
        <HWValue>"3"</HWValue>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob2_1"</Key>
        <Down>"Command(Grading_Interface.ResetHWValue, 3)"</Down>
      </Bind>

      <Bind>
        <Encoder>"Tangent3.Encoder4"</Encoder>
        <HWValue>"4"</HWValue>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob2_2"</Key>
        <Down>"Command(Grading_Interface.ResetHWValue, 4)"</Down>
      </Bind>

      <Bind>
        <Encoder>"Tangent3.Encoder5"</Encoder>
        <HWValue>"5"</HWValue>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob2_3"</Key>
        <Down>"Command(Grading_Interface.ResetHWValue, 5)"</Down>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob3_1"</Key>
        <Down>"Command(Base_Shader.ResetPanel)"</Down>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob3_2"</Key>
	<Down>"Command(Base_Shader.ResetAll)"</Down>
      </Bind>
	  
      <Bind>
        <Key>"Tangent3.ResetKnob3_3"</Key>
        <Down>"Command(User_Interface.SDIMouseToggle)"</Down>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob4_1"</Key>
        <Down>"Command(Zoom_and_Pan.ZoomTo100)"</Down>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob4_2"</Key>
        <Down>"Command(Zoom_and_Pan.ZoomToFit)"</Down>
      </Bind>
	  
      <Bind>
        <Key>"Tangent3.ResetKnob4_3"</Key>
        <Down>"Command(Split.CycleConfigurations)"</Down>
      </Bind>
    </State>
    <!--EncoderPanel.GradingMidtones-->

    <State>
      <Name>"Grading_Shadows"</Name>

      <DisplayText>
        <Display>"Tangent3.Display0.Line0"</Display>
        <Text>"Grading: Shadows"</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display0.Line1"</Display>
        <Text>" Saturation      Pivot       Contrast"</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display1.Line0"</Display>
        <Text>""</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display1.Line1"</Display>
        <Text>" Temperature    Magenta    Overall Gain"</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display2.Line0"</Display>
        <Text>"      Reset         Reset      SDI Mouse"</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display2.Line1"</Display>
        <Text>"      Panel          All          Toggle"</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display3.Line0"</Display>
        <Text>" Zoom+Pan                   Screenlayout"</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display3.Line1"</Display>
        <Text>"       100%         Fit           Toggle"</Text>
      </DisplayText>

      <Bind>
        <Encoder>"Tangent3.Encoder0"</Encoder>
        <HWValue>"0"</HWValue>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob1_1"</Key>
        <Down>"Command(Grading_Interface.ResetHWValue, 0)"</Down>
      </Bind>

      <Bind>
        <Encoder>"Tangent3.Encoder1"</Encoder>
        <HWValue>"1"</HWValue>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob1_2"</Key>
        <Down>"Command(Grading_Interface.ResetHWValue, 1)"</Down>
      </Bind>

      <Bind>
        <Encoder>"Tangent3.Encoder2"</Encoder>
        <HWValue>"2"</HWValue>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob1_3"</Key>
        <Down>"Command(Grading_Interface.ResetHWValue, 2)"</Down>
      </Bind>

      <Bind>
        <Encoder>"Tangent3.Encoder3"</Encoder>
        <HWValue>"3"</HWValue>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob2_1"</Key>
        <Down>"Command(Grading_Interface.ResetHWValue, 3)"</Down>
      </Bind>

      <Bind>
        <Encoder>"Tangent3.Encoder4"</Encoder>
        <HWValue>"4"</HWValue>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob2_2"</Key>
        <Down>"Command(Grading_Interface.ResetHWValue, 4)"</Down>
      </Bind>

      <Bind>
        <Encoder>"Tangent3.Encoder5"</Encoder>
        <HWValue>"5"</HWValue>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob2_3"</Key>
        <Down>"Command(Grading_Interface.ResetHWValue, 5)"</Down>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob3_1"</Key>
        <Down>"Command(Base_Shader.ResetPanel)"</Down>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob3_2"</Key>
	<Down>"Command(Base_Shader.ResetAll)"</Down>
      </Bind>
	  
      <Bind>
        <Key>"Tangent3.ResetKnob3_3"</Key>
        <Down>"Command(User_Interface.SDIMouseToggle)"</Down>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob4_1"</Key>
        <Down>"Command(Zoom_and_Pan.ZoomTo100)"</Down>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob4_2"</Key>
        <Down>"Command(Zoom_and_Pan.ZoomToFit)"</Down>
      </Bind>
	  
      <Bind>
        <Key>"Tangent3.ResetKnob4_3"</Key>
        <Down>"Command(Split.CycleConfigurations)"</Down>
      </Bind>
    </State>
    <!--EncoderPanel.Grading_Shadows-->
  
    <State>
      <Name>"Grading_Secondaries"</Name>

      <DisplayText>
        <Display>"Tangent0.Display0.Line0"</Display>
        <Text>"Secondaries"</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display0.Line0"</Display>
        <Text>"Grading: Secondaries"</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display0.Line1"</Display>
        <Text>" Temperature    Magenta    Overall Gain"</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display1.Line0"</Display>
        <Text>"Secondary Hue"</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display1.Line1"</Display>
        <Text>"    Value       Range        Tolerance"</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display2.Line0"</Display>
        <Text>" Secondary Lightness"</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display2.Line1"</Display>
        <Text>"    Value       Range        Tolerance"</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display3.Line0"</Display>
        <Text>"Secondary Saturation"</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display3.Line1"</Display>
        <Text>"    Value       Range        Tolerance"</Text>
      </DisplayText>

      <Bind>
        <Encoder>"Tangent3.Encoder0"</Encoder>
        <HWValue>"3"</HWValue>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob1_1"</Key>
        <Down>"Command(Grading_Interface.ResetHWValue, 3)"</Down>
      </Bind>

      <Bind>
        <Encoder>"Tangent3.Encoder1"</Encoder>
        <HWValue>"4"</HWValue>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob1_2"</Key>
        <Down>"Command(Grading_Interface.ResetHWValue, 4)"</Down>
      </Bind>

      <Bind>
        <Encoder>"Tangent3.Encoder2"</Encoder>
        <HWValue>"5"</HWValue>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob1_3"</Key>
        <Down>"Command(Grading_Interface.ResetHWValue, 5)"</Down>
      </Bind>

      <Bind>
        <Encoder>"Tangent3.Encoder3"</Encoder>
        <Secondary>"OffsetMiddleHue"</Secondary>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob2_1"</Key>
        <Down>"Command(Secondary_Range.ToggleHue)"</Down>
      </Bind>

      <Bind>
        <Encoder>"Tangent3.Encoder4"</Encoder>
        <Secondary>"OffsetHueRange"</Secondary>
      </Bind>

      <Bind>
        <Encoder>"Tangent3.Encoder5"</Encoder>
        <Secondary>"OffsetHueTolerance"</Secondary>
      </Bind>

      <Bind>
        <Encoder>"Tangent3.Encoder6"</Encoder>
        <Secondary>"OffsetMiddleLightness"</Secondary>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob3_1"</Key>
        <Down>"Command(Secondary_Range.ToggleLightness)"</Down>
      </Bind>

      <Bind>
        <Encoder>"Tangent3.Encoder7"</Encoder>
        <Secondary>"OffsetLightnessRange"</Secondary>
      </Bind>

      <Bind>
        <Encoder>"Tangent3.Encoder8"</Encoder>
        <Secondary>"OffsetLightnessTolerance"</Secondary>

      </Bind>

      <Bind>
        <Encoder>"Tangent3.Encoder9"</Encoder>
        <Secondary>"OffsetMiddleSaturation"</Secondary>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob4_1"</Key>
        <Down>"Command(Secondary_Range.ToggleSaturation)"</Down>
      </Bind>

      <Bind>
        <Encoder>"Tangent3.Encoder10"</Encoder>
        <Secondary>"OffsetSaturationRange"</Secondary>
      </Bind>

      <Bind>
        <Encoder>"Tangent3.Encoder11"</Encoder>
        <Secondary>"OffsetSaturationTolerance"</Secondary>
      </Bind>
    </State>
    <!--EncoderPanel.Secondary-->

    <State>
      <Name>"Mask"</Name>

      <DisplayText>
        <Display>"Tangent3.Display0.Line0"</Display>
        <Text>"Mask:"</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display0.Line1"</Display>
        <Text>""</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display1.Line0"</Display>
        <Text>""</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display1.Line1"</Display>
        <Text>""</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent0.Display0.Line0"</Display>
        <Text>"Mask"</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display2.Line0"</Display>
        <Text>"      Reset         Reset      SDI Mouse"</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display2.Line1"</Display>
        <Text>"      Panel          All          Toggle"</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display3.Line0"</Display>
        <Text>" Zoom+Pan                   Screenlayout"</Text>
      </DisplayText>

      <DisplayText>
        <Display>"Tangent3.Display3.Line1"</Display>
        <Text>"       100%         Fit           Toggle"</Text>
      </DisplayText>
      <Bind>
        <Key>"Tangent3.ResetKnob3_1"</Key>
        <Down>"Command(Base_Shader.ResetPanel)"</Down>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob3_2"</Key>
	<Down>"Command(Base_Shader.ResetAll)"</Down>
      </Bind>
	  
      <Bind>
        <Key>"Tangent3.ResetKnob3_3"</Key>
        <Down>"Command(User_Interface.SDIMouseToggle)"</Down>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob4_1"</Key>
        <Down>"Command(Zoom_and_Pan.ZoomTo100)"</Down>
      </Bind>

      <Bind>
        <Key>"Tangent3.ResetKnob4_2"</Key>
        <Down>"Command(Zoom_and_Pan.ZoomToFit)"</Down>
      </Bind>
	  
      <Bind>
        <Key>"Tangent3.ResetKnob4_3"</Key>
        <Down>"Command(Split.CycleConfigurations)"</Down>
      </Bind>
    </State>
    <!--EncoderPanel.Mask-->
    
  </StateGroup>

  <!---------------->
  <!-- WAVE panel -->
  <!---------------->

  <DisplayText><Display>"WAVE.Display0.Line1"</Display><Text>""</Text></DisplayText>
  <DisplayText><Display>"WAVE.Display1.Line1"</Display><Text>""</Text></DisplayText>
  <DisplayText><Display>"WAVE.Display2.Line1"</Display><Text>""</Text></DisplayText>
  <DisplayText><Display>"WAVE.Display0.Line2"</Display><Text>"________________________________"</Text></DisplayText>
  <DisplayText><Display>"WAVE.Display1.Line2"</Display><Text>"________________________________"</Text></DisplayText>
  <DisplayText><Display>"WAVE.Display2.Line2"</Display><Text>"________________________________"</Text></DisplayText>
  
  <!-- soft keys -->
  <Bind>
    <Key>"WAVE.Soft1_1"</Key>
    <Down>"Command(Property_Window.SetCurrentPage, Overall)"</Down>
  </Bind>
  <Bind>
    <Key>"WAVE.Soft1_2"</Key>
    <Down>"Command(Property_Window.SetCurrentPage, Secondary)"</Down>
  </Bind>
  <Bind>
    <Key>"WAVE.Soft1_3"</Key>
    <Down>"Command(Property_Window.SetCurrentPage, Mask)"</Down>
  </Bind>
  <Bind>
    <Key>"WAVE.Soft2_1"</Key>
    <Down>"Command(Property_Window.SetCurrentPage, Shadows)"</Down>
  </Bind>
  <Bind>
    <Key>"WAVE.Soft2_2"</Key>
    <Down>"Command(Property_Window.SetCurrentPage, Midtones)"</Down>
  </Bind>
  <Bind>
    <Key>"WAVE.Soft2_3"</Key>
    <Down>"Command(Property_Window.SetCurrentPage, Highlights)"</Down>
  </Bind>
  <Bind>
    <Key>"WAVE.Soft3_1"</Key>
    <Down>"Command(Masks.Ignore)"</Down>
  </Bind>
  <Bind>
    <Key>"WAVE.Soft3_2"</Key>
    <Down>"Command(Masks.Inside)"</Down>
  </Bind>
  <Bind>
    <Key>"WAVE.Soft3_3"</Key>
    <Down>"Command(Masks.Outside)"</Down>
  </Bind>
  <Bind>
    <Key>"WAVE.Soft3_1"</Key>
    <Modifier>"WAVE.Alt"</Modifier>
    <Down>"Command(Alpha.Ignore)"</Down>
  </Bind>
  <Bind>
    <Key>"WAVE.Soft3_2"</Key>
    <Modifier>"WAVE.Alt"</Modifier>
    <Down>"Command(Alpha.Inside)"</Down>
  </Bind>
  <Bind>
    <Key>"WAVE.Soft3_3"</Key>
    <Modifier>"WAVE.Alt"</Modifier>
    <Down>"Command(Alpha.Outside)"</Down>
  </Bind>


  <StateGroup>
    <Name>"WAVE"</Name>

    <State>
      <Name>"Inactive"</Name>
      <DisplayText><Display>"WAVE.Display0.Line0"</Display><Text>""</Text></DisplayText>
      <DisplayText><Display>"WAVE.Display1.Line0"</Display><Text>""</Text></DisplayText>
      <DisplayText><Display>"WAVE.Display2.Line0"</Display><Text>""</Text></DisplayText>
      <DisplayText><Display>"WAVE.Display0.Line4"</Display><Text>""</Text></DisplayText>
      <DisplayText><Display>"WAVE.Display1.Line4"</Display><Text>""</Text></DisplayText>
      <DisplayText><Display>"WAVE.Display2.Line3"</Display><Text>""</Text></DisplayText>
      <DisplayText><Display>"WAVE.Display2.Line4"</Display><Text>""</Text></DisplayText>
    </State>

    <State>
      <Name>"Grading"</Name>
      
      <!-- top left 6 encoders and their integrated reset buttons -->
      <Bind>
        <Encoder>"WAVE.Encoder0"</Encoder>
        <HWValue>"0"</HWValue>
      </Bind>
      <Bind>
        <Key>"WAVE.ResetKnob1_1"</Key>
        <Down>"Command(Grading_Interface.ResetHWValue, 0)"</Down>
      </Bind>
      <Bind>
        <Encoder>"WAVE.Encoder1"</Encoder>
        <HWValue>"1"</HWValue>
      </Bind>
      <Bind>
        <Key>"WAVE.ResetKnob1_2"</Key>
        <Down>"Command(Grading_Interface.ResetHWValue, 1)"</Down>
      </Bind>
      <Bind>
        <Encoder>"WAVE.Encoder2"</Encoder>
        <HWValue>"2"</HWValue>
      </Bind>
      <Bind>
        <Key>"WAVE.ResetKnob1_3"</Key>
        <Down>"Command(Grading_Interface.ResetHWValue, 2)"</Down>
      </Bind>
      <Bind>
        <Encoder>"WAVE.Encoder3"</Encoder>
        <HWValue>"3"</HWValue>
      </Bind>
      <Bind>
        <Key>"WAVE.ResetKnob2_1"</Key>
        <Down>"Command(Grading_Interface.ResetHWValue, 3)"</Down>
      </Bind>
      <Bind>
        <Encoder>"WAVE.Encoder4"</Encoder>
        <HWValue>"4"</HWValue>
      </Bind>
      <Bind>
        <Key>"WAVE.ResetKnob2_2"</Key>
        <Down>"Command(Grading_Interface.ResetHWValue, 4)"</Down>
      </Bind>
      <Bind>
        <Encoder>"WAVE.Encoder5"</Encoder>
        <HWValue>"5"</HWValue>
      </Bind>
      <Bind>
        <Key>"WAVE.ResetKnob2_3"</Key>
        <Down>"Command(Grading_Interface.ResetHWValue, 5)"</Down>
      </Bind>

      <Bind>
        <Key>"WAVE.Stop"</Key>
        <Modifier>"WAVE.Alt"</Modifier>
        <Down>"Command(Base_Shader.ResetAll)"</Down>
      </Bind>

      <Bind>
        <Key>"WAVE.ResetRing1"</Key>
        <Modifier>"WAVE.Alt"</Modifier>
        <Down>"Command(Base_Shader.ResetAll)"</Down>
      </Bind>

      <Bind>
        <Key>"WAVE.ResetColor1"</Key>
        <Modifier>"WAVE.Alt"</Modifier>
        <Down>"Command(Base_Shader.ResetPanel)"</Down>
      </Bind>

      <State>
        <Name>"Other"</Name>
        <DisplayText><Display>"WAVE.Display0.Line0"</Display><Text>""</Text></DisplayText>
        <DisplayText><Display>"WAVE.Display1.Line0"</Display><Text>""</Text></DisplayText>
        <DisplayText><Display>"WAVE.Display2.Line0"</Display><Text>""</Text></DisplayText>
        <DisplayText><Display>"WAVE.Display2.Line3"</Display><Text>""</Text></DisplayText>
        <DisplayText><Display>"WAVE.Display2.Line4"</Display><Text>""</Text></DisplayText>
        <DisplayText><Display>"WAVE.Display0.Line4"</Display><Text>" Overall   Secondaries   Mask"</Text></DisplayText>
        <DisplayText><Display>"WAVE.Display1.Line4"</Display><Text>" Shadows   Midtones  Highlights"</Text></DisplayText>
      </State>

      <State>
        <Name>"Overall"</Name>
        <DisplayText><Display>"WAVE.Display0.Line0"</Display><Text>"Saturation    Pivot    Contrast"</Text></DisplayText>
        <DisplayText><Display>"WAVE.Display1.Line0"</Display><Text>"Temperature  Magenta     Gain  "</Text></DisplayText>
        <DisplayText><Display>"WAVE.Display2.Line0"</Display><Text>""</Text></DisplayText>

        <Bind>
          <Key>"WAVE.Alt"</Key>
          <Down>"
              SetState(WAVE.Grading.Overall.Alt);
              SetState(WAVEAlt.ZoomOnly)"
          </Down>
          <Up>"
              SetState(WAVE.Grading.Overall.Normal);
              SetState(WAVEAlt.Up)"
          </Up>
        </Bind>

        <State>
          <Name>"Normal"</Name>
          <DisplayText><Display>"WAVE.Display0.Line4"</Display><Text>"* Overall *  Secondaries   Mask"</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display1.Line4"</Display><Text>" Shadows   Midtones  Highlights"</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display2.Line3"</Display><Text>"  Mask  "</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display2.Line4"</Display><Text>"  Ignore     Inside    Outside"</Text></DisplayText>
        </State>
        <State>
          <Name>"Alt"</Name>
          <DisplayText><Display>"WAVE.Display2.Line3"</Display><Text>"  Alpha  "</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display2.Line4"</Display><Text>"  Ignore     Inside    Outside"</Text></DisplayText>
        </State>
      </State>

      <State>
        <Name>"Secondaries"</Name>
        <DisplayText><Display>"WAVE.Display0.Line0"</Display><Text>"Saturation    Pivot    Contrast"</Text></DisplayText>
        <DisplayText><Display>"WAVE.Display1.Line0"</Display><Text>"Temperature  Magenta     Gain  "</Text></DisplayText>
        <DisplayText><Display>"WAVE.Display2.Line0"</Display><Text>""</Text></DisplayText>

        <Bind>
          <Key>"WAVE.Alt"</Key>
          <Down>"
              SetState(WAVE.Grading.Secondaries.Alt);
              SetState(WAVEAlt.GrayOut)"
          </Down>
          <Up>"
              SetState(WAVE.Grading.Secondaries.Normal);
              SetState(WAVEAlt.Up)"
          </Up>
        </Bind>

        <State>
          <Name>"Normal"</Name>
          <DisplayText><Display>"WAVE.Display0.Line0"</Display><Text>"Saturation    Pivot    Contrast"</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display1.Line0"</Display><Text>"Temperature  Magenta     Gain  "</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display2.Line0"</Display><Text>""</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display0.Line4"</Display><Text>" Overall  * Secondaries *  Mask"</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display1.Line4"</Display><Text>" Shadows   Midtones  Highlights"</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display2.Line3"</Display><Text>"  Mask  "</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display2.Line4"</Display><Text>"  Ignore     Inside    Outside"</Text></DisplayText>
        </State>
        <State>
          <Name>"Alt"</Name>
          <DisplayText><Display>"WAVE.Display0.Line0"</Display><Text>"HUE -Value   -Range   -Tolerance"</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display1.Line0"</Display><Text>"LIGHT -Value -Range   -Tolerance"</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display2.Line0"</Display><Text>"SAT -Value   -Range   -Tolerance"</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display2.Line3"</Display><Text>"  Alpha  "</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display2.Line4"</Display><Text>"  Ignore     Inside    Outside"</Text></DisplayText>
      <Bind>
        <Encoder>"WAVE.Encoder0"</Encoder>
        <Secondary>"OffsetMiddleHue"</Secondary>
      </Bind>
      <Bind>
        <Key>"WAVE.ResetKnob1_1"</Key>
	      <Modifier>"WAVE.Alt"</Modifier>
        <Down>"Command(Secondary_Range.ToggleHue)"</Down>
      </Bind>
      <Bind>
        <Encoder>"WAVE.Encoder1"</Encoder>
        <Secondary>"OffsetHueRange"</Secondary>
      </Bind>
       <Bind>
        <Encoder>"WAVE.Encoder2"</Encoder>
        <Secondary>"OffsetHueTolerance"</Secondary>
      </Bind>
      <Bind>
        <Encoder>"WAVE.Encoder3"</Encoder>
        <Secondary>"OffsetMiddleLightness"</Secondary>
      </Bind>
      <Bind>
        <Key>"WAVE.ResetKnob2_1"</Key>
	      <Modifier>"WAVE.Alt"</Modifier>
        <Down>"Command(Secondary_Range.ToggleLightness)"</Down>
      </Bind>
      <Bind>
        <Encoder>"WAVE.Encoder4"</Encoder>
        <Secondary>"OffsetLightnessRange"</Secondary>
      </Bind>
      <Bind>
        <Encoder>"WAVE.Encoder5"</Encoder>
        <Secondary>"OffsetLightnessTolerance"</Secondary>
      </Bind>
      <Bind>
        <Encoder>"WAVE.Encoder6"</Encoder>
        <Secondary>"OffsetMiddleSaturation"</Secondary>
      </Bind>
      <Bind>
        <Key>"WAVE.ResetKnob3_1"</Key>
      	<Modifier>"WAVE.Alt"</Modifier>
        <Down>"Command(Secondary_Range.ToggleSaturation)"</Down>
      </Bind>
      <Bind>
        <Encoder>"WAVE.Encoder7"</Encoder>
        <Secondary>"OffsetSaturationRange"</Secondary>
      </Bind>
      <Bind>
        <Encoder>"WAVE.Encoder8"</Encoder>
        <Secondary>"OffsetSaturationTolerance"</Secondary>
      </Bind>
        </State>
      </State>

      <State>
        <Name>"Shadows"</Name>
        <DisplayText><Display>"WAVE.Display0.Line0"</Display><Text>"Saturation    Pivot    Contrast"</Text></DisplayText>
        <DisplayText><Display>"WAVE.Display1.Line0"</Display><Text>"Temperature  Magenta     Gain  "</Text></DisplayText>
        <DisplayText><Display>"WAVE.Display2.Line0"</Display><Text>"                         S/M"</Text></DisplayText>

        <Bind>
          <Encoder>"WAVE.Encoder8"</Encoder>
          <HWValue>"6"</HWValue>
        </Bind>
        <Bind>
          <Key>"WAVE.ResetKnob3_3"</Key>
          <Down>"Command(Grading_Interface.ResetHWValue, 6)"</Down>
        </Bind>

        <Bind>
          <Key>"WAVE.Alt"</Key>
          <Down>"
              SetState(WAVE.Grading.Shadows.Alt);
              SetState(WAVEAlt.GrayOut)"
          </Down>
          <Up>"
              SetState(WAVE.Grading.Shadows.Normal);
              SetState(WAVEAlt.Up)"
          </Up>
        </Bind>

        <State>
          <Name>"Normal"</Name>
          <DisplayText><Display>"WAVE.Display0.Line4"</Display><Text>" Overall   Secondaries   Mask"</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display1.Line4"</Display><Text>"* Shadows *  Midtones  Highlights"</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display2.Line3"</Display><Text>"  Mask  "</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display2.Line4"</Display><Text>"  Ignore     Inside    Outside"</Text></DisplayText>
        </State>
        <State>
          <Name>"Alt"</Name>
          <DisplayText><Display>"WAVE.Display2.Line3"</Display><Text>"  Alpha  "</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display2.Line4"</Display><Text>"  Ignore     Inside    Outside"</Text></DisplayText>
        </State>
      </State>
      
      <State>
        <Name>"Midtones"</Name>
        <DisplayText><Display>"WAVE.Display0.Line0"</Display><Text>"Saturation    Pivot    Contrast"</Text></DisplayText>
        <DisplayText><Display>"WAVE.Display1.Line0"</Display><Text>"Temperature  Magenta     Gain  "</Text></DisplayText>
        <DisplayText><Display>"WAVE.Display2.Line0"</Display><Text>"    M/H                  S/M"</Text></DisplayText>

        <Bind>
          <Encoder>"WAVE.Encoder6"</Encoder>
          <HWValue>"7"</HWValue>
        </Bind>
        <Bind>
          <Key>"WAVE.ResetKnob3_1"</Key>
          <Down>"Command(Grading_Interface.ResetHWValue, 7)"</Down>
        </Bind>
        <Bind>
          <Encoder>"WAVE.Encoder8"</Encoder>
          <HWValue>"6"</HWValue>
        </Bind>
        <Bind>
          <Key>"WAVE.ResetKnob3_3"</Key>
          <Down>"Command(Grading_Interface.ResetHWValue, 6)"</Down>
        </Bind>

        <Bind>
          <Key>"WAVE.Alt"</Key>
          <Down>"
              SetState(WAVE.Grading.Midtones.Alt);
              SetState(WAVEAlt.GrayOut)"
          </Down>
          <Up>"
              SetState(WAVE.Grading.Midtones.Normal);
              SetState(WAVEAlt.Up)"
          </Up>
        </Bind>

        <State>
          <Name>"Normal"</Name>
          <DisplayText><Display>"WAVE.Display0.Line4"</Display><Text>" Overall   Secondaries   Mask"</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display1.Line4"</Display><Text>" Shadows  * Midtones * Highlights"</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display2.Line3"</Display><Text>"  Mask  "</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display2.Line4"</Display><Text>"  Ignore     Inside    Outside"</Text></DisplayText>
        </State>
        <State>
          <Name>"Alt"</Name>
          <DisplayText><Display>"WAVE.Display2.Line3"</Display><Text>"  Alpha  "</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display2.Line4"</Display><Text>"  Ignore     Inside    Outside"</Text></DisplayText>
        </State>
      </State>
      
      <State>
        <Name>"Highlights"</Name>
        <DisplayText><Display>"WAVE.Display0.Line0"</Display><Text>"Saturation    Pivot    Contrast"</Text></DisplayText>
        <DisplayText><Display>"WAVE.Display1.Line0"</Display><Text>"Temperature  Magenta     Gain  "</Text></DisplayText>
        <DisplayText><Display>"WAVE.Display2.Line0"</Display><Text>"    M/H"</Text></DisplayText>

        <Bind>
          <Encoder>"WAVE.Encoder6"</Encoder>
          <HWValue>"7"</HWValue>
        </Bind>
        <Bind>
          <Key>"WAVE.ResetKnob3_1"</Key>
          <Down>"Command(Grading_Interface.ResetHWValue, 7)"</Down>
        </Bind>

        <Bind>
          <Key>"WAVE.Alt"</Key>
          <Down>"
              SetState(WAVE.Grading.Highlights.Alt);
              SetState(WAVEAlt.GrayOut)"
          </Down>
          <Up>"
              SetState(WAVE.Grading.Highlights.Normal);
              SetState(WAVEAlt.Up)"
          </Up>
        </Bind>

        <State>
          <Name>"Normal"</Name>
          <DisplayText><Display>"WAVE.Display0.Line4"</Display><Text>" Overall   Secondaries   Mask"</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display1.Line4"</Display><Text>" Shadows   Midtones * Highlights *"</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display2.Line3"</Display><Text>"  Mask  "</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display2.Line4"</Display><Text>"  Ignore     Inside    Outside"</Text></DisplayText>
        </State>
        <State>
          <Name>"Alt"</Name>
          <DisplayText><Display>"WAVE.Display2.Line3"</Display><Text>"  Alpha  "</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display2.Line4"</Display><Text>"  Ignore     Inside    Outside"</Text></DisplayText>
        </State>
      </State>

      <!-- trackerballs -->
      <Bind>
        <Trackball>"WAVE.Encoder13, WAVE.Encoder14, WAVE.Encoder9"</Trackball>
        <HWColor>"0"</HWColor>
      </Bind>
      <Bind>
        <Key>"WAVE.ResetColor1"</Key>
        <Down>"Command(Grading_Interface.ResetHWColorHS, 0)"</Down>
      </Bind>
      <Bind>
        <Key>"WAVE.ResetRing1"</Key>
        <Down>"Command(Grading_Interface.ResetHWColorL, 0)"</Down>
      </Bind>

      <Bind>
        <Trackball>"WAVE.Encoder15, WAVE.Encoder16, WAVE.Encoder10"</Trackball>
        <HWColor>"1"</HWColor>
      </Bind>
      <Bind>
        <Key>"WAVE.ResetColor2"</Key>
        <Down>"Command(Grading_Interface.ResetHWColorHS, 1)"</Down>
      </Bind>
      <Bind>
        <Key>"WAVE.ResetRing2"</Key>
        <Down>"Command(Grading_Interface.ResetHWColorL, 1)"</Down>
      </Bind>

      <Bind>
        <Trackball>"WAVE.Encoder17, WAVE.Encoder18, WAVE.Encoder11"</Trackball>
        <HWColor>"2"</HWColor>
      </Bind>
      <Bind>
        <Key>"WAVE.ResetColor3"</Key>
        <Down>"Command(Grading_Interface.ResetHWColorHS, 2)"</Down>
      </Bind>
      <Bind>
        <Key>"WAVE.ResetRing3"</Key>
        <Down>"Command(Grading_Interface.ResetHWColorL, 2)"</Down>
      </Bind>
    </State>

    <State>
      <Name>"Mask"</Name>
      <DisplayText><Display>"WAVE.Display0.Line0"</Display><Text>"  Skew X     Skew Y     Scale"</Text></DisplayText>
      <DisplayText><Display>"WAVE.Display1.Line0"</Display><Text>"  Move X     Move Y     Rotate"</Text></DisplayText>
      <DisplayText><Display>"WAVE.Display2.Line0"</Display><Text>""</Text></DisplayText>
      <DisplayText><Display>"WAVE.Display2.Line3"</Display><Text>""</Text></DisplayText>

      <Bind>
        <Key>"WAVE.Alt"</Key>
        <Down>"
            SetState(WAVE.Mask.Alt);
            SetState(WAVEAlt.ZoomOnly)"
        </Down>
        <Up>"
            SetState(WAVE.Mask.Normal);
            SetState(WAVEAlt.Up)"
        </Up>
      </Bind>

      <State>
        <Name>"Normal"</Name>
        <DisplayText><Display>"WAVE.Display0.Line4"</Display><Text>" Overall   Secondaries  * Mask *"</Text></DisplayText>
        <DisplayText><Display>"WAVE.Display1.Line4"</Display><Text>" Shadows   Midtones  Highlights"</Text></DisplayText>
        <DisplayText><Display>"WAVE.Display2.Line4"</Display><Text>"  Circle   Rectangle   Vignette"</Text></DisplayText>
      </State>
      <State>
        <Name>"Alt"</Name>
        <DisplayText><Display>"WAVE.Display2.Line4"</Display><Text>"  Remove  "</Text></DisplayText>
      </State>

      <!-- the trackballs -->

      <!-- translation -->
      <Bind>
        <Trackball>"WAVE.Encoder13, WAVE.Encoder14"</Trackball>
        <Scale>"8,-8"</Scale>
        <MaskTransform>"Move"</MaskTransform>
      </Bind>
      <Bind>
        <Key>"WAVE.ResetColor1"</Key>
        <Down>"Command(Masks.ResetTranslation)"</Down>
      </Bind>
      <Bind>
        <Trackball>"WAVE.Encoder17, WAVE.Encoder18"</Trackball>
        <Scale>"2.0,-2.0"</Scale>
        <MaskTransform>"Move"</MaskTransform>
      </Bind>
      <Bind>
        <Key>"WAVE.ResetColor3"</Key>
        <Down>"Command(Masks.ResetTranslation)"</Down>
      </Bind>

      <!-- rotation -->
      <Bind>
        <Encoder>"WAVE.Encoder9"</Encoder>
        <Scale>"-1"</Scale>
        <MaskTransform>"Rotate"</MaskTransform>
      </Bind>
      <Bind>
        <Key>"WAVE.ResetRing1"</Key>
        <Down>"Command(Masks.ResetRotation)"</Down>
      </Bind>

      <!-- scale X/Y -->
      <Bind>
        <Trackball>"WAVE.Encoder15, WAVE.Encoder16"</Trackball>
        <Scale>"1.5,1.5"</Scale>
        <MaskTransform>"Resize"</MaskTransform>
      </Bind>
      <Bind>
        <Key>"WAVE.ResetColor2"</Key>
        <Down>"Command(Masks.ResetScale)"</Down>
      </Bind>

      <!-- proportional scale -->
      <Bind>
        <Encoder>"WAVE.Encoder10"</Encoder>
        <MaskTransform>"Resize"</MaskTransform>
      </Bind>
      <Bind>
        <Key>"WAVE.ResetRing2"</Key>
        <Down>"Command(Masks.ResetScale)"</Down>
      </Bind>

      <!-- feather -->
      <Bind>
        <Encoder>"WAVE.Encoder11"</Encoder>
        <Scale>"10,-10"</Scale>
        <MaskTransform>"ResizeFeather"</MaskTransform>
      </Bind>
      <Bind>
        <Key>"WAVE.ResetRing3"</Key>
        <Down>"Command(Masks.ResetFeather)"</Down>
      </Bind>

      <!-- bindings for the knobs at the top + their reset buttons -->

      <Bind>
        <Encoder>"WAVE.Encoder0"</Encoder>    <!-- leftmost knob -->
        <Scale>"-1"</Scale>
        <MaskTransform>"SkewX"</MaskTransform>
      </Bind>
      <Bind>
        <Key>"WAVE.ResetKnob1_1"</Key>
        <Down>"Command(Masks.ResetSkewX)"</Down>
      </Bind>
      <Bind>
        <Encoder>"WAVE.Encoder1"</Encoder>    <!-- left middle knob -->
        <MaskTransform>"SkewY"</MaskTransform>
      </Bind>
      <Bind>
        <Key>"WAVE.ResetKnob1_2"</Key>
        <Down>"Command(Masks.ResetSkewY)"</Down>
      </Bind>
      <Bind>
        <Encoder>"WAVE.Encoder2"</Encoder>    <!-- left section right knob -->
        <MaskTransform>"Resize"</MaskTransform>
      </Bind>
      <Bind>
        <Key>"WAVE.ResetKnob1_3"</Key>
        <Down>"Command(Masks.ResetScale)"</Down>
      </Bind>

      <!-- "trackballs" are purely virtual concepts (there are really only encoders) -->
      <!-- note how we can make a "trackball" out of 2 knobs in the following binding -->

      <Bind>
        <Trackball>"WAVE.Encoder3,WAVE.Encoder4"</Trackball>    <!-- middle section left and middle knobs -->
        <MaskTransform>"Move"</MaskTransform>
        <Scale>"1.0,-1.0"</Scale>
      </Bind>
      <Bind>
        <Key>"WAVE.ResetKnob2_1"</Key>
        <Down>"Command(Masks.ResetTranslationX)"</Down>
      </Bind>
      <Bind>
        <Key>"WAVE.ResetKnob2_2"</Key>
        <Down>"Command(Masks.ResetTranslationY)"</Down>
      </Bind>
      <Bind>
        <Encoder>"WAVE.Encoder5"</Encoder>    <!-- middle section right knob -->
        <Scale>"-1"</Scale>
        <MaskTransform>"Rotate"</MaskTransform>
      </Bind>
      <Bind>
        <Key>"WAVE.ResetKnob2_3"</Key>
        <Down>"Command(Masks.ResetRotation)"</Down>
      </Bind>

      <!-- the 3 rightmost softkeys load mask presets -->

      <Bind>
        <Key>"WAVE.Soft3_1"</Key>
        <Down>"Command(Masks.Circle)"</Down>
      </Bind>
      <Bind>
        <Key>"WAVE.Soft3_1"</Key>
        <Modifier>"WAVE.Alt"</Modifier>
        <Down>"Command(Masks.Remove)"</Down>
      </Bind>
      <Bind>
        <Key>"WAVE.Soft3_2"</Key>
        <Down>"Command(Masks.Rectangle)"</Down>
      </Bind>
      <Bind>
        <Key>"WAVE.Soft3_3"</Key>
        <Down>"Command(Masks.Vignette)"</Down>
      </Bind>

    </State>

    <State>
      <Name>"PanAndScan"</Name>
      <DisplayText><Display>"WAVE.Display0.Line0"</Display><Text>"                        Scale"</Text></DisplayText>
      <DisplayText><Display>"WAVE.Display1.Line0"</Display><Text>"  Move X     Move Y     Rotate"</Text></DisplayText>
      <DisplayText><Display>"WAVE.Display2.Line0"</Display><Text>""</Text></DisplayText>
      <DisplayText><Display>"WAVE.Display2.Line3"</Display><Text>""</Text></DisplayText>

      <Bind>
        <Key>"WAVE.Alt"</Key>
        <Down>"
            SetState(WAVE.PanAndScan.Alt);
            SetState(WAVEAlt.ZoomOnly)"
        </Down>
        <Up>"
            SetState(WAVE.PanAndScan.Normal);
            SetState(WAVEAlt.Up)"
        </Up>
      </Bind>

      <State>
        <Name>"Normal"</Name>
        <DisplayText><Display>"WAVE.Display0.Line4"</Display><Text>" Overall   Secondaries   Mask"</Text></DisplayText>
        <DisplayText><Display>"WAVE.Display1.Line4"</Display><Text>" Shadows   Midtones  Highlights"</Text></DisplayText>
        <DisplayText><Display>"WAVE.Display2.Line4"</Display><Text>"Mirror X   Mirror Y   Mirror Rot"</Text></DisplayText>
      </State>
      <State>
        <Name>"Alt"</Name>
      </State>

      <!-- the trackballs -->

      <!-- translation -->
      <Bind>
        <Trackball>"WAVE.Encoder13, WAVE.Encoder14"</Trackball>
        <Scale>"1.0,-1.0"</Scale>
        <PanAndScan>"Move"</PanAndScan>
      </Bind>
      <Bind>
        <Key>"WAVE.ResetColor1"</Key>
        <Down>"Command(PanAndScan.ResetTranslation)"</Down>
      </Bind>
 
      <Bind>
        <Trackball>"WAVE.Encoder17, WAVE.Encoder18"</Trackball>
        <Scale>"0.2,-0.2"</Scale>
        <PanAndScan>"Move"</PanAndScan>
      </Bind>
      <Bind>
        <Key>"WAVE.ResetColor3"</Key>
        <Down>"Command(PanAndScan.ResetTranslation)"</Down>
      </Bind>

      <!-- rotation -->
      <Bind>
        <Encoder>"WAVE.Encoder9"</Encoder>
        <Scale>"-0.1"</Scale>
        <PanAndScan>"Rotate"</PanAndScan>
      </Bind>
      <Bind>
        <Key>"WAVE.ResetRing1"</Key>
        <Down>"Command(PanAndScan.ResetRotation)"</Down>
      </Bind>

      <!-- scale X/Y -->
      <Bind>
        <Trackball>"WAVE.Encoder15, WAVE.Encoder16"</Trackball>
        <Scale>"0.6"</Scale>
        <PanAndScan>"Resize"</PanAndScan>
      </Bind>
      <Bind>
        <Key>"WAVE.ResetColor2"</Key>
        <Down>"Command(PanAndScan.ResetScale)"</Down>
      </Bind>

      <!-- proportional scale -->
      <Bind>
        <Encoder>"WAVE.Encoder10"</Encoder>
        <Scale>"0.6"</Scale>
        <PanAndScan>"Resize"</PanAndScan>
      </Bind>
      <Bind>
        <Key>"WAVE.ResetRing2"</Key>
        <Down>"Command(PanAndScan.ResetScale)"</Down>
      </Bind>

      <!-- bindings for the knobs at the top + their reset buttons -->

      <Bind>
        <Encoder>"WAVE.Encoder2"</Encoder>    <!-- left section right knob -->
        <Scale>"0.6"</Scale>
        <PanAndScan>"Resize"</PanAndScan>
      </Bind>
      <Bind>
        <Key>"WAVE.ResetKnob1_3"</Key>
        <Down>"Command(PanAndScan.ResetScale)"</Down>
      </Bind>

      <!-- "trackballs" are purely virtual concepts (there are really only encoders) -->
      <!-- note how we can make a "trackball" out of 2 knobs in the following binding -->

      <Bind>
        <Trackball>"WAVE.Encoder3,WAVE.Encoder4"</Trackball>    <!-- middle section left and middle knobs -->
        <Scale>"0.5,-0.5"</Scale>
        <PanAndScan>"Move"</PanAndScan>
      </Bind>
      <Bind>
        <Key>"WAVE.ResetKnob2_1"</Key>
        <Down>"Command(PanAndScan.ResetTranslationX)"</Down>
      </Bind>
      <Bind>
        <Key>"WAVE.ResetKnob2_2"</Key>
        <Down>"Command(PanAndScan.ResetTranslationY)"</Down>
      </Bind>
      <Bind>
        <Encoder>"WAVE.Encoder5"</Encoder>    <!-- middle section right knob -->
        <Scale>"-0.1"</Scale>
        <PanAndScan>"Rotate"</PanAndScan>
      </Bind>
      <Bind>
        <Key>"WAVE.ResetKnob2_3"</Key>
        <Down>"Command(PanAndScan.ResetRotation)"</Down>
      </Bind>

      <!-- the 3 rightmost softkeys mirror pan and rotation for the right eye -->

      <Bind>
        <Key>"WAVE.Soft3_1"</Key>
        <Down>"Command(PanAndScan.ToggleRightEyePanXMirror)"</Down>
      </Bind>
      <Bind>
        <Key>"WAVE.Soft3_2"</Key>
        <Down>"Command(PanAndScan.ToggleRightEyePanYMirror)"</Down>
      </Bind>
      <Bind>
        <Key>"WAVE.Soft3_3"</Key>
       <Down>"Command(PanAndScan.ToggleRightEyeRotationMirror)"</Down>
      </Bind>
    </State>

    <State>
      <Name>"StereoPanel"</Name>
      <DisplayText><Display>"WAVE.Display0.Line0"</Display><Text>""</Text></DisplayText>
      <DisplayText><Display>"WAVE.Display1.Line0"</Display><Text>""</Text></DisplayText>
      <DisplayText><Display>"WAVE.Display2.Line0"</Display><Text>""</Text></DisplayText>
      <DisplayText><Display>"WAVE.Display2.Line3"</Display><Text>""</Text></DisplayText>

      <!-- right 3 softkeys without Alt -->

      <Bind>
        <Key>"WAVE.Soft3_1"</Key>
        <Down>"Command(Stereo_Panel.StereoMode)"</Down>
      </Bind>
      <Bind>
        <Key>"WAVE.Soft3_2"</Key>
        <Down>"Command(Stereo_Panel.CycleModes)"</Down>
      </Bind>
      <Bind>
        <Key>"WAVE.Soft3_3"</Key>
        <Down>"Command(Stereo_Panel.StereoOff)"</Down>
      </Bind>

      <!-- softkeys with Alt pressed -->
      <!-- Soft1_1 is already reserved for Reel Assignment tab -->

      <Bind>
        <Key>"WAVE.Soft1_2"</Key>
        <Modifier>"WAVE.Alt"</Modifier>
        <Down>"
          Command(Stereo_Panel.ActivateTab, Reel Setup);
          SetState(WAVE.StereoPanel.ReelSetup.Alt);
          SetState(WAVE.StereoPanel.ReelSetup)"
        </Down>
      </Bind>
      <Bind>
        <Key>"WAVE.Soft1_3"</Key>
        <Modifier>"WAVE.Alt"</Modifier>
        <Down>"
          Command(Stereo_Panel.ActivateTab, Geometry);
          SetState(WAVE.StereoPanel.ReelGeometry.Alt);
          SetState(WAVE.StereoPanel.ReelGeometry)"
        </Down>
      </Bind>
      <Bind>
        <Key>"WAVE.Soft2_1"</Key>
        <Modifier>"WAVE.Alt"</Modifier>
        <Down>"
          Command(Stereo_Panel.ActivateTab, Adjust);
          SetState(WAVE.StereoPanel.Adjust.Alt);
          SetState(WAVE.StereoPanel.Adjust)"
        </Down>
      </Bind>
      <Bind>
        <Key>"WAVE.Soft2_2"</Key>
        <Modifier>"WAVE.Alt"</Modifier>
        <Down>"
          Command(Stereo_Panel.ActivateTab, Floating Window);
          SetState(WAVE.StereoPanel.FloatingWindow.Alt);
          SetState(WAVE.StereoPanel.FloatingWindow)"
        </Down>
      </Bind>

      <!-- "back to grading" softkey -->
      <!-- setting the GUI_PropertiesPanel state is not necessary, but reduces display flicker -->

      <Bind>
        <Key>"WAVE.Soft2_3"</Key>
        <Modifier>"WAVE.Alt"</Modifier>
        <Down>"
          ReleaseKey(WAVE.Alt);
          SetState(WAVE.StereoPanel.ReelSetup.Normal);
          SetState(WAVE.StereoPanel.ReelGeometry.Normal);
          SetState(WAVE.StereoPanel.Adjust.Normal);
          SetState(WAVE.StereoPanel.FloatingWindow.Normal);
          SetState(GUI_PropertiesPanel.Overall);
          Command(Property_Window.SetCurrentPage, Overall)"</Down>
      </Bind>

      <State>
        <Name>"ReelSetup"</Name>

        <Bind>
          <Key>"WAVE.Alt"</Key>
          <Down>"SetState(WAVE.StereoPanel.ReelSetup.Alt)"</Down>
        </Bind>

        <State>
          <Name>"Normal"</Name>
          <DisplayText><Display>"WAVE.Display0.Line0"</Display><Text>""</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display1.Line0"</Display><Text>"                      S.F.Split"</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display2.Line0"</Display><Text>" Offset L              Offset R"</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display0.Line4"</Display><Text>"MirrorH(L) MirrorV(L) < Exchg >"</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display1.Line4"</Display><Text>"MirrorH(R) MirrorV(R) Single Fr."</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display2.Line4"</Display><Text>"  Stereo   Cycle Mode  St. Off"</Text></DisplayText>

          <Bind>
            <Key>"WAVE.Soft1_1"</Key>
            <Down>"Command(Stereo_Panel.ReelMirrorH, 0)"</Down>
          </Bind>
          <Bind>
            <Key>"WAVE.Soft1_2"</Key>
            <Down>"Command(Stereo_Panel.ReelMirrorV, 0)"</Down>
          </Bind>
          <Bind>
            <Key>"WAVE.Soft1_3"</Key>
            <Down>"Command(Stereo_Panel.ExchangeReels)"</Down>
          </Bind>
          <Bind>
            <Key>"WAVE.Soft2_1"</Key>
            <Down>"Command(Stereo_Panel.ReelMirrorH, 1)"</Down>
          </Bind>
          <Bind>
            <Key>"WAVE.Soft2_2"</Key>
            <Down>"Command(Stereo_Panel.ReelMirrorV, 1)"</Down>
          </Bind>
          <Bind>
            <Key>"WAVE.Soft2_3"</Key>
            <Down>"Command(Stereo_Panel.CycleSingleFrameStereo)"</Down>
          </Bind>

          <!-- knobs & resets (split point, reel offsets) -->

          <Bind>
            <Key>"WAVE.ResetKnob2_3"</Key>
            <Down>"Command(Stereo_Panel.ResetSingleFrameSplit)"</Down>
          </Bind>
          <Bind>
            <Encoder>"WAVE.Encoder5"</Encoder>
            <Stereo>"SingleFrameSplit"</Stereo>
          </Bind>
		  
          <Bind>
            <Encoder>"WAVE.Encoder6"</Encoder>
            <Scale>"0.5"</Scale>
            <Stereo>"ReelOffsetL"</Stereo>
          </Bind>
          <Bind>
            <Key>"WAVE.ResetKnob3_1"</Key>
            <Down>"Command(Stereo_Panel.ResetReelOffsetL)"</Down>
          </Bind>
          <Bind>
            <Encoder>"WAVE.Encoder8"</Encoder>
            <Scale>"0.5"</Scale>
            <Stereo>"ReelOffsetR"</Stereo>
          </Bind>
          <Bind>
            <Key>"WAVE.ResetKnob3_3"</Key>
            <Down>"Command(Stereo_Panel.ResetReelOffsetR)"</Down>
          </Bind>
        </State>

        <State>
          <Name>"Alt"</Name>
          <DisplayText><Display>"WAVE.Display0.Line0"</Display><Text>""</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display1.Line0"</Display><Text>""</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display2.Line0"</Display><Text>""</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display0.Line4"</Display><Text>"         * Reel Setup * Reel Geom."</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display1.Line4"</Display><Text>"   Adjust   F.Window   Grading"</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display2.Line4"</Display><Text>""</Text></DisplayText>

          <Bind>
            <Key>"WAVE.Alt"</Key>
            <Up>"
			        SetState(WAVE.StereoPanel.ReelGeometry.Normal);
              SetState(WAVE.StereoPanel.Adjust.Normal);
              SetState(WAVE.StereoPanel.FloatingWindow.Normal);
			        SetState(WAVE.StereoPanel.ReelSetup.Normal)"
            </Up>
          </Bind>
        </State>
      </State>
	  
      <State>
        <Name>"ReelGeometry"</Name>

        <Bind>
          <Key>"WAVE.Alt"</Key>
          <Down>"SetState(WAVE.StereoPanel.ReelGeometry.Alt)"</Down>
        </Bind>

        <State>
          <Name>"Normal"</Name>
          <DisplayText><Display>"WAVE.Display0.Line0"</Display><Text>"0 Parallax  Rotation  Ver.Offset"</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display1.Line0"</Display><Text>"Rel.Scale"</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display2.Line0"</Display><Text>""</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display0.Line4"</Display><Text>""</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display1.Line4"</Display><Text>""</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display2.Line4"</Display><Text>"  Stereo   Cycle Mode  St. Off"</Text></DisplayText>

          <!-- knobs & resets (scale) -->

          <Bind>
            <Key>"WAVE.ResetKnob2_1"</Key>
            <Down>"Command(Stereo_Panel.ResetReelScale)"</Down>
          </Bind>
          <Bind>
            <Encoder>"WAVE.Encoder3"</Encoder>
            <Scale>"0.05"</Scale>
            <Stereo>"ReelScale"</Stereo>
          </Bind>

          <!-- interaxial shift AKA zero parallax -->

          <Bind>
            <Encoder>"WAVE.Encoder0"</Encoder>
            <Scale>"0.005"</Scale>

            <Stereo>"ReelInteraxial"</Stereo>
          </Bind>
          <Bind>
            <Key>"WAVE.ResetKnob1_1"</Key>
            <Down>"Command(Stereo_Panel.ResetReelInteraxial)"</Down>
          </Bind>
          <Bind>
            <Key>"WAVE.ResetRing1"</Key>
            <Down>"Command(Stereo_Panel.ResetReelInteraxial)"</Down>
          </Bind>
          <Bind>
            <Key>"WAVE.ResetColor1"</Key>
            <Down>"SetState(WAVE.StereoPanel.ReelGeometry.Normal.Interaxial.Unlocked)"</Down>
            <Up>"SetState(WAVE.StereoPanel.ReelGeometry.Normal.Interaxial.Locked)"</Up>
          </Bind>

          <StateGroup>
            <Name>"Interaxial"</Name>
            <State>
              <Name>"Locked"</Name>
            </State>
            <State>
              <Name>"Unlocked"</Name>
              <Bind>
                <Encoder>"WAVE.Encoder9"</Encoder>
                <Scale>"0.005"</Scale>
                <Stereo>"ReelInteraxial"</Stereo>
              </Bind>
            </State>
          </StateGroup>

          <!-- rotation -->

          <Bind>
            <Encoder>"WAVE.Encoder1"</Encoder>
            <Scale>"0.005"</Scale>
            <Stereo>"ReelRotation"</Stereo>
          </Bind>
          <Bind>
            <Key>"WAVE.ResetKnob1_2"</Key>
            <Down>"Command(Stereo_Panel.ResetReelRotation)"</Down>
          </Bind>
          <Bind>
            <Key>"WAVE.ResetRing2"</Key>
            <Down>"Command(Stereo_Panel.ResetReelRotation)"</Down>
          </Bind>
          <Bind>
            <Key>"WAVE.ResetColor2"</Key>
            <Down>"SetState(WAVE.StereoPanel.ReelGeometry.Normal.Rotation.Unlocked)"</Down>
            <Up>"SetState(WAVE.StereoPanel.ReelGeometry.Normal.Rotation.Locked)"</Up>
          </Bind>

          <StateGroup>
            <Name>"Rotation"</Name>
            <State>
              <Name>"Locked"</Name>
            </State>
            <State>
              <Name>"Unlocked"</Name>
              <Bind>
                <Encoder>"WAVE.Encoder10"</Encoder>
                <Scale>"0.005"</Scale>
                <Stereo>"ReelRotation"</Stereo>
              </Bind>
            </State>
          </StateGroup>

          <!-- vertical shift -->

          <Bind>
            <Encoder>"WAVE.Encoder2"</Encoder>
            <Scale>"0.005"</Scale>
            <Stereo>"ReelVerticalShift"</Stereo>
          </Bind>
          <Bind>
            <Key>"WAVE.ResetKnob1_3"</Key>
            <Down>"Command(Stereo_Panel.ResetReelVerticalShift)"</Down>
          </Bind>
          <Bind>
            <Key>"WAVE.ResetRing3"</Key>
            <Down>"Command(Stereo_Panel.ResetReelVerticalShift)"</Down>
          </Bind>
          <Bind>
            <Key>"WAVE.ResetColor3"</Key>
            <Down>"SetState(WAVE.StereoPanel.ReelGeometry.Normal.VerticalShift.Unlocked)"</Down>
            <Up>"SetState(WAVE.StereoPanel.ReelGeometry.Normal.VerticalShift.Locked)"</Up>
          </Bind>

          <StateGroup>
            <Name>"VerticalShift"</Name>
            <State>
              <Name>"Locked"</Name>
            </State>
            <State>
              <Name>"Unlocked"</Name>
              <Bind>
                <Encoder>"WAVE.Encoder11"</Encoder>
                <Scale>"0.005"</Scale>
                <Stereo>"ReelVerticalShift"</Stereo>
              </Bind>
            </State>
          </StateGroup>
        </State>

        <State>
          <Name>"Alt"</Name>
          <DisplayText><Display>"WAVE.Display0.Line0"</Display><Text>""</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display1.Line0"</Display><Text>""</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display2.Line0"</Display><Text>""</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display0.Line4"</Display><Text>"          Reel Setup * Reel Geom.*"</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display1.Line4"</Display><Text>"   Adjust   F.Window   Grading"</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display2.Line4"</Display><Text>""</Text></DisplayText>

          <Bind>
            <Key>"WAVE.Alt"</Key>
            <Up>"
              SetState(WAVE.StereoPanel.ReelSetup.Normal);
              SetState(WAVE.StereoPanel.Adjust.Normal);
              SetState(WAVE.StereoPanel.FloatingWindow.Normal);
			        SetState(WAVE.StereoPanel.ReelGeometry.Normal)"
            </Up>
          </Bind>
        </State>
      </State>
	  
      <State>
        <Name>"Adjust"</Name>

        <Bind>
          <Key>"WAVE.Alt"</Key>
          <Down>"SetState(WAVE.StereoPanel.Adjust.Alt)"</Down>
        </Bind>

        <State>
          <Name>"Normal"</Name>
          <DisplayText><Display>"WAVE.Display0.Line0"</Display><Text>" Parallax"</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display1.Line0"</Display><Text>""</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display2.Line0"</Display><Text>""</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display0.Line4"</Display><Text>""</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display1.Line4"</Display><Text>""</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display2.Line4"</Display><Text>"  Stereo   Cycle Mode  St. Off"</Text></DisplayText>

          <!-- interaxial shift AKA parallax -->

          <Bind>
            <Encoder>"WAVE.Encoder0"</Encoder>
            <Scale>"0.005"</Scale>
            <Stereo>"AdjustInteraxial"</Stereo>
          </Bind>
          <Bind>
            <Key>"WAVE.ResetKnob1_1"</Key>
            <Down>"Command(Stereo_Panel.ResetAdjustInteraxial)"</Down>
          </Bind>
          <Bind>
            <Key>"WAVE.ResetRing1"</Key>
            <Down>"Command(Stereo_Panel.ResetAdjustInteraxial)"</Down>
          </Bind>
          <Bind>
            <Key>"WAVE.ResetColor1"</Key>
            <Down>"SetState(WAVE.StereoPanel.Adjust.Normal.Interaxial.Unlocked)"</Down>
            <Up>"SetState(WAVE.StereoPanel.Adjust.Normal.Interaxial.Locked)"</Up>
          </Bind>

          <StateGroup>
            <Name>"Interaxial"</Name>
            <State>
              <Name>"Locked"</Name>
            </State>
            <State>
              <Name>"Unlocked"</Name>
              <Bind>
                <Encoder>"WAVE.Encoder9"</Encoder>
                <Scale>"0.005"</Scale>
                <Stereo>"AdjustInteraxial"</Stereo>
              </Bind>
            </State>
          </StateGroup>
        </State>

        <State>
          <Name>"Alt"</Name>
          <DisplayText><Display>"WAVE.Display0.Line0"</Display><Text>""</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display1.Line0"</Display><Text>""</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display2.Line0"</Display><Text>""</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display0.Line4"</Display><Text>"          Reel Setup  Reel Geom."</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display1.Line4"</Display><Text>"  * Adjust *  F.Window   Grading"</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display2.Line4"</Display><Text>""</Text></DisplayText>

          <Bind>
            <Key>"WAVE.Alt"</Key>
            <Up>"
              SetState(WAVE.StereoPanel.ReelSetup.Normal);
              SetState(WAVE.StereoPanel.ReelGeometry.Normal);
              SetState(WAVE.StereoPanel.FloatingWindow.Normal);
			        SetState(WAVE.StereoPanel.Adjust.Normal)"
            </Up>
          </Bind>
        </State>
      </State>

      <State>
        <Name>"FloatingWindow"</Name>

        <Bind>
          <Key>"WAVE.Alt"</Key>
          <Down>"SetState(WAVE.StereoPanel.FloatingWindow.Alt)"</Down>
        </Bind>

        <State>
          <Name>"Normal"</Name>
          <DisplayText><Display>"WAVE.Display0.Line0"</Display><Text>"  L-Left      L-Top     L-Right"</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display1.Line0"</Display><Text>" L-Bottom               R-Left"</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display2.Line0"</Display><Text>"   R-Top    R-Right    R-Bottom"</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display0.Line4"</Display><Text>""</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display1.Line4"</Display><Text>""</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display2.Line4"</Display><Text>"  Stereo   Cycle Mode  St. Off"</Text></DisplayText>

          <Bind>
            <Encoder>"WAVE.Encoder0"</Encoder>
            <Scale>"0.5"</Scale>
            <Stereo>"WindowLLeft"</Stereo>
          </Bind>
          <Bind>
            <Key>"WAVE.ResetKnob1_1"</Key>
            <Down>"Command(Stereo_Panel.ResetFloatingWindow,0)"</Down>
          </Bind>
          <Bind>
            <Encoder>"WAVE.Encoder1"</Encoder>
            <Scale>"0.5"</Scale>
            <Stereo>"WindowLTop"</Stereo>
          </Bind>
          <Bind>
            <Key>"WAVE.ResetKnob1_2"</Key>
            <Down>"Command(Stereo_Panel.ResetFloatingWindow,3)"</Down>
          </Bind>
          <Bind>
            <Encoder>"WAVE.Encoder2"</Encoder>
            <Scale>"-0.5"</Scale>
            <Stereo>"WindowLRight"</Stereo>
          </Bind>
          <Bind>
            <Key>"WAVE.ResetKnob1_3"</Key>
            <Down>"Command(Stereo_Panel.ResetFloatingWindow,2)"</Down>
          </Bind>
          <Bind>
            <Encoder>"WAVE.Encoder3"</Encoder>
            <Scale>"-0.5"</Scale>
            <Stereo>"WindowLBottom"</Stereo>
          </Bind>
          <Bind>
            <Key>"WAVE.ResetKnob2_1"</Key>
            <Down>"Command(Stereo_Panel.ResetFloatingWindow,1)"</Down>
          </Bind>

          <Bind>
            <Encoder>"WAVE.Encoder5"</Encoder>
            <Scale>"0.5"</Scale>
            <Stereo>"WindowRLeft"</Stereo>
          </Bind>
          <Bind>
            <Key>"WAVE.ResetKnob2_3"</Key>
            <Down>"Command(Stereo_Panel.ResetFloatingWindow,4)"</Down>
          </Bind>
          <Bind>
            <Encoder>"WAVE.Encoder6"</Encoder>
            <Scale>"0.5"</Scale>
            <Stereo>"WindowRTop"</Stereo>
          </Bind>
          <Bind>
            <Key>"WAVE.ResetKnob3_1"</Key>
            <Down>"Command(Stereo_Panel.ResetFloatingWindow,7)"</Down>
          </Bind>
          <Bind>
            <Encoder>"WAVE.Encoder7"</Encoder>
            <Scale>"-0.5"</Scale>
            <Stereo>"WindowRRight"</Stereo>
          </Bind>
          <Bind>
            <Key>"WAVE.ResetKnob3_2"</Key>
            <Down>"Command(Stereo_Panel.ResetFloatingWindow,6)"</Down>
          </Bind>
          <Bind>
            <Encoder>"WAVE.Encoder8"</Encoder>
            <Scale>"-0.5"</Scale>
            <Stereo>"WindowRBottom"</Stereo>
          </Bind>
          <Bind>
            <Key>"WAVE.ResetKnob3_3"</Key>
            <Down>"Command(Stereo_Panel.ResetFloatingWindow,5)"</Down>
          </Bind>
        </State>

        <State>
          <Name>"Alt"</Name>
          <DisplayText><Display>"WAVE.Display0.Line0"</Display><Text>""</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display1.Line0"</Display><Text>""</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display2.Line0"</Display><Text>""</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display0.Line4"</Display><Text>"          Reel Setup  Reel Geom."</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display1.Line4"</Display><Text>"   Adjust  * F.Window *  Grading"</Text></DisplayText>
          <DisplayText><Display>"WAVE.Display2.Line4"</Display><Text>""</Text></DisplayText>

          <Bind>
            <Key>"WAVE.Alt"</Key>
            <Up>"
              SetState(WAVE.StereoPanel.ReelSetup.Normal);
              SetState(WAVE.StereoPanel.ReelGeometry.Normal);
              SetState(WAVE.StereoPanel.Adjust.Normal);
              SetState(WAVE.StereoPanel.FloatingWindow.Normal)"
            </Up>
          </Bind>
        </State>
      </State>
    </State>

  </StateGroup>

  <StateGroup>
    <Name>"WAVEAlt"</Name>
    
    <State>
      <Name>"Up"</Name>
      <OnActivate>"SetEncoderSpeed(1);"</OnActivate>
    </State>

    <State>
      <Name>"GrayOut"</Name>
      <OnActivate>"SetEncoderSpeed(4);"</OnActivate>

      <DisplayText><Display>"WAVE.Display0.Line4"</Display><Text>" G/O Cycle  G/O Off  Grading Off"</Text></DisplayText>
      <DisplayText><Display>"WAVE.Display1.Line4"</Display><Text>"   Looks   Save Look    Stereo"</Text></DisplayText>

      <Bind>
        <Key>"WAVE.Soft1_1"</Key>
        <Modifier>"WAVE.Alt"</Modifier>
        <Down>"Command(GrayOut.Cycle)"</Down>
      </Bind>
      <Bind>
        <Key>"WAVE.Soft1_2"</Key>
        <Modifier>"WAVE.Alt"</Modifier>
        <Down>"Command(GrayOut.Off)"</Down>
      </Bind>
      <Bind>
        <Key>"WAVE.Soft1_3"</Key>
        <Modifier>"WAVE.Alt"</Modifier>
        <Down>"Command(Playback.DisableGrading)"</Down>
        <Up>"Command(Playback.EnableGrading)"</Up>
      </Bind>
      <Bind>
        <Key>"WAVE.Soft2_1"</Key>
        <Modifier>"WAVE.Alt"</Modifier>
        <Down>"SetState(WAVETransport.Looks)"</Down>
      </Bind>
      <Bind>
        <Key>"WAVE.Soft2_2"</Key>
        <Modifier>"WAVE.Alt"</Modifier>
        <Down>"Command(Timeline.SavePreset)"</Down>
      </Bind>
      <!-- setting the GUI_PropertiesPanel state is not necessary, but reduces display flicker -->
      <Bind>
        <Key>"WAVE.Soft2_3"</Key>
        <Modifier>"WAVE.Alt"</Modifier>
        <Down>"
          ReleaseKey(WAVE.Alt);
          SetState(GUI_PropertiesPanel.Stereo Panel);
          Command(Property_Window.SetCurrentPage, Stereo Panel)"
        </Down>
      </Bind>
    </State>

    <State>
      <Name>"ZoomOnly"</Name>
      <OnActivate>"SetEncoderSpeed(8);"</OnActivate>

      <DisplayText><Display>"WAVE.Display0.Line4"</Display><Text>" Add Prim.  Add Sec.  Grading Off"</Text></DisplayText>
      <DisplayText><Display>"WAVE.Display1.Line4"</Display><Text>"   Looks   Save Look    Stereo"</Text></DisplayText>

      <Bind>
        <Key>"WAVE.Soft1_1"</Key>
        <Modifier>"WAVE.Alt"</Modifier>
        <Down>"Command(Grading_Interface.AddPrimary)"</Down>
      </Bind>
      <Bind>
        <Key>"WAVE.Soft1_2"</Key>
        <Modifier>"WAVE.Alt"</Modifier>
        <Down>"Command(Grading_Interface.AddSecondary)"</Down>
      </Bind>
      <Bind>
        <Key>"WAVE.Soft1_3"</Key>
        <Modifier>"WAVE.Alt"</Modifier>
        <Down>"Command(Playback.DisableGrading)"</Down>
        <Up>"Command(Playback.EnableGrading)"</Up>
      </Bind>
      <Bind>
        <Key>"WAVE.Soft2_1"</Key>
        <Modifier>"WAVE.Alt"</Modifier>
        <Down>"SetState(WAVETransport.Looks)"</Down>
      </Bind>
      <Bind>
        <Key>"WAVE.Soft2_2"</Key>
        <Modifier>"WAVE.Alt"</Modifier>
        <Down>"Command(Timeline.SavePreset)"</Down>
      </Bind>
      <!-- setting the GUI_PropertiesPanel state is not necessary, but reduces display flicker -->
      <Bind>
        <Key>"WAVE.Soft2_3"</Key>
        <Modifier>"WAVE.Alt"</Modifier>
        <Down>"
          ReleaseKey(WAVE.Alt);
          SetState(GUI_PropertiesPanel.Stereo Panel);
          Command(Property_Window.SetCurrentPage, Stereo Panel)"
        </Down>
      </Bind>
    </State>
    
  </StateGroup>

  <!-- F keys (grade copying) -->
  <Bind>
    <Key>"WAVE.F1"</Key>
    <Down>"Command(Copy_Grade.CopyFrom,-1)"</Down>
  </Bind>
  <Bind>
    <Key>"WAVE.F2"</Key>
    <Down>"Command(Copy_Grade.CopyFrom,-2)"</Down>
  </Bind>
  <Bind>
    <Key>"WAVE.F3"</Key>
    <Down>"Command(Copy_Grade.CopyFrom,-3)"</Down>
  </Bind>
  <Bind>
    <Key>"WAVE.F4"</Key>
    <Down>"Command(Copy_Grade.CopyFrom,-4)"</Down>
  </Bind>
  <Bind>
    <Key>"WAVE.F5"</Key>
    <Down>"Command(Copy_Grade.CopyFrom,-5)"</Down>
  </Bind>
  <Bind>
    <Key>"WAVE.F6"</Key>
    <Down>"Command(Copy_Grade.CopyFrom,-6)"</Down>
  </Bind>
  <Bind>
    <Key>"WAVE.F7"</Key>
    <Down>"Command(User_Interface.SDIMouseToggle)"</Down>
  </Bind>
  <Bind>
    <Key>"WAVE.F8"</Key>
    <Down>"Command(Zoom_and_Pan.ZoomToFit)"</Down>
  </Bind>
  <Bind>
    <Key>"WAVE.F9"</Key>
    <Down>"Command(Split.CycleConfigurations)"</Down>
  </Bind>

  <Bind>
    <Key>"WAVE.F1"</Key>
    <Modifier>"WAVE.Alt"</Modifier>
    <Down>"Command(Copy_Grade.CopyFrom,1)"</Down>
  </Bind>
  <Bind>
    <Key>"WAVE.F2"</Key>
    <Modifier>"WAVE.Alt"</Modifier>
    <Down>"Command(Copy_Grade.CopyFrom,2)"</Down>
  </Bind>
  <Bind>
    <Key>"WAVE.F3"</Key>
    <Modifier>"WAVE.Alt"</Modifier>
    <Down>"Command(Copy_Grade.CopyFrom,3)"</Down>
  </Bind>
  <Bind>
    <Key>"WAVE.F4"</Key>
    <Modifier>"WAVE.Alt"</Modifier>
    <Down>"Command(Copy_Grade.CopyFrom,4)"</Down>
  </Bind>
  <Bind>
    <Key>"WAVE.F5"</Key>
    <Modifier>"WAVE.Alt"</Modifier>
    <Down>"Command(Copy_Grade.CopyFrom,5)"</Down>
  </Bind>
  <Bind>
    <Key>"WAVE.F6"</Key>
    <Modifier>"WAVE.Alt"</Modifier>
    <Down>"Command(Copy_Grade.CopyFrom,6)"</Down>
  </Bind>
  <Bind>
    <Key>"WAVE.F7"</Key>
    <Modifier>"WAVE.Alt"</Modifier>
    <Down>"Command(Copy_Grade.CopyFrom,7)"</Down>
  </Bind>
  <Bind>
    <Key>"WAVE.F8"</Key>
    <Modifier>"WAVE.Alt"</Modifier>
    <Down>"Command(Copy_Grade.CopyFrom,8)"</Down>
  </Bind>
  <Bind>
    <Key>"WAVE.F9"</Key>
    <Modifier>"WAVE.Alt"</Modifier>
    <Down>"Command(Copy_Grade.CopyFrom,9)"</Down>
  </Bind>
  
  <!-- layer navigation -->
  <Bind>
    <Key>"WAVE.CursorUp"</Key>
    <Down>"Command(Grading_Interface.SelectLayerAbove)"</Down>
  </Bind>
  <Bind>
    <Key>"WAVE.CursorDown"</Key>
    <Down>"Command(Grading_Interface.SelectLayerBellow)"</Down>
  </Bind>
  
  <!-- timeline navigation -->
  <Bind>
    <Key>"WAVE.Prev"</Key>
    <Down>"Command(Timeline.NavigateLeft)"</Down>
  </Bind>
  <Bind>
    <Key>"WAVE.Next"</Key>
    <Down>"Command(Timeline.NavigateRight)"</Down>
  </Bind>
  
  <!-- in/out points -->
  <Bind>
    <Key>"WAVE.Prev"</Key>
    <Modifier>"WAVE.Alt"</Modifier>
    <Down>"Command(Playback.SingleBack)"</Down>
  </Bind>
  <Bind>
    <Key>"WAVE.Next"</Key>
    <Modifier>"WAVE.Alt"</Modifier>
    <Down>"Command(Playback.SingleForward)"</Down>
  </Bind>
  <Bind>
    <Key>"WAVE.PlayRev"</Key>
    <Modifier>"WAVE.Alt"</Modifier>
    <Down>"Command(In_Outs.ToggleInPoint)"</Down>
  </Bind>
  <Bind>
    <Key>"WAVE.PlayFwd"</Key>
    <Modifier>"WAVE.Alt"</Modifier>
    <Down>"Command(In_Outs.ToggleOutPoint)"</Down>
  </Bind>
  
  <!-- playback controls -->
  <Bind>
    <Encoder>"WAVE.Encoder12"</Encoder>
    <Playback>"MasterTime"</Playback>
  </Bind>

  <StateGroup>
    <Name>"WAVETransport"</Name>

    <State>
      <Name>"Playback"</Name>
      <Bind>
        <Key>"WAVE.PlayRev"</Key>
        <Down>"Command(Playback.Backward)"</Down>
      </Bind>
      <Bind>
        <Key>"WAVE.PlayFwd"</Key>
        <Down>"Command(Playback.Forward)"</Down>
      </Bind>
      <Bind>
        <Key>"WAVE.Stop"</Key>
        <Down>"Command(Playback.Pause)"</Down>
      </Bind>
    </State>

    <State>
      <Name>"Looks"</Name>
      <OnActivate>"Command(User_Interface.ActivatePresetBrowser)"</OnActivate>

      <!-- override the "looks" soft key binding -->
      <Bind>
        <Key>"WAVE.Soft2_1"</Key>
        <Modifier>"WAVE.Alt"</Modifier>
        <Down>"
          Command(Timeline.CancelPreview);
          Command(User_Interface.HidePresetBrowsers);
          SetState(WAVETransport.Playback)"
        </Down>
      </Bind>

      <Bind>
        <Key>"WAVE.PlayRev"</Key>
        <Down>"Command(Preset_Browser.PreviousItem)"</Down>
      </Bind>
      <Bind>
        <Key>"WAVE.Stop"</Key>
        <Down>"
          Command(Timeline.CommitPreview);
          SetState(WAVETransport.Playback)"
        </Down>
      </Bind>
      <Bind>
        <Key>"WAVE.PlayFwd"</Key>
        <Down>"Command(Preset_Browser.NextItem)"</Down>
      </Bind>
    </State>
  </StateGroup>

</TangentDevices>
