300 lines
14 KiB
C#
300 lines
14 KiB
C#
|
|
using System;
|
|
using System.Xml.Linq;
|
|
using JD.TeaBoxAddinSystem.Addins;
|
|
|
|
public class Tape_Addin : IXmlAddin
|
|
{
|
|
public string FileName => "Tape.addin";
|
|
|
|
public XElement RootElement { get; } =
|
|
|
|
new XElement("TeaBox",
|
|
new XElement("Addin",
|
|
new XAttribute("id", "Tape"),
|
|
new XAttribute("author", "Ubisoft"),
|
|
new XAttribute("category", "General"),
|
|
new XAttribute("name", "Tape"),
|
|
new XAttribute("description", "Allows to edit tapes."),
|
|
new XElement("Files",
|
|
new XElement("Import",
|
|
new XAttribute("assembly", "TRec.exe"),
|
|
new XElement("Import",
|
|
new XAttribute("resource", $"{typeof(TRec.Properties.Resources).FullName}")
|
|
)
|
|
)
|
|
),
|
|
new XElement("Dependencies",
|
|
new XElement("Addin",
|
|
new XAttribute("id", "JD.Application")
|
|
),
|
|
new XElement("Addin",
|
|
new XAttribute("id", "TeaBox.Application")
|
|
),
|
|
new XElement("Addin",
|
|
new XAttribute("id", "Timeline")
|
|
)
|
|
),
|
|
|
|
// TreeViewToolbar
|
|
new XElement("Extension",
|
|
new XAttribute("path", "Application/TreeViewToolbar"),
|
|
new XElement("Actions",
|
|
new XAttribute("id", "TrackTreeView"),
|
|
new XAttribute("guid", "6DF581C9-6949-49F2-9B99-83F9C9DCDA5B"),
|
|
new XElement("ActionReference",
|
|
new XAttribute("id", "TimelineActions.AddTrack")
|
|
),
|
|
new XElement("Separator"),
|
|
new XElement("ActionReference",
|
|
new XAttribute("id", "EditActions.Delete")
|
|
)
|
|
)
|
|
),
|
|
|
|
// ContextMenu
|
|
new XElement("ExtensionPoint",
|
|
new XAttribute("path", "Application/TrackTreeView/ContextMenu"),
|
|
new XElement("ExtensionNodeSet",
|
|
new XAttribute("name", "Actions")
|
|
)
|
|
),
|
|
|
|
// ContextMenu
|
|
new XElement("Extension",
|
|
new XAttribute("path", "Application/TrackTreeView/ContextMenu"),
|
|
new XElement("ActionReference",
|
|
new XAttribute("id", "TimelineActions.InsertTrack")
|
|
)
|
|
),
|
|
|
|
// ToolBars
|
|
new XElement("Extension",
|
|
new XAttribute("path", "Application/ToolBars"),
|
|
new XElement("Actions",
|
|
new XAttribute("id", "TRec"),
|
|
new XAttribute("guid", "412E2170-F628-42D5-A2DB-424C6CBC6D3E"),
|
|
new XElement("ActionReference",
|
|
new XAttribute("id", "EditorActions.TogglePlay")
|
|
),
|
|
new XElement("ActionReference",
|
|
new XAttribute("id", "EditorActions.PreviousFrame")
|
|
),
|
|
new XElement("ActionReference",
|
|
new XAttribute("id", "EditorActions.NextFrame")
|
|
),
|
|
new XElement("Actions",
|
|
new XAttribute("id", "MarkCheckpoint"),
|
|
new XAttribute("default_action", "EditorActions.MarkCheckpoint"),
|
|
new XAttribute("showIconAndText", "False"),
|
|
new XAttribute("icon", "Icons_30x30_Checkpoint"),
|
|
new XElement("ActionReference",
|
|
new XAttribute("id", "EditorActions.MarkCheckpoint")
|
|
),
|
|
new XElement("ActionReference",
|
|
new XAttribute("id", "EditorActions.GoToCheckpoint")
|
|
),
|
|
new XElement("ActionReference",
|
|
new XAttribute("id", "EditorActions.ClearCheckpoint")
|
|
),
|
|
new XElement("ActionReference",
|
|
new XAttribute("id", "EditorActions.Rewind")
|
|
)
|
|
),
|
|
new XElement("Separator"),
|
|
new XElement("ActionReference",
|
|
new XAttribute("id", "EditorActions.SnapUnitDropdown")
|
|
),
|
|
new XElement("ActionReference",
|
|
new XAttribute("id", "EditorActions.ScrollingModeDropdown")
|
|
),
|
|
new XElement("ActionReference",
|
|
new XAttribute("id", "EditorActions.ToggleLoop")
|
|
),
|
|
new XElement("ActionReference",
|
|
new XAttribute("id", "EditorActions.ToggleRememberSeekTime")
|
|
),
|
|
new XElement("Action",
|
|
new XAttribute("id", "ClipLimitWarning"),
|
|
new XAttribute("icon", "Icon_30x30_warning"),
|
|
new XAttribute("defaultHandler", $"{typeof(JD.Timeline.View.Actions.ClipLimitWarning).FullName}"),
|
|
new XAttribute("description", "Clip limit reached (please do not add more than 300 clips to a tape).")
|
|
)
|
|
)
|
|
),
|
|
|
|
// General
|
|
new XElement("Extension",
|
|
new XAttribute("path", "Application/ToolBars/General"),
|
|
new XElement("ActionReference",
|
|
new XAttribute("id", "ApplicationActions.NewFile"),
|
|
new XAttribute("icon", "Icons_30x30_AddNewItem"),
|
|
new XAttribute("insertbefore", "*")
|
|
),
|
|
new XElement("ActionReference",
|
|
new XAttribute("id", "TimelineActions.OpenTapeDropDown"),
|
|
new XAttribute("insertbefore", "ApplicationActions.Save")
|
|
)
|
|
),
|
|
|
|
// New
|
|
new XElement("Extension",
|
|
new XAttribute("path", "Application/MainMenu/File/New"),
|
|
new XElement("Action",
|
|
new XAttribute("id", "ApplicationActions.NewDemoTape"),
|
|
new XAttribute("text", "Demo tape..."),
|
|
new XAttribute("description", "Opens a tape that allows to test the tool with dummy data."),
|
|
new XAttribute("shortcut", "Ctrl+Shift+N"),
|
|
new XAttribute("icon", "Icons_16x16_NewDocument"),
|
|
new XAttribute("defaultHandler", $"{typeof(TRec.NewDemoTapeHandler).FullName}")
|
|
)
|
|
),
|
|
|
|
// MainMenu
|
|
new XElement("Extension",
|
|
new XAttribute("path", "Application/MainMenu"),
|
|
new XElement("Actions",
|
|
new XAttribute("id", "Tools"),
|
|
new XAttribute("insertbefore", "Help"),
|
|
new XElement("Actions",
|
|
new XAttribute("id", "Advanced"),
|
|
new XElement("ActionReference",
|
|
new XAttribute("id", "ConvertSequencesToTapes")
|
|
),
|
|
new XElement("ActionReference",
|
|
new XAttribute("id", "MergeTracks")
|
|
)
|
|
),
|
|
new XElement("ActionReference",
|
|
new XAttribute("id", "MergeClips")
|
|
)
|
|
)
|
|
),
|
|
|
|
// Open
|
|
new XElement("Extension",
|
|
new XAttribute("path", "Application/MainMenu/File/Open"),
|
|
new XElement("ActionReference",
|
|
new XAttribute("id", "TimelineActions.OpenMaster"),
|
|
new XAttribute("icon", "Icon_30x30_open_main")
|
|
),
|
|
new XElement("ActionReference",
|
|
new XAttribute("id", "TimelineActions.OpenFromEngine"),
|
|
new XAttribute("icon", "Icon_30x30_open_from_engine")
|
|
)
|
|
),
|
|
|
|
// DocumentBindings
|
|
new XElement("Extension",
|
|
new XAttribute("path", "Application/DocumentBindings"),
|
|
new XElement("DocumentBinding",
|
|
new XAttribute("id", "Tape"),
|
|
new XAttribute("name", "Tape"),
|
|
new XAttribute("icon", "Icon_16x16_TRec"),
|
|
new XAttribute("class", "TRec.TRecDocumentBinding"),
|
|
new XElement("FileFilter",
|
|
new XAttribute("name", "Tape files"),
|
|
new XAttribute("extensions", "*.tape;")
|
|
)
|
|
)
|
|
),
|
|
|
|
// ContextMenu
|
|
new XElement("ExtensionPoint",
|
|
new XAttribute("path", "Application/ClipView/ContextMenu"),
|
|
new XElement("ExtensionNodeSet",
|
|
new XAttribute("name", "Actions")
|
|
)
|
|
),
|
|
|
|
// ContextMenu
|
|
new XElement("Extension",
|
|
new XAttribute("path", "Application/ClipView/ContextMenu"),
|
|
new XElement("ActionReference",
|
|
new XAttribute("id", "OpenTapeReference")
|
|
),
|
|
new XElement("ActionReference",
|
|
new XAttribute("id", "SnapToOriginalDuration")
|
|
),
|
|
new XElement("Actions",
|
|
new XAttribute("id", "Actor"),
|
|
new XElement("ActionReference",
|
|
new XAttribute("id", "TimelineActions.AssignToSelectedActor")
|
|
),
|
|
new XElement("ActionReference",
|
|
new XAttribute("id", "TimelineActions.BrowseForActor")
|
|
)
|
|
),
|
|
new XElement("Actions",
|
|
new XAttribute("id", "Add"),
|
|
new XElement("Actions",
|
|
new XAttribute("id", "MaterialGraphic"),
|
|
new XElement("ActionReference",
|
|
new XAttribute("id", "TimelineActions.AddClipMaterial")
|
|
)
|
|
),
|
|
new XElement("Actions",
|
|
new XAttribute("id", "Gameplay"),
|
|
new XElement("ActionReference",
|
|
new XAttribute("id", "TimelineActions.AddClipGameplay")
|
|
)
|
|
),
|
|
new XElement("Action",
|
|
new XAttribute("id", "DanceEditorActions.AddClip"),
|
|
new XAttribute("type", "Array"),
|
|
new XAttribute("description", "Adds all the available clips as a separate action"),
|
|
new XAttribute("defaultHandler", $"{typeof(TRec.AddNewClipActionHandler).FullName}")
|
|
)
|
|
),
|
|
new XElement("Actions",
|
|
new XAttribute("id", "Refactor"),
|
|
new XAttribute("icon", "Icons_16x16_LightBulb"),
|
|
new XElement("ActionReference",
|
|
new XAttribute("id", "TimelineActions.CreateTape")
|
|
),
|
|
new XElement("ActionReference",
|
|
new XAttribute("id", "TimelineActions.ExplodeTape")
|
|
),
|
|
new XElement("ActionReference",
|
|
new XAttribute("id", "SplitClips")
|
|
)
|
|
),
|
|
new XElement("ActionReference",
|
|
new XAttribute("id", "ActivateClips")
|
|
)
|
|
),
|
|
|
|
// TreeViewToolbar
|
|
new XElement("ExtensionPoint",
|
|
new XAttribute("path", "Application/TreeViewToolbar"),
|
|
new XElement("ExtensionNodeSet",
|
|
new XAttribute("name", "ActionBaseSet")
|
|
)
|
|
),
|
|
|
|
// Pads
|
|
new XElement("Extension",
|
|
new XAttribute("path", "Application/Pads"),
|
|
new XElement("Pad",
|
|
new XAttribute("id", "CurveEditor"),
|
|
new XAttribute("category", "Main"),
|
|
new XAttribute("title", "Curve Editor"),
|
|
new XAttribute("shortcut", "Ctrl+W,C"),
|
|
new XAttribute("icon", "Icons_16x16_Curve"),
|
|
new XAttribute("guid", "1F0DC804-B8C5-4C9A-A08B-E30D7B7EE783"),
|
|
new XAttribute("type", $"{typeof(JD.Timeline.View.CurveEditor.CurveEditorPad).FullName}")
|
|
),
|
|
new XElement("Pad",
|
|
new XAttribute("id", "Pleo"),
|
|
new XAttribute("category", "Main"),
|
|
new XAttribute("title", "Video player"),
|
|
new XAttribute("shortcut", "Ctrl+W, V"),
|
|
new XAttribute("icon", "Icons_16x16_Curve"),
|
|
new XAttribute("guid", "51D1D7DD-FB18-4B10-9F1F-8C31BA012186"),
|
|
new XAttribute("type", $"{typeof(JD.Timeline.View.VideoView.TapeVideoPad).FullName}")
|
|
)
|
|
)
|
|
)
|
|
)
|
|
;
|
|
}
|