Get the file size in bytes of a PTModule object, when it is to be saved
as an original module file with write.module.
Arguments
- x
A
PTModuleobject for which the file size is to be calculated.
Value
Returns potential uncompressed module file size in bytes represented
by a number of class object_size.
Details
The ProTracker module has a 1084 byte sized header containing all (meta)
information on the patterns, their order and the audio samples. Each pattern
holds exactly 1 Kb of information and the length of the audio samples corresponds
with the size in bytes, as they are of 8 bit quality in mono. This function
calculates the file size of the PTModule object when it is to
be saved with write.module.
See also
Other module.operations:
PTModule-class,
appendPattern(),
clearSamples(),
clearSong(),
deletePattern(),
fix.PTModule(),
modToWave(),
patternLength(),
patternOrderLength(),
patternOrder(),
playMod(),
playingtable(),
rawToPTModule(),
read.module(),
trackerFlag(),
write.module()
Examples
## Calculate the file size for the example module 'mod.intro':
data("mod.intro")
moduleSize(mod.intro)
#> 9214 bytes
## Note that this is not the same as the size the object
## requires in R working memory:
object.size(mod.intro)
#> 99384 bytes
## In working memory it takes more memory to store the module, than in a
## file. This is because the S4 structure of the object consumes some
## memory. In addition, samples are of 8 bit quality, corresponding with
## a byte per sample. In the PTSample object it is stored as a
## vector of integer values. In R, integer values are 32 bit, which
## costs 4 times as much memory as the original 8 bit.