13 #ifndef __PLUGIN_API_SCORE_H__ 14 #define __PLUGIN_API_SCORE_H__ 16 #include "scoreelement.h" 20 #include "libmscore/score.h" 24 class InstrumentTemplate;
35 extern Selection* selectionWrap(Ms::Selection* select);
122 Score(
Ms::
Score* s =
nullptr, Ownership o = Ownership::SCORE)
125 Ms::Score* score() {
return toScore(e); }
126 const Ms::Score* score()
const {
return toScore(e); }
128 QString
composer() {
return score()->metaTag(
"composer"); }
129 int duration() {
return score()->duration(); }
132 bool hasLyrics() {
return score()->hasLyrics(); }
133 int keysig() {
return score()->keysig(); }
134 int lyricCount() {
return score()->lyricCount(); }
135 QString
lyricist() {
return score()->metaTag(
"lyricist"); }
136 QString
title() {
return score()->metaTag(
"workTitle"); }
141 void setPageNumberOffset(
int offset) { score()->undoChangePageNumberOffset(offset); }
146 Q_INVOKABLE QString
metaTag(
const QString& tag)
const {
return score()->metaTag(tag); }
148 Q_INVOKABLE
void setMetaTag(
const QString& tag,
const QString& val) { score()->setMetaTag(tag, val); }
158 Q_INVOKABLE
void appendPart(
const QString& instrumentId);
172 Q_INVOKABLE
void addText(
const QString&
type,
const QString& text);
185 QString
name()
const {
return score()->masterScore()->title(); }
186 void setName(
const QString&
name) { score()->masterScore()->setName(name); }
189 Q_INVOKABLE QString extractLyrics() {
return score()->extractLyrics(); }
195 int nmeasures()
const {
return score()->nmeasures(); }
196 int npages()
const {
return score()->npages(); }
197 int nstaves()
const {
return score()->nstaves(); }
198 int ntracks()
const {
return score()->ntracks(); }
219 Q_INVOKABLE
void endCmd(
bool rollback =
false) { score()->endCmd(rollback); }
234 QQmlListProperty<Part>
parts() {
return wrapContainerProperty<Part>(
this, score()->parts()); }
235 QQmlListProperty<Excerpt>
excerpts() {
return wrapExcerptsContainerProperty<Excerpt>(
this, score()->excerpts()); }
236 QQmlListProperty<Staff>
staves();
238 static const Ms::InstrumentTemplate* instrTemplateFromName(
const QString& name);
Definition: elements.h:775
QString title
Title of score, as taken from the score properties' workTitle (read only).
Definition: score.h:95
Base class for most of object wrappers exposed to QML.
Definition: scoreelement.h:42
Q_INVOKABLE void startCmd()
For "dock" type plugins: to be used before score modifications to make them undoable.
Definition: score.cpp:204
Definition: selection.h:28
Definition: elements.h:709
int npages
Number of pages (read only)
Definition: score.h:83
Q_INVOKABLE void appendPartByMusicXmlId(const QString &instrumentMusicXmlId)
Appends a part with the instrument defined by the given MusicXML ID to this score.
Definition: score.cpp:126
Q_INVOKABLE void appendPart(const QString &instrumentId)
Appends a part with the instrument defined by instrumentId to this score.
Definition: score.cpp:110
QQmlListProperty< Ms::PluginAPI::Part > parts
The list of parts.
Definition: score.h:90
Q_INVOKABLE QString metaTag(const QString &tag) const
Returns as a string the metatag named tag.
Definition: score.h:146
Q_INVOKABLE void setMetaTag(const QString &tag, const QString &val)
Sets the metatag named tag to val.
Definition: score.h:148
Q_INVOKABLE void endCmd(bool rollback=false)
For "dock" type plugins: to be used after score modifications to make them undoable.
Definition: score.h:219
int lyricCount
Number of lyrics items (syllables) in the score (read only).
Definition: score.h:77
Ms::PluginAPI::Measure firstMeasureMM
First multimeasure rest measure of the score (read only).
Definition: score.h:56
int pageNumberOffset
Page numbering offset.
Definition: score.h:112
Ms::PluginAPI::Selection selection
Current selections for the score.
Definition: score.h:101
Q_INVOKABLE Ms::PluginAPI::Cursor * newCursor()
Creates and returns a cursor to be used to navigate in the score.
Definition: score.cpp:32
Cursor can be used by plugins to manipulate the score.
Definition: cursor.h:53
bool hasHarmonies
Whether score has harmonies (chord symbols) (read only).
Definition: score.h:60
int nstaves
Number of staves (read only)
Definition: score.h:85
Ms::PluginAPI::Measure lastMeasure
Last measure of the score (read only)
Definition: score.h:67
Ms::PluginAPI::Segment lastSegment
Last score segment (read only)
Definition: score.h:75
Definition: cursor.cpp:30
int duration
Duration of score in seconds (read only).
Definition: score.h:46
Definition: elements.h:867
QString composer
Composer of the score, as taken from the score properties (read only).
Definition: score.h:44
Q_INVOKABLE void appendMeasures(int n)
Appends a number of measures to this score.
Definition: score.h:171
Ms::PluginAPI::Measure firstMeasure
First measure of the score (read only)
Definition: score.h:50
QString lyricist
Lyricist of score, as taken from the score properties.
Definition: score.h:92
QQmlListProperty< Ms::PluginAPI::Excerpt > excerpts
List of the excerpts (linked parts) (read only)
Definition: score.h:48
Ms::PluginAPI::MStyle style
Style settings for this score.
Definition: score.h:103
Provides an access to score style settings.
Definition: style.h:47
Ms::PluginAPI::Measure lastMeasureMM
Last multimeasure rest measure of the score (read only).
Definition: score.h:73
Main class of the plugins framework. Named as MuseScore in QML.
Definition: qmlpluginapi.h:62
QString scoreName
Name of the score, without path leading to it and extension.
Definition: score.h:79
QQmlListProperty< Ms::PluginAPI::Staff > staves
List of staves in this score.
Definition: score.h:118
Q_INVOKABLE void createPlayEvents()
Create PlayEvents for all notes based on ornamentation.
Definition: score.h:228
Q_INVOKABLE void addText(const QString &type, const QString &text)
Adds a header text to the score.
Definition: score.cpp:49
int nmeasures
Number of measures (read only)
Definition: score.h:81
QString name
Name of this element's type, not localized.
Definition: scoreelement.h:54
int keysig
Key signature at the start of the score, in number of accidentals, negative for flats, postitive for sharps (read only).
Definition: score.h:65
QString mscoreVersion
MuseScore version the score has been last saved with (includes autosave) (read only) ...
Definition: score.h:97
int type
Type of this element.
Definition: scoreelement.h:48
QString mscoreRevision
MuseScore revision the score has been last saved with (includes autosave) (read only) ...
Definition: score.h:99
int ntracks
Number of tracks (nstaves * 4) (read only)
Definition: score.h:87
bool hasLyrics
Whether score has lyrics (read only).
Definition: score.h:62
int harmonyCount
Number of harmony items (chord symbols) in the score (read only).
Definition: score.h:58