215 lines
11 KiB
C#
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")
|
|
)
|
|
)
|
|
)
|
|
)
|
|
;
|
|
}
|