//----------------------------------------------------------------------------//
// //
// A b s t r a c t N o t a t i o n //
// //
//----------------------------------------------------------------------------//
// <editor-fold defaultstate="collapsed" desc="hdr"> //
// Copyright © Hervé Bitteur and others 2000-2013. All rights reserved. //
// This software is released under the GNU General Public License. //
// Goto http://kenai.com/projects/audiveris to report bugs or suggestions. //
//----------------------------------------------------------------------------//
// </editor-fold>
package omr.score.entity;
import omr.glyph.facets.Glyph;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.awt.Point;
/**
* Class {@code Notation} is the basis for all variants of notations:
* tied, slur, ...
*
* @author Hervé Bitteur
*/
public abstract class AbstractNotation
extends MeasureElement
implements Notation
{
//~ Static fields/initializers ---------------------------------------------
/** Usual logger utility */
private static final Logger logger = LoggerFactory.getLogger(
AbstractNotation.class);
//~ Constructors -----------------------------------------------------------
/**
* Creates a new instance of a simple Notation (assumed to be both the
* start and the stop)
*
* @param measure the containing measure
* @param point
* @param chord the related chord
* @param glyph the underlying glyph
*/
public AbstractNotation (Measure measure,
Point point,
Chord chord,
Glyph glyph)
{
super(measure, true, point, chord, glyph);
// Register at its related chord
if (chord != null) {
chord.addNotation(this);
} else {
// We have a notation item without any related chord/note
addError(glyph, "Notation " + this + " without related note");
}
}
}