package de.maramuse.soundcomp.parser;
import de.maramuse.soundcomp.events.SyncTriggerTimestampEvent;
/*
* Copyright 2010 Jan Schmidt-Reinisch
*
* SoundComp - a sound processing library
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; in version 2.1
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
* This symbol represents a synchronization annotation synchronizing to a timing mark
*/
public class Waitmark extends TimingEvent {
private String markName;
// during timing analysis, we need a place to store the target timestamp
private double syncTimestamp;
Waitmark(String s){
super(SCParser.WAITMARK, s);
}
public String getMarkName(){
return markName;
}
public Waitmark setMarkName(String markName){
this.markName=markName;
return this;
}
@Override
public boolean isVoicelocal() {
return true;
}
public double getSyncTimestamp() {
return syncTimestamp;
}
public void setSyncTimestamp(double syncTimestamp) {
this.syncTimestamp=syncTimestamp;
}
@Override
public de.maramuse.soundcomp.events.TempoChangeEvent toTempoEvent() {
return new SyncTriggerTimestampEvent(tempTimestamp, syncTimestamp);
}
}