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}") ) ) ) ) ; }