Ignore:
Timestamp:
2015-05-16T10:45:00+12:00 (9 years ago)
Author:
davidb
Message:

Notes played stored in LocalStorage. Game On view area shows the events for a hard-wired track name

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/model-sites-dev/respooled/collect/popup-video-respooled/js/media-player.js

    r29883 r29885  
    2626
    2727var recordedNotesArray = null;
     28
     29var hasLocalStorage = (typeof(Storage) !== "undefined");
    2830
    2931function initialiseMediaPlayer() {
     
    150152    var formattedTime = convertSecsToTimeStr(currentTime);
    151153    $('#mediaPlayerCurrentTime').html(formattedTime);
     154
     155    updateGameOnCurrentTimeline();
    152156}
    153157
     
    304308    }
    305309    else {
    306     console.log("**** Saving under name '" + save_name +"': " + JSON.stringify(recordedNotesArray));
     310
     311    if (hasLocalStorage) {
     312        var docOID = gs.cgiParams.d;
     313
     314        var docStorageStr = localStorage.getItem(docOID);
     315        var docStorage = (docStorageStr != null) ? eval("("+docStorageStr+")") : {palTracks:{}, popTracks:{}};
     316
     317        var palTracks = docStorage.palTracks;
     318       
     319        // Make timing information relative to ba base value
     320        var num_rec_notes = recordedNotesArray.length;
     321
     322        var base_time_sct  = recordedNotesArray[0].startCurrentTime;
     323        var base_time_mnon = recordedNotesArray[0].midiNoteOn;
     324        var base_time_moff = recordedNotesArray[0].midiNoteOff;
     325        var base_time_spt  = recordedNotesArray[0].startPercTime;
     326
     327        for (var i=0; i<num_rec_notes; i++) {
     328        recordedNotesArray[i].startCurrentTime -= base_time_sct;
     329        recordedNotesArray[i].midiNoteOn       -= base_time_mnon;
     330        recordedNotesArray[i].midiNoteOff      -= base_time_moff;
     331        recordedNotesArray[i].startPercTime    -= base_time_spt;
     332        }
     333
     334        palTracks[save_name] = [ { name: save_name + " 1", baseCTime: base_time_sct, events: recordedNotesArray } ]
     335
     336        console.log("Storing " + num_rec_notes + " recorded notes as layer '" + save_name +"'");
     337        console.log("**** saved: " + JSON.stringify(palTracks[save_name]));
     338
     339        localStorage.setItem(docOID, JSON.stringify(docStorage));
     340    }
     341    else {
     342        console.log("Warning: unable to save '" + save_name +"' as browser does not support LocalStorage");
     343    }
     344
    307345
    308346    var $dialog = $('#save-recording-popup');
    309 
    310347    $dialog.dialog( "close" );
    311348    }
Note: See TracChangeset for help on using the changeset viewer.