Skip to contents

This method removes a PTPattern from a PTModule object and updates the patternOrder table accordingly.

Usage

# S4 method for PTModule,numeric
deletePattern(x, index)

Arguments

x

A PTModule from which a PTPattern needs to be removed.

index

A numeric index of the PTPattern table that needs to be removed. The index should be between 1 and patternLength. It's not possible to delete multiple patterns simultaneously with this method. A PTModule should always hold at least 1 pattern table, therefore, the last PTPattern table cannot be deleted.

Value

Returns a PTModule from which the selected PTPattern is deleted.

Details

This method safely removes a PTPattern from a PTModule object, guarding the validity of the PTModule object. It therefore also updates the patternOrder table, by renumbering the indices listed there. The index of the removed object is replaced with a zero in the patternOrder table.

Note

As per ProTracker specification, the pattern indices stored in the PTModule and obtained with patternOrder start at 0. Whereas R starts indexing at 1. Beware of this discrepancy.

Author

Pepijn de Vries

Examples

data("mod.intro")
print(mod.intro)
#> 
#> PTModule Object:
#> 	Module name:			intro			
#> 	Number of samples:		4		
#> 	Number of patterns:		4		
#> 	Pattern order table length:	9	

## delete pattern #2 from mod.intro:

mod.intro <- deletePattern(mod.intro, 2)
print(mod.intro)
#> 
#> PTModule Object:
#> 	Module name:			intro			
#> 	Number of samples:		4		
#> 	Number of patterns:		3		
#> 	Pattern order table length:	9