diff --git a/light9/subserver/effects.coffee b/light9/subserver/effects.coffee --- a/light9/subserver/effects.coffee +++ b/light9/subserver/effects.coffee @@ -51,6 +51,8 @@ model.addMomentaryUp = (e) -> url: '/effectEval/songEffects' data: {drop: e.uri, event: 'end', note: lastMomentaryNote} }) + + reconnectingWebSocket "../effectsUpdates", (msg) -> diff --git a/light9/subserver/effects.jade b/light9/subserver/effects.jade --- a/light9/subserver/effects.jade +++ b/light9/subserver/effects.jade @@ -3,6 +3,11 @@ html head title effects link(rel='stylesheet', href='/style.css') + style. + .headerRow { + display: flex; + justify-content: space-between; + } body #status starting... h1 Effects @@ -25,12 +30,19 @@ html div(data-bind="foreach: classes") div.resource.effectClass - h2 - | Effect class - | - a(data-bind="attr: {href: uri}, text: label") - button(data-bind="click: $root.addToCurrentSong") Add to current song - button(data-bind="event: { mousedown: $root.addMomentary, mouseup: $root.addMomentaryUp }") Add momentary + div.headerRow + span + h2 + | Effect class + | + resource-display(data-bind="attr: {uri: uri, graph: graph}") + a(data-bind="attr: {href: uri}, text: label") + button(data-bind="click: $root.onRename") Rename + span.rightTools + button(data-bind="click: $root.addToCurrentSong") Add to current song + button(data-bind="event: { mousedown: $root.addMomentary, mouseup: $root.addMomentaryUp }") Add momentary + div.rename + input div code(data-bind="text: code") diff --git a/light9/subserver/effects2.coffee b/light9/subserver/effects2.coffee new file mode 100644 --- /dev/null +++ b/light9/subserver/effects2.coffee @@ -0,0 +1,34 @@ +Polymer + is: "light9-effects" + properties: + graph: {type: Object} + effectClasses: { type: Array } + ready: -> + @graph.runHandler(@getClasses.bind(@)) + + getClasses: -> + U = (x) => @graph.Uri(x) + @effectClasses = _.sortBy(@graph.subjects(U('rdf:type'), U(':Effect'))) + +Polymer + is: "light9-effect-class" + properties: + graph: {type: Object} + uri: {type: String} + + onAdd: -> + @$.songEffects.body = {drop: @uri} + @$.songEffects.generateRequest() + + onMomentaryPress: -> + @$.songEffects.body = {drop: @uri, event: 'start'} + @lastPress = @$.songEffects.generateRequest() + @lastPress.completes.then (request) => + @lastMomentaryNote = request.response.note + + onMomentaryRelease: -> + return unless @lastMomentaryNote + @$.songEffects.body = {drop: @uri, note: @lastMomentaryNote} + @lastMomentaryNote = null + @$.songEffects.generateRequest() + \ No newline at end of file diff --git a/light9/subserver/effects2.html b/light9/subserver/effects2.html new file mode 100644 --- /dev/null +++ b/light9/subserver/effects2.html @@ -0,0 +1,61 @@ + + +
+