Changeset 36862


Ignore:
Timestamp:
2022-10-22T23:58:58+13:00 (18 months ago)
Author:
davidb
Message:

First, but admittedly crude, ajax ability to do AV recommendation

Location:
gs3-installations/mars/trunk/sites/mars/collect/amc-essentia
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • gs3-installations/mars/trunk/sites/mars/collect/amc-essentia/etc/collectionConfig.xml

    r36861 r36862  
    605605        </button>
    606606
    607         <!--
    608         <button class="btn btn-primary" data-action="play">
     607       
     608        <button class="btn btn-primary" data-action="play" style="display: none;">
    609609                  <i class="glyphicon glyphicon-play"></i>
    610610                  Play /
     
    612612                  Pause
    613613        </button>
    614         -->
     614       
    615615       
    616616        <button class="btn btn-primary" onclick="AVPlayPause()">
     
    634634     
    635635      document.addEventListener('DOMContentLoaded', function() {
    636         postInitWavesurfer(wavesurfer);
    637 /*   
     636        //postInitWavesurfer(wavesurfer);
     637     
    638638        // Load audio from URL
    639639        wavesurfer.load(gs.variables.mp3url);
     
    656656          }
    657657          });
    658 */       
     658         
    659659      });
    660660    </gsf:script>
     
    721721                Based on the start of this musical/sound art work:
    722722                  </span>
    723                   <input onclick="preSubmit(this.form);" type="submit" value="Make Arousal-Valence Recommendations"/>
     723                  <input onclick="return preSubmit(this.form);" type="submit" value="Make Arousal-Valence Recommendations"/>
    724724                </div>
    725725               
     
    732732                </div>
    733733              </form>
     734              <div id="resultsAreaDiv">
     735               
     736                <xsl:text> </xsl:text>
     737              </div>
    734738              <hr/>
    735739              <!--
  • gs3-installations/mars/trunk/sites/mars/collect/amc-essentia/js/av_document.js

    r36861 r36862  
    2727    */
    2828   
    29     function preSubmit(form)
    30     {
    31       // Note, the Arousal and Valence feature window values used is:
    32       //   6 secs + 50% overlap
    33       // So the Weka computed AV values are spaced out:
    34       //   6s, 9s, 12s, ...
    35 
    36       // clamp to ensure >= 6.0 secs
    37       var current_time = Math.max(6.0,wavesurfer.getCurrentTime());
    38 
    39       wavesurfer.pause();
    40 
    41       weka_segment = Math.round(current_time/3) * 3;
    42       form.elements["s1.offset"].value = weka_segment;
    43      
    44       var arousal_val = parseFloat($('#arousal-val').text());
    45       var valence_val = parseFloat($('#valence-val').text());
    46 
    47       //console.log("arousal val = " + arousal_val);
    48       //console.log("valence val = " + valence_val);
    49 
    50       form.elements["s1.arousal"].value = arousal_val;
    51       form.elements["s1.valence"].value = valence_val;
    52      
     29function preSubmit(form)
     30{
     31    // Note, the Arousal and Valence feature window values used is:
     32    //   6 secs + 50% overlap
     33    // So the Weka computed AV values are spaced out:
     34    //   6s, 9s, 12s, ...
     35   
     36    // clamp to ensure >= 6.0 secs
     37    var current_time = Math.max(6.0,wavesurfer.getCurrentTime());
     38   
     39    wavesurfer.pause();
     40   
     41    weka_segment = Math.round(current_time/3) * 3;
     42    form.elements["s1.offset"].value = weka_segment;
     43   
     44    var arousal_val = parseFloat($('#arousal-val').text());
     45    var valence_val = parseFloat($('#valence-val').text());
     46   
     47    form.elements["s1.arousal"].value = arousal_val;
     48    form.elements["s1.valence"].value = valence_val;
     49   
    5350
    5451    /*
     
    6259      var frameLength = Math.round(lengthInSecs*1000/250.0);
    6360      form.elements["s1.length"].value = frameLength;
    64       */
    65       return true;
    66     }
     61    */
    6762
    6863
    69 /*
     64    // trigger AJAX call
     65    // a=q&sa=&rt=rd&s=AudioQuery&c=amc-essentia&startPage=1&s1.maxDocs=3&s1.hitsPerPage=3&q=ds_63309_22230&s1.query=ds_63309_22230&s1.offset=30&s1.length=200&s1.arousal=-0.013&s1.valence=0.001
    7066
    71 var currentPosIsZero = true;
     67    var args = {
     68    "a":  "q",
     69    "rt": "rd",
     70    "s": "AudioQuery",
     71    "sa": "",
     72    "c":  gs.cgiParams["c"],
     73    "q":  gs.cgiParams["d"],
     74    "s1.query":       gs.cgiParams["d"],
     75    "s1.maxDocs":     form.elements["s1.maxDocs"].value,
     76    "s1.hitsPerPage": form.elements["s1.hitsPerPage"].value,
     77    "s1.offset":      form.elements["s1.offset"].value,
     78    "s1.length":      form.elements["s1.length"].value,
     79    "s1.arousal": arousal_val,
     80    "s1.valence": valence_val,
     81    "startPage": 1,
     82    "excerptid": "resultsArea"
     83    };
    7284
    73 document.addEventListener('DOMContentLoaded', function() {
    74     // Load audio from URL
    75     wavesurfer.load(gs.variables.mp3url);
     85
     86    var argsFixed = {
     87    "a": "q",
     88    "rt": "rd",
     89    "s": "AudioQuery",
     90    "sa": "",
     91    "c": "amc-essentia",
     92    "startPage": 1,
     93    "s1.maxDocs": 3,
     94    "s1.hitsPerPage": 3,
     95    "q": "ds_63309_22230",
     96    "s1.query": "ds_63309_22230",
     97    "s1.offset": 30,
     98    "s1.length": 200,
     99    "s1.arousal": -0.013,
     100    "s1.valence": 0.001,
     101    "excerptid" : "resultsArea"
     102    };
    76103   
    77     wavesurfer.on('audioprocess', function () {
    78     var current_time = wavesurfer.getCurrentTime();
    79     var current_time_rounded = Math.round(current_time * 10) / 10
    80           var current_time_rounded = current_time.toFixed(1);
    81     $('#audioCurrentPos').html(current_time_rounded + " secs");
     104    var url = "https://mars.so-we-must-think.space/greenstone3/library";
     105   
     106    $.ajax({
     107    method: "GET",
     108    url: url,
     109    data: args
     110    })
     111    .done(function( msg ) {
     112        $('#resultsAreaDiv').html(msg);
     113    //alert( "Data Saved: " + msg );
     114    });
    82115
    83     if (current_time == 0) {
    84         currentPosIsZero = true;
    85         $('#makeRecommendationFrom').html("Based on the start of this musical/sound art work: ");
    86     }
    87     else if (currentPosIsZero) {
    88             currentPosIsZero = false;
    89         $('#makeRecommendationFrom').html("Based on the current timeline position of this musical/sound art work: ");
    90     }
    91     });     
    92 });
    93 */
     116    // stop submit
     117    return false;
     118
     119    //return true;
     120}
     121
    94122
    95123var currentPosIsZero = true;
Note: See TracChangeset for help on using the changeset viewer.