Examples of APETag


Examples of davaguine.jmac.info.APETag

        formatProperties.put("ape.totalblocks", new Integer(decoder.getApeInfoTotalBlocks()));
        formatProperties.put("ape.peaklevel", new Integer(decoder.getApeInfoPeakLevel()));

        fileProperties.put("duration", new Long(decoder.getApeInfoLengthMs()));
        if (decoder.getApeInfoIoSource().isLocal()) {
            APETag tag = decoder.getApeInfoTag();
            fileProperties.put("author", tag.GetFieldString(APETag.APE_TAG_FIELD_ARTIST));
            fileProperties.put("title", tag.GetFieldString(APETag.APE_TAG_FIELD_TITLE));
            fileProperties.put("copyright", tag.GetFieldString(APETag.APE_TAG_FIELD_COPYRIGHT));
            String year = tag.GetFieldString(APETag.APE_TAG_FIELD_YEAR);
            Date date = null;
            try {
                Calendar c = Calendar.getInstance();
                c.clear();
                c.set(Calendar.YEAR, Integer.parseInt(year));
                date = c.getTime();
            } catch (Exception e) {
            }
            fileProperties.put("date", date);
            fileProperties.put("comment", tag.GetFieldString(APETag.APE_TAG_FIELD_COMMENT));

            fileProperties.put("album", tag.GetFieldString(APETag.APE_TAG_FIELD_ALBUM));
            fileProperties.put("track", tag.GetFieldString(APETag.APE_TAG_FIELD_TRACK));
            fileProperties.put("genre", tag.GetFieldString(APETag.APE_TAG_FIELD_GENRE));
        }
        if (Globals.DEBUG) {
            System.out.println("File Properties");
            System.out.println("duration: " + fileProperties.get("duration"));
            System.out.println("author: " + fileProperties.get("author"));
View Full Code Here

Examples of davaguine.jmac.info.APETag

                System.out.print("~~~Improper Usage~~~\nThe input ape file should be local file.\n");
                return;
            }

            APEInfo apeInfo = IAPEDecompress.CreateAPEInfo(in);
            APETag tag = apeInfo.getApeInfoTag();
            tag.Remove(false);
            tag.SetFieldString(args[1], args[2]);
            ID3Tag id3 = new ID3Tag();
            tag.CreateID3Tag(id3);
            tag.Save();

            apeInfo.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
View Full Code Here

Examples of davaguine.jmac.info.APETag

    public boolean readAPEv2Tag(Track track) throws IOException {
      TrackData trackData = track.getTrackData();
        RandomAccessFile ras = null;
        try {
            ras = new RandomAccessFile(trackData.getFile(), "r");
            APETag tag = new APETag(ras, true);
            if (tag.GetHasAPETag() || tag.GetHasID3Tag()) {
              setMusiqueTagFieldValue(tag, trackData, FieldKey.ARTIST, APETag.APE_TAG_FIELD_ARTIST);
              setMusiqueTagFieldValue(tag, trackData, FieldKey.ALBUM, APETag.APE_TAG_FIELD_ALBUM);
              setMusiqueTagFieldValue(tag, trackData, FieldKey.TITLE, APETag.APE_TAG_FIELD_TITLE);
              setMusiqueTagFieldValue(tag, trackData, FieldKey.YEAR, APETag.APE_TAG_FIELD_YEAR);
              setMusiqueTagFieldValue(tag, trackData, FieldKey.GENRE, APETag.APE_TAG_FIELD_GENRE);
              setMusiqueTagFieldValue(tag, trackData, FieldKey.COMMENT, APETag.APE_TAG_FIELD_COMMENT);
              setMusiqueTagFieldValue(tag, trackData, FieldKey.ALBUM_ARTIST, "album artist");
              handleTrackDiscFields(tag, trackData);

              setCustomMusiqueTagFieldValue(tag, trackData, FieldKey.RECORD_LABEL);
              setCustomMusiqueTagFieldValue(tag, trackData, FieldKey.CATALOG_NO);
              setCustomMusiqueTagFieldValue(tag, trackData, FieldKey.RATING);

              trackData.setCueSheet(tag.GetFieldString("CUESHEET"));
                if (tag.GetHasAPETag())
                    return tag.GetHasAPETag();
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (ras != null)
View Full Code Here

Examples of davaguine.jmac.info.APETag

    public void writeAPEv2Tag(Track track) throws IOException {
      TrackData trackData = track.getTrackData();
        RandomAccessFile ras = null;
        try {
            ras = new RandomAccessFile(trackData.getFile(), "rw");
            APETag tag = new APETag(ras, true);

            setApeTagFieldValue(tag, trackData, FieldKey.ARTIST, APETag.APE_TAG_FIELD_ARTIST);
            setApeTagFieldValue(tag, trackData, FieldKey.ALBUM, APETag.APE_TAG_FIELD_ALBUM);
            setApeTagFieldValue(tag, trackData, FieldKey.TITLE, APETag.APE_TAG_FIELD_TITLE);
            setApeTagFieldValue(tag, trackData, FieldKey.YEAR, APETag.APE_TAG_FIELD_YEAR);
            setApeTagFieldValue(tag, trackData, FieldKey.GENRE, APETag.APE_TAG_FIELD_GENRE);
            setApeTagFieldValue(tag, trackData, FieldKey.COMMENT, APETag.APE_TAG_FIELD_COMMENT);
            setApeTagFieldValue(tag, trackData, FieldKey.TRACK, APETag.APE_TAG_FIELD_TRACK);
            setApeTagFieldValue(tag, trackData, FieldKey.ALBUM_ARTIST, "Album Artist");

            setCustomApeTagFieldValue(tag, trackData, FieldKey.DISC_NO);
            setCustomApeTagFieldValue(tag, trackData, FieldKey.TRACK_TOTAL);
            setCustomApeTagFieldValue(tag, trackData, FieldKey.DISC_TOTAL);
            setCustomApeTagFieldValue(tag, trackData, FieldKey.RECORD_LABEL);
            setCustomApeTagFieldValue(tag, trackData, FieldKey.CATALOG_NO);
            setCustomApeTagFieldValue(tag, trackData, FieldKey.RATING);

            // TODO review this hardcoded const
            tag.SetFieldString("CUESHEET", trackData.getCueSheet());

            tag.Save();
       
        track.getTrackData().removeEmptyTagFields();
        } finally {
            if (ras != null)
                ras.close();
View Full Code Here

Examples of entagged.audioformats.ape.ApeTag

    //----------------------------------------------------------------------------
  }
 
  protected Tag getCompatibleTag(Tag tag) {
      if(! (tag instanceof ApeTag)) {
        ApeTag apeTag = new ApeTag();
        apeTag.merge(tag);
        return apeTag;
    }
      return tag;
  }
View Full Code Here

Examples of entagged.audioformats.ape.ApeTag

import entagged.audioformats.generic.Utils;

public class ApeTagReader {

  public Tag read(RandomAccessFile raf) throws CannotReadException, IOException {
    ApeTag tag = new ApeTag();
   
    //Check wether the file contains an APE tag--------------------------------
    raf.seek( raf.length() - 32 );
   
    byte[] b = new byte[8];
    raf.read(b);
   
    String tagS = new String( b );
    if(!tagS.equals( "APETAGEX" )){
      throw new CannotReadException("There is no APE Tag in this file");
    }
    //Parse the tag -)------------------------------------------------
    //Version
    b = new byte[4];
    raf.read( b );
    int version = Utils.getNumber(b, 0,3);
    if(version != 2000) {
      throw new CannotReadException("APE Tag other than version 2.0 are not supported");
    }
   
    //Size
    b = new byte[4];
    raf.read( b );
    long tagSize = Utils.getLongNumber(b, 0,3);

    //Number of items
    b = new byte[4];
    raf.read( b );
    int itemNumber = Utils.getNumber(b, 0,3);
   
    //Tag Flags
    b = new byte[4];
    raf.read( b );
    //TODO handle these
   
    raf.seek(raf.length() - tagSize);
   
    for(int i = 0; i<itemNumber; i++) {
      //Content length
      b = new byte[4];
      raf.read( b );
      int contentLength = Utils.getNumber(b, 0,3);
      if(contentLength > 500000)
        throw new CannotReadException("Item size is much too large: "+contentLength+" bytes");
     
      //Item flags
      b = new byte[4];
      raf.read( b );
      //TODO handle these
      boolean binary = ((b[0]&0x06) >> 1) == 1;
     
      int j = 0;
      while(raf.readByte() != 0)
        j++;
      raf.seek(raf.getFilePointer() - j -1);
      int fieldSize = j;
     
      //Read Item key
      b = new byte[fieldSize];
      raf.read( b );
      raf.skipBytes(1);
      String field = new String(b);
     
      //Read Item content
      b = new byte[contentLength];
      raf.read( b );
      if(!binary)
          tag.add(new ApeTagTextField(field, new String(b, "UTF-8")));
      else
          tag.add(new ApeTagBinaryField(field, b));
    }
   
    return tag;
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.