package tim.prune.data; import java.util.ArrayList; /** * Class to hold a list of audio clips, using the MediaList superclass */ public class AudioList extends MediaList { /** * Empty constructor */ public AudioList() { this(null); } /** * Constructor * @param inList ArrayList containing audio clip objects */ private AudioList(ArrayList inList) { super(inList); } /** * @return clone of list contents */ public AudioList cloneList() { if (getNumMedia() == 0) return this; ArrayList listCopy = new ArrayList(); listCopy.addAll(_media); return new AudioList(listCopy); } /** * @return the number of audio clips in the list */ public int getNumAudios() { return getNumMedia(); } /** * Add an audio clip to the list * @param inAudio object to add */ public void addAudio(AudioClip inAudio) { addMedia(inAudio); } /** * Add an audio clip to the list * @param inAudio object to add * @param inIndex index at which to add */ public void addAudio(AudioClip inAudio, int inIndex) { addMedia(inAudio, inIndex); } /** * Remove the selected audio clip from the list * @param inIndex index number to remove */ public void deleteAudio(int inIndex) { deleteMedia(inIndex); } /** * Get the index of the given audio clip * @param inAudio object to check * @return index of this object in the list, or -1 if not found */ public int getAudioIndex(AudioClip inAudio) { return getMediaIndex(inAudio); } /** * Get the Audio object at the given index * @param inIndex index number, starting at 0 * @return specified object */ public AudioClip getAudio(int inIndex) { return (AudioClip) getMedia(inIndex); } /** * @return true if list contains correlated objects */ public boolean hasCorrelatedAudios() { return hasCorrelatedMedia(); } /** * Remove all correlated media from the list */ public void removeCorrelatedAudios() { removeCorrelatedMedia(); } }