JD2022-TU1/main/tools/apps/TempoBlaster/Addins/TempoBlaster.addin.cs

215 lines
11 KiB
C#

using System;
using System.Xml.Linq;
using JD.TeaBoxAddinSystem.Addins;
public class TempoBlaster_Addin : IXmlAddin
{
public string FileName => "TempoBlaster.addin";
public XElement RootElement { get; } =
new XElement("TeaBox",
new XElement("Addin",
new XAttribute("id", "TempoBlaster"),
new XAttribute("author", "Ubisoft"),
new XAttribute("category", "General"),
new XAttribute("name", "TempoBlaster"),
new XAttribute("description", "Allows to edit wav metadata."),
new XElement("Files",
new XElement("Import",
new XAttribute("assembly", "TempoBlaster.exe"),
new XElement("Import",
new XAttribute("resource", $"{typeof(TempoBlaster.Properties.Resources).FullName}")
)
)
),
new XElement("Dependencies",
new XElement("Addin",
new XAttribute("id", "JD.Application")
),
new XElement("Addin",
new XAttribute("id", "TeaBox.Application")
)
),
// Actions
new XElement("Extension",
new XAttribute("path", "Application/Actions"),
new XElement("Action",
new XAttribute("id", "TempoBlasterActions.ExportMarkers"),
new XAttribute("text", "Play"),
new XAttribute("description", "Burns the nuendo marker to a wave file."),
new XAttribute("icon", "Icons_30x30_ExportMarker"),
new XAttribute("defaultHandler", $"{typeof(TempoBlaster.View.ExportMarkersHandler).FullName}")
),
new XElement("Action",
new XAttribute("id", "TempoBlasterActions.ImportVegasMarkers"),
new XAttribute("text", "Import Vegas Markers"),
new XAttribute("description", "Imports the named markers from a wave file into comments."),
new XAttribute("defaultHandler", $"{typeof(TempoBlaster.View.ImportVegasMarkersHandler).FullName}")
),
new XElement("Action",
new XAttribute("id", "TempoBlasterActions.ExportToAfterEffectFormat"),
new XAttribute("text", "Export to JSon"),
new XAttribute("description", "Exports annotations to a predefined txt format so it can be imported in video applications."),
new XAttribute("defaultHandler", $"{typeof(TempoBlaster.View.ExportToAfterEffectFormatHandler).FullName}")
),
new XElement("Action",
new XAttribute("id", "TempoBlasterActions.ExportCommunityMashupFromVegas"),
new XAttribute("text", "Export Community Mashup From Vegas"),
new XAttribute("description", "Exports the composition from Vegas"),
new XAttribute("defaultHandler", $"{typeof(TempoBlaster.Mashups.ExportCommunityMashupFromVegasHandler).FullName}")
),
new XElement("Action",
new XAttribute("id", "TempoBlasterActions.NextFrame"),
new XAttribute("text", "Next Frame"),
new XAttribute("description", "Seek to next video frame on the current player."),
new XAttribute("shortcut", "Right"),
new XAttribute("icon", "Icons_30x30_Step"),
new XAttribute("defaultHandler", $"{typeof(TempoBlaster.Actions.NextVideoFrameActionHandler).FullName}")
),
new XElement("Action",
new XAttribute("id", "TempoBlasterActions.PreviousFrame"),
new XAttribute("text", "Previous Frame"),
new XAttribute("description", "Seek to previous video frame on the current player."),
new XAttribute("shortcut", "Left"),
new XAttribute("icon", "Icons_30x30_StepBack"),
new XAttribute("defaultHandler", $"{typeof(TempoBlaster.Actions.PreviousVideoFrameActionHandler).FullName}")
)
),
// File
new XElement("Extension",
new XAttribute("path", "Application/MainMenu/File"),
new XElement("Actions",
new XAttribute("id", "Export"),
new XAttribute("insertbefore", "CloseSeparator"),
new XElement("ActionReference",
new XAttribute("id", "TempoBlasterActions.ExportToAfterEffectFormat")
)
),
new XElement("Actions",
new XAttribute("id", "Import"),
new XAttribute("insertbefore", "CloseSeparator"),
new XElement("ActionReference",
new XAttribute("id", "TempoBlasterActions.ImportVegasMarkers")
)
)
),
// ToolBars
new XElement("Extension",
new XAttribute("path", "Application/ToolBars"),
new XElement("Actions",
new XAttribute("id", "TempoBlaster"),
new XAttribute("guid", "6AB3CC54-3FAF-40B6-A7DA-EF99C31E1085"),
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", "TempoBlasterActions.ExportMarkers")
),
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")
)
)
),
// DocumentBindings
new XElement("Extension",
new XAttribute("path", "Application/DocumentBindings"),
new XElement("DocumentBinding",
new XAttribute("id", "Track"),
new XAttribute("name", "Track"),
new XAttribute("icon", "Icons_16x16_TempoBlaster"),
new XAttribute("class", "TempoBlaster.Model.TrackDocumentBinding"),
new XElement("FileFilter",
new XAttribute("name", "Track Files"),
new XAttribute("extensions", "*.trk;*.wav")
)
)
),
// Pads
new XElement("Extension",
new XAttribute("path", "Application/Pads"),
new XElement("Pad",
new XAttribute("id", "MapVideoPreviewPadFx"),
new XAttribute("category", "Video Preview"),
new XAttribute("title", "Map Preview (FX)"),
new XAttribute("icon", "Icons_16x16_VideoPad"),
new XAttribute("guid", "9F7C98C8-61DD-4838-97F9-3852709437B8"),
new XAttribute("type", $"{typeof(TempoBlaster.View.FrameVideoPadFx).FullName}")
),
new XElement("Pad",
new XAttribute("id", "MapVideoPreviewPadCoach"),
new XAttribute("category", "Video Preview"),
new XAttribute("title", "Map Preview (ColorCoach)"),
new XAttribute("icon", "Icons_16x16_VideoPad"),
new XAttribute("guid", "88e108a8-6d84-4539-b3a6-bdcc7ff3f0b2"),
new XAttribute("type", $"{typeof(TempoBlaster.View.FrameVideoPadCoach).FullName}")
)
),
// All
new XElement("Extension",
new XAttribute("path", "Bootstrap/All"),
new XElement("CommandLineHandler",
new XAttribute("type", $"{typeof(TempoBlaster.Addins.ExportMarkersAsJson).FullName}")
)
),
// All
new XElement("Extension",
new XAttribute("path", "Bootstrap/All"),
new XElement("CommandLineHandler",
new XAttribute("type", $"{typeof(TempoBlaster.Addins.UpdateEndBeatFromVideoLength).FullName}")
)
),
// Export
new XElement("Extension",
new XAttribute("path", "Application/MainMenu/File/Export"),
new XElement("ActionReference",
new XAttribute("id", "TempoBlasterActions.ExportCommunityMashupFromVegas")
)
)
)
)
;
}