annotate web/fade/Light9FadeUi.ts @ 2450:a4052905ca7d default tip

notes about how rdfdb syncs, or should sync
author drewp@bigasterisk.com
date Mon, 03 Jun 2024 23:01:54 -0700
parents 4556eebe5d73
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2103
1ef921880e37 start fade (replaces KC)
drewp@bigasterisk.com
parents:
diff changeset
1 import debug from "debug";
2331
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
2 import { css, html, LitElement, TemplateResult } from "lit";
2329
c5cd51e32fc5 refactor
drewp@bigasterisk.com
parents: 2321
diff changeset
3 import { customElement, property } from "lit/decorators.js";
2331
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
4 import * as N3 from "n3";
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
5 import { NamedNode, Quad } from "n3";
2372
06bf6dae8e64 reorg tools into light9/web/ and a single vite instance
drewp@bigasterisk.com
parents: 2354
diff changeset
6 import { Patch } from "../patch";
06bf6dae8e64 reorg tools into light9/web/ and a single vite instance
drewp@bigasterisk.com
parents: 2354
diff changeset
7 import { getTopGraph } from "../RdfdbSyncedGraph";
06bf6dae8e64 reorg tools into light9/web/ and a single vite instance
drewp@bigasterisk.com
parents: 2354
diff changeset
8 import { showRoot } from "../show_specific";
06bf6dae8e64 reorg tools into light9/web/ and a single vite instance
drewp@bigasterisk.com
parents: 2354
diff changeset
9 import { SyncedGraph } from "../SyncedGraph";
06bf6dae8e64 reorg tools into light9/web/ and a single vite instance
drewp@bigasterisk.com
parents: 2354
diff changeset
10 export { EditChoice } from "../EditChoice";
2329
c5cd51e32fc5 refactor
drewp@bigasterisk.com
parents: 2321
diff changeset
11 export { Light9EffectFader } from "./Light9EffectFader";
2354
drewp@bigasterisk.com
parents: 2350
diff changeset
12 export { Light9Fader } from "./Light9Fader";
2103
1ef921880e37 start fade (replaces KC)
drewp@bigasterisk.com
parents:
diff changeset
13
2350
72c589cb96d1 looknig for a bug
drewp@bigasterisk.com
parents: 2349
diff changeset
14 debug.enable("*,autodep");
2103
1ef921880e37 start fade (replaces KC)
drewp@bigasterisk.com
parents:
diff changeset
15 const log = debug("fade");
1ef921880e37 start fade (replaces KC)
drewp@bigasterisk.com
parents:
diff changeset
16
2344
83135b0c8bba sort faders in a page by column
drewp@bigasterisk.com
parents: 2342
diff changeset
17 class FaderConfig {
2348
b98dc72978eb reformat
drewp@bigasterisk.com
parents: 2344
diff changeset
18 constructor(public uri: NamedNode, public column: number) { }
2344
83135b0c8bba sort faders in a page by column
drewp@bigasterisk.com
parents: 2342
diff changeset
19 }
83135b0c8bba sort faders in a page by column
drewp@bigasterisk.com
parents: 2342
diff changeset
20
2331
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
21 class FadePage {
2348
b98dc72978eb reformat
drewp@bigasterisk.com
parents: 2344
diff changeset
22 constructor(public uri: NamedNode) { }
2350
72c589cb96d1 looknig for a bug
drewp@bigasterisk.com
parents: 2349
diff changeset
23 faderConfigs: FaderConfig[] = [];
2331
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
24 }
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
25 class FadePages {
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
26 pages: FadePage[] = [];
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
27 }
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
28
2103
1ef921880e37 start fade (replaces KC)
drewp@bigasterisk.com
parents:
diff changeset
29 @customElement("light9-fade-ui")
1ef921880e37 start fade (replaces KC)
drewp@bigasterisk.com
parents:
diff changeset
30 export class Light9FadeUi extends LitElement {
1ef921880e37 start fade (replaces KC)
drewp@bigasterisk.com
parents:
diff changeset
31 static styles = [
1ef921880e37 start fade (replaces KC)
drewp@bigasterisk.com
parents:
diff changeset
32 css`
1ef921880e37 start fade (replaces KC)
drewp@bigasterisk.com
parents:
diff changeset
33 :host {
1ef921880e37 start fade (replaces KC)
drewp@bigasterisk.com
parents:
diff changeset
34 display: block;
2320
280be980aaa0 new fader widget
drewp@bigasterisk.com
parents: 2251
diff changeset
35 user-select: none; /* really this is only desirable during slider drag events */
2103
1ef921880e37 start fade (replaces KC)
drewp@bigasterisk.com
parents:
diff changeset
36 }
2342
81d5b6d97ed3 UI for picking the midi controlled page of faders
drewp@bigasterisk.com
parents: 2331
diff changeset
37 .mappedToHw {
81d5b6d97ed3 UI for picking the midi controlled page of faders
drewp@bigasterisk.com
parents: 2331
diff changeset
38 background: #393945;
81d5b6d97ed3 UI for picking the midi controlled page of faders
drewp@bigasterisk.com
parents: 2331
diff changeset
39 }
2349
f7e564b42af3 new grandmaster scales all faders
drewp@bigasterisk.com
parents: 2348
diff changeset
40 #gm light9-fader {
f7e564b42af3 new grandmaster scales all faders
drewp@bigasterisk.com
parents: 2348
diff changeset
41 width: 300px;
f7e564b42af3 new grandmaster scales all faders
drewp@bigasterisk.com
parents: 2348
diff changeset
42 }
2103
1ef921880e37 start fade (replaces KC)
drewp@bigasterisk.com
parents:
diff changeset
43 `,
1ef921880e37 start fade (replaces KC)
drewp@bigasterisk.com
parents:
diff changeset
44 ];
1ef921880e37 start fade (replaces KC)
drewp@bigasterisk.com
parents:
diff changeset
45 render() {
1ef921880e37 start fade (replaces KC)
drewp@bigasterisk.com
parents:
diff changeset
46 return html`
1ef921880e37 start fade (replaces KC)
drewp@bigasterisk.com
parents:
diff changeset
47 <rdfdb-synced-graph></rdfdb-synced-graph>
1ef921880e37 start fade (replaces KC)
drewp@bigasterisk.com
parents:
diff changeset
48
2213
22131be6639b add fps meter to fade UI
drewp@bigasterisk.com
parents: 2162
diff changeset
49 <h1>Fade</h1>
2349
f7e564b42af3 new grandmaster scales all faders
drewp@bigasterisk.com
parents: 2348
diff changeset
50 <div id="gm">
f7e564b42af3 new grandmaster scales all faders
drewp@bigasterisk.com
parents: 2348
diff changeset
51 <light9-fader .value=${this.grandMaster} @change=${this.gmChanged}></light9-fader>grand master
f7e564b42af3 new grandmaster scales all faders
drewp@bigasterisk.com
parents: 2348
diff changeset
52 </div>
2342
81d5b6d97ed3 UI for picking the midi controlled page of faders
drewp@bigasterisk.com
parents: 2331
diff changeset
53 ${(this.fadePages?.pages || []).map(this.renderPage.bind(this))}
2213
22131be6639b add fps meter to fade UI
drewp@bigasterisk.com
parents: 2162
diff changeset
54
2331
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
55 <div><button @click=${this.addPage}>Add new page</button></div>
2103
1ef921880e37 start fade (replaces KC)
drewp@bigasterisk.com
parents:
diff changeset
56 `;
1ef921880e37 start fade (replaces KC)
drewp@bigasterisk.com
parents:
diff changeset
57 }
2331
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
58 private renderPage(page: FadePage): TemplateResult {
2342
81d5b6d97ed3 UI for picking the midi controlled page of faders
drewp@bigasterisk.com
parents: 2331
diff changeset
59 const mappedToHw = this.currentHwPage !== undefined && page.uri.equals(this.currentHwPage);
81d5b6d97ed3 UI for picking the midi controlled page of faders
drewp@bigasterisk.com
parents: 2331
diff changeset
60 return html`<div class="${mappedToHw ? "mappedToHw" : ""}">
2331
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
61 <fieldset>
2342
81d5b6d97ed3 UI for picking the midi controlled page of faders
drewp@bigasterisk.com
parents: 2331
diff changeset
62 <legend>
81d5b6d97ed3 UI for picking the midi controlled page of faders
drewp@bigasterisk.com
parents: 2331
diff changeset
63 Page
81d5b6d97ed3 UI for picking the midi controlled page of faders
drewp@bigasterisk.com
parents: 2331
diff changeset
64 <resource-display rename .uri=${page.uri}></resource-display>
81d5b6d97ed3 UI for picking the midi controlled page of faders
drewp@bigasterisk.com
parents: 2331
diff changeset
65 ${mappedToHw ? html`mapped to hardware sliders` : html`
81d5b6d97ed3 UI for picking the midi controlled page of faders
drewp@bigasterisk.com
parents: 2331
diff changeset
66 <button @click=${(ev: Event) => this.mapThisToHw(page.uri)}>Map this to hw</button>
81d5b6d97ed3 UI for picking the midi controlled page of faders
drewp@bigasterisk.com
parents: 2331
diff changeset
67 `}
81d5b6d97ed3 UI for picking the midi controlled page of faders
drewp@bigasterisk.com
parents: 2331
diff changeset
68 </legend>
2350
72c589cb96d1 looknig for a bug
drewp@bigasterisk.com
parents: 2349
diff changeset
69 ${page.faderConfigs.map((fd) => html` <light9-effect-fader .uri=${fd.uri}></light9-effect-fader> `)}
2331
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
70 </fieldset>
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
71 </div>`;
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
72 }
2103
1ef921880e37 start fade (replaces KC)
drewp@bigasterisk.com
parents:
diff changeset
73
1ef921880e37 start fade (replaces KC)
drewp@bigasterisk.com
parents:
diff changeset
74 graph!: SyncedGraph;
2331
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
75 ctx: NamedNode = new NamedNode(showRoot + "/fade");
2103
1ef921880e37 start fade (replaces KC)
drewp@bigasterisk.com
parents:
diff changeset
76
2331
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
77 @property() fadePages?: FadePages;
2342
81d5b6d97ed3 UI for picking the midi controlled page of faders
drewp@bigasterisk.com
parents: 2331
diff changeset
78 @property() currentHwPage?: NamedNode;
2349
f7e564b42af3 new grandmaster scales all faders
drewp@bigasterisk.com
parents: 2348
diff changeset
79 @property() grandMaster?: number;
2106
9eb2e7c40765 /fade/ page can now edit values and :Fade :effectClass values in the graph
drewp@bigasterisk.com
parents: 2103
diff changeset
80
2103
1ef921880e37 start fade (replaces KC)
drewp@bigasterisk.com
parents:
diff changeset
81 constructor() {
1ef921880e37 start fade (replaces KC)
drewp@bigasterisk.com
parents:
diff changeset
82 super();
1ef921880e37 start fade (replaces KC)
drewp@bigasterisk.com
parents:
diff changeset
83 getTopGraph().then((g) => {
1ef921880e37 start fade (replaces KC)
drewp@bigasterisk.com
parents:
diff changeset
84 this.graph = g;
2331
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
85 this.graph.runHandler(this.compile.bind(this), `faders layout`);
2349
f7e564b42af3 new grandmaster scales all faders
drewp@bigasterisk.com
parents: 2348
diff changeset
86 this.graph.runHandler(this.compileGm.bind(this), `faders gm`);
2103
1ef921880e37 start fade (replaces KC)
drewp@bigasterisk.com
parents:
diff changeset
87 });
1ef921880e37 start fade (replaces KC)
drewp@bigasterisk.com
parents:
diff changeset
88 }
2213
22131be6639b add fps meter to fade UI
drewp@bigasterisk.com
parents: 2162
diff changeset
89 connectedCallback(): void {
22131be6639b add fps meter to fade UI
drewp@bigasterisk.com
parents: 2162
diff changeset
90 super.connectedCallback();
22131be6639b add fps meter to fade UI
drewp@bigasterisk.com
parents: 2162
diff changeset
91 }
2103
1ef921880e37 start fade (replaces KC)
drewp@bigasterisk.com
parents:
diff changeset
92
2331
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
93 compile() {
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
94 const U = this.graph.U();
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
95 this.fadePages = undefined;
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
96 const fadePages = new FadePages();
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
97 for (let page of this.graph.subjects(U("rdf:type"), U(":FadePage"))) {
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
98 const fp = new FadePage(page as NamedNode);
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
99 try {
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
100 for (let fader of this.graph.objects(page, U(":fader"))) {
2344
83135b0c8bba sort faders in a page by column
drewp@bigasterisk.com
parents: 2342
diff changeset
101 const colLit = this.graph.stringValue(fader, U(':column'))
2350
72c589cb96d1 looknig for a bug
drewp@bigasterisk.com
parents: 2349
diff changeset
102 fp.faderConfigs.push(new FaderConfig(fader as NamedNode, parseFloat(colLit)));
2331
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
103 }
2350
72c589cb96d1 looknig for a bug
drewp@bigasterisk.com
parents: 2349
diff changeset
104 fp.faderConfigs.sort((a, b) => {
2348
b98dc72978eb reformat
drewp@bigasterisk.com
parents: 2344
diff changeset
105 return a.column - (b.column);
2331
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
106 });
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
107 fadePages.pages.push(fp);
2348
b98dc72978eb reformat
drewp@bigasterisk.com
parents: 2344
diff changeset
108 } catch (e) { }
2331
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
109 }
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
110 fadePages.pages.sort((a, b) => {
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
111 return a.uri.value.localeCompare(b.uri.value);
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
112 });
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
113 this.fadePages = fadePages;
2342
81d5b6d97ed3 UI for picking the midi controlled page of faders
drewp@bigasterisk.com
parents: 2331
diff changeset
114 this.currentHwPage = undefined;
81d5b6d97ed3 UI for picking the midi controlled page of faders
drewp@bigasterisk.com
parents: 2331
diff changeset
115 try {
81d5b6d97ed3 UI for picking the midi controlled page of faders
drewp@bigasterisk.com
parents: 2331
diff changeset
116 const mc = this.graph.uriValue(U(":midiControl"), U(":map"));
81d5b6d97ed3 UI for picking the midi controlled page of faders
drewp@bigasterisk.com
parents: 2331
diff changeset
117 this.currentHwPage = this.graph.uriValue(mc, U(":outputs"));
2348
b98dc72978eb reformat
drewp@bigasterisk.com
parents: 2344
diff changeset
118 } catch (e) { }
2342
81d5b6d97ed3 UI for picking the midi controlled page of faders
drewp@bigasterisk.com
parents: 2331
diff changeset
119 }
2349
f7e564b42af3 new grandmaster scales all faders
drewp@bigasterisk.com
parents: 2348
diff changeset
120 compileGm() {
f7e564b42af3 new grandmaster scales all faders
drewp@bigasterisk.com
parents: 2348
diff changeset
121 const U = this.graph.U();
f7e564b42af3 new grandmaster scales all faders
drewp@bigasterisk.com
parents: 2348
diff changeset
122 this.grandMaster = undefined
f7e564b42af3 new grandmaster scales all faders
drewp@bigasterisk.com
parents: 2348
diff changeset
123 let newVal
f7e564b42af3 new grandmaster scales all faders
drewp@bigasterisk.com
parents: 2348
diff changeset
124 try {
f7e564b42af3 new grandmaster scales all faders
drewp@bigasterisk.com
parents: 2348
diff changeset
125
f7e564b42af3 new grandmaster scales all faders
drewp@bigasterisk.com
parents: 2348
diff changeset
126 newVal = this.graph.floatValue(U(':grandMaster'), U(':value'))
f7e564b42af3 new grandmaster scales all faders
drewp@bigasterisk.com
parents: 2348
diff changeset
127 } catch (e) {
f7e564b42af3 new grandmaster scales all faders
drewp@bigasterisk.com
parents: 2348
diff changeset
128 return
f7e564b42af3 new grandmaster scales all faders
drewp@bigasterisk.com
parents: 2348
diff changeset
129 }
f7e564b42af3 new grandmaster scales all faders
drewp@bigasterisk.com
parents: 2348
diff changeset
130 this.grandMaster = newVal;
f7e564b42af3 new grandmaster scales all faders
drewp@bigasterisk.com
parents: 2348
diff changeset
131
f7e564b42af3 new grandmaster scales all faders
drewp@bigasterisk.com
parents: 2348
diff changeset
132 }
f7e564b42af3 new grandmaster scales all faders
drewp@bigasterisk.com
parents: 2348
diff changeset
133 gmChanged(ev: CustomEvent) {
f7e564b42af3 new grandmaster scales all faders
drewp@bigasterisk.com
parents: 2348
diff changeset
134 const U = this.graph.U();
f7e564b42af3 new grandmaster scales all faders
drewp@bigasterisk.com
parents: 2348
diff changeset
135 const newVal = ev.detail.value
f7e564b42af3 new grandmaster scales all faders
drewp@bigasterisk.com
parents: 2348
diff changeset
136 // this.grandMaster = newVal;
f7e564b42af3 new grandmaster scales all faders
drewp@bigasterisk.com
parents: 2348
diff changeset
137 this.graph.patchObject(U(':grandMaster'), U(':value'), this.graph.LiteralRoundedFloat(newVal), this.ctx)
f7e564b42af3 new grandmaster scales all faders
drewp@bigasterisk.com
parents: 2348
diff changeset
138
f7e564b42af3 new grandmaster scales all faders
drewp@bigasterisk.com
parents: 2348
diff changeset
139 }
f7e564b42af3 new grandmaster scales all faders
drewp@bigasterisk.com
parents: 2348
diff changeset
140
2342
81d5b6d97ed3 UI for picking the midi controlled page of faders
drewp@bigasterisk.com
parents: 2331
diff changeset
141
81d5b6d97ed3 UI for picking the midi controlled page of faders
drewp@bigasterisk.com
parents: 2331
diff changeset
142 mapThisToHw(page: NamedNode) {
81d5b6d97ed3 UI for picking the midi controlled page of faders
drewp@bigasterisk.com
parents: 2331
diff changeset
143 const U = this.graph.U();
81d5b6d97ed3 UI for picking the midi controlled page of faders
drewp@bigasterisk.com
parents: 2331
diff changeset
144 log("map to hw", page);
81d5b6d97ed3 UI for picking the midi controlled page of faders
drewp@bigasterisk.com
parents: 2331
diff changeset
145 const mc = this.graph.uriValue(U(":midiControl"), U(":map"));
81d5b6d97ed3 UI for picking the midi controlled page of faders
drewp@bigasterisk.com
parents: 2331
diff changeset
146 this.graph.patchObject(mc, U(":outputs"), page, this.ctx);
2331
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
147 }
2103
1ef921880e37 start fade (replaces KC)
drewp@bigasterisk.com
parents:
diff changeset
148
2331
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
149 addPage() {
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
150 const U = this.graph.U();
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
151 const uri = this.graph.nextNumberedResource(showRoot + "/fadePage");
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
152 const adds = [
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
153 //
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
154 new Quad(uri, U("rdf:type"), U(":FadePage"), this.ctx),
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
155 new Quad(uri, U("rdfs:label"), N3.DataFactory.literal("unnamed"), this.ctx),
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
156 ];
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
157 for (let n = 1; n <= 8; n++) {
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
158 const f = this.graph.nextNumberedResource(showRoot + "/fader");
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
159 const s = this.graph.nextNumberedResource(showRoot + "/faderset");
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
160 adds.push(new Quad(uri, U(":fader"), f, this.ctx));
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
161 adds.push(new Quad(f, U("rdf:type"), U(":Fader"), this.ctx));
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
162 adds.push(new Quad(f, U(":column"), N3.DataFactory.literal("" + n), this.ctx));
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
163 adds.push(new Quad(f, U(":setting"), s, this.ctx));
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
164 adds.push(new Quad(s, U(":effectAttr"), U(":strength"), this.ctx));
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
165 adds.push(new Quad(s, U(":value"), this.graph.LiteralRoundedFloat(0), this.ctx));
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
166 }
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
167 this.graph.applyAndSendPatch(new Patch([], adds));
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
168 }
b09ff4b0094c faders in pages now
drewp@bigasterisk.com
parents: 2330
diff changeset
169 }