/* * ID3V1_0Tag.java * * Created on 7-Oct-2003 * * Copyright (C)2003-2005 Paul Grebenc * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * $Id: ID3V1_0Tag.java,v 1.8 2005/02/06 18:11:26 paul Exp $ */ package org.blinkenlights.jid3.v1; import java.io.*; import org.blinkenlights.jid3.*; import org.blinkenlights.jid3.util.*; /** * @author paul * * ID3 V1.0 tag object. */ public class ID3V1_0Tag extends ID3V1Tag { /** * Constructor for ID3 V1.0 Tag. */ public ID3V1_0Tag() { super(); } public void accept(ID3Visitor oID3Visitor) { oID3Visitor.visitID3V1_0Tag(this); } public void setComment(String sComment) { if (sComment.length() > 30) { sComment = sComment.substring(0, 30); } m_sComment = sComment; } public void write(OutputStream oOS) throws ID3Exception { try { oOS.write("TAG".getBytes()); // song title if (getTitle() != null) { byte[] abySongTitle = getTitle().getBytes(); oOS.write(abySongTitle); oOS.write(new byte[30 - abySongTitle.length]); // padding to equal 30 bytes for song title } else { oOS.write(new byte[30]); // no value, just padding } // artist if (getArtist() != null) { byte[] abyArtist = getArtist().getBytes(); oOS.write(abyArtist); oOS.write(new byte[30 - abyArtist.length]); // padding to equal 30 bytes for artist } else { oOS.write(new byte[30]); // no value, just padding } // album if (getAlbum() != null) { byte[] abyAlbum = getAlbum().getBytes(); oOS.write(abyAlbum); oOS.write(new byte[30 - abyAlbum.length]); // padding to equal 30 bytes for album } else { oOS.write(new byte[30]); } // year if (getYear() != null) { byte[] abyYear = getYear().getBytes(); oOS.write(abyYear); oOS.write(new byte[4 - abyYear.length]); // padding to equal 4 bytes for year } else { oOS.write(new byte[4]); // no value, just padding } // comment if (getComment() != null) { byte[] abyComment = getComment().getBytes(); oOS.write(abyComment); oOS.write(new byte[30 - abyComment.length]); // padding to equal 30 bytes for comment } else { oOS.write(new byte[30]); // no value, just padding } // genre if (getGenre() != null) { oOS.write(getGenre().getByteValue()); } else { oOS.write(0); } } catch (Exception e) { throw new ID3Exception(e); } } }