Create a Fermata object to represent a fermata symbol.

Fermata(i, to = NULL, shape = NULL, above = NULL)

Arguments

i

A single positive integer, which represents the position of the fermata in a musical line.

to

Optional. A single character or a single positive integer, which indicates the musical line where to add the fermata.

shape

Optional. A single character, which indicates the shape of the fermata. The default value is "normal". See the Details section.

above

Optional. A single logical, which indicates whether the fermata symbol should appear above or below the staff.

Value

A list of class Fermata.

Details

Supported fermata shapes:

  • "normal"

  • "short" or "angled"

  • "long" or "square"

  • "very short" or "double-angled"

  • "very long" or "double-square"

  • "long (Henze)" or "double-dot"

  • "short (Henze)" or "half-curve"

  • "curlew"

The shapes are from the MusicXML specification and MuseScore.

See also

+.Music() for adding a Fermata to a Music object.

Examples

# Create a fermata
fermata <- Fermata(1)
fermata
#> Fermata 
#> 
#> * to be added at position 1 

# Add it to a `Music`
music <- Music() + Meter(4, 4) + Line(c("C4", "D4")) + fermata
music
#> Music 
#> 
#> $meters
#> # A tibble: 1 × 6
#>     bar number  unit actual_number actual_unit invisible
#>   <int>  <int> <int>         <int>       <int> <lgl>    
#> 1     1      4     4             4           4 FALSE    
#> 
#> $notes
#> # A tibble: 2 × 7
#>    line     i     j pitch  midi duration length
#>   <int> <int> <int> <chr> <int> <chr>     <dbl>
#> 1     1     1    NA C4       60 NA            1
#> 2     1     2    NA D4       62 NA            1
#> 
#> $lines
#> # A tibble: 1 × 7
#>    part staff voice segment   bar offset name 
#>   <int> <int> <int>   <int> <int>  <dbl> <chr>
#> 1     1     1     1       1     1      0 NA   
#> 
#> $fermatas
#> # A tibble: 1 × 4
#>    line     i shape  above
#>   <int> <int> <chr>  <lgl>
#> 1     1     1 normal TRUE 
#> 

# Generate the music score
if (interactive()) {
  show(music)
}