//------------------------------------------------------------------------------ // // This code was generated by a tool. // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // //------------------------------------------------------------------------------ using Newtonsoft.Json; using Shuttle.Api.AfterEffectsDTO.Properties; namespace Shuttle.Api.AfterEffectsDTO.Items { /// /// The CompItem object represents a composition, and allows you to manipulate and get information /// about it. Access the objects by position index number in a project’s ite m collection. /// public class CompItem : AVItem { /// /// The active camera, which is the front-most camera layer that is enabled. The value is null if the /// composition contains no enabled camera layers. /// [JsonProperty("activeCamera")] public Layer ActiveCamera { get; private set; } /// /// The background color of the composition. The three array values specify the red, green, and blue /// components of the color. /// [JsonProperty("bgColor")] public float[] BgColor { get; set; } /// /// The time set as the beginning of the composition, in seconds. This is the equivalent of the Start /// Timecode or Start Frame setting in the Composition Settings dialog box. /// [JsonProperty("displayStartTime")] public float DisplayStartTime { get; set; } /// /// When true, Draft 3D mode is enabled for the Composition panel. This corresponds to the value of /// the Draft 3D button in the Composition panel. /// [JsonProperty("draft3d")] public bool Draft3d { get; set; } /// /// When true, indicates that the composition uses drop-frame timecode. When false, indicates /// non-drop-frame timecode. This corresponds to the setting in the Composition Settings dialog box. /// [JsonProperty("dropFrame")] public bool DropFrame { get; set; } /// /// When true, frame blending is enabled for this Composition. Corresponds to the value of the Frame /// Blending button in the Composition panel. /// [JsonProperty("frameBlending")] public bool FrameBlending { get; set; } /// /// When true, only layers with shy set to false are shown in the Timeline panel. When false, all /// layers are visible, including those whose shy value is true. Corresponds to the value of the Hide All /// Shy Layers button in the Composition panel. /// [JsonProperty("hideShyLayers")] public bool HideShyLayers { get; set; } /// /// A LayerCollection object that contains all the Layer objects for layers in this composition. /// [JsonProperty("layers")] public Layer[] Layers { get; private set; } = new Layer[0]; /// /// A PropertyGroup object that contains all a composition’s markers. Composition marker scripting has /// the same functionality as layer markers. See MarkerValue object /// [JsonProperty("markerProperty")] public PropertyGroup MarkerProperty { get; private set; } /// /// When true, motion blur is enabled for the composition. Corresponds to the value of the Motion Blur /// button in the Composition panel. /// [JsonProperty("motionBlur")] public bool MotionBlur { get; set; } /// /// The maximum number of motion blur samples of 2D layer motion. This corresponds to the Adaptive /// Sample Limit setting in the Advanced tab of the Composition Settings dialog box. /// [JsonProperty("motionBlurAdaptiveSampleLimit")] public int MotionBlurAdaptiveSampleLimit { get; set; } /// /// The minimum number of motion blur samples per frame for Classic 3D layers, shape layers, and /// certain effects. This corresponds to the Samples Per Frame setting in the Advanced tab of the Composition /// Settings dialog box. /// [JsonProperty("motionBlurSamplesPerFrame")] public int MotionBlurSamplesPerFrame { get; set; } /// /// The number of properties in the Essential Graphics panel for the composition. /// [JsonProperty("motionGraphicsTemplateControllerCount")] public int MotionGraphicsTemplateControllerCount { get; private set; } /// /// Read or write the name property in the Essential Graphics panel for the composition. /// [JsonProperty("motionGraphicsTemplateName")] public string MotionGraphicsTemplateName { get; set; } /// /// The number of layers in the composition. /// [JsonProperty("numLayers")] public int NumLayers { get; private set; } /// /// When true, the frame rate of nested compositions is preserved in the current composition. /// Corresponds to the value of the “Preserve frame rate when nested or in render queue” option in the Advanced /// tab of the Composition Settings dialog box. /// [JsonProperty("preserveNestedFrameRate")] public bool PreserveNestedFrameRate { get; set; } /// /// When true, the resolution of nested compositions is preserved in the current composition. /// Corresponds to the value of the “Preserve Resolution When Nested” option in the Advanced tab of the /// Composition Settings dialog box. /// [JsonProperty("preserveNestedResolution")] public bool PreserveNestedResolution { get; set; } /// /// The current rendering plug-in module to be used to render this composition, as set in the Advanced /// tab of the Composition Settings dialog box. Allowed values are the members of CompItem.renderers. /// [JsonProperty("renderer")] public string Renderer { get; set; } /// /// The available rendering plug-in modules. Member strings reflect installed modules, as seen in the /// Advanced tab of the Composition Settings dialog box. /// [JsonProperty("renderers")] public string[] Renderers { get; private set; } = new string[0]; /// /// The x and y downsample resolution factors for rendering the composition. The two values in the /// array specify how many pixels to skip when sampling; the first number controls horizontal sampling, the /// second controls vertical sampling. Full resolution is [1, 1], half resolution is [2, 2], and /// quarter resolution is [4, 4]. The default is [1, 1]. /// [JsonProperty("resolutionFactor")] public int[] ResolutionFactor { get; set; } /// /// All of the selected layers in this composition. This is a 0-based array (the first object is at /// index 0). /// [JsonProperty("selectedLayers")] public Layer[] SelectedLayers { get; private set; } = new Layer[0]; /// /// All of the selected properties (Property and PropertyGroup objects) in this composition. The first /// property is at index position 0. /// [JsonProperty("selectedProperties")] public Property[] SelectedProperties { get; private set; } = new Property[0]; /// /// The shutter angle setting for the composition. This corresponds to the Shutter Angle setting in /// the Advanced tab of the Composition Settings dialog box. /// [JsonProperty("shutterAngle")] public int ShutterAngle { get; set; } /// /// The shutter phase setting for the composition. This corresponds to the Shutter Phase setting in /// the Advanced tab of the Composition Settings dialog box. /// [JsonProperty("shutterPhase")] public int ShutterPhase { get; set; } /// /// The duration of the work area in seconds. This is the difference of the start-point and end-point /// times of the Composition work area. /// [JsonProperty("workAreaDuration")] public float WorkAreaDuration { get; set; } /// /// The time when the Composition work area begins, in seconds. /// [JsonProperty("workAreaStart")] public float WorkAreaStart { get; set; } public override string ToString() { return Name; } } }