// Path: src/main/java/org/harmony_analyser/application/visualizations/VisualizationData.java
// public class VisualizationData {
// 	private String pluginName;
// 	private List<Float> timestamps;
// 	private List<Float> values;
// 	private List<String> labels;
// 
// 	public final static VisualizationData EMPTY_VISUALIZATION_DATA = new VisualizationData();
// 
// 	public VisualizationData() {
// 		setTimestamps(new ArrayList<>());
// 		setValues(new ArrayList<>());
// 		setLabels(new ArrayList<>());
// 	}
// 
// 	List<Float> getTimestamps() {
// 		return timestamps;
// 	}
// 
// 	public List<Float> getValues() {
// 		return values;
// 	}
// 
// 	List<String> getLabels() {
// 		return labels;
// 	}
// 
// 	String getPluginName() {
// 		return pluginName;
// 	}
// 
// 	public void setTimestamps(List<Float> timestamps) {
// 		this.timestamps = timestamps;
// 	}
// 
// 	public void setValues(List<Float> values) {
// 		this.values = values;
// 	}
// 
// 	public void setLabels(List<String> labels) {
// 		this.labels = labels;
// 	}
// 
// 	public void setPluginName(String pluginName) {
// 		this.pluginName = pluginName;
// 	}
// }


import org.harmony_analyser.jharmonyanalyser.services.*;
import org.harmony_analyser.application.visualizations.VisualizationData;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
package org.harmony_analyser.jharmonyanalyser.plugins;



/**
 * Abstract class for plugins that support line chart visualization
 */

@SuppressWarnings("SameParameterValue")

public abstract class LineChartPlugin extends AnalysisPlugin {
// Path: src/main/java/org/harmony_analyser/application/visualizations/VisualizationData.java
// public class VisualizationData {
// 	private String pluginName;
// 	private List<Float> timestamps;
// 	private List<Float> values;
// 	private List<String> labels;
// 
// 	public final static VisualizationData EMPTY_VISUALIZATION_DATA = new VisualizationData();
// 
// 	public VisualizationData() {
// 		setTimestamps(new ArrayList<>());
// 		setValues(new ArrayList<>());
// 		setLabels(new ArrayList<>());
// 	}
// 
// 	List<Float> getTimestamps() {
// 		return timestamps;
// 	}
// 
// 	public List<Float> getValues() {
// 		return values;
// 	}
// 
// 	List<String> getLabels() {
// 		return labels;
// 	}
// 
// 	String getPluginName() {
// 		return pluginName;
// 	}
// 
// 	public void setTimestamps(List<Float> timestamps) {
// 		this.timestamps = timestamps;
// 	}
// 
// 	public void setValues(List<Float> values) {
// 		this.values = values;
// 	}
// 
// 	public void setLabels(List<String> labels) {
// 		this.labels = labels;
// 	}
// 
// 	public void setPluginName(String pluginName) {
// 		this.pluginName = pluginName;
// 	}
// }


// Path: src/main/java/org/harmony_analyser/jharmonyanalyser/plugins/LineChartPlugin.java
import org.harmony_analyser.jharmonyanalyser.services.*;
import org.harmony_analyser.application.visualizations.VisualizationData;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

package org.harmony_analyser.jharmonyanalyser.plugins;



/**
 * Abstract class for plugins that support line chart visualization
 */

@SuppressWarnings("SameParameterValue")

public abstract class LineChartPlugin extends AnalysisPlugin {
	public VisualizationData getDataFromOutput(String inputWavFile) throws IOException, AudioAnalyser.OutputNotReady, AudioAnalyser.ParseOutputError, AudioAnalyser.IncorrectInputException, AudioAnalyser.OutputAlreadyExists {