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.