13#ifndef __QMLPLUGINAPI_H__
14#define __QMLPLUGINAPI_H__
17#include "../qmlplugin.h"
19#include "libmscore/harmony.h"
20#include "libmscore/lyrics.h"
21#include "libmscore/mscore.h"
22#include "libmscore/utils.h"
23#include "libmscore/score.h"
24#include "libmscore/spanner.h"
43#define DECLARE_API_ENUM(qmlName, cppName, enumName) \
44 Q_PROPERTY(Ms::PluginAPI::Enum* qmlName READ get_##cppName CONSTANT) \
45 static Enum* cppName; \
46 static Enum* get_##cppName() { \
48 cppName = wrapEnum<enumName>(); \
162 DECLARE_API_ENUM( Spanner, spannerAnchorEnum,
Ms::Spanner::Anchor )
239 static
void registerQmlTypes();
241 void runPlugin()
override { emit
run(); }
242 void endCmd(
const QMap<QString, QVariant>& stateInfo)
override { emit
scoreStateChanged(stateInfo); }
245 QQmlListProperty<Score>
scores();
248 Q_INVOKABLE
Ms::PluginAPI::Score* newScore(
const QString& name,
const QString& part,
int measures);
251 Q_INVOKABLE
void cmd(
const QString&);
258 Q_INVOKABLE
void log(
const QString&);
259 Q_INVOKABLE
void logn(
const QString&);
260 Q_INVOKABLE
void log2(
const QString&,
const QString&);
261 Q_INVOKABLE
void openLog(
const QString&);
262 Q_INVOKABLE
void closeLog();
267#undef DECLARE_API_ENUM
Fraction object available to QML plugins.
Definition fraction.h:32
Start an external program. Available in QML as QProcess.
Definition util.h:116
Definition elements.h:429
Main class of the plugins framework. Named as MuseScore in QML.
Definition qmlpluginapi.h:62
void run()
Indicates that the plugin was launched.
Ms::PluginAPI::Enum * DirectionH
Contains Ms::MScore::DirectionH enumeration values.
Definition qmlpluginapi.h:122
int mscoreMajorVersion
1st part of the MuseScore version (read only)
Definition qmlpluginapi.h:86
bool requiresScore
Whether the plugin requires an existing score to run, default is true.
Definition qmlpluginapi.h:77
Ms::PluginAPI::Enum * Glissando
Contains Ms::GlissandoType enumeration values.
Definition qmlpluginapi.h:110
Ms::PluginAPI::Enum * Lyrics
Contains Ms::Lyrics::Syllabic enumeration values.
Definition qmlpluginapi.h:114
int division
Number of MIDI ticks for 1/4 note (read only).
Definition qmlpluginapi.h:82
Q_INVOKABLE Ms::PluginAPI::Element * newElement(int)
Creates a new element with the given type.
Definition qmlpluginapi.cpp:141
QQmlListProperty< Ms::PluginAPI::Score > scores
List of currently open scores (read only).
Definition qmlpluginapi.h:96
qreal mscoreDPI
(read-only)
Definition qmlpluginapi.h:92
Q_INVOKABLE void removeElement(Ms::PluginAPI::Element *wrapped)
Disposes of an Element and its children.
Definition qmlpluginapi.cpp:162
QString pluginType
Type may be dialog, dock, or not defined.
Definition qmlpluginapi.h:73
Ms::PluginAPI::Enum * Segment
Contains Ms::SegmentType enumeration values.
Definition qmlpluginapi.h:161
Q_INVOKABLE Ms::PluginAPI::Score * readScore(const QString &name, bool noninteractive=false)
Reads the score from a file and opens it in a new tab.
Definition qmlpluginapi.cpp:114
Q_INVOKABLE Ms::PluginAPI::FractionWrapper * fraction(int numerator, int denominator) const
Creates a new fraction with the given numerator and denominator.
Definition qmlpluginapi.cpp:273
Ms::PluginAPI::Enum * Direction
Contains Ms::Direction enumeration values.
Definition qmlpluginapi.h:118
Ms::PluginAPI::Enum * HarmonyType
Contains Ms::HarmonyType enumeration values.
Definition qmlpluginapi.h:168
Ms::PluginAPI::Enum * Placement
Contains Ms::Placement enumeration values.
Definition qmlpluginapi.h:108
Ms::PluginAPI::Enum * NoteValueType
Contains Ms::Note::ValueType enumeration values.
Definition qmlpluginapi.h:159
QString description
Human-readable plugin description, displayed in Plugin Manager.
Definition qmlpluginapi.h:71
QString dockArea
Where to dock on main screen.
Definition qmlpluginapi.h:75
Ms::PluginAPI::Enum * Tid
Contains Ms::Tid enumeration values.
Definition qmlpluginapi.h:135
Ms::PluginAPI::Enum * Beam
Contains Ms::Beam::Mode enumeration values.
Definition qmlpluginapi.h:104
Ms::PluginAPI::Enum * OrnamentStyle
Contains Ms::MScore::OrnamentStyle enumeration values.
Definition qmlpluginapi.h:126
int mscoreVersion
Complete version number of MuseScore in the form: MMmmuu (read only).
Definition qmlpluginapi.h:84
Ms::PluginAPI::Enum * NoteType
Contains Ms::NoteType enumeration values.
Definition qmlpluginapi.h:141
Ms::PluginAPI::Enum * Accidental
Contains Ms::AccidentalType enumeration values.
Definition qmlpluginapi.h:102
Ms::PluginAPI::Enum * NoteHeadScheme
Contains Ms::NoteHead::Scheme enumeration values.
Definition qmlpluginapi.h:151
void scoreStateChanged(const QMap< QString, QVariant > &state)
Notifies plugin about changes in score state.
Ms::PluginAPI::Enum * Element
Contains Ms::ElementType enumeration values.
Definition qmlpluginapi.h:100
Ms::PluginAPI::Enum * SymId
Contains Ms::SymId enumeration values.
Definition qmlpluginapi.h:165
Ms::PluginAPI::Enum * NoteHeadType
Contains Ms::NoteHead::Type enumeration values.
Definition qmlpluginapi.h:148
QString version
Version of this plugin.
Definition qmlpluginapi.h:69
Ms::PluginAPI::Enum * LayoutBreak
Contains Ms::LayoutBreak::Type enumeration values.
Definition qmlpluginapi.h:112
Ms::PluginAPI::Score * curScore
Current score, if any (read only).
Definition qmlpluginapi.h:94
Ms::PluginAPI::Enum * GlissandoStyle
Contains Ms::GlissandoStyle enumeration values.
Definition qmlpluginapi.h:131
int mscoreUpdateVersion
3rd part of the MuseScore version (read only)
Definition qmlpluginapi.h:90
Ms::PluginAPI::Enum * NoteHeadGroup
Contains Ms::NoteHead::Group enumeration values.
Definition qmlpluginapi.h:155
Ms::PluginAPI::Enum * Align
Contains Ms::Align enumeration values.
Definition qmlpluginapi.h:138
QString filePath
Source file path, without the file name (read only).
Definition qmlpluginapi.h:67
Q_INVOKABLE bool writeScore(Ms::PluginAPI::Score *, const QString &name, const QString &ext)
Writes a score to a file.
Definition qmlpluginapi.cpp:97
Ms::PluginAPI::Enum * PlayEventType
Contains Ms::PlayEventType enumeration values.
Definition qmlpluginapi.h:144
QString menuPath
Path where the plugin is placed in menu.
Definition qmlpluginapi.h:65
int mscoreMinorVersion
2nd part of the MuseScore version (read only)
Definition qmlpluginapi.h:88
Contains items exposed to the QML plugins framework.
Definition cursor.cpp:31
ElementType
Definition types.h:34
SegmentType
Definition types.h:436
AccidentalType
Definition types.h:153
GlissandoType
Definition types.h:362