From 4ebb6f4408600f3c0f2a745b7ed0ba951bf521b3 Mon Sep 17 00:00:00 2001 From: s-ol Date: Mon, 2 Mar 2020 15:40:00 +0100 Subject: lift remaining libs to new op interface --- lib/envelope.moon | 26 -------------------------- 1 file changed, 26 deletions(-) delete mode 100644 lib/envelope.moon (limited to 'lib/envelope.moon') diff --git a/lib/envelope.moon b/lib/envelope.moon deleted file mode 100644 index eb79a64..0000000 --- a/lib/envelope.moon +++ /dev/null @@ -1,26 +0,0 @@ -import Stream, Op, Scope, eval from require 'core' - -class ar_core extends Op - @doc: "(ar-core attack release gate) -((ar attack release) gate) - AR envelope - -goes from 0 to 1 in attack seconds, holds while gate is on, then goes back to 0 in release seconds." - - new: (...) => - super ... - @out = Stream 'num', 0 - - setup: (@a, @r, @gate) => - assert @a, "ar requires an attack value" - assert @r, "ar requires a release value" - assert @gate, "ar requires a gate value" - @out - - update: (dt) => - slope = if (@gate\unwrap 'bool') then (@a\unwrap! or 0.1) else -(@r\unwrap! or 0.5) - - @out\set math.min 1, math.max 0, @out\unwrap! + dt / slope - -scope = Scope.from_table { 'ar-core': ar_core } -scope\set 'ar', eval '(fn (a r) (fn (gate) (ar-core a r gate)))', scope -scope -- cgit v1.2.3