Usage
# S4 method for PTPattern,matrix,numeric,numeric
pasteBlock(pattern, block, row.start, track.start)
Arguments
- pattern
A
PTPattern
object into which theblock
needs to be pasted.- block
A
PTBlock
holding thePTCell
data that needs to be pasted into thepattern
.- row.start
A positive
integer
value (ranging from 1 up to 64) indicating the starting position (row) in thepattern
to paste theblock
into.- track.start
A positive
integer
value (ranging from 1 up to 4) indicating the starting position (track) in thepattern
to paste theblock
into.
Details
A PTBlock
is not a formal S4 class. It is a matrix
where
each element holds a list
of a single PTCell
object. As
explained at the PTBlock
method documentation, this allows for
a flexible approach of manipulating PTCell
objects. The
pasteBlock
method allows you to paste a PTBlock
back into
a PTPattern
.
The PTBlock
will be pasted at the specified location and will
span the number of tracks and rows that are included in the PTBlock
.
The PTCell
s in the pattern
will be replaced by those
of the block
. Elements of the bock
that are out of the range
of the pattern
are not included in the pattern
.
See also
Other block.operations:
PTBlock()
Other pattern.operations:
MODPlugToPTPattern()
,
PTPattern-class
,
PTPattern-method
,
PTPatternToMODPlug()
,
appendPattern()
,
deletePattern()
,
patternLength()
,
patternOrderLength()
,
patternOrder()
Examples
data("mod.intro")
block <- PTBlock(PTPattern(mod.intro, 1), 1:16, 1)
## Do some operations using lapply (the effect
## code is set to "C10"):
block <- matrix(lapply(block, function(x) {(effect(x) <- "C10"); x}),
nrow(block), ncol(block), byrow = TRUE)
## Paste block back on the same position:
PTPattern(mod.intro, 1) <-
pasteBlock(PTPattern(mod.intro, 1), block, 1, 1)
## You can also paste the block anywhere you like:
PTPattern(mod.intro, 1) <-
pasteBlock(PTPattern(mod.intro, 1), block, 49, 2)