All Pages
Reference

The config.txt file

The syntax for config.txt file is as follows

  • Globals block
    • binary-server-host defines hostname for a network bridge server.
    • binary-server-port defines port number for the network bridge server.
    • xml-handshake-port defines port number for the XML handshake server socket. Flash applications need this.
    • xml-server-host defines hostname for the XML server socket.
    • xml-server-port defines port number for the XML server socket. The protocol is TCP/IP.
  • NetBridge block
    • host contain Cell IP address, or localhost.
    • port of the NetBridge server running in the Cell.
    • input-translate, "x y", is added to the tracked coordinates.
    • input-rotate defines clockwise rotation around upper left corner of the tracked coordinates. Caveat: in Cornerstone 1.2.3 and earlier, the rotation is in radians, but later versions have rotation defined in degrees.
    • input-scale, "xscale yscale", defines scaling of the tracking coordinates with upper left corner as origin.
  • TUOISender block defines parameters for TUIO
    • features defines the features that should be enabled. To enable multiple features, just put multiple keywords into the field. Options are (the default value is "fingers objects") :
      • "fingers" - Send finger tip locations
      • "hands" - Enable the TUIO Hand Extension and send palm / finger connectivity information.
      • "objects" - Send marker information
      • "verbose" - Print TUIOSender output messages
    • address defines the TUIO stream receiver IP network address, default = 127.0.0.1
    • port defines the TUIO stream receiver IP port, default = 3333

The screen.xml file

The XML files shown in the previous sections were special cases of a screen.xml file, which defines the screen configuration. A full syntax for the screen.xml file is as follows

  • multihead is the main element
  • widthcm defines the physical width of the screen in centimeters. For 32 inch models MT320, MT325, the width is 70, and for 46 inch models MT467, MT469 the width is 102, for 55 inch models MT550 the width is 121, for 42 inch models MT420 the width is 93, as measured from the screens using a ruler. The Cornerstone SDK uses the width value for transforming distances in pixels to physical dimensions, e.g., in gesture detection.
  • window defines OpenGL window
  • displaynumber display number in X Window System on Linux, has no effect on Windows.
  • screennumber screen number in X Window System on Linux, has no effect on Windows.
  • frameless boolean defining if the window should be drawn without borders. Valid values are 1 and 0. With frameless value 1, the X window manager on Linux is mostly bypassed and the window is rendered on top of everything, regardless whether other "normal" windows or toolbars want to on top always. Also switching virtual desktops has no effect on frameless rendering.
  • fullscreen boolean defining if the window should be drawn in fullscreen mode. Valid values are 1 and 0. This differs from the frameless mode in that the X window manager is not bypassed, e.g, you can bring up a terminal window on top of the OpenGL window. On Windows, this has no effect (todo: check 2.0 behaviour).
  • resizeable boolean defining if the window can be resized or not. Valid values are 1 and 0. This is a deprecated feature and is not needed. If the window has borders (frameless set to 0), the window is resizable anyway.
  • size defines width and height of the window.
  • area defines an area inside the window. Area corresponds to an OpenGL viewport. With projection-based system each area typically corresponds to one projector. Within an area one can do keystone correction and edge-blending for each projector. With Cells, one usually uses just one big area, since there is no need for per-display keystone calibration.
    • location defines the lower left corner of the area relative to the window.
    • size defines width and height of the area. Size, together with location define the parameters that are passed to the glViewport command.
    • active defines if application content should be drawn on this area. Active is almost always set to 1 (aka true). There are some special cases where non-active areas are useful. Since the computer vision calibration window is drawn also on the inactive areas you can have a separate monitor that you use to adjust the computer vision parameters, but it does not contain any application content.
    • comment is a text node where you can store general comments about the area. It is meant to be an aid in documenting complex multihead setups.
    • graphicslocation is a 2D vector that specifies the origin for the OpenGL graphics inside the area. If you are using just one area, this is typically "0 0" (=origin). If multiple areas are in use the areas graphicslocation is set up match the graphics coordinates of the top-right corner of the area on its left side.
    • graphicssize indicates the area used for OpenGL projection. in practice the graphicslocation and graphicssize values are combined and fed to gluOrtho call that is used to set up the bottom-line OpenGL projection.
    • method boolean to determine rendering method. If 0, then each frame is rendered directly to output. If 1, then each frame if rendered to FBO and the results are copied to output. In Cornerstone 2.x version, you can do color correction before output using the latter method, but not in 1.2.x version. In 1.2.x version always set this value to 0.
    • seams defines blending areas in projector setups. Old MultiTouch screens are projector based and to achieve a large uniform display, the projector images must overlap or otherwise seams would be visible in the intersections. However, the physical overlap region receives roughly twice as much light as the non-overlap regions resulting in non-uniform brightness. This is corrected by the Cornerstone software by reducing the brightness around the image edges and the size of the edges is defined by this element. Newer LCD based screen don't need this element. Contains four numbers which give the width of the edge-blend in pixels, for each side of the area: left, right, top and bottom.
    • keystone contains information about keystone correction. It is also used to rotate the graphics output in cases where the Cell (or projector) might be rotated 90 degrees
      • rotations indicates the number of rotations that have been applied to the keystone. This is used in keystone calibration UI to make sure the arrow-buttons lead the keystone correction to the expected direction.
      • v1, v2, v3, v4 are 2D vectors that contain keystone control point coordinates. The values are in relative terms, so the range for the parameters is 0-1.