2012-05-26 14:26:10 +02:00
|
|
|
//=============================================================================
|
|
|
|
// MuseScore
|
|
|
|
// Music Composition & Notation
|
|
|
|
//
|
|
|
|
// Copyright (C) 2002-2011 Werner Schweer
|
|
|
|
//
|
|
|
|
// 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 LICENCE.GPL
|
|
|
|
//=============================================================================
|
|
|
|
|
|
|
|
#ifndef __STYLE_H__
|
|
|
|
#define __STYLE_H__
|
|
|
|
|
2016-03-02 13:20:19 +01:00
|
|
|
#include "chordlist.h"
|
2012-05-26 14:26:10 +02:00
|
|
|
|
2013-05-13 18:49:17 +02:00
|
|
|
namespace Ms {
|
|
|
|
|
2017-01-16 20:51:12 +01:00
|
|
|
enum class P_ID : int;
|
2016-11-19 11:51:21 +01:00
|
|
|
class XmlWriter;
|
2012-05-26 14:26:10 +02:00
|
|
|
struct ChordDescription;
|
|
|
|
class Element;
|
|
|
|
|
|
|
|
//---------------------------------------------------------
|
|
|
|
// StyleIdx
|
2016-08-15 14:30:06 +02:00
|
|
|
//
|
|
|
|
// Keep in sync with styleTypes[] in style.cpp
|
2012-05-26 14:26:10 +02:00
|
|
|
//---------------------------------------------------------
|
|
|
|
|
2017-01-05 11:23:47 +01:00
|
|
|
enum class StyleIdx {
|
2016-07-08 19:33:17 +02:00
|
|
|
NOSTYLE = -1,
|
2017-01-23 21:53:51 +01:00
|
|
|
|
|
|
|
pageWidth,
|
|
|
|
pageHeight,
|
|
|
|
pagePrintableWidth,
|
|
|
|
pageEvenLeftMargin,
|
|
|
|
pageOddLeftMargin,
|
|
|
|
pageEvenTopMargin,
|
|
|
|
pageEvenBottomMargin,
|
|
|
|
pageOddTopMargin,
|
|
|
|
pageOddBottomMargin,
|
|
|
|
pageTwosided,
|
|
|
|
|
2014-05-26 15:31:36 +02:00
|
|
|
staffUpperBorder,
|
|
|
|
staffLowerBorder,
|
|
|
|
staffDistance,
|
|
|
|
akkoladeDistance,
|
|
|
|
|
|
|
|
minSystemDistance,
|
|
|
|
maxSystemDistance,
|
|
|
|
|
2016-08-26 12:43:43 +02:00
|
|
|
lyricsPlacement,
|
|
|
|
lyricsPosAbove,
|
|
|
|
lyricsPosBelow,
|
2016-08-18 10:22:07 +02:00
|
|
|
lyricsMinTopDistance,
|
2014-05-26 15:31:36 +02:00
|
|
|
lyricsMinBottomDistance,
|
|
|
|
lyricsLineHeight,
|
2016-08-26 12:43:43 +02:00
|
|
|
lyricsDashMinLength,
|
|
|
|
lyricsDashMaxLength,
|
|
|
|
lyricsDashMaxDistance,
|
|
|
|
lyricsDashForce,
|
2016-08-26 13:42:59 +02:00
|
|
|
lyricsAlignVerseNumber,
|
2016-10-10 23:05:51 +02:00
|
|
|
lyricsLineThickness,
|
2014-05-26 15:31:36 +02:00
|
|
|
|
|
|
|
figuredBassFontFamily,
|
2017-01-16 20:51:12 +01:00
|
|
|
// figuredBassFontSize,
|
2014-05-26 15:31:36 +02:00
|
|
|
figuredBassYOffset,
|
|
|
|
figuredBassLineHeight,
|
|
|
|
figuredBassAlignment,
|
|
|
|
figuredBassStyle,
|
|
|
|
systemFrameDistance,
|
|
|
|
frameSystemDistance,
|
|
|
|
minMeasureWidth,
|
|
|
|
|
|
|
|
barWidth,
|
|
|
|
doubleBarWidth,
|
|
|
|
endBarWidth,
|
|
|
|
doubleBarDistance,
|
|
|
|
endBarDistance,
|
2016-10-10 23:05:51 +02:00
|
|
|
repeatBarlineDotSeparation,
|
2014-05-26 15:31:36 +02:00
|
|
|
repeatBarTips,
|
|
|
|
startBarlineSingle,
|
|
|
|
startBarlineMultiple,
|
|
|
|
|
|
|
|
bracketWidth,
|
|
|
|
bracketDistance,
|
|
|
|
akkoladeWidth,
|
|
|
|
akkoladeBarDistance,
|
2015-07-25 08:43:02 +02:00
|
|
|
dividerLeft,
|
|
|
|
dividerLeftSym,
|
|
|
|
dividerLeftX,
|
|
|
|
dividerLeftY,
|
|
|
|
dividerRight,
|
|
|
|
dividerRightSym,
|
|
|
|
dividerRightX,
|
|
|
|
dividerRightY,
|
2014-05-26 15:31:36 +02:00
|
|
|
|
|
|
|
clefLeftMargin,
|
|
|
|
keysigLeftMargin,
|
2016-05-25 12:10:52 +02:00
|
|
|
ambitusMargin,
|
2014-05-26 15:31:36 +02:00
|
|
|
timesigLeftMargin,
|
2017-03-09 13:37:40 +01:00
|
|
|
timesigScale,
|
2014-05-26 15:31:36 +02:00
|
|
|
|
|
|
|
clefKeyRightMargin,
|
2016-10-06 12:21:28 +02:00
|
|
|
clefKeyDistance,
|
|
|
|
clefTimesigDistance,
|
|
|
|
keyTimesigDistance,
|
2016-03-05 19:50:55 +01:00
|
|
|
keyBarlineDistance,
|
2016-04-19 15:18:17 +02:00
|
|
|
systemHeaderDistance,
|
2016-04-20 18:56:08 +02:00
|
|
|
systemHeaderTimeSigDistance,
|
2016-03-02 13:20:19 +01:00
|
|
|
|
2014-05-26 15:31:36 +02:00
|
|
|
clefBarlineDistance,
|
2016-05-04 10:27:40 +02:00
|
|
|
timesigBarlineDistance,
|
|
|
|
|
2014-05-26 15:31:36 +02:00
|
|
|
stemWidth,
|
|
|
|
shortenStem,
|
|
|
|
shortStemProgression,
|
|
|
|
shortestStem,
|
|
|
|
beginRepeatLeftMargin,
|
|
|
|
minNoteDistance,
|
|
|
|
barNoteDistance,
|
|
|
|
barAccidentalDistance,
|
|
|
|
multiMeasureRestMargin,
|
|
|
|
noteBarDistance,
|
|
|
|
|
|
|
|
measureSpacing,
|
|
|
|
staffLineWidth,
|
|
|
|
ledgerLineWidth,
|
|
|
|
ledgerLineLength,
|
|
|
|
accidentalDistance,
|
|
|
|
accidentalNoteDistance,
|
|
|
|
beamWidth,
|
|
|
|
beamDistance,
|
|
|
|
beamMinLen,
|
|
|
|
beamNoSlope,
|
|
|
|
|
|
|
|
dotMag,
|
|
|
|
dotNoteDistance,
|
|
|
|
dotRestDistance,
|
|
|
|
dotDotDistance,
|
|
|
|
propertyDistanceHead,
|
|
|
|
propertyDistanceStem,
|
|
|
|
propertyDistance,
|
|
|
|
articulationMag,
|
|
|
|
lastSystemFillLimit,
|
|
|
|
|
2016-11-18 14:28:53 +01:00
|
|
|
hairpinPlacement,
|
|
|
|
hairpinPosAbove,
|
|
|
|
hairpinPosBelow,
|
2014-05-26 15:31:36 +02:00
|
|
|
hairpinHeight,
|
|
|
|
hairpinContHeight,
|
|
|
|
hairpinLineWidth,
|
|
|
|
|
2016-11-18 14:28:53 +01:00
|
|
|
pedalPlacement,
|
|
|
|
pedalPosAbove,
|
|
|
|
pedalPosBelow,
|
2014-05-26 15:31:36 +02:00
|
|
|
pedalLineWidth,
|
|
|
|
pedalLineStyle,
|
2017-02-07 18:48:23 +01:00
|
|
|
pedalBeginTextOffset,
|
2017-06-08 15:43:05 +02:00
|
|
|
pedalHookHeight,
|
2014-05-26 15:31:36 +02:00
|
|
|
|
2016-11-18 14:28:53 +01:00
|
|
|
trillPlacement,
|
|
|
|
trillPosAbove,
|
|
|
|
trillPosBelow,
|
|
|
|
|
2017-11-30 22:14:12 +01:00
|
|
|
vibratoPlacement,
|
|
|
|
vibratoPosAbove,
|
|
|
|
vibratoPosBelow,
|
|
|
|
|
2014-05-26 15:31:36 +02:00
|
|
|
harmonyY,
|
|
|
|
harmonyFretDist,
|
|
|
|
minHarmonyDistance,
|
|
|
|
maxHarmonyBarDistance,
|
|
|
|
capoPosition,
|
|
|
|
fretNumMag,
|
|
|
|
fretNumPos,
|
|
|
|
fretY,
|
2017-12-06 12:03:53 +01:00
|
|
|
fretMinDistance,
|
2014-05-26 15:31:36 +02:00
|
|
|
|
|
|
|
showPageNumber,
|
|
|
|
showPageNumberOne,
|
|
|
|
pageNumberOddEven,
|
|
|
|
showMeasureNumber,
|
|
|
|
showMeasureNumberOne,
|
|
|
|
measureNumberInterval,
|
|
|
|
measureNumberSystem,
|
|
|
|
|
|
|
|
measureNumberAllStaffs,
|
|
|
|
smallNoteMag,
|
|
|
|
graceNoteMag,
|
|
|
|
smallStaffMag,
|
|
|
|
smallClefMag,
|
|
|
|
genClef,
|
|
|
|
genKeysig,
|
|
|
|
genCourtesyTimesig,
|
|
|
|
genCourtesyKeysig,
|
|
|
|
genCourtesyClef,
|
|
|
|
|
2014-06-21 15:16:17 +02:00
|
|
|
swingRatio,
|
|
|
|
swingUnit,
|
|
|
|
|
2014-05-26 15:31:36 +02:00
|
|
|
useStandardNoteNames,
|
|
|
|
useGermanNoteNames,
|
2014-12-10 08:12:00 +01:00
|
|
|
useFullGermanNoteNames,
|
2014-05-26 15:31:36 +02:00
|
|
|
useSolfeggioNoteNames,
|
2014-12-10 08:12:00 +01:00
|
|
|
useFrenchNoteNames,
|
2014-12-17 18:15:26 +01:00
|
|
|
automaticCapitalization,
|
2014-05-26 15:31:36 +02:00
|
|
|
lowerCaseMinorChords,
|
2014-12-10 08:12:00 +01:00
|
|
|
lowerCaseBassNotes,
|
|
|
|
allCapsNoteNames,
|
2014-05-26 15:31:36 +02:00
|
|
|
chordStyle,
|
|
|
|
chordsXmlFile,
|
|
|
|
chordDescriptionFile,
|
|
|
|
concertPitch,
|
|
|
|
createMultiMeasureRests,
|
|
|
|
minEmptyMeasures,
|
|
|
|
minMMRestWidth,
|
|
|
|
hideEmptyStaves,
|
|
|
|
dontHideStavesInFirstSystem,
|
|
|
|
hideInstrumentNameIfOneInstrument,
|
|
|
|
gateTime,
|
|
|
|
tenutoGateTime,
|
|
|
|
staccatoGateTime,
|
|
|
|
slurGateTime,
|
|
|
|
|
|
|
|
ArpeggioNoteDistance,
|
|
|
|
ArpeggioLineWidth,
|
|
|
|
ArpeggioHookLen,
|
2017-11-23 13:57:10 +01:00
|
|
|
ArpeggioHiddenInStdIfTab,
|
2014-05-26 15:31:36 +02:00
|
|
|
|
|
|
|
SlurEndWidth,
|
|
|
|
SlurMidWidth,
|
|
|
|
SlurDottedWidth,
|
|
|
|
MinTieLength,
|
2017-06-24 15:52:00 +02:00
|
|
|
SlurMinDistance,
|
2014-05-26 15:31:36 +02:00
|
|
|
|
|
|
|
SectionPause,
|
|
|
|
MusicalSymbolFont,
|
2014-07-26 11:03:22 +02:00
|
|
|
MusicalTextFont,
|
2014-05-26 15:31:36 +02:00
|
|
|
|
|
|
|
showHeader,
|
|
|
|
headerFirstPage,
|
|
|
|
headerOddEven,
|
|
|
|
evenHeaderL,
|
|
|
|
evenHeaderC,
|
|
|
|
evenHeaderR,
|
|
|
|
oddHeaderL,
|
|
|
|
oddHeaderC,
|
|
|
|
oddHeaderR,
|
|
|
|
|
|
|
|
showFooter,
|
|
|
|
footerFirstPage,
|
|
|
|
footerOddEven,
|
|
|
|
evenFooterL,
|
|
|
|
evenFooterC,
|
|
|
|
evenFooterR,
|
|
|
|
oddFooterL,
|
|
|
|
oddFooterC,
|
|
|
|
oddFooterR,
|
|
|
|
|
|
|
|
voltaY,
|
|
|
|
voltaHook,
|
|
|
|
voltaLineWidth,
|
|
|
|
voltaLineStyle,
|
|
|
|
|
2016-11-18 14:28:53 +01:00
|
|
|
ottavaPlacement,
|
|
|
|
ottavaPosAbove,
|
|
|
|
ottavaPosBelow,
|
2014-05-26 15:31:36 +02:00
|
|
|
ottavaHook,
|
|
|
|
ottavaLineWidth,
|
|
|
|
ottavaLineStyle,
|
|
|
|
ottavaNumbersOnly,
|
|
|
|
|
|
|
|
tabClef,
|
|
|
|
|
|
|
|
tremoloWidth,
|
|
|
|
tremoloBoxHeight,
|
|
|
|
tremoloStrokeWidth,
|
|
|
|
tremoloDistance,
|
2015-06-22 17:41:06 +02:00
|
|
|
// TODO tremoloBeamLengthMultiplier,
|
|
|
|
// TODO tremoloMaxBeamLength,
|
2014-05-26 15:31:36 +02:00
|
|
|
|
|
|
|
linearStretch,
|
|
|
|
crossMeasureValues,
|
|
|
|
keySigNaturals,
|
|
|
|
|
|
|
|
tupletMaxSlope,
|
|
|
|
tupletOufOfStaff,
|
|
|
|
tupletVHeadDistance,
|
|
|
|
tupletVStemDistance,
|
|
|
|
tupletStemLeftDistance,
|
|
|
|
tupletStemRightDistance,
|
|
|
|
tupletNoteLeftDistance,
|
|
|
|
tupletNoteRightDistance,
|
2015-07-06 10:58:05 +02:00
|
|
|
tupletBracketWidth,
|
2016-07-08 16:48:04 +02:00
|
|
|
tupletDirection,
|
|
|
|
tupletNumberType,
|
|
|
|
tupletBracketType,
|
2014-05-26 15:31:36 +02:00
|
|
|
|
2015-01-16 14:51:09 +01:00
|
|
|
barreLineWidth,
|
|
|
|
fretMag,
|
2015-01-22 15:31:32 +01:00
|
|
|
scaleBarlines,
|
2015-01-26 10:23:35 +01:00
|
|
|
barGraceDistance,
|
2015-01-16 14:51:09 +01:00
|
|
|
|
2016-01-04 14:48:58 +01:00
|
|
|
minVerticalDistance,
|
2016-03-02 13:20:19 +01:00
|
|
|
ornamentStyle,
|
|
|
|
spatium,
|
2016-01-04 14:48:58 +01:00
|
|
|
|
2016-07-25 12:29:24 +02:00
|
|
|
autoplaceHairpinDynamicsDistance,
|
2016-11-18 14:28:53 +01:00
|
|
|
|
|
|
|
dynamicsPlacement,
|
|
|
|
dynamicsPosAbove,
|
|
|
|
dynamicsPosBelow,
|
|
|
|
|
2016-08-02 17:00:49 +02:00
|
|
|
dynamicsMinDistance,
|
2016-08-22 12:08:21 +02:00
|
|
|
autoplaceVerticalAlignRange,
|
2016-07-25 12:29:24 +02:00
|
|
|
|
2016-08-30 14:03:26 +02:00
|
|
|
textLinePlacement,
|
|
|
|
textLinePosAbove,
|
|
|
|
textLinePosBelow,
|
|
|
|
|
2016-09-20 17:13:54 +02:00
|
|
|
tremoloBarLineWidth,
|
2017-02-10 15:13:23 +01:00
|
|
|
jumpPosAbove,
|
|
|
|
markerPosAbove,
|
2016-09-20 17:13:54 +02:00
|
|
|
|
2017-01-16 20:51:12 +01:00
|
|
|
defaultFontFace,
|
|
|
|
defaultFontSize,
|
|
|
|
defaultFontSpatiumDependent,
|
|
|
|
defaultFontBold,
|
|
|
|
defaultFontItalic,
|
|
|
|
defaultFontUnderline,
|
|
|
|
defaultAlign,
|
|
|
|
defaultFrame,
|
|
|
|
defaultFrameSquare,
|
|
|
|
defaultFrameCircle,
|
|
|
|
defaultFramePadding,
|
|
|
|
defaultFrameWidth,
|
|
|
|
defaultFrameRound,
|
|
|
|
defaultFrameFgColor,
|
|
|
|
defaultFrameBgColor,
|
|
|
|
defaultOffset,
|
|
|
|
defaultOffsetType,
|
|
|
|
defaultSystemFlag,
|
|
|
|
|
|
|
|
titleFontFace,
|
|
|
|
titleFontSize,
|
|
|
|
titleFontSpatiumDependent,
|
|
|
|
titleFontBold,
|
|
|
|
titleFontItalic,
|
|
|
|
titleFontUnderline,
|
|
|
|
titleAlign,
|
|
|
|
titleOffset,
|
|
|
|
titleOffsetType,
|
|
|
|
|
|
|
|
subTitleFontFace,
|
|
|
|
subTitleFontSize,
|
|
|
|
subTitleFontSpatiumDependent,
|
|
|
|
subTitleFontBold,
|
|
|
|
subTitleFontItalic,
|
|
|
|
subTitleFontUnderline,
|
|
|
|
subTitleAlign,
|
|
|
|
subTitleOffset,
|
|
|
|
subTitleOffsetType,
|
|
|
|
|
|
|
|
composerFontFace,
|
|
|
|
composerFontSize,
|
|
|
|
composerFontSpatiumDependent,
|
|
|
|
composerFontBold,
|
|
|
|
composerFontItalic,
|
|
|
|
composerFontUnderline,
|
|
|
|
composerAlign,
|
|
|
|
composerOffset,
|
|
|
|
composerOffsetType,
|
|
|
|
|
|
|
|
lyricistFontFace,
|
|
|
|
lyricistFontSize,
|
|
|
|
lyricistFontSpatiumDependent,
|
|
|
|
lyricistFontBold,
|
|
|
|
lyricistFontItalic,
|
|
|
|
lyricistFontUnderline,
|
|
|
|
lyricistAlign,
|
|
|
|
lyricistOffset,
|
|
|
|
lyricistOffsetType,
|
|
|
|
|
|
|
|
lyricsOddFontFace,
|
|
|
|
lyricsOddFontSize,
|
|
|
|
lyricsOddFontBold,
|
|
|
|
lyricsOddFontItalic,
|
|
|
|
lyricsOddFontUnderline,
|
|
|
|
lyricsOddAlign,
|
|
|
|
lyricsOddOffset,
|
|
|
|
|
|
|
|
lyricsEvenFontFace,
|
|
|
|
lyricsEvenFontSize,
|
|
|
|
lyricsEvenFontBold,
|
|
|
|
lyricsEvenFontItalic,
|
|
|
|
lyricsEvenFontUnderline,
|
|
|
|
lyricsEvenAlign,
|
|
|
|
lyricsEvenOffset,
|
|
|
|
|
|
|
|
fingeringFontFace,
|
|
|
|
fingeringFontSize,
|
|
|
|
fingeringFontBold,
|
|
|
|
fingeringFontItalic,
|
|
|
|
fingeringFontUnderline,
|
|
|
|
fingeringAlign,
|
|
|
|
fingeringFrame,
|
|
|
|
fingeringFrameSquare,
|
|
|
|
fingeringFrameCircle,
|
|
|
|
fingeringFramePadding,
|
|
|
|
fingeringFrameWidth,
|
|
|
|
fingeringFrameRound,
|
|
|
|
fingeringFrameFgColor,
|
|
|
|
fingeringFrameBgColor,
|
2017-01-17 17:52:17 +01:00
|
|
|
fingeringOffset,
|
2017-01-16 20:51:12 +01:00
|
|
|
|
|
|
|
lhGuitarFingeringFontFace,
|
|
|
|
lhGuitarFingeringFontSize,
|
|
|
|
lhGuitarFingeringFontBold,
|
|
|
|
lhGuitarFingeringFontItalic,
|
|
|
|
lhGuitarFingeringFontUnderline,
|
|
|
|
lhGuitarFingeringAlign,
|
|
|
|
lhGuitarFingeringFrame,
|
|
|
|
lhGuitarFingeringFrameSquare,
|
|
|
|
lhGuitarFingeringFrameCircle,
|
|
|
|
lhGuitarFingeringFramePadding,
|
|
|
|
lhGuitarFingeringFrameWidth,
|
|
|
|
lhGuitarFingeringFrameRound,
|
|
|
|
lhGuitarFingeringFrameFgColor,
|
|
|
|
lhGuitarFingeringFrameBgColor,
|
|
|
|
lhGuitarFingeringOffset,
|
|
|
|
|
|
|
|
rhGuitarFingeringFontFace,
|
|
|
|
rhGuitarFingeringFontSize,
|
|
|
|
rhGuitarFingeringFontBold,
|
|
|
|
rhGuitarFingeringFontItalic,
|
|
|
|
rhGuitarFingeringFontUnderline,
|
|
|
|
rhGuitarFingeringAlign,
|
|
|
|
rhGuitarFingeringFrame,
|
|
|
|
rhGuitarFingeringFrameSquare,
|
|
|
|
rhGuitarFingeringFrameCircle,
|
|
|
|
rhGuitarFingeringFramePadding,
|
|
|
|
rhGuitarFingeringFrameWidth,
|
|
|
|
rhGuitarFingeringFrameRound,
|
|
|
|
rhGuitarFingeringFrameFgColor,
|
|
|
|
rhGuitarFingeringFrameBgColor,
|
|
|
|
rhGuitarFingeringOffset,
|
|
|
|
|
|
|
|
stringNumberFontFace,
|
|
|
|
stringNumberFontSize,
|
|
|
|
stringNumberFontBold,
|
|
|
|
stringNumberFontItalic,
|
|
|
|
stringNumberFontUnderline,
|
|
|
|
stringNumberAlign,
|
|
|
|
stringNumberFrame,
|
|
|
|
stringNumberFrameSquare,
|
|
|
|
stringNumberFrameCircle,
|
|
|
|
stringNumberFramePadding,
|
|
|
|
stringNumberFrameWidth,
|
|
|
|
stringNumberFrameRound,
|
|
|
|
stringNumberFrameFgColor,
|
|
|
|
stringNumberFrameBgColor,
|
|
|
|
stringNumberOffset,
|
|
|
|
|
|
|
|
longInstrumentFontFace,
|
|
|
|
longInstrumentFontSize,
|
|
|
|
longInstrumentFontBold,
|
|
|
|
longInstrumentFontItalic,
|
|
|
|
longInstrumentFontUnderline,
|
2017-02-27 13:58:17 +01:00
|
|
|
longInstrumentAlign,
|
2017-01-16 20:51:12 +01:00
|
|
|
|
|
|
|
shortInstrumentFontFace,
|
|
|
|
shortInstrumentFontSize,
|
|
|
|
shortInstrumentFontBold,
|
|
|
|
shortInstrumentFontItalic,
|
|
|
|
shortInstrumentFontUnderline,
|
2017-02-27 13:58:17 +01:00
|
|
|
shortInstrumentAlign,
|
2017-01-16 20:51:12 +01:00
|
|
|
|
|
|
|
partInstrumentFontFace,
|
|
|
|
partInstrumentFontSize,
|
|
|
|
partInstrumentFontBold,
|
|
|
|
partInstrumentFontItalic,
|
|
|
|
partInstrumentFontUnderline,
|
|
|
|
|
|
|
|
dynamicsFontFace,
|
|
|
|
dynamicsFontSize,
|
|
|
|
dynamicsFontBold,
|
|
|
|
dynamicsFontItalic,
|
|
|
|
dynamicsFontUnderline,
|
|
|
|
dynamicsAlign,
|
|
|
|
|
|
|
|
expressionFontFace,
|
|
|
|
expressionFontSize,
|
|
|
|
expressionFontBold,
|
|
|
|
expressionFontItalic,
|
|
|
|
expressionFontUnderline,
|
|
|
|
expressionAlign,
|
|
|
|
|
|
|
|
tempoFontFace,
|
|
|
|
tempoFontSize,
|
|
|
|
tempoFontBold,
|
|
|
|
tempoFontItalic,
|
|
|
|
tempoFontUnderline,
|
|
|
|
tempoAlign,
|
|
|
|
tempoOffset,
|
|
|
|
tempoSystemFlag,
|
2017-02-08 13:27:35 +01:00
|
|
|
tempoPlacement,
|
|
|
|
tempoPosAbove,
|
|
|
|
tempoPosBelow,
|
|
|
|
tempoMinDistance,
|
2017-01-16 20:51:12 +01:00
|
|
|
|
|
|
|
metronomeFontFace,
|
|
|
|
metronomeFontSize,
|
|
|
|
metronomeFontBold,
|
|
|
|
metronomeFontItalic,
|
|
|
|
metronomeFontUnderline,
|
|
|
|
|
|
|
|
measureNumberFontFace,
|
|
|
|
measureNumberFontSize,
|
|
|
|
measureNumberFontBold,
|
|
|
|
measureNumberFontItalic,
|
|
|
|
measureNumberFontUnderline,
|
|
|
|
measureNumberOffset,
|
|
|
|
measureNumberOffsetType,
|
|
|
|
|
|
|
|
translatorFontFace,
|
|
|
|
translatorFontSize,
|
|
|
|
translatorFontBold,
|
|
|
|
translatorFontItalic,
|
|
|
|
translatorFontUnderline,
|
|
|
|
|
|
|
|
tupletFontFace,
|
|
|
|
tupletFontSize,
|
|
|
|
tupletFontBold,
|
|
|
|
tupletFontItalic,
|
|
|
|
tupletFontUnderline,
|
2017-02-18 11:23:47 +01:00
|
|
|
tupletAlign,
|
2017-01-16 20:51:12 +01:00
|
|
|
|
|
|
|
systemFontFace,
|
|
|
|
systemFontSize,
|
|
|
|
systemFontBold,
|
|
|
|
systemFontItalic,
|
|
|
|
systemFontUnderline,
|
|
|
|
systemOffset,
|
2017-01-23 10:54:57 +01:00
|
|
|
systemOffsetType,
|
2017-10-20 12:23:39 +02:00
|
|
|
systemAlign,
|
2017-01-16 20:51:12 +01:00
|
|
|
|
|
|
|
staffFontFace,
|
|
|
|
staffFontSize,
|
|
|
|
staffFontBold,
|
|
|
|
staffFontItalic,
|
|
|
|
staffFontUnderline,
|
|
|
|
staffOffset,
|
2017-01-23 10:54:57 +01:00
|
|
|
staffOffsetType,
|
2017-01-16 20:51:12 +01:00
|
|
|
|
|
|
|
chordSymbolFontFace,
|
|
|
|
chordSymbolFontSize,
|
|
|
|
chordSymbolFontBold,
|
|
|
|
chordSymbolFontItalic,
|
|
|
|
chordSymbolFontUnderline,
|
2017-10-20 12:00:15 +02:00
|
|
|
chordSymbolAlign,
|
2017-01-16 20:51:12 +01:00
|
|
|
|
|
|
|
rehearsalMarkFontFace,
|
|
|
|
rehearsalMarkFontSize,
|
|
|
|
rehearsalMarkFontBold,
|
|
|
|
rehearsalMarkFontItalic,
|
|
|
|
rehearsalMarkFontUnderline,
|
2017-09-14 11:20:13 +02:00
|
|
|
rehearsalMarkAlign,
|
2017-01-16 20:51:12 +01:00
|
|
|
rehearsalMarkFrame,
|
|
|
|
rehearsalMarkFrameSquare,
|
|
|
|
rehearsalMarkFrameCircle,
|
|
|
|
rehearsalMarkFramePadding,
|
|
|
|
rehearsalMarkFrameWidth,
|
|
|
|
rehearsalMarkFrameRound,
|
|
|
|
rehearsalMarkFrameFgColor,
|
|
|
|
rehearsalMarkFrameBgColor,
|
2017-02-08 18:11:51 +01:00
|
|
|
rehearsalMarkPlacement,
|
|
|
|
rehearsalMarkPosAbove,
|
|
|
|
rehearsalMarkPosBelow,
|
|
|
|
rehearsalMarkMinDistance,
|
2017-01-16 20:51:12 +01:00
|
|
|
|
|
|
|
repeatLeftFontFace,
|
|
|
|
repeatLeftFontSize,
|
|
|
|
repeatLeftFontBold,
|
|
|
|
repeatLeftFontItalic,
|
|
|
|
repeatLeftFontUnderline,
|
2017-02-10 15:13:23 +01:00
|
|
|
repeatLeftAlign,
|
2017-01-16 20:51:12 +01:00
|
|
|
|
|
|
|
repeatRightFontFace,
|
|
|
|
repeatRightFontSize,
|
|
|
|
repeatRightFontBold,
|
|
|
|
repeatRightFontItalic,
|
|
|
|
repeatRightFontUnderline,
|
2017-02-10 15:13:23 +01:00
|
|
|
repeatRightAlign,
|
2017-01-16 20:51:12 +01:00
|
|
|
|
|
|
|
voltaFontFace,
|
|
|
|
voltaFontSize,
|
|
|
|
voltaFontBold,
|
|
|
|
voltaFontItalic,
|
|
|
|
voltaFontUnderline,
|
|
|
|
voltaAlign,
|
|
|
|
voltaOffset,
|
|
|
|
|
|
|
|
frameFontFace,
|
|
|
|
frameFontSize,
|
|
|
|
frameFontBold,
|
|
|
|
frameFontItalic,
|
|
|
|
frameFontUnderline,
|
2017-01-25 15:54:46 +01:00
|
|
|
frameAlign,
|
2017-01-16 20:51:12 +01:00
|
|
|
|
|
|
|
textLineFontFace,
|
|
|
|
textLineFontSize,
|
|
|
|
textLineFontBold,
|
|
|
|
textLineFontItalic,
|
|
|
|
textLineFontUnderline,
|
|
|
|
|
|
|
|
glissandoFontFace,
|
|
|
|
glissandoFontSize,
|
|
|
|
glissandoFontBold,
|
|
|
|
glissandoFontItalic,
|
|
|
|
glissandoFontUnderline,
|
|
|
|
|
|
|
|
ottavaFontFace,
|
|
|
|
ottavaFontSize,
|
|
|
|
ottavaFontBold,
|
|
|
|
ottavaFontItalic,
|
|
|
|
ottavaFontUnderline,
|
2017-06-07 11:58:42 +02:00
|
|
|
ottavaTextAlign,
|
2017-01-16 20:51:12 +01:00
|
|
|
|
|
|
|
pedalFontFace,
|
|
|
|
pedalFontSize,
|
|
|
|
pedalFontBold,
|
|
|
|
pedalFontItalic,
|
|
|
|
pedalFontUnderline,
|
2017-06-08 15:43:05 +02:00
|
|
|
pedalTextAlign,
|
2017-01-16 20:51:12 +01:00
|
|
|
|
|
|
|
hairpinFontFace,
|
|
|
|
hairpinFontSize,
|
|
|
|
hairpinFontBold,
|
|
|
|
hairpinFontItalic,
|
|
|
|
hairpinFontUnderline,
|
2017-03-16 12:13:19 +01:00
|
|
|
hairpinTextAlign,
|
2017-01-16 20:51:12 +01:00
|
|
|
|
|
|
|
bendFontFace,
|
|
|
|
bendFontSize,
|
|
|
|
bendFontBold,
|
|
|
|
bendFontItalic,
|
|
|
|
bendFontUnderline,
|
|
|
|
|
|
|
|
headerFontFace,
|
|
|
|
headerFontSize,
|
|
|
|
headerFontBold,
|
|
|
|
headerFontItalic,
|
|
|
|
headerFontUnderline,
|
|
|
|
|
|
|
|
footerFontFace,
|
|
|
|
footerFontSize,
|
|
|
|
footerFontBold,
|
|
|
|
footerFontItalic,
|
|
|
|
footerFontUnderline,
|
|
|
|
|
|
|
|
instrumentChangeFontFace,
|
|
|
|
instrumentChangeFontSize,
|
|
|
|
instrumentChangeFontBold,
|
|
|
|
instrumentChangeFontItalic,
|
|
|
|
instrumentChangeFontUnderline,
|
|
|
|
instrumentChangeOffset,
|
|
|
|
|
|
|
|
figuredBassFontFace,
|
|
|
|
figuredBassFontSize,
|
|
|
|
figuredBassFontBold,
|
|
|
|
figuredBassFontItalic,
|
|
|
|
figuredBassFontUnderline,
|
|
|
|
|
2017-01-18 14:16:33 +01:00
|
|
|
user1FontFace,
|
|
|
|
user1FontSize,
|
|
|
|
user1FontBold,
|
|
|
|
user1FontItalic,
|
|
|
|
user1FontUnderline,
|
|
|
|
|
|
|
|
user2FontFace,
|
|
|
|
user2FontSize,
|
|
|
|
user2FontBold,
|
|
|
|
user2FontItalic,
|
|
|
|
user2FontUnderline,
|
|
|
|
|
2017-11-27 16:55:52 +01:00
|
|
|
letRingFontFace,
|
|
|
|
letRingFontSize,
|
|
|
|
letRingFontBold,
|
|
|
|
letRingFontItalic,
|
|
|
|
letRingFontUnderline,
|
|
|
|
letRingTextAlign,
|
|
|
|
letRingHookHeight,
|
|
|
|
letRingPlacement,
|
|
|
|
letRingPosAbove,
|
|
|
|
letRingPosBelow,
|
|
|
|
letRingLineWidth,
|
|
|
|
letRingLineStyle,
|
|
|
|
letRingBeginTextOffset,
|
|
|
|
letRingText,
|
|
|
|
|
|
|
|
palmMuteFontFace,
|
|
|
|
palmMuteFontSize,
|
|
|
|
palmMuteFontBold,
|
|
|
|
palmMuteFontItalic,
|
|
|
|
palmMuteFontUnderline,
|
|
|
|
palmMuteTextAlign,
|
|
|
|
palmMuteHookHeight,
|
2017-11-28 09:28:59 +01:00
|
|
|
palmMutePlacement,
|
|
|
|
palmMutePosAbove,
|
|
|
|
palmMutePosBelow,
|
|
|
|
palmMuteLineWidth,
|
|
|
|
palmMuteLineStyle,
|
|
|
|
palmMuteBeginTextOffset,
|
|
|
|
palmMuteText,
|
2017-11-27 16:55:52 +01:00
|
|
|
|
2014-05-26 15:31:36 +02:00
|
|
|
STYLES
|
2012-05-26 14:26:10 +02:00
|
|
|
};
|
|
|
|
|
2017-01-16 20:51:12 +01:00
|
|
|
//---------------------------------------------------------
|
|
|
|
// StyledProperty
|
|
|
|
//---------------------------------------------------------
|
|
|
|
|
|
|
|
struct StyledProperty {
|
|
|
|
StyleIdx styleIdx;
|
|
|
|
P_ID propertyIdx;
|
|
|
|
};
|
|
|
|
|
|
|
|
extern const std::vector<StyledProperty> fingeringStyle;
|
|
|
|
extern const std::vector<StyledProperty> titleStyle;
|
|
|
|
|
|
|
|
//-------------------------------------------------------------------
|
|
|
|
// SubStyle
|
|
|
|
// Enumerate the list of built-in substyles
|
|
|
|
// must be in sync with namedStyles array
|
|
|
|
//-------------------------------------------------------------------
|
|
|
|
|
|
|
|
enum class SubStyle {
|
|
|
|
DEFAULT,
|
|
|
|
TITLE,
|
|
|
|
SUBTITLE,
|
|
|
|
COMPOSER,
|
|
|
|
POET,
|
|
|
|
LYRIC1,
|
|
|
|
LYRIC2,
|
|
|
|
FINGERING,
|
|
|
|
LH_GUITAR_FINGERING,
|
|
|
|
RH_GUITAR_FINGERING,
|
|
|
|
STRING_NUMBER,
|
|
|
|
INSTRUMENT_LONG,
|
|
|
|
INSTRUMENT_SHORT,
|
|
|
|
INSTRUMENT_EXCERPT,
|
|
|
|
DYNAMICS,
|
|
|
|
EXPRESSION,
|
|
|
|
TEMPO,
|
|
|
|
METRONOME,
|
|
|
|
MEASURE_NUMBER,
|
|
|
|
TRANSLATOR,
|
|
|
|
TUPLET,
|
|
|
|
SYSTEM,
|
|
|
|
STAFF,
|
|
|
|
HARMONY,
|
|
|
|
REHEARSAL_MARK,
|
|
|
|
REPEAT_LEFT, // align to start of measure
|
|
|
|
REPEAT_RIGHT, // align to end of measure
|
|
|
|
FRAME,
|
|
|
|
TEXTLINE,
|
|
|
|
GLISSANDO,
|
|
|
|
OTTAVA,
|
|
|
|
PEDAL,
|
2017-11-27 16:55:52 +01:00
|
|
|
LET_RING,
|
|
|
|
PALM_MUTE,
|
2017-01-16 20:51:12 +01:00
|
|
|
HAIRPIN,
|
|
|
|
BEND,
|
|
|
|
HEADER,
|
|
|
|
FOOTER,
|
|
|
|
INSTRUMENT_CHANGE,
|
|
|
|
FIGURED_BASS,
|
2017-01-18 14:16:33 +01:00
|
|
|
USER1,
|
|
|
|
USER2,
|
2017-01-16 20:51:12 +01:00
|
|
|
SUBSTYLES
|
|
|
|
};
|
|
|
|
|
2012-05-26 14:26:10 +02:00
|
|
|
//---------------------------------------------------------
|
|
|
|
// MStyle
|
|
|
|
//---------------------------------------------------------
|
|
|
|
|
|
|
|
class MStyle {
|
2017-01-16 20:51:12 +01:00
|
|
|
std::array<QVariant, int(StyleIdx::STYLES)> _values;
|
|
|
|
std::array<qreal, int(StyleIdx::STYLES)> _precomputedValues;
|
2016-03-02 13:20:19 +01:00
|
|
|
|
|
|
|
ChordList _chordList;
|
|
|
|
bool _customChordList; // if true, chordlist will be saved as part of score
|
2012-05-26 14:26:10 +02:00
|
|
|
|
|
|
|
public:
|
|
|
|
MStyle();
|
|
|
|
|
2017-01-17 09:58:32 +01:00
|
|
|
void precomputeValues();
|
2017-02-27 11:46:58 +01:00
|
|
|
QVariant value(StyleIdx idx) const;
|
2017-01-16 20:51:12 +01:00
|
|
|
qreal pvalue(StyleIdx idx) const { return _precomputedValues[int(idx)]; }
|
|
|
|
void set(StyleIdx idx, const QVariant& v);
|
|
|
|
|
2012-05-26 14:26:10 +02:00
|
|
|
bool isDefault(StyleIdx idx) const;
|
2017-01-16 20:51:12 +01:00
|
|
|
|
2012-05-26 14:26:10 +02:00
|
|
|
const ChordDescription* chordDescription(int id) const;
|
2016-03-02 13:20:19 +01:00
|
|
|
ChordList* chordList() { return &_chordList; }
|
2013-06-11 20:26:16 +02:00
|
|
|
void setChordList(ChordList*, bool custom = true); // Style gets ownership of ChordList
|
2016-09-19 22:57:36 +02:00
|
|
|
void setCustomChordList(bool t) { _customChordList = t; }
|
2012-05-26 14:26:10 +02:00
|
|
|
|
|
|
|
bool load(QFile* qf);
|
2013-01-11 18:10:18 +01:00
|
|
|
void load(XmlReader& e);
|
2016-11-19 11:51:21 +01:00
|
|
|
void save(XmlWriter& xml, bool optimize);
|
2017-01-16 20:51:12 +01:00
|
|
|
bool readProperties(XmlReader&);
|
2016-03-02 13:20:19 +01:00
|
|
|
|
|
|
|
static const char* valueType(const StyleIdx);
|
|
|
|
static const char* valueName(const StyleIdx);
|
2016-09-19 22:57:36 +02:00
|
|
|
static StyleIdx styleIdx(const QString& name);
|
2012-05-26 14:26:10 +02:00
|
|
|
};
|
|
|
|
|
2017-01-16 20:51:12 +01:00
|
|
|
const std::vector<StyledProperty>& subStyle(const char*);
|
|
|
|
const std::vector<StyledProperty>& subStyle(SubStyle);
|
|
|
|
const char* subStyleName(SubStyle);
|
2017-01-18 20:25:35 +01:00
|
|
|
QString subStyleUserName(SubStyle);
|
2017-01-16 20:51:12 +01:00
|
|
|
SubStyle subStyleFromName(const QString&);
|
|
|
|
|
|
|
|
#ifndef NDEBUG
|
|
|
|
extern void checkStyles();
|
|
|
|
#endif
|
2012-05-26 14:26:10 +02:00
|
|
|
|
2013-05-13 18:49:17 +02:00
|
|
|
} // namespace Ms
|
2014-03-10 10:50:12 +01:00
|
|
|
|
|
|
|
|
2012-05-26 14:26:10 +02:00
|
|
|
#endif
|