MuseScore Plugins 3.2.3
Plugins API for MuseScore
Loading...
Searching...
No Matches
part.h
1//=============================================================================
2// MuseScore
3// Music Composition & Notation
4//
5// Copyright (C) 2019 Werner Schweer and others
6//
7// This program is free software; you can redistribute it and/or modify
8// it under the terms of the GNU General Public License version 2
9// as published by the Free Software Foundation and appearing in
10// the file LICENCE.GPL
11//=============================================================================
12
13#ifndef __PLUGIN_API_PART_H__
14#define __PLUGIN_API_PART_H__
15
16#include "scoreelement.h"
17#include "libmscore/part.h"
18
19namespace Ms {
20namespace PluginAPI {
21
22//---------------------------------------------------------
23// Part
24//---------------------------------------------------------
25
27 Q_OBJECT
28 Q_PROPERTY(int startTrack READ startTrack)
29 Q_PROPERTY(int endTrack READ endTrack)
31 Q_PROPERTY(QString instrumentId READ instrumentId)
33 Q_PROPERTY(int harmonyCount READ harmonyCount)
35 Q_PROPERTY(bool hasDrumStaff READ hasDrumStaff)
37 Q_PROPERTY(bool hasPitchedStaff READ hasPitchedStaff)
39 Q_PROPERTY(bool hasTabStaff READ hasTabStaff)
41 Q_PROPERTY(int lyricCount READ lyricCount)
43 Q_PROPERTY(int midiChannel READ midiChannel)
45 Q_PROPERTY(int midiProgram READ midiProgram)
49 Q_PROPERTY(QString longName READ longName)
53 Q_PROPERTY(QString shortName READ shortName)
59 Q_PROPERTY(QString partName READ partName)
63 Q_PROPERTY(bool show READ show)
64
65 public:
67 Part(Ms::Part* p = nullptr, Ownership o = Ownership::SCORE)
68 : ScoreElement(p, o) {}
69
70 Ms::Part* part() { return toPart(e); }
71 const Ms::Part* part() const { return toPart(e); }
72
73 int startTrack() const { return part()->startTrack(); }
74 int endTrack() const { return part()->endTrack(); }
75 QString instrumentId() const { return part()->instrument()->instrumentId(); }
76 int harmonyCount() const { return part()->harmonyCount(); }
77 bool hasPitchedStaff() const { return part()->hasPitchedStaff(); }
78 bool hasTabStaff() const { return part()->hasTabStaff(); }
79 bool hasDrumStaff() const { return part()->hasDrumStaff(); }
80 int lyricCount() const { return part()->lyricCount(); }
81 int midiChannel() const { return part()->midiChannel(); }
82 int midiProgram() const { return part()->midiProgram(); }
83 QString longName() const { return part()->longName(); }
84 QString shortName() const { return part()->shortName(); }
85 QString partName() const { return part()->partName(); }
86 bool show() const { return part()->show(); }
88 };
89} // namespace PluginAPI
90} // namespace Ms
91#endif
Definition part.h:26
bool hasTabStaff
Whether it is a tablature staff.
Definition part.h:39
int lyricCount
The number of lyrics syllables.
Definition part.h:41
bool hasDrumStaff
Whether it is a percussion staff.
Definition part.h:35
bool show
Whether part is shown or hidden.
Definition part.h:63
QString partName
The name of the current part of music.
Definition part.h:59
bool hasPitchedStaff
Whether it is a 'normal' staff with notes.
Definition part.h:37
int midiChannel
One of 16 music channels that can be assigned an instrument.
Definition part.h:43
QString instrumentId
The string identifier for the current instrument.
Definition part.h:31
QString longName
The long name for the current instrument.
Definition part.h:49
int harmonyCount
The number of Chord Symbols.
Definition part.h:33
QString shortName
The short name for the current instrument.
Definition part.h:53
int midiProgram
One of the 128 different instruments in General MIDI.
Definition part.h:45
Base class for most of object wrappers exposed to QML.
Definition scoreelement.h:42
Definition cursor.cpp:29