Ignore:
Timestamp:
2013-10-29T13:27:04+13:00 (10 years ago)
Author:
davidb
Message:

Changes after developing the demo for the SMAM-2013 keynote talk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • gs3-extensions/web-audio/trunk/js-dsp/frequency-plotter.js

    r28388 r28548  
    3535    this.ctx = canvas.getContext('2d');
    3636    this.label_ctx = label_canvas.getContext('2d');
     37    this.canvas_saved_img = null;
     38
     39    var image_server_url = "http://localhost:8181/greenstone3/cgi-bin/image-server.pl?a=load&c="+gs.cgiParams.c
     40    +"&d="+gs.cgiParams.d+"&site="+gs.xsltParams.site_name;
     41    var canvas_load_data = { a: "load",
     42                 d: gs.cgiParams.d,
     43                 c: gs.cgiParams.c,
     44                 site: gs.xsltParams.site_name };
     45
     46    var outerThis = this;
     47    var jqxhr = $.ajax(image_server_url)
     48    .done(function(imagedata) {
     49        var check_prefix = imagedata.toString().substring(0, 5);
     50        if (check_prefix == "data:") {
     51        console.log("Loaded in previously stored self-similarity map");
     52        outerThis.canvas_saved_img = document.createElement("img");
     53        outerThis.canvas_saved_img.src = imagedata;
     54        }
     55    })
     56    .fail(function() {
     57        console.log("No currently stored self-similarity map for this document");
     58    });
     59
    3760
    3861    this.plotMapping[activeWorkflow.chromaCpt.transformMode](this);
     
    4164    this.prevXLineMaxArray = null;
    4265    this.plottedDataBuffer = new Array();
     66
     67    this.printedOutOfDataWarning = false;
    4368
    4469};
     
    182207    }
    183208    else {
    184     console.error("FrequencyPlotter::plotVisualLine(): No data to play for event time: " + eventTime);
     209    if (!this.printedOutOfDataWarning) {
     210        console.error("FrequencyPlotter::plotVisualLine(): No data to play for event time: " + eventTime + "\n"
     211              + "(Supressing subsequent error messages of this type)");
     212        this.printedOutOfDataWarning = true;
     213    }
     214
    185215    }
    186216
     
    230260
    231261
     262FrequencyPlotter.prototype.hasStoredSelfSimilarityMatrix  = function() {
     263    return this.canvas_saved_img != null;
     264}
     265
     266FrequencyPlotter.prototype.plotStoredSelfSimilarityMatrix  = function() {
     267
     268    this.ctx.drawImage(this.canvas_saved_img,0,0);
     269    //var img_data    = canvas.toDataURL("image/png");
     270}
     271
    232272
    233273FrequencyPlotter.prototype.plotSelfSimilarityMatrix  = function(ssm,pausePerc) {
     
    236276    var num_frames = ssm.length;
    237277
     278    console.log("plotSelfSimilarityMatrex: num_frames = " + num_frames + ", pausePerc = " + pausePerc);
    238279    var activeWidth  = this.fudgeWidth * pausePerc;
    239280    var activeHeight = this.height * pausePerc;
     
    241282    var x_scale = activeWidth / num_frames;
    242283    var y_scale = activeHeight / num_frames;
    243 
    244284    var x_width  = Math.ceil(x_scale);
    245285    var y_height = Math.ceil(y_scale);
     
    282322    else {
    283323        outerThis.progress = 100;
     324
     325        if ((jsMadProcessing == null) ||
     326        ((jsMadProcessing != null) && jsMadProcessing.processingFinished())) {
     327
     328        var canvas = document.getElementById("freq-plot" );
     329        var img_data    = canvas.toDataURL("image/png");
     330
     331        outerThis.canvas_saved_img = document.createElement("img");
     332        outerThis.canvas_saved_img.src = img_data;
     333
     334
     335        var image_server_url = "http://localhost:8181/greenstone3/cgi-bin/image-server.pl";
     336
     337        var canvas_save_data = { a: "save",
     338                     d: gs.cgiParams.d,
     339                     c: gs.cgiParams.c,
     340                     site: gs.xsltParams.site_name,
     341                     imagedata: img_data };
     342
     343        $.post(image_server_url, canvas_save_data).done(function( data ) {
     344            console.log( "Image data saved " );
     345        });
     346/*
     347        $.ajax({
     348            type: "POST",
     349            url: url,
     350            data: { "a" : "save" }
     351            success: success,
     352            dataType: dataType
     353        });
     354*/
     355
     356        console.log("Done save");
     357
     358        }   
    284359    }
    285360    })(this);
Note: See TracChangeset for help on using the changeset viewer.