package com.xenoage.zong.core.music.chord;
import com.xenoage.utils.annotations.Const;
import com.xenoage.utils.annotations.NonNull;
import com.xenoage.zong.core.music.Pitch;
import lombok.Data;
import lombok.val;
import java.util.ArrayList;
/**
* Class for a single note.
* Within a score, it is always part of a chord.
*
* @author Andreas Wenger
*/
@Const @Data public final class Note {
@NonNull private final Pitch pitch;
/**
* Returns a list of {@link Note}s from the given {@link Pitch}es.
*/
public static ArrayList<Note> notes(Pitch... pitches) {
ArrayList<Note> ret = new ArrayList<>(pitches.length);
for (val p : pitches)
ret.add(new Note(p));
return ret;
}
@Override public String toString() {
return "note(" + pitch.toString() + ")";
}
}