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