denigma 4.0.0
Loading...
Searching...
No Matches
denigma::classify::smartshape::KeyboardPedal Struct Reference

A custom line that notates keyboard pedaling. More...

#include <smartshapes.h>

Collaboration diagram for denigma::classify::smartshape::KeyboardPedal:

Public Types

enum class  CapType {
  None , Hook , PedalDown , PedalUp ,
  PedalChange
}
 The pedal semantic of a line cap. More...
 

Public Member Functions

bool isUnaCorda () const noexcept
 Returns whether any text position identifies the una-corda (soft) pedal.
 
bool isSostPedal () const noexcept
 Returns whether any text position identifies the sostenuto pedal.
 
bool isSustainPedal () const noexcept
 Returns whether any text position identifies the sustain pedal.
 

Public Attributes

GeneralLine line
 Appearance of the pedal line.
 
std::optional< KeyboardPedalClassificationstartText
 The marking in the line's left-start text, when it names one.
 
std::optional< KeyboardPedalClassificationcontinuationText
 The marking in the line's left-continuation text, when it names one.
 
std::optional< KeyboardPedalClassificationendText
 The marking in the line's right-end text, when it names one.
 
CapType startCap {}
 Pedal meaning of the cap at the start of the line.
 
CapType endCap {}
 Pedal meaning of the cap at the end of the line.
 

Detailed Description

A custom line that notates keyboard pedaling.

The pedal semantics come from the line's texts, its caps, or both: a line qualifies as a keyboard pedal when at least one text position or one cap identifies a pedal marking.

Member Enumeration Documentation

◆ CapType

The pedal semantic of a line cap.

(Appearance details are in line.)

Enumerator
None 

No cap, or a cap with no pedal meaning.

Hook 

A plain hook, which brackets the pedaled music without naming a pedal action.

PedalDown 

The cap engages the pedal.

PedalUp 

The cap releases the pedal.

PedalChange 

The cap releases and immediately re-engages the pedal.


The documentation for this struct was generated from the following file: