Usage
# S4 method for class 'PTPattern,matrix,numeric,numeric'
pasteBlock(pattern, block, row.start, track.start)Arguments
- pattern
A
PTPatternobject into which theblockneeds to be pasted.- block
A
PTBlockholding thePTCelldata that needs to be pasted into thepattern.- row.start
A positive
integervalue (ranging from 1 up to 64) indicating the starting position (row) in thepatternto paste theblockinto.- track.start
A positive
integervalue (ranging from 1 up to 4) indicating the starting position (track) in thepatternto paste theblockinto.
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 PTCells 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)