package org.herac.tuxguitar.song.models.effects; import org.herac.tuxguitar.song.factory.TGFactory; import org.herac.tuxguitar.song.models.TGDuration; import org.herac.tuxguitar.song.models.TGVelocities; public abstract class TGEffectGrace { public static final int TRANSITION_NONE = 0; public static final int TRANSITION_SLIDE = 1; public static final int TRANSITION_BEND = 2; public static final int TRANSITION_HAMMER = 3; private int fret; private int duration; private int dynamic; private int transition; private boolean onBeat; private boolean dead; public TGEffectGrace() { this.fret = 0; this.duration = 1; this.dynamic = TGVelocities.DEFAULT; this.transition = TRANSITION_NONE; this.onBeat = false; this.dead = false; } public boolean isDead() { return this.dead; } public void setDead(boolean dead) { this.dead = dead; } public int getDuration() { return this.duration; } public void setDuration(int duration) { this.duration = duration; } public int getDynamic() { return this.dynamic; } public void setDynamic(int dynamic) { this.dynamic = dynamic; } public int getFret() { return this.fret; } public void setFret(int fret) { this.fret = fret; } public boolean isOnBeat() { return this.onBeat; } public void setOnBeat(boolean onBeat) { this.onBeat = onBeat; } public int getTransition() { return this.transition; } public void setTransition(int transition) { this.transition = transition; } public int getDurationTime(){ //return (int)(((float)TGDuration.QUARTER_TIME / 16.00 ) * (float)getDuration()); return (int)((TGDuration.QUARTER_TIME / 16.00 ) * getDuration()); } public TGEffectGrace clone(TGFactory factory){ TGEffectGrace effect = factory.newEffectGrace(); effect.setFret(getFret()); effect.setDuration(getDuration()); effect.setDynamic(getDynamic()); effect.setTransition(getTransition()); effect.setOnBeat(isOnBeat()); effect.setDead(isDead()); return effect; } }