pkgdown
website and READMEFixes to modArchive functions, due to changes to their API
Fix in structure and examples to pass CRAN tests.
Fix in validation functions in order to support changes in latest version of R
Added modLand helper functions.
Reading and writing 8svx samples with read.sample and write.sample is now implemented using the AmigaFFH package, which has a more robust implementation of Interchange File Format handlers.
Added a ‘mix’ argument to the ‘modToWave’-method. When set to FALSE, the method can now return all individual channels (without mixing them).
The ‘playWave’-method was updated such that it also accepts multi-channel waves (WaveMC), in order to make it compatible with the modification specified above.
Available documentation on which of the 4 channels are mixed to the left and right audio output channel respectively is inconsistent. This version will assume that channels 1 and 4 (or 0 and 3 using Amiga indexing) are mixed to the left channel and channels 2 and 3 (or 1 and 2 using Amiga indexing) are mixed to the right channel. This means that the output channels are now swapped compared to earlier versions of this package.
There was a bug in the implementation of the ‘porta to note’ effects (3 and 5), it is now fixed.
Added a new implementation of the generic ‘as.raw’ method, which allows to convert PTModule objects into raw data. Also added a ‘rawToPTModule’ method to achieve the inverse.
Endianess should have been set to “big” instead of “little” (whoops), luckily, this has no consequences as all data are read as raw data. I have corrected the code nonetheless
Minor corrections to manual
Added functions to exchange pattern data with MODPlug tracker.
Endianness is explicitely set to “little” when reading and writing samples and modules. As all data is read and written as raw, this should not affect the package functioning.
Removed unnecessary print statement from PTBlock routine.
Fixed a bug in the ‘rawToCharNull’ function.
Fixed a bug in the ‘modToWave’ routine that caused an error under rare conditions.
Setting stereo.separation to 0 was not handled correctly in ‘modToWave’ routine. Channels were not mixed before converting to mono. This is now fixed.
added a “fix.PTModule” method that attempts to fix a module object when it is not conform ProTracker specs…
period limits for the porta effects have been fixed
inverted the logical interpretation of the ‘verbose’ argument, as it was incorrect in earlier versions.
added and modified several of the ‘modArchive’- functions, for better support from modarchive.org
modified S4-object validation functions such that they run faster.
modified ‘write.module’-method such that it will write modules much faster
fixed bug in ‘read.module’-method and modified it such that it will read modules much faster.
fixed bug in ‘loopStart<-’-method
fixed bug in ‘loopLength<-’-method
fixed bug in ‘patternOrder<-’-method
fixed bug in ‘appendPattern’-method
fixed bug in ‘volume<-’-method
fixed bug in ‘waveform<-’- and ‘waveform’-method
Modified the playing routine such that the porta effects can’t slide period values below that of note B-3 or above 856. Period values are cut-off at these values after processing the other effects as well. Thanks must go to Olav Sørensen (who created a Protracker v2.3D clone for modern machines, https://16-bits.org/pt.php) for confirming these software and hardware limits.
Resampling routine in the modToWave-method is rewritten. It should be faster now.
The 9xy command is now implemented such that it emulates the ProTracker ‘offset bug’. Therewith, the player routine now passes ‘ptoffset.mod’ test.
Bug in resampling of samples in ‘modToWave’- routine is fixed.
‘modArchive’ functions are added to the package.
Effect commands ‘E4x’ and ‘E7x’ are now implemented in the player routine.
Implementation of effect command ‘5xy’ is fixed.
In the previous release, some generated wave data ended up out of range in the mixing procedure. This is now fixed.
The ‘playWave’-method is modified such that it returns an ‘audioInstance’-object (audio package) allowing control over the playback.
Minor corrections/improvements to the manual
Mixing when some tracks are turned off is fixed
‘clearSamples’-method was added to the package.
‘clearSong’-method was added to the package.
‘modToWave’-method was added to the package
‘playingtable’-method was added to the package
‘playMod’-method was added to the package
‘playWave’-method was added to the package
‘resample’-function added to the package to avoid ‘seewave’ dependency (which is not available for all platforms).
‘waveform’-method now includes additional arguments: ‘start.pos’, ‘stop.pos’ and ‘loop’
removed ‘utils’ import…
‘name’ method, for PTSample objects, incorrectly returned raw representation of the sample name instead of a character representation. This is now fixed.
‘playSample’ was printing the names of additional (…) arguments in previous release. This was meant as a test and this behaviour was not intended for the release. It has been removed.
A section on ProTracker effect commands is added to the manual
Some minor corrections were made in the manual
Minor fixes to pass CRAN checks.
In the ‘playSample’ method, the ‘finetune’ argument is now correctly passed to the ‘noteToSampleRate’ function. Before, it was only possible to play at the finetune specified for a sample.
Correction in the validity check for objects of S4 class ‘PTSample’: wlooplen is allowed to have a value of zero when the sample is empty.
The prototype of the S4 class ‘PTSample’ is changed to set the wlooplen value to zero.
The slot descriptions for wloopstart and wlooplen in the ‘PTSample’ documentation contained errors that were corrected.
The ‘loopLength<-’, the ‘PTSample-method’ and ‘read.sample’ methods were modified to handle the adjustments to the ‘PTSample’ class.
Removed superfluous argument ‘value’ from the ‘patternLength’ method
First release:
Provided the basis for importing, exporting and manipulating ProTracker modules.
Basic playing routine, playing the samples in the module only (not the module itself).