diff --git a/light9/web/graph.coffee b/light9/web/graph.coffee --- a/light9/web/graph.coffee +++ b/light9/web/graph.coffee @@ -285,7 +285,10 @@ class window.SyncedGraph return hit if hit != undefined #log('float miss', s, p) - ret = parseFloat(@_singleValue(s, p).value) + v = @_singleValue(s, p).value + ret = parseFloat(v) + if isNaN(ret) + throw new Error("#{s.value} #{p.value} -> #{v} not a float") @cachedFloatValues.set(key, ret) return ret diff --git a/light9/web/light9-color-picker.html b/light9/web/light9-color-picker.html --- a/light9/web/light9-color-picker.html +++ b/light9/web/light9-color-picker.html @@ -307,7 +307,9 @@ } hideLarge() { this.$.large.style.display = 'none'; - this.readColor(this.color); + if (this.color !== undefined) { + this.readColor(this.color); + } this.closeTime = Date.now(); } onEnterSmall(ev) { diff --git a/light9/web/live/live.coffee b/light9/web/live/live.coffee --- a/light9/web/live/live.coffee +++ b/light9/web/live/live.coffee @@ -132,7 +132,7 @@ coffeeElementSetup(class Light9LiveContr valuePred: (attr) -> U = (x) => @graph.Uri(x) scaledAttributeTypes = [U(':color'), U(':brightness'), U(':uv')] - if attr in scaledAttributeTypes then U(':scaledValue') else U(':value') + if [attr.equals(x) for x in scaledAttributeTypes].length then U(':scaledValue') else U(':value') onEffect: -> U = (x) => @graph.Uri(x) @@ -149,6 +149,7 @@ coffeeElementSetup(class Light9LiveContr value = @graph.stringValue(s, pred) log('got', devAttr, value) window.gather([[dev, devAttr, value]]) + # there's nothing here to set the widgets to these values. saveNewEffect: -> uriName = @newEffectName.replace(/[^a-zA-Z0-9_]/g, '')