/*
* Created on 23-nov-2005
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package org.herac.tuxguitar.song.models;
import org.herac.tuxguitar.song.factory.TGFactory;
/**
* @author julian
*
* TODO To change the template for this generated type comment go to Window - Preferences - Java - Code Style - Code Templates
*/
public abstract class TGNote {
private int value;
private int velocity;
private int string;
private boolean tiedNote;
private TGNoteEffect effect;
private TGVoice voice;
public TGNote(TGFactory factory) {
this.value = 0;
this.velocity = TGVelocities.DEFAULT;
this.string = 1;
this.tiedNote = false;
this.effect = factory.newEffect();
}
public int getValue() {
return this.value;
}
public void setValue(int value) {
this.value = value;
}
public int getVelocity() {
return this.velocity;
}
public void setVelocity(int velocity) {
this.velocity = velocity;
}
public int getString() {
return this.string;
}
public void setString(int string) {
this.string = string;
}
public boolean isTiedNote() {
return this.tiedNote;
}
public void setTiedNote(boolean tiedNote) {
this.tiedNote = tiedNote;
}
public TGNoteEffect getEffect() {
return this.effect;
}
public void setEffect(TGNoteEffect effect) {
this.effect = effect;
}
public TGVoice getVoice() {
return this.voice;
}
public void setVoice(TGVoice voice) {
this.voice = voice;
}
public TGNote clone(TGFactory factory){
TGNote note = factory.newNote();
note.setValue(getValue());
note.setVelocity(getVelocity());
note.setString(getString());
note.setTiedNote(isTiedNote());
note.setEffect(getEffect().clone(factory));
return note;
}
}