Project 3

Control

At this point we’ve created a composition in a container (Project 1, Project 2), we’ve built a control system of animated channels in a container and linked those parameters to our a visuals system (Snippet 2, Project 2), and we’ve built our own custom control interface elements (Snippet 3). Now we need to think about how we build an interface to control and operate our visuals without needing to be in the programming environment. What does a user / operator get to drive? In what range? What are the limits that we impose on the user / operator? What message does this communicate to your operator / user?

Project 3 builds off of what we’ve learned in our other projects, and acts as an extension of Project 2. For this project you’ll use what you’ve made in Project 2 as a starting point and build a control interface for your set of control CHOPs. We’ll use the control widgets that we built in Snippet 3 for this, looking closely at how we build a control panel made up of sliders and buttons. The project you submit will be a single toe file that contains your visuals network and your control panel. Your final project should have the following:

  1. A well composed and organized control panel.
    • consistent spacing
    • use of me.digits for layout organization
    • easy to read / understand labels
  2. A total of 15 control elements:
    • You must use at least one of each of the following:
      • button
      • horizontal slider
      • vertical slider
      • 2D slider
      • float feedback slider
  3. At least one radio button group.
  4. At least one use of hierarchy as an organization method.
  5. Buttons and sliders that have descriptive labels.
  6. Your visuals COMP must contain a single button that opens your control panel as a floating window using a script. This button should only be visible when moused over. Example code:
    • ctrl = op(‘../../ctrl’)
    • ctrl.openViewer()
  7. The size of your control panel should be 1024 x 768. Use storage to set and retrieve these values for your Control COMP. Hints:
    • Store values with the script – me.parent().store( ‘key’ , value )
    • Fetch values from storage with the expression – me.fetch(‘key’)
  8. Both your Control Container COMP and your Visuals Container COMP should be well commented.
  9. Your final toe file should be set to open in perform mode.
  10. Your final visuals COMP should perform at least 40 fps.