diff options
| author | s-ol <s-ol@users.noreply.github.com> | 2020-03-22 12:15:05 +0000 |
|---|---|---|
| committer | s-ol <s-ol@users.noreply.github.com> | 2020-03-22 12:15:05 +0000 |
| commit | ce99c90c282a04177bfda54e9df1855e8e6597e6 (patch) | |
| tree | d82ef94a1c35da5c21ba1b86a3dbc0a6bef84b4b /lib | |
| parent | error handling: scope + registry (diff) | |
| download | alive-ce99c90c282a04177bfda54e9df1855e8e6597e6.tar.gz alive-ce99c90c282a04177bfda54e9df1855e8e6597e6.zip | |
error handling: lib
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/midi/core.moon | 8 | ||||
| -rw-r--r-- | lib/random.moon | 22 | ||||
| -rw-r--r-- | lib/time.moon | 4 |
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: |
