package org.herac.tuxguitar.io.ptb.base;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class PTBeat implements PTComponent{
private int staff;
private int voice;
private int multiBarRest;
private int duration;
private int enters;
private int times;
private boolean dotted;
private boolean doubleDotted;
private boolean vibrato;
private boolean grace;
private boolean arpeggioUp;
private boolean arpeggioDown;
private List notes;
public PTBeat(int staff,int voice){
this.staff = staff;
this.voice = voice;
this.notes = new ArrayList();
this.multiBarRest = 1;
}
public int getStaff() {
return this.staff;
}
public int getVoice() {
return this.voice;
}
public void addNote(PTNote note){
this.notes.add(note);
}
public List getNotes(){
return this.notes;
}
public boolean isGrace() {
return this.grace;
}
public void setGrace(boolean grace) {
this.grace = grace;
}
public boolean isVibrato() {
return this.vibrato;
}
public void setVibrato(boolean vibrato) {
this.vibrato = vibrato;
}
public int getMultiBarRest() {
return this.multiBarRest;
}
public void setMultiBarRest(int multiBarRest) {
this.multiBarRest = multiBarRest;
}
public boolean isDotted() {
return this.dotted;
}
public void setDotted(boolean dotted) {
this.dotted = dotted;
}
public boolean isDoubleDotted() {
return this.doubleDotted;
}
public void setDoubleDotted(boolean doubleDotted) {
this.doubleDotted = doubleDotted;
}
public int getDuration() {
return this.duration;
}
public void setDuration(int duration) {
this.duration = duration;
}
public int getEnters() {
return this.enters;
}
public void setEnters(int enters) {
this.enters = enters;
}
public int getTimes() {
return this.times;
}
public void setTimes(int times) {
this.times = times;
}
public boolean isArpeggioUp() {
return this.arpeggioUp;
}
public void setArpeggioUp(boolean arpeggioUp) {
this.arpeggioUp = arpeggioUp;
}
public boolean isArpeggioDown() {
return this.arpeggioDown;
}
public void setArpeggioDown(boolean arpeggioDown) {
this.arpeggioDown = arpeggioDown;
}
@Override
public PTComponent getClone(){
PTBeat beat = new PTBeat( getStaff(), getVoice() );
beat.setDuration( getDuration() );
beat.setDotted( isDotted() );
beat.setDoubleDotted( isDoubleDotted() );
beat.setTimes( getTimes() );
beat.setEnters( getEnters() );
beat.setMultiBarRest( getMultiBarRest() );
beat.setGrace( isGrace() );
beat.setVibrato( isVibrato() );
beat.setArpeggioUp( isArpeggioUp() );
beat.setArpeggioDown( isArpeggioDown() );
Iterator it = getNotes().iterator();
while( it.hasNext() ){
beat.addNote( ((PTNote)it.next()).getClone() );
}
return beat;
}
}