29#include "BaseClasses.h"
49 :
OthersBase(document, partId, shareMode, cmper) {}
58 constexpr static std::string_view
XmlNodeName =
"playbackRoute";
77 :
OthersBase(document, partId, shareMode, cmper) {}
81 constexpr static std::string_view
XmlNodeName =
"playbackRouteName";
146 :
OthersBase(document, partId, shareMode, cmper) {}
148 std::shared_ptr<PlaybackSettings>
chords;
EnigmaBase class for classes that are contained by other classes.
Definition BaseClasses.h:192
ContainedClassBase(const MusxInstance< EnigmaBase > &parent)
Constructs a ContainedClassBase object.
Definition BaseClasses.h:224
ShareMode
Describes how this instance is shared between part and score.
Definition BaseClasses.h:98
EnigmaBase class for all "others" types.
Definition BaseClasses.h:274
Contains the display name of a playback route.
Definition Playback.h:73
PlaybackRouteName(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper)
Constructor function.
Definition Playback.h:76
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Playback.h:81
static const xml::XmlElementArray< PlaybackRouteName > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
std::string name
The playback route display name.
Definition Playback.h:79
Defines the playback destination assigned to one or more staff playback streams.
Definition Playback.h:45
int virtualChannel
The zero-based virtual MIDI channel. (xml node is <virtChannel>)
Definition Playback.h:51
std::string patchType
The encoding used for the MIDI bank and patch values.
Definition Playback.h:52
std::string soundUuid
The UUID of the sound assigned to the route. (xml node is <soundUUID>)
Definition Playback.h:56
Cmper percussionMapId
The percussion map reference ID. (xml node is <percMapRefID>)
Definition Playback.h:55
int midiBankSelectMostSignificantByte
The MIDI Bank Select most-significant-byte value. (xml node is <msb>)
Definition Playback.h:54
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Playback.h:58
PlaybackRoute(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper)
Constructor function.
Definition Playback.h:48
static const xml::XmlElementArray< PlaybackRoute > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
int patch
The MIDI patch or program value.
Definition Playback.h:53
Defines the route and playback behavior for one staff playback stream.
Definition Playback.h:127
static const xml::XmlElementArray< PlaybackSettings > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
int velocityControlLevel
The velocity-control level. (xml node is <velControlLevel>)
Definition Playback.h:132
Cmper getPlaybackRouteId() const
Returns the one-based cmper of the playback route referenced by playbackRouteIndex.
Definition Playback.h:138
bool solo
Whether this playback stream is soloed.
Definition Playback.h:135
std::shared_ptr< VelocityControl > velocityControl
The velocity-control behavior, if present. (xml node is <velControlSaveFlags>)
Definition Playback.h:133
bool play
Whether this playback stream is enabled.
Definition Playback.h:134
int playbackRouteIndex
Zero-based index of the route; the corresponding route cmper is this value plus one....
Definition Playback.h:131
Defines whether and how velocity control is applied to a playback stream.
Definition Playback.h:112
static const xml::XmlElementArray< VelocityControl > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
VelocityControlFunction function
How the velocity-control level is applied.
Definition Playback.h:117
bool controlOn
Whether velocity control is enabled.
Definition Playback.h:116
Defines playback routing, velocity control, and enablement for a staff's playback streams.
Definition Playback.h:95
std::array< std::shared_ptr< PlaybackSettings >, MAX_LAYERS > layers
Playback settings for each supported notation layer.
Definition Playback.h:150
std::shared_ptr< PlaybackSettings > chords
Playback settings for chord symbols, if present.
Definition Playback.h:148
StaffPlayData(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper)
Constructor function.
Definition Playback.h:145
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Playback.h:152
VelocityControlFunction
Specifies how a playback stream's velocity-control level is applied.
Definition Playback.h:102
@ Relative
Adjusts the existing playback velocity by the configured level.
@ Absolute
Replaces the existing playback velocity with the configured level.
std::shared_ptr< PlaybackSettings > midiExpressions
Playback settings for MIDI expressions, if present.
Definition Playback.h:149
static const xml::XmlElementArray< StaffPlayData > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
constexpr int MAX_LAYERS
The maximum number of music layers in a Finale document.
Definition Fundamentals.h:79
uint16_t Cmper
Enigma "comperator" key type.
Definition Fundamentals.h:57
std::weak_ptr< Document > DocumentWeakPtr
Shared weak Document pointer.
Definition DocumentElement.h:37
std::vector< XmlElementDescriptor< T > > XmlElementArray
an array type for XmlElementDescriptor instances.
Definition XmlInterface.h:133
object model for musx file (enigmaxml)
Definition BaseClasses.h:38