private void WriteToFile(FileStream stream)
{
if(!(stream.CanRead && stream.CanSeek && stream.CanSeek))
throw (new ArgumentException("The passed Stream object must support seeking, reading and writing."));
ID3v1Tag tagInformation=new ID3v1Tag();
if(!tagInformation.ReadFromFile(stream))
stream.Seek(stream.Length, SeekOrigin.Begin);
else
stream.Seek(stream.Length-128, SeekOrigin.Begin);
stream.Write(Encoding.GetEncoding("ISO-8859-1").GetBytes("TAG"), 0, 3);
byte[] b=new byte[0];
if(Title!="")
b=Encoding.GetEncoding("ISO-8859-1").GetBytes(Title);
for(int i=0;i<30;i++)
{
if(i<b.Length)
stream.WriteByte(b[i]);
else
stream.WriteByte(0);
}
b=new byte[0];
if(Artist!="")
b=Encoding.GetEncoding("ISO-8859-1").GetBytes(Artist);
for(int i=0;i<30;i++)
{
if(i<b.Length)
stream.WriteByte(b[i]);
else
stream.WriteByte(0);
}
b=new byte[0];
if(Album!="")
b=Encoding.GetEncoding("ISO-8859-1").GetBytes(Album);
for(int i=0;i<30;i++)
{
if(i<b.Length)
stream.WriteByte(b[i]);
else
stream.WriteByte(0);
}
b=new byte[0];
if(Year!="")
b=Encoding.GetEncoding("ISO-8859-1").GetBytes(Year);
for(int i=0;i<4;i++)
{
if(i<b.Length)
stream.WriteByte(b[i]);
else
stream.WriteByte(0);
}
b=new byte[0];
if(Comment!="")
b=Encoding.GetEncoding("ISO-8859-1").GetBytes(Comment);
for(int i=0;i<28;i++)
{
if(i<b.Length)
stream.WriteByte(b[i]);
else
stream.WriteByte(0);
}
stream.WriteByte(0);
stream.WriteByte(TrackNumber);
stream.WriteByte(GenreCode);
}