Starting to add the Miles Sound System XMI data format to the Multimedia plugin

This commit is contained in:
Michael Becker 2014-06-12 15:54:04 -04:00
parent 0baf3c4c4f
commit ad5440e97d
2 changed files with 53 additions and 3 deletions

View File

@ -0,0 +1,51 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UniversalEditor.DataFormats.Chunked.RIFF;
using UniversalEditor.ObjectModels.Chunked;
using UniversalEditor.ObjectModels.Multimedia.Audio.Synthesized;
namespace UniversalEditor.DataFormats.Multimedia.Audio.Synthesized.ExtendedMIDI
{
public class XMIDataFormat : RIFFDataFormat
{
private static DataFormatReference _dfr = null;
public override DataFormatReference MakeReference()
{
if (_dfr == null)
{
_dfr = new DataFormatReference(this.GetType());
_dfr.Capabilities.Add(typeof(SynthesizedAudioObjectModel), DataFormatCapabilities.All);
_dfr.Capabilities.Add(typeof(ChunkedObjectModel), DataFormatCapabilities.Bootstrap);
_dfr.Filters.Add("Miles Sound System eXtended MIDI audio", new byte?[][] { new byte?[] { (byte)'F', (byte)'O', (byte)'R', (byte)'M', null, null, null, null, 'X', (byte)'D', (byte)'I', (byte)'R', (byte)'I', (byte)'N', (byte)'F', (byte)'O' } }, new string[] { "*.xmi" });
}
}
protected override void BeforeLoadInternal(Stack<ObjectModel> objectModels)
{
base.BeforeLoadInternal(objectModels);
objectModels.Push(new ChunkedObjectModel());
}
protected override void AfterLoadInternal(Stack<ObjectModel> objectModels)
{
base.AfterLoadInternal(objectModels);
ChunkedObjectModel chunked = (objectModels.Pop() as ChunkedObjectModel);
SynthesizedAudioObjectModel audio = (objectModels.Pop() as SynthesizedAudioObjectModel);
}
protected override void BeforeSaveInternal(Stack<ObjectModel> objectModels)
{
base.BeforeSaveInternal(objectModels);
SynthesizedAudioObjectModel audio = (objectModels.Pop() as SynthesizedAudioObjectModel);
ChunkedObjectModel chunked = new ChunkedObjectModel();
objectModels.Push(chunked);
}
}
}

View File

@ -74,6 +74,7 @@
</ItemGroup>
<ItemGroup>
<Compile Include="Color.cs" />
<Compile Include="DataFormats\Multimedia\Audio\Synthesized\ExtendedMIDI\XMIDataFormat.cs" />
<Compile Include="DataFormats\Multimedia\Audio\Synthesized\PSF\PSFDataFormat.cs" />
<Compile Include="DataFormats\Multimedia\Audio\Synthesized\PSF\PSFPlatform.cs" />
<Compile Include="DataFormats\Multimedia\Audio\Synthesized\SPC\SPC700Emulator.cs" />
@ -329,9 +330,7 @@
<Install>true</Install>
</BootstrapperPackage>
</ItemGroup>
<ItemGroup>
<Folder Include="DataFormats\Multimedia\Audio\Synthesized\ExtendedMIDI\" />
</ItemGroup>
<ItemGroup />
<ItemGroup>
<None Include="app.manifest">
<SubType>Designer</SubType>