'LFO' node.

main
Ben Niemann 1 year ago
parent 53f1f14abe
commit f121171d74

@ -0,0 +1,36 @@
/*
* @begin:license
*
* Copyright (c) 2015-2019, Benjamin Niemann <pink@odahoda.de>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* @end:license
*/
declare input0_name "freq";
declare input1_name "min";
declare input2_name "max";
os = library("oscillators.lib");
shape = nentry(
"waveform[style:menu{'Sine':0.0; 'Sawtooth':1.0; 'Square':2.0}]",
0.0, 0.0, 2.0, 1.0);
osc(freq) = ((os.osc(freq), os.lf_saw(freq), os.lf_squarewave(freq) : select3(shape)) + 1) / 2;
scale(sig, a, b) = sig * (b - a) + a;
process = osc, _, _ : scale;

@ -0,0 +1,33 @@
uri: builtin://lfo
audio_class_uri: node://lfo
display_name: LFO
ui:
body_qml: noisicaa/node_lib/lfo/ui.qml
ports:
- name: freq
faust_ui:
type: hslider
path: /audio/[0]
float_value:
default: 10.0
min: 0.01
max: 100.0
step: 0.01
- name: min
faust_ui:
type: nentry
path: /audio/[1]
float_value:
default: 0.0
min: -20000.0
max: 20000.0
step: 1
- name: max
faust_ui:
type: nentry
path: /audio/[2]
float_value:
default: 1.0
min: -20000.0
max: 20000.0
step: 1

@ -0,0 +1,22 @@
# @begin:license
#
# Copyright (c) 2015-2021, Ben Niemann <pink@odahoda.de>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# @end:license
def build(ctx):
ctx.noise_faust_node()
Loading…
Cancel
Save