Add pianoroll function documentation

This commit is contained in:
Alexandre G.-Raymond 2023-11-05 16:23:00 +01:00
parent 0ecc6c196f
commit 624e540cb4
No known key found for this signature in database
GPG key ID: 97BA9F51695B5C7B
2 changed files with 67 additions and 0 deletions

View file

@ -56,6 +56,40 @@ Pattern.prototype.pianoroll = function (options = {}) {
// this function allows drawing a pianoroll without ties to Pattern.prototype
// it will probably replace the above in the future
/**
* Displays a midi-style piano roll
*
* @name pianoroll
* @param {Object} options Object containing all the optional following parameters as key value pairs:
* @param {integer} cycles defaults to 4 - number of cycles to be displayed at the same time
* @param {number} playhead 0 to 1, defaults to 0.5 - location of the active notes on the time axis
* @param {integer} vertical 0 (default) or 1 - displays the roll vertically
* @param {boolean} labels false (default) or true - displays labels on individual notes (see the label function)
* @param {integer} flipTime 0 (default) or 1 - reverse the direction of the roll
* @param {integer} flipValues 0 (default) or 1 - reverse the relative location of notes on the value axis
* @param {number} overscan 1 (default) - lookup X cycles outside of the cycles window to display notes in advance
* @param {boolean} hideNegative false (default) or true - hide notes with negative time (before starting playing the pattern)
* @param {integer} smear 0 (default) or 1 - notes leave a solid trace
* @param {integer} fold 0 (default) or 1 - notes takes the full value axis width
* @param {string} active hexadecimal or CSS color (defaults to #FFCA28) - color of the active notes
* @param {string} inactive hexadecimal or CSS color (defaults to #7491D2) - color of the inactive notes
* @param {string} background hexadecimal or CSS color (defaults to transparent) - color of the background
* @param {string} playheadColor hexadecimal or CSS color (defaults to transparent) - color of the line representing the play head
* @param {integer} fill 1 (default) or 0 - notes are filled with color (otherwise only the label is displayed)
* @param {boolean} fillActive: false (default) or true - active notes are filled with color
* @param {integer} stroke 0 (default) or 1 - notes are shown with colored borders
* @param {boolean} strokeActive: false (default) or true - active notes are shown with colored borders
* @param {integer} hideInactive 0 (default) or 1 - only active notes are shown
* @param {integer} colorizeInactive 1 (default) or 0 - use note color for inactive notes
* @param {string} fontFamily: defaults to 'monospace' - define the font used by notes labels
* @param {integer} minMidi integer, defaults to 10 - minimum note value to display on the value axis
* @param {integer} maxMidi integer, defaults to 90 - maximum note value to display on the value axis
* @param {integer} autorange 0 (default) or 1 - automatically calculate the minMidi and maxMidi parameters
*
* @example
* note("C2 A2 G2").euclid(5,8).s('piano').clip(1).color('salmon').pianoroll({vertical:1, labels:1})
*/
export function pianoroll({
time,
haps,