209 lines
No EOL
8.1 KiB
C#
209 lines
No EOL
8.1 KiB
C#
using System.Collections.Generic;
|
|
using System.Threading.Tasks;
|
|
using Shuttle.Api.AfterEffectsDTO.Items;
|
|
using Shuttle.Api.AfterEffectsDTO.Render;
|
|
using Shuttle.Api.AfterEffectsDTO.UpdatedData;
|
|
using Shuttle.Api.CommunicationDTO;
|
|
|
|
namespace Shuttle.Api.ClientAPI
|
|
{
|
|
/// <summary>
|
|
/// Client API, called from Orbit.
|
|
/// </summary>
|
|
// WARNING: The return type of methods must be void or Task.
|
|
// WANRING: Methods cannot have more than 7 parameters.
|
|
public interface IAfterEffectsClient : IShuttleClient
|
|
{
|
|
#region TaskRequests
|
|
|
|
/// <summary>
|
|
/// Requests AfterEffects to purge its cache.
|
|
/// </summary>
|
|
Task RequestPurgeCache(string requestToken);
|
|
|
|
/// <summary>
|
|
/// Requests AfterEffects to save the current project.
|
|
/// </summary>
|
|
Task RequestSave(string requestToken);
|
|
|
|
/// <summary>
|
|
/// Requests AfterEffects to save the current project to the given file path.
|
|
/// </summary>
|
|
Task RequestSaveTo(string requestToken, string filepath);
|
|
|
|
/// <summary>
|
|
/// Requests AfterEffects to open the given .aep project file.
|
|
/// </summary>
|
|
Task RequestOpenProject(string requestToken, string projectFilePath);
|
|
|
|
/// <summary>
|
|
/// Requests AfterEffects to show (or hide) the Render window.
|
|
/// </summary>
|
|
Task RequestShowRenderWindow(string requestToken, bool show);
|
|
|
|
/// <summary>
|
|
/// Requests AfterEffects to begin an undo group with the given name.
|
|
/// </summary>
|
|
Task RequestBeginUndoGroup(string requestToken, string undoGroupName);
|
|
|
|
/// <summary>
|
|
/// Requests AfterEffects to end the latest undo group. Not having called <see cref="RequestBeginUndoGroup"/> before may cause some issues.
|
|
/// </summary>
|
|
Task RequestEndUndoGroup(string requestToken);
|
|
|
|
#endregion TaskRequests
|
|
|
|
|
|
#region ItemRequests
|
|
|
|
// -- GET --
|
|
|
|
/// <summary>
|
|
/// Requests AfterEffects to send back the name of the currently opened file.
|
|
/// </summary>
|
|
Task RequestProjectFile(string requestToken);
|
|
|
|
/// <summary>
|
|
/// Requests AfterEffects to send back all selected items in the Project Panel.
|
|
/// </summary>
|
|
Task RequestSelectedItemsInProjectPanel(string requestToken);
|
|
|
|
/// <summary>
|
|
/// Requests AfterEffects to send back all items in the current project.
|
|
/// </summary>
|
|
Task RequestAllItems(string requestToken);
|
|
|
|
/// <summary>
|
|
/// Requests AfterEffects to send back the Render Queue.
|
|
/// </summary>
|
|
Task RequestRenderQueue(string requestToken);
|
|
|
|
/// <summary>
|
|
/// Requests AfterEffects to send back the item in the Render Queue at the given index. First item is at index 1.
|
|
/// </summary>
|
|
Task RequestRenderQueueItem(string requestToken, int renderQueueItemIndex);
|
|
|
|
/// <summary>
|
|
/// Requests AfterEffects to send back a full <see cref="FolderItem"/> corresponding to the given item identifier.
|
|
/// </summary>
|
|
Task RequestFolderItem(string requestToken, int folderId);
|
|
|
|
/// <summary>
|
|
/// Requests AfterEffects to send back a full <see cref="CompItem"/> corresponding to the given item identifier.
|
|
/// </summary>
|
|
Task RequestCompItem(string requestToken, int compId);
|
|
|
|
/// <summary>
|
|
/// Requests AfterEffects to send back a full <see cref="FootageItem"/> corresponding to the given item identifier.
|
|
/// </summary>
|
|
Task RequestFootageItem(string requestToken, int footageId);
|
|
|
|
|
|
// -- CREATE --
|
|
|
|
/// <summary>
|
|
/// Requests AfterEffects to create a new folder witht the given name under the given folder.
|
|
/// </summary>
|
|
Task RequestFolderCreation(string requestToken, string folderName, int parentFolderId);
|
|
|
|
/// <summary>
|
|
/// Requests AfterEffects to create a new composition witht the given name and the given settings under the given folder.
|
|
/// </summary>
|
|
Task RequestCompCreation(string requestToken, string compName, CompSettings compSettings, int parentFolderId);
|
|
|
|
/// <summary>
|
|
/// Requests AfterEffects to import a file (footage) into the given folder.
|
|
/// </summary>
|
|
Task RequestImportFile(string requestToken, string footageFilePath, int parentFolderId);
|
|
|
|
/// <summary>
|
|
/// Requests AfterEffects to add the given composition to the RenderQueue (thus creating a new RenderQueueItem)
|
|
/// </summary>
|
|
Task RequestAddToRenderQueue(string requestToken, int compId);
|
|
|
|
/// <summary>
|
|
/// Requests AfterEffects to add a new empty layer in the given composition.
|
|
/// </summary>
|
|
Task RequestAddNullLayer(string requestToken, int compId, string layerName);
|
|
|
|
/// <summary>
|
|
/// Requests AfterEffects to add the given item as a new layer in the given composition.
|
|
/// </summary>
|
|
Task RequestAddLayer(string requestToken, int compId, int sourceItemId);
|
|
|
|
|
|
|
|
// -- UPDATE --
|
|
|
|
/// <summary>
|
|
/// Requests AfterEffects to update the given folder.
|
|
/// </summary>
|
|
Task RequestUpdateFolderItem(string requestToken, int folderId, FolderItemUpdatableData folderItemData);
|
|
|
|
/// <summary>
|
|
/// Requests AfterEffects to update the given composition.
|
|
/// </summary>
|
|
Task RequestUpdateCompItem(string requestToken, int compId, CompItemUpdatableData compItemData);
|
|
|
|
/// <summary>
|
|
/// Requests AfterEffects to copy all layers from the given source comp to the given target comp.
|
|
/// </summary>
|
|
Task RequestCopyLayers(string requestToken, int sourceCompId, int targetCompId);
|
|
|
|
/// <summary>
|
|
/// Requests AfterEffects to remove the given layers in the given composition.
|
|
/// </summary>
|
|
Task RequestRemoveLayers(string requestToken, int compId, ICollection<string> layerNames);
|
|
|
|
/// <summary>
|
|
/// Requests AfterEffects to update the given footage.
|
|
/// </summary>
|
|
Task RequestUpdateFootageItem(string requestToken, int footageId, FootageItemUpdatableData footageItemData);
|
|
|
|
/// <summary>
|
|
/// Requests AfterEffects to change the source of the given footage to the specified file.
|
|
/// </summary>
|
|
Task RequestReplaceFootageSource(string requestToken, int footageId, string sourceFilePath);
|
|
|
|
/// <summary>
|
|
/// Requests AfterEffects to change the source of the given footage to a sequence of files (typically images).
|
|
/// </summary>
|
|
Task RequestReplaceFootageSourceWithSequence(string requestToken, int footageId, string firstSourceFilePath, bool forceAlphabetical);
|
|
|
|
/// <summary>
|
|
/// Requests AfterEffects to update the given RenderQueueItem.
|
|
/// </summary>
|
|
Task RequestUpdateRenderQueueItem(string requestToken, int renderQueueItemId, RenderQueueItem dataToUpdate);
|
|
|
|
/// <summary>
|
|
/// Requests AfterEffects to configure the given RenderQueueItem.
|
|
/// </summary>
|
|
Task RequestConfigureRenderQueueItem(string requestToken, int renderQueueItemIndex, string settingsTemplateName, string outputModuleTemplateName, string outputFilePath);
|
|
|
|
/// <summary>
|
|
/// Requests AfterEffects to update the layer at the given index in the given comp.
|
|
/// </summary>
|
|
Task RequestUpdateLayer(string requestToken, int compId, int layerIndex, LayerUpdatableData layerData);
|
|
|
|
/// <summary>
|
|
/// Requests AfterEffects to set the given folder as parent of the given item.
|
|
/// </summary>
|
|
Task RequestSetParentFolder(string requestToken, int itemId, int parentFolderId);
|
|
|
|
/// <summary>
|
|
/// Requests AfterEffects to set the given name to the given item.
|
|
/// </summary>
|
|
Task RequestRenameItem(string requestToken, int itemId, string newName);
|
|
|
|
|
|
// DELETE
|
|
|
|
/// <summary>
|
|
/// Requests AfterEffects to remove the given item from the project.
|
|
/// </summary>
|
|
Task RequestRemoveItem(string requestToken, int itemId);
|
|
|
|
|
|
#endregion ItemRequests
|
|
}
|
|
} |