diff options
| author | jules <jules@okfoc.us> | 2013-12-17 00:59:09 -0500 |
|---|---|---|
| committer | jules <jules@okfoc.us> | 2013-12-17 00:59:09 -0500 |
| commit | 3da68fca2d9952a5d7a245d84d34eb22fd52cab0 (patch) | |
| tree | 04449dc94c837760d9b560e211948478e2d1c7b6 /js/vendor/gif-encode/client.js | |
| parent | ac9718afa2a3f9066862ccca87bb168222e4f442 (diff) | |
spew progress messages
Diffstat (limited to 'js/vendor/gif-encode/client.js')
| -rw-r--r-- | js/vendor/gif-encode/client.js | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/js/vendor/gif-encode/client.js b/js/vendor/gif-encode/client.js index 128c93d..8116bf0 100644 --- a/js/vendor/gif-encode/client.js +++ b/js/vendor/gif-encode/client.js @@ -18,11 +18,14 @@ var DO_UPLOAD = true; function GifEncoder(){ var base = this; - this.working = false; + this.working = false; var canvases = []; var contexts = []; var frames = []; var delays = []; + var width = 0; + var height = 0; + var frames_done = 0; var initted = Date.now(); var started = Date.now(); @@ -38,12 +41,7 @@ function GifEncoder(){ workers.hire("encode", receiveEncode); var reset = this.reset = function(){ - canvases = []; - contexts = []; - frames = []; - delays = []; - width = 0; - height = 0; + resetFrames() neuquant = null; colortab = null; base.quantized = false @@ -55,8 +53,9 @@ function GifEncoder(){ delays = []; width = 0; height = 0; + frames_done = 0; } - + this.on = function(){ base.tube.on.apply(base.tube, arguments) }; @@ -70,7 +69,7 @@ function GifEncoder(){ canvases.push(canvas); contexts.push(ctx); delays.push(delay); - + if (canvases.length == 1) { width = canvas.width; height = canvas.height; @@ -144,8 +143,9 @@ function GifEncoder(){ var encode = this.encode = function (nq, ct) { nq = nq || neuquant ct = ct || colortab - + started = Date.now(); + frames_done = 0; console.log('working .... '); var i = 0; @@ -156,7 +156,7 @@ function GifEncoder(){ var ctx = contexts[i]; var imdata = ctx.getImageData(0, 0, width, height).data; var delay = delays[i]; - + workers.work({ task: 'encode', frame_index: i, @@ -173,8 +173,7 @@ function GifEncoder(){ setTimeout(sendWork, 16); } function doneSending(){ - base.tube("doneSending") - // ui.doneEncodingPicture(); + base.tube("done_sending") } sendWork(); } @@ -182,8 +181,10 @@ function GifEncoder(){ function receiveEncode(e){ var frame_index = e.data["frame_index"]; var frame_data = e.data["frame_data"]; - + frames[frame_index] = frame_data; + + base.tube("encoded-frame", frames.length, canvases.length) for (var j = 0; j < canvases.length; j++) { if (frames[j] == null) { return; @@ -193,7 +194,7 @@ function GifEncoder(){ var binary_gif = frames.join(''); var base64_gif = window.btoa(binary_gif); var data_url = 'data:image/gif;base64,'+base64_gif; - + base.working = false; // photo.setAttribute('src', data_url); |
