aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authors-ol <s-ol@users.noreply.github.com>2020-03-22 12:15:05 +0000
committers-ol <s-ol@users.noreply.github.com>2020-03-22 12:15:05 +0000
commitce99c90c282a04177bfda54e9df1855e8e6597e6 (patch)
treed82ef94a1c35da5c21ba1b86a3dbc0a6bef84b4b /lib
parenterror handling: scope + registry (diff)
downloadalive-ce99c90c282a04177bfda54e9df1855e8e6597e6.tar.gz
alive-ce99c90c282a04177bfda54e9df1855e8e6597e6.zip
error handling: lib
Diffstat (limited to 'lib')
-rw-r--r--lib/midi/core.moon8
-rw-r--r--lib/random.moon22
-rw-r--r--lib/time.moon4
3 files changed, 17 insertions, 17 deletions
diff --git a/lib/midi/core.moon b/lib/midi/core.moon
index 4986811..d1930eb 100644
--- a/lib/midi/core.moon
+++ b/lib/midi/core.moon
@@ -110,18 +110,18 @@ inout = Value.meta
apply_range = (range, val) ->
if range\type! == 'str'
- switch range\unwrap!
+ switch range!
when 'raw' then val
when 'uni' then val / 128
when 'bip' then val / 64 - 1
when 'rad' then val / 64 * math.pi
when 'deg' then val / 128 * 360
else
- error "unknown range #{range}"
+ error Error 'argument', "unknown range '#{range!}'"
elseif range.type == 'num'
- val / 128 * range\unwrap!
+ val / 128 * range!
else
- error "range has to be a string or number"
+ error Error 'argument', "range has to be a string or number"
{
:input
diff --git a/lib/random.moon b/lib/random.moon
index a3124fa..9a98702 100644
--- a/lib/random.moon
+++ b/lib/random.moon
@@ -1,18 +1,18 @@
-import Op, Value, Input, match from require 'core.base'
+import Value, Error, Op, Input, match from require 'core.base'
apply_range = (range, val) ->
if range\type! == 'str'
- switch range\unwrap!
- when 'uni' then val
- when 'bip' then val * 2 - 1
- when 'rad' then val * 2 * math.pi
- when 'deg' then val * 360
+ switch range!
+ when 'uni' then val / 128
+ when 'bip' then val / 64 - 1
+ when 'rad' then val / 64 * math.pi
+ when 'deg' then val / 128 * 360
else
- error "unknown range #{range}"
+ error Error 'argument', "unknown range '#{range!}'"
elseif range.type == 'num'
- val * range\unwrap!
+ val / 128 * range!
else
- error "range has to be a string or number"
+ error Error 'argument', "range has to be a string or number"
range_doc = "
range can be one of:
@@ -28,7 +28,7 @@ num = Value.meta
name: 'num'
summary: 'Generate a random number.'
examples: { '(random/num [trigger] [range]))' }
- description: "generate a random value in `range` when created and on `trig`.
+ description: "Generate a random value in `range` when created and on `trig`.
#{range_doc}"
value: class extends Op
@@ -54,7 +54,7 @@ vec_ = (n) ->
name: "vec#{n}"
summary: 'Generate a random vector.'
examples: { '(random/vec#{n} [trigger] [range]))' }
- description: "generate a random vec#{n} in `range` when created and on `trig`.
+ description: "Generate a random vec#{n} in `range` when created and on `trig`.
#{range_doc}"
value: class extends Op
diff --git a/lib/time.moon b/lib/time.moon
index 182cf4d..ea0e80a 100644
--- a/lib/time.moon
+++ b/lib/time.moon
@@ -1,4 +1,4 @@
-import Registry, Value, IO, Op, Input, match from require 'core.base'
+import Value, Error, IO, Op, Input, match from require 'core.base'
import monotime from require 'system'
class Clock extends IO
@@ -72,7 +72,7 @@ wave selects the wave shape from the following:
when 'sin' then .5 + .5 * math.cos @state.phase * tau
when 'saw' then @state.phase % 1
when 'tri' then math.abs (2*@state.phase % 2) - 1
- else error "unknown wave type"
+ else error Error 'argument', "unknown wave type '#{wave}'"
ramp = Value.meta
meta: