f@0: /* f@0: Cross-Modal DAW Prototype - Prototype of a simple Cross-Modal Digital Audio Workstation. f@0: f@0: Copyright (C) 2015 Queen Mary University of London (http://depic.eecs.qmul.ac.uk/) f@0: f@0: This program is free software: you can redistribute it and/or modify f@0: it under the terms of the GNU General Public License as published by f@0: the Free Software Foundation, either version 3 of the License, or f@0: (at your option) any later version. f@0: f@0: This program is distributed in the hope that it will be useful, f@0: but WITHOUT ANY WARRANTY; without even the implied warranty of f@0: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the f@0: GNU General Public License for more details. f@0: f@0: You should have received a copy of the GNU General Public License f@0: along with this program. If not, see . f@0: */ f@0: package uk.ac.qmul.eecs.depic.daw; f@0: f@0: import uk.ac.qmul.eecs.depic.patterns.Sequence; f@0: f@1: /** f@1: * f@1: * An abstract wave f@1: * f@1: */ f@0: public interface Wave { f@0: public int getChunkNum(); f@0: f@0: public Chunk getChunkAt(int i); f@0: f@0: /** f@0: * Sets the new scale factor. f@0: * f@0: * Registered {@code SoundWaveListener} objects are notified with a f@0: * {@code SCALE_FACTOR_CHANGED} event. f@0: * f@0: * @param scaleFactor the new scale factor f@0: */ f@0: public void setScaleFactor(int scaleFactor); f@0: f@0: public int getScaleFactor(); f@0: f@0: public int getMaxScaleFactor(); f@0: f@0: public float getWaveTime(); f@0: f@0: public float getMillisecPerChunk(); f@0: f@0: public Sequence getSequence(); f@0: f@0: public boolean hasSequence(); f@0: }