MuseScore/libmscore/mscore1.h
Werner Schweer 81a552eb87 qt5 port
2012-05-31 16:24:35 +02:00

176 lines
3.9 KiB
C++

//=============================================================================
// MuseScore
// Music Composition & Notation
// $Id:$
//
// Copyright (C) 2011 Werner Schweer and others
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License version 2
// as published by the Free Software Foundation and appearing in
// the file LICENSE.GPL
//=============================================================================
class MStyle;
class Sequencer;
#ifndef MSCORE_GLOBAL
//---------------------------------------------------------
// MScore
// MuseScore application object
//---------------------------------------------------------
class MScore : public QObject {
Q_OBJECT
Q_ENUMS(ElementType)
private:
static MStyle* _defaultStyle; // default modified by preferences
static MStyle* _baseStyle; // buildin initial style
static QString _globalShare;
static int _hRaster, _vRaster;
public:
#endif
//---------------------------------------------------------
// ElementType
// The value of this enum determines the "stacking order"
// of elements on the canvas.
//---------------------------------------------------------
enum ElementType {
INVALID = 0,
SYMBOL = 1,
TEXT,
INSTRUMENT_NAME,
SLUR_SEGMENT,
BAR_LINE,
STEM_SLASH,
LINE,
BRACKET,
ARPEGGIO,
ACCIDENTAL,
NOTE,
STEM,
CLEF,
KEYSIG,
TIMESIG,
REST,
BREATH,
GLISSANDO,
REPEAT_MEASURE,
IMAGE,
/*19*/TIE,
ARTICULATION,
CHORDLINE,
DYNAMIC,
BEAM,
HOOK,
LYRICS,
FIGURED_BASS,
MARKER,
JUMP,
FINGERING,
TUPLET,
/*30*/TEMPO_TEXT,
STAFF_TEXT,
REHEARSAL_MARK,
INSTRUMENT_CHANGE,
HARMONY,
FRET_DIAGRAM,
BEND,
TREMOLOBAR,
VOLTA,
HAIRPIN_SEGMENT,
OTTAVA_SEGMENT,
TRILL_SEGMENT,
TEXTLINE_SEGMENT,
VOLTA_SEGMENT,
LAYOUT_BREAK,
SPACER,
STAFF_STATE,
LEDGER_LINE,
NOTEHEAD,
NOTEDOT,
TREMOLO,
MEASURE,
STAFF_LINES,
SELECTION,
LASSO,
SHADOW_NOTE,
RUBBERBAND,
TAB_DURATION_SYMBOL,
FSYMBOL,
PAGE,
// not drawable elements:
HAIRPIN,
OTTAVA,
PEDAL,
TRILL,
TEXTLINE,
SEGMENT,
SYSTEM,
COMPOUND,
CHORD,
SLUR,
// special types for drag& drop:
ELEMENT,
ELEMENT_LIST,
STAFF_LIST,
MEASURE_LIST,
LAYOUT,
HBOX,
VBOX,
TBOX,
FBOX,
ACCIDENTAL_BRACKET,
ICON,
OSSIA,
MAXTYPE
};
#ifndef MSCORE_GLOBAL
static void init();
static MStyle* defaultStyle();
static MStyle* baseStyle();
static void setDefaultStyle(MStyle*);
static const QString& globalShare() { return _globalShare; }
static qreal hRaster() { return _hRaster; }
static qreal vRaster() { return _vRaster; }
static void setHRaster(int val) { _hRaster = val; }
static void setVRaster(int val) { _vRaster = val; }
static QColor selectColor[4];
static QColor defaultColor;
static QColor dropColor;
static QColor layoutBreakColor;
static QColor bgColor;
static bool warnPitchRange;
static bool replaceFractions;
static bool playRepeats;
static bool panPlayback;
static qreal nudgeStep;
static int defaultPlayDuration;
static QString partStyle;
static QString soundFont;
static QString lastError;
static bool layoutDebug;
static int division;
static int sampleRate;
static int mtcType;
static Sequencer* seq;
static qreal PDPI;
static qreal DPI;
static qreal DPMM;
static bool debugMode;
};
#endif