mirror of
https://github.com/eliasstepanik/strudel-docker.git
synced 2026-01-24 20:18:34 +00:00
document scope functions
This commit is contained in:
parent
52e2b90eef
commit
26d87b691c
@ -3,7 +3,7 @@ import { analyser, getAnalyzerData } from 'superdough';
|
|||||||
|
|
||||||
export function drawTimeScope(
|
export function drawTimeScope(
|
||||||
analyser,
|
analyser,
|
||||||
{ align = true, color = 'white', thickness = 3, scale = 0.25, pos = 0.75, next = 1, trigger = 0 } = {},
|
{ align = true, color = 'white', thickness = 3, scale = 0.25, pos = 0.75, trigger = 0 } = {},
|
||||||
) {
|
) {
|
||||||
const ctx = getDrawContext();
|
const ctx = getDrawContext();
|
||||||
const dataArray = getAnalyzerData('time');
|
const dataArray = getAnalyzerData('time');
|
||||||
@ -70,6 +70,18 @@ function clearScreen(smear = 0, smearRGB = `0,0,0`) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Renders an oscilloscope for the frequency domain of the audio signal.
|
||||||
|
* @name fscope
|
||||||
|
* @param {string} color line color as hex or color name. defaults to white.
|
||||||
|
* @param {number} scale scales the y-axis. Defaults to 0.25
|
||||||
|
* @param {number} pos y-position relative to screen height. 0 = top, 1 = bottom of screen
|
||||||
|
* @param {number} lean y-axis alignment where 0 = top and 1 = bottom
|
||||||
|
* @param {number} min min value
|
||||||
|
* @param {number} max max value
|
||||||
|
* @example
|
||||||
|
* s("sawtooth").fscope()
|
||||||
|
*/
|
||||||
Pattern.prototype.fscope = function (config = {}) {
|
Pattern.prototype.fscope = function (config = {}) {
|
||||||
return this.analyze(1).draw(() => {
|
return this.analyze(1).draw(() => {
|
||||||
clearScreen(config.smear);
|
clearScreen(config.smear);
|
||||||
@ -77,6 +89,20 @@ Pattern.prototype.fscope = function (config = {}) {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Renders an oscilloscope for the time domain of the audio signal.
|
||||||
|
* @name scope
|
||||||
|
* @synonyms tscope
|
||||||
|
* @param {object} config optional config with options:
|
||||||
|
* @param {boolean} align if 1, the scope will be aligned to the first zero crossing. defaults to 1
|
||||||
|
* @param {string} color line color as hex or color name. defaults to white.
|
||||||
|
* @param {number} thickness line thickness. defaults to 3
|
||||||
|
* @param {number} scale scales the y-axis. Defaults to 0.25
|
||||||
|
* @param {number} pos y-position relative to screen height. 0 = top, 1 = bottom of screen
|
||||||
|
* @param {number} trigger amplitude value that is used to align the scope. defaults to 0.
|
||||||
|
* @example
|
||||||
|
* s("sawtooth").scope()
|
||||||
|
*/
|
||||||
Pattern.prototype.tscope = function (config = {}) {
|
Pattern.prototype.tscope = function (config = {}) {
|
||||||
return this.analyze(1).draw(() => {
|
return this.analyze(1).draw(() => {
|
||||||
clearScreen(config.smear);
|
clearScreen(config.smear);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user