The predecessor to this package (ProTrackR) was entirely programmed in R. Although technically possible, it was challenging and slow with recursive algorithms. The new version is a complete overhaul in C/C++, based on Olav Sørensen’s ProTracker clone. With it, came some design changes which are worth mentioning here.
The table below summarises the differences between ProTrackR2 and its predecessor.
Feature | ProTrackR | ProTrackR2 |
---|---|---|
Effect commands | Limited set implemented | All PT2.3d effects implemented |
Infrastructure | R script | Compiled C/C++ |
File readers | Optimized for format preservation | Optimized for PT2.3d compatibility |
Audio output | tuneR S4 Wave class | audio S3 audioSample class |
OpenMPT test cases | Passes 6 out of 12 selected tests | Not tested yet |
A benchmark test where the same module (the one provided with this
package) is rendered with both ProTrackR
and
ProTrackR2
. The settings for both tests were similar and
performed on the same system and repeated 10 times. On average
ProTrackR2
renders 8.8 times faster than
ProTrackR
.