2016-11-12 19:02:48 +03:00

53 lines
1.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace SonicAudioLib.Module
{
public abstract class ModuleBase
{
public abstract void Read(Stream source);
public abstract void Write(Stream destination);
public virtual void Load(string sourceFileName)
{
using (Stream source = File.OpenRead(sourceFileName))
{
Read(source);
}
}
public virtual void Load(byte[] sourceByteArray)
{
using (Stream source = new MemoryStream(sourceByteArray))
{
Read(source);
}
}
public virtual void Save(string destinationFileName)
{
using (Stream destination = File.Create(destinationFileName))
{
Write(destination);
}
}
public virtual byte[] Save()
{
using (MemoryStream destination = new MemoryStream())
{
Write(destination);
return destination.ToArray();
}
}
public virtual long CalculateLength()
{
return -1;
}
}
}