Package com.echonest.api.v4

Source Code of com.echonest.api.v4.TrackAnalysis

package com.echonest.api.v4;

import com.echonest.api.v4.util.MQuery;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

public class TrackAnalysis {

    @SuppressWarnings("unchecked")
    private Map map;
    private MQuery mq;

    @SuppressWarnings("unchecked")
    TrackAnalysis(Map map) {
        this.map = map;
        this.mq = new MQuery(map);
    }

    @SuppressWarnings("unchecked")
    public Map getMap() {
        return map;
    }

    @Override
    public String toString() {
        return map.toString();
    }

    public Integer getNumSamples() {
        return mq.getInteger("track.num_samples");
    }

    public Double getDuration() {
        return mq.getDouble("track.duration");
    }

    public String getMD5() {
        return mq.getString("track.sample_md5");
    }

    public Double getSampleRate() {
        return mq.getDouble("track.analysis_sample_rate");
    }

    public Integer getNumChannels() {
        return mq.getInteger("track.analysis_channels");
    }

    public Double getEndOfFadeIn() {
        return mq.getDouble("track.end_of_fade_in");
    }

    public Double getStartOfFadeOut() {
        return mq.getDouble("track.start_of_fade_out");
    }

    public Double getLoudness() {
        return mq.getDouble("track.loudness");
    }

    public Double getTempo() {
        return mq.getDouble("track.tempo");
    }

    public Double getTempoConfidence() {
        return mq.getDouble("track.tempo_confidence");
    }

    public Integer getTimeSignature() {
        return mq.getInteger("track.time_signature");
    }

    public Double getTimeSignatureConfidence() {
        return mq.getDouble("track.time_signature_confidence");
    }

    public Integer getKey() {
        return mq.getInteger("track.key");
    }

    public Double getKeyConfidence() {
        return mq.getDouble("track.key_confidence");
    }

    public Integer getMode() {
        return mq.getInteger("track.mode");
    }

    public Double getModeConfidence() {
        return mq.getDouble("track.mode_confidence");
    }

    @SuppressWarnings("unchecked")
    public List<TimedEvent> getSections() {
        List<TimedEvent> results = new ArrayList<TimedEvent>();
        List event = (List) mq.getObject("sections");
        for (int i = 0; i < event.size(); i++) {
            results.add(new TimedEvent((Map) event.get(i)));
        }
        return results;
    }

    @SuppressWarnings("unchecked")
    public List<TimedEvent> getBars() {
        List<TimedEvent> results = new ArrayList<TimedEvent>();
        List event = (List) mq.getObject("bars");
        for (int i = 0; i < event.size(); i++) {
            results.add(new TimedEvent((Map) event.get(i)));
        }
        return results;
    }

    @SuppressWarnings("unchecked")
    public List<TimedEvent> getBeats() {
        List<TimedEvent> results = new ArrayList<TimedEvent>();
        List event = (List) mq.getObject("beats");
        for (int i = 0; i < event.size(); i++) {
            results.add(new TimedEvent((Map) event.get(i)));
        }
        return results;
    }

    @SuppressWarnings("unchecked")
    public List<TimedEvent> getTatums() {
        List<TimedEvent> results = new ArrayList<TimedEvent>();
        List event = (List) mq.getObject("tatums");
        for (int i = 0; i < event.size(); i++) {
            results.add(new TimedEvent((Map) event.get(i)));
        }
        return results;
    }

    @SuppressWarnings("unchecked")
    public List<Segment> getSegments() {
        List<Segment> results = new ArrayList<Segment>();
        List event = (List) mq.getObject("segments");
        for (int i = 0; i < event.size(); i++) {
            results.add(new Segment((Map) event.get(i)));
        }
        return results;
    }

    public void dump() {
        System.out.println("num samples : " + getNumSamples());
        System.out.println("sample md5  : " + getMD5());
        System.out.println("num channels: " + getNumChannels());
        System.out.println("duration    : " + getDuration());

        System.out.println(" Sections ");
        List<TimedEvent> sections = getSections();
        for (TimedEvent e : sections) {
            System.out.println(e);
        }

        System.out.println(" Bars ");
        List<TimedEvent> bars = getBars();
        for (TimedEvent e : bars) {
            System.out.println(e);
        }

        System.out.println(" Beats ");
        List<TimedEvent> beats = getBeats();
        for (TimedEvent e : beats) {
            System.out.println(e);
        }

        System.out.println(" Tatums ");
        List<TimedEvent> tatums = getTatums();
        for (TimedEvent e : tatums) {
            System.out.println(e);
        }

        System.out.println(" Segments ");
        List<Segment> segments = getSegments();
        for (Segment e : segments) {
            System.out.println(e);
        }
    }
}
TOP

Related Classes of com.echonest.api.v4.TrackAnalysis

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.