public SeqRapportGeneratorAction() {
    super(
        "SeqRapportGeneratorAction",
        new VersionID("2.3.13"),
        "Radar",
        "Uses mencoder to make a movie from a frame stack ");

    {
      ActionParam param =
          new LinkActionParam(
              "XmlSource", "The source node containing the images to convert.", null);
      addSingleParam(param);
    }

    //
    {
      LayoutGroup layout = new LayoutGroup(true);
      layout.addEntry("XmlSource");

      setSingleLayout(layout);
    }

    // addSupport(OsType.MacOS); // Should be able to work on OSX but lets just use Linux

    // underDevelopment();
  }
  public MayaAnimBuildAction() {
    super(
        "MayaAnimBuild",
        new VersionID("2.4.1"),
        "Temerity",
        "Extends the MayaBuild Action to now allow for the referencing of Maya files "
            + "that only contain curves, which are then hooked up to models which have either "
            + "been Imported or Referenced.");

    addUnitsParams();

    addStartFrameParam();
    addEndFrameParam();

    addInitalMELParam();
    addAnimMELParam();
    addModelMELParam();
    addFinalMELParam();

    {
      LayoutGroup layout = new LayoutGroup(true);
      addUnitsParamsToLayout(layout);
      layout.addSeparator();
      layout.addEntry(aStartFrame);
      layout.addEntry(aEndFrame);
      layout.addSeparator();
      layout.addEntry(aInitialMEL);
      layout.addEntry(aModelMEL);
      layout.addEntry(aAnimMEL);
      layout.addEntry(aFinalMEL);

      setSingleLayout(layout);
    }

    {
      LinkedList<String> layout = new LinkedList<String>();
      layout.add(aSceneType);
      layout.add(aBuildType);
      layout.add(aNameSpace);
      layout.add(aPrefixName);

      setSourceLayout(layout);
    }

    addSupport(OsType.MacOS);
    addSupport(OsType.Windows);
  }
  public HfsBuildAction() {
    super(
        "HfsBuild",
        new VersionID("1.0.0"),
        "Temerity",
        "Builds a new Houdini scene from a set of component Houdini Scenes.");

    {
      ActionParam param =
          new LinkActionParam("PreBuildScript", "The pre-build command script.", null);
      addSingleParam(param);
    }

    {
      ActionParam param =
          new LinkActionParam("PostBuildScript", "The post-build command script.", null);
      addSingleParam(param);
    }

    {
      ActionParam param =
          new LinkActionParam("PreSceneScript", "The pre-scene command script.", null);
      addSingleParam(param);
    }

    {
      ActionParam param =
          new LinkActionParam("PostSceneScript", "The post-scene command script.", null);
      addSingleParam(param);
    }

    {
      LayoutGroup layout = new LayoutGroup(true);
      layout.addEntry("PreBuildScript");
      layout.addEntry("PostBuildScript");
      layout.addSeparator();
      layout.addEntry("PreSceneScript");
      layout.addEntry("PostSceneScript");

      setSingleLayout(layout);
    }
  }
  public HfsCompositeAction() {
    super(
        "HfsComposite",
        new VersionID("1.0.0"),
        "Temerity",
        "Generates a sequence of composited images by evaluating a COP in a " + "Houdini scene.");

    {
      ActionParam param =
          new StringActionParam(
              "OutputOperator", "The name of the composite output operator.", "comp1");
      addSingleParam(param);
    }

    {
      ActionParam param =
          new LinkActionParam("HoudiniScene", "The source Houdini scene node.", null);
      addSingleParam(param);
    }

    {
      ActionParam param =
          new LinkActionParam("PreRenderScript", "The pre-render command script.", null);
      addSingleParam(param);
    }

    {
      ActionParam param =
          new LinkActionParam("PostRenderScript", "The post-render command script.", null);
      addSingleParam(param);
    }

    {
      ActionParam param =
          new LinkActionParam("PreFrameScript", "The pre-frame command script.", null);
      addSingleParam(param);
    }

    {
      ActionParam param =
          new LinkActionParam("PostFrameScript", "The post-frame command script.", null);
      addSingleParam(param);
    }

    {
      LayoutGroup layout = new LayoutGroup(true);
      layout.addEntry("OutputOperator");
      layout.addSeparator();
      layout.addEntry("HoudiniScene");
      layout.addSeparator();

      {
        LayoutGroup scripts =
            new LayoutGroup(
                "Command Scripts",
                "Houdini command scripts run at various stages of the compositing process.",
                true);
        scripts.addEntry("PreRenderScript");
        scripts.addEntry("PostRenderScript");
        scripts.addSeparator();
        scripts.addEntry("PreFrameScript");
        scripts.addEntry("PostFrameScript");

        layout.addSubGroup(scripts);
      }

      setSingleLayout(layout);
    }
  }