ProTrackR vs ProTrackR2

ProTracker2 and its predecessor

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.

Overview of differences

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

Benchmark

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.