//----------------------------------------------------------------------------//
// //
// T e m p o //
// //
//----------------------------------------------------------------------------//
// <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.constant.Constant;
import omr.constant.ConstantSet;
import omr.util.Param;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Class {@code Tempo} handles the default tempo value.
*
* @author Hervé Bitteur
*/
public class Tempo
{
//~ Static fields/initializers ---------------------------------------------
/** Specific application parameters */
private static final Constants constants = new Constants();
/** Usual logger utility */
private static final Logger logger = LoggerFactory.getLogger(Tempo.class);
/** Default parameter. */
public static final Param<Integer> defaultTempo = new Default();
//~ Inner Classes ----------------------------------------------------------
//-----------//
// Constants //
//-----------//
private static final class Constants
extends ConstantSet
{
//~ Instance fields ----------------------------------------------------
Constant.Integer defaultTempo = new Constant.Integer(
"QuartersPerMn",
120,
"Default tempo, stated in number of quarters per minute");
}
//---------//
// Default //
//---------//
private static class Default
extends Param<Integer>
{
//~ Methods ------------------------------------------------------------
@Override
public Integer getSpecific ()
{
return constants.defaultTempo.getValue();
}
@Override
public boolean setSpecific (Integer specific)
{
if (!getSpecific()
.equals(specific)) {
constants.defaultTempo.setValue(specific);
logger.info("Default tempo is now {}", specific);
return true;
} else {
return false;
}
}
}
}