These functions are wrappers around the render_music*
functions. They
abstract the process of rendering a sheet music snippet to png and loading
the rendered image back into R to be displayed as a plot in an open graphics
device or inserted into an R Markdown code chunk.
plot_music(
music,
clef = "treble",
tab = FALSE,
tuning = "standard",
string_names = NULL,
header = NULL,
paper = NULL,
colors = NULL,
transparent = FALSE,
res = 300
)
plot_music_tc(
music,
header = NULL,
paper = NULL,
colors = NULL,
transparent = FALSE,
res = 300
)
plot_music_bc(
music,
header = NULL,
paper = NULL,
colors = NULL,
transparent = FALSE,
res = 300
)
plot_music_tab(
music,
clef = NA,
tuning = "standard",
string_names = NULL,
header = NULL,
paper = NULL,
colors = NULL,
transparent = FALSE,
res = 300
)
plot_music_guitar(
music,
tuning = "standard",
string_names = NULL,
header = NULL,
paper = NULL,
colors = NULL,
transparent = FALSE,
res = 300
)
plot_music_bass(
music,
tuning = "bass",
string_names = FALSE,
header = NULL,
paper = NULL,
colors = NULL,
transparent = FALSE,
res = 300
)
a music object.
character, include a music staff with the given clef. NA
to
suppress. See track()
for details.
logical, include tablature staff. NA
to suppress. See track()
.
character, string tuning, only applies to tablature. See
track()
.
label strings at beginning of tab staff. NULL
(default)
for non-standard tunings only, TRUE
or FALSE
for force on or off
completely.
a named list of arguments passed to the header of the LilyPond
file. See lilypond()
details.
a named list of arguments for the LilyPond file page layout. See
lilypond()
details.
a named list of LilyPond element color global overrides. See
lilypond()
for details.
logical, transparent background for intermediate png file.
numeric, resolution, png only. Defaults to 300.
a plot
While these functions abstract away the details of the process, this is not the same as making the plot completely in R. R is only displaying the intermediary png file. LilyPond is required to engrave the sheet music.
For R Markdown you can alternatively render the png using the corresponding
render_music*
function and then place it in the document explicitly
using knitr::include_graphics()
. See render_music()
for more details.
x <- "a,4;5*5 b,4- c4 cgc'e'~4 cgc'e'1 e'4;2 c';3 g;4 c;5 ce'1;51"
x <- as_music(x)
y <- "a,,4;3*5 b,,4- c,4 c,g,c~4 c,g,c1 c4;1 g,;2 c,;3 g,;2 c,c1;31"
y <- as_music(y)
if (FALSE) { # \dontrun{
if(tabr_options()$lilypond != ""){ # requires LilyPond installation
plot_music(x)
plot_music(x, "treble_8", tab = TRUE)
plot_music_tc(x)
plot_music_bc(x)
plot_music_tab(x)
plot_music_guitar(x)
plot_music_bass(y)
}
} # }