//------------------------------------------------------------------------------
//
// 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 System;
using Newtonsoft.Json;
using Shuttle.Api.AfterEffectsDTO.Items;
namespace Shuttle.Api.AfterEffectsDTO.Render
{
///
/// The RenderQueueItem object represents an individual item in the render queue. It provides access
/// to the specific settings for an item to be rendered. Create the object by adding a composition to the
/// Render Queue with the RQItemCollection object; see RQItemCollection.add().
///
public class RenderQueueItem
{
///
/// The composition that will be rendered by this render-queue item. To change the composition, you
/// must delete this render-queue item and create a new one.
///
[JsonProperty("comp")]
public CompItem Comp { get; private set; }
///
/// The number of seconds spent rendering this item.
///
[JsonProperty("elapsedSeconds")]
public int ElapsedSeconds { get; private set; }
///
/// A log type for this item, indicating which events should be logged while this item is being
/// rendered.
///
[JsonProperty("logType")]
public int LogType { get; set; }
///
/// The total number of Output Modules assigned to this item.
///
[JsonProperty("numOutputModules")]
public int NumOutputModules { get; private set; }
///
/// The name of a callback function that is called whenever the value of the RenderQueueItem.status
/// attribute changes.
///
[JsonProperty("onStatusChanged")]
public string OnStatusChanged { get; set; }
///
/// The collection of Output Modules for the item.
///
[JsonProperty("outputModules")]
public OutputModule[] OutputModules { get; private set; } = new OutputModule[0];
///
/// When true, the item will be rendered when the render queue is started. When set to true, the
/// RenderQueueItem.status is set to RQItemStatus.QUEUED. When set to false, status is set
/// toRQItemStatus.UNQUEUED.
///
[JsonProperty("render")]
public bool Render { get; set; }
///
/// The number of frames to skip when rendering this item. Use this to do rendering tests that are
/// faster than a full render. A value of 0 skip no frames, and results in regular rendering of all frames.
/// A value of 1 skips every other frame. This is equivalent to “rendering on twos.” Higher values skip
/// a larger number of frames. The total length of time remains unchanged. For example, if skip has a
/// value of 1, a sequence output would have half the number of frames and in movie output, each frame
/// would be double the duration.
///
[JsonProperty("skipFrames")]
public int SkipFrames { get; set; }
///
/// The day and time that this item started rendering.
///
[JsonProperty("startTime")]
public DateTime? StartTime { get; private set; }
///
/// The current render status of the item.
///
[JsonProperty("status")]
public RenderQueueItemStatus Status { get; private set; }
///
/// The names of all Render Settings templates available for the item. See also
/// RenderQueueItem.saveAsTemplate().
///
[JsonProperty("templates")]
public string[] RenderTemplates { get; private set; } = new string[0];
///
/// The duration in seconds of the composition to be rendered. The duration is determined by
/// subtracting the start time from the end time. Setting this value is the same as setting a custom end time in
/// the Render Settings dialog box.
///
[JsonProperty("timeSpanDuration")]
public float TimeSpanDuration { get; set; }
///
/// The time in the composition, in seconds, at which rendering will begin. Setting this value is the
/// same as setting a custom start time in the Render Settings dialog box.
///
[JsonProperty("timeSpanStart")]
public float TimeSpanStart { get; set; }
public override string ToString()
{
return base.ToString();
}
}
}