29#include "BaseClasses.h"
49 :
OthersBase(document, partId, shareMode, cmper) {}
59 constexpr static std::string_view
XmlNodeName =
"playbackRoute";
78 :
OthersBase(document, partId, shareMode, cmper) {}
82 constexpr static std::string_view
XmlNodeName =
"playbackRouteName";
147 :
OthersBase(document, partId, shareMode, cmper) {}
149 std::shared_ptr<PlaybackSettings>
chords;
EnigmaBase class for classes that are contained by other classes.
Definition BaseClasses.h:181
ContainedClassBase(const MusxInstance< EnigmaBase > &parent)
Constructs a ContainedClassBase object.
Definition BaseClasses.h:213
ShareMode
Describes how this instance is shared between part and score.
Definition BaseClasses.h:95
EnigmaBase class for all "others" types.
Definition BaseClasses.h:263
Contains the display name of a playback route.
Definition Playback.h:74
PlaybackRouteName(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper)
Constructor function.
Definition Playback.h:77
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Playback.h:82
static const xml::XmlElementArray< PlaybackRouteName > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
std::string name
The playback route display name.
Definition Playback.h:80
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:57
Cmper percussionMapId
The percussion map reference ID. (xml node is <percMapRefID>)
Definition Playback.h:56
int midiBankSelectMostSignificantByte
The MIDI Bank Select most-significant-byte value. (xml node is <msb>)
Definition Playback.h:55
int midiBankSelectLeastSignificantByte
The MIDI Bank Select least-significant-byte value. (xml node is <lsb>)
Definition Playback.h:54
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Playback.h:59
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:128
static const xml::XmlElementArray< PlaybackSettings > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
int velocityControlLevel
The velocity-control level. (xml node is <velControlLevel>)
Definition Playback.h:133
Cmper getPlaybackRouteId() const
Returns the one-based cmper of the playback route referenced by playbackRouteIndex.
Definition Playback.h:139
bool solo
Whether this playback stream is soloed.
Definition Playback.h:136
std::shared_ptr< VelocityControl > velocityControl
The velocity-control behavior, if present. (xml node is <velControlSaveFlags>)
Definition Playback.h:134
bool play
Whether this playback stream is enabled.
Definition Playback.h:135
int playbackRouteIndex
Zero-based index of the route; the corresponding route cmper is this value plus one....
Definition Playback.h:132
Defines whether and how velocity control is applied to a playback stream.
Definition Playback.h:113
static const xml::XmlElementArray< VelocityControl > & xmlMappingArray()
Required for musx::factory::FieldPopulator.
VelocityControlFunction function
How the velocity-control level is applied.
Definition Playback.h:118
bool controlOn
Whether velocity control is enabled.
Definition Playback.h:117
Defines playback routing, velocity control, and enablement for a staff's playback streams.
Definition Playback.h:96
std::array< std::shared_ptr< PlaybackSettings >, MAX_LAYERS > layers
Playback settings for each supported notation layer.
Definition Playback.h:151
std::shared_ptr< PlaybackSettings > chords
Playback settings for chord symbols, if present.
Definition Playback.h:149
StaffPlayData(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper)
Constructor function.
Definition Playback.h:146
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Playback.h:153
VelocityControlFunction
Specifies how a playback stream's velocity-control level is applied.
Definition Playback.h:103
@ 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:150
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