author | Tero Marttila <terom@paivola.fi> |
Thu, 01 May 2014 23:55:53 +0300 | |
changeset 85 | ee05d89bde77 |
parent 83 | 136e210fce82 |
permissions | -rw-r--r-- |
85 | 1 |
/* |
2 |
* Get current value for given head/attr. |
|
3 |
* |
|
4 |
* Returns undefined if no such attr. |
|
5 |
*/ |
|
83
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
6 |
function dmx_input (head, attr) { |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
7 |
var value = $('.dmx-input#' + head + '-' + attr).val(); |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
8 |
|
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
9 |
if (value == undefined ) |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
10 |
return undefined; |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
11 |
|
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
12 |
if (value == "") |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
13 |
return 0; // default |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
14 |
|
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
15 |
return parseInt(value); |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
16 |
} |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
17 |
|
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
18 |
/* |
85 | 19 |
* Update current output value. |
20 |
*/ |
|
21 |
function dmx_update (input) { |
|
22 |
var name = input.attr('name'); |
|
23 |
var value = input.val(); |
|
24 |
||
25 |
console.log("dmx_update: " + name + ": " + value); |
|
26 |
||
27 |
var data = { }; data[name] = value; |
|
28 |
||
29 |
$.ajax({ |
|
30 |
type: 'POST', |
|
31 |
data: data, |
|
32 |
}); |
|
33 |
} |
|
34 |
||
35 |
/* |
|
83
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
36 |
* Update color for head. |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
37 |
*/ |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
38 |
function dmx_color (head) { |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
39 |
var alpha = dmx_input(head, 'alpha'); |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
40 |
|
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
41 |
if (alpha) |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
42 |
alpha = alpha / 255; |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
43 |
|
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
44 |
$('.dmx-color#' + head + '-color').background_color( |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
45 |
dmx_input(head, 'red') / 255, |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
46 |
dmx_input(head, 'green') / 255, |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
47 |
dmx_input(head, 'blue') / 255, |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
48 |
alpha |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
49 |
); |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
50 |
} |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
51 |
|
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
52 |
/* |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
53 |
* Update slider from <input>. |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
54 |
*/ |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
55 |
function _slider_input (input, slider) { |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
56 |
var value; |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
57 |
|
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
58 |
if (input.val()) |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
59 |
value = parseInt(input.val()); |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
60 |
else |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
61 |
value = 0; |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
62 |
|
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
63 |
slider.slider('value', value); |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
64 |
} |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
65 |
|
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
66 |
/* |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
67 |
* Bind given <input> to given slider. |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
68 |
*/ |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
69 |
function slider_input (input, slider) { |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
70 |
// bind |
85 | 71 |
input.change(function () { |
72 |
dmx_update(input); |
|
73 |
_slider_input(input, slider); |
|
74 |
}); |
|
83
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
75 |
|
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
76 |
// initialize |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
77 |
_slider_input(input, slider); |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
78 |
} |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
79 |
|
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
80 |
$(function () { |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
81 |
$('.dmx-input').each(function () { |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
82 |
var attr = this.id; |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
83 |
var head = attr.split('-', 1)[0]; |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
84 |
var input = $(this); |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
85 |
var slider = $('.dmx-slider#' + attr + '-slider'); |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
86 |
var color = $('.dmx-color#' + head + '-color'); |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
87 |
|
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
88 |
// slider control |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
89 |
slider.slider({ |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
90 |
orientation: 'horizontal', |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
91 |
range: 'min', |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
92 |
min: 0, |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
93 |
max: 255, |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
94 |
|
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
95 |
slide: function () { |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
96 |
var value = slider.slider('value'); |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
97 |
|
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
98 |
// update input |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
99 |
input.val(value.toString()); |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
100 |
|
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
101 |
if (color) { |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
102 |
// update color value |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
103 |
dmx_color(head); |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
104 |
} |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
105 |
|
85 | 106 |
// send output |
107 |
dmx_update(input); |
|
83
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
108 |
}, |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
109 |
}); |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
110 |
|
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
111 |
// update slider from <input> |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
112 |
slider_input(input, slider); |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
113 |
|
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
114 |
// init |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
115 |
if (color) { |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
116 |
dmx_color(head); |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
117 |
} |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
118 |
}); |
136e210fce82
qmsk.dmx: new Head-based model/view; output/updates not yet implemented
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
119 |
}); |