Online Sequencer Forums

Full Version: Offline Sequencer
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3
http://onlinesequencer.net/OfflineSequencer.zip

I only made this because I got bored and it probably doesn't work, but someone might find it useful. Its a single file that has the whole website in; open it and you can compose things without the need for internet access! Save your work to a local file and you can later load it in either the offline or online version.
Noice
Amazing!
Are we allowed to try to add some tools to it and reupload?

edit: my song reversal tool is available \o/

Code:
'reverse': {
           name: 'Reverse',
           action: function () {
               var reverseNotes = function (measureLength) {
                   /* get time index of last note that ends */
                   var lastNoteEndExact = 0;
                   for (i = 0; i < song.notes.length; i++) {
                       var note = song.notes[i];
                       if (isNumber(note.time) && isNumber(note.length) && note.time + note.length > lastNoteEndExact) {
                           lastNoteEndExact = note.time + note.length;
                       }
                   }
                   /* determine time index of end of song based on last note and grid measures */
                   var lastNoteEnd = Math.floor(lastNoteEndExact);
                   var songEnd = lastNoteEnd - lastNoteEnd % measureLength;
                   songEnd += lastNoteEndExact > songEnd ? measureLength : 0;
                   /* reverse all notes in time */
                   for (i = 0; i < song.notes.length; i++) {
                       var note = song.notes[i];
                       if (isNumber(note.time) && isNumber(note.length)) {
                           var newTime = songEnd - note.time - note.length;
                           song.moveNote(
                                    note,
                                    note.instrument,
                                    note.instrument,
                                    note.time,
                                    newTime,
                                    note.type,
                                    note.type);
                           song.update(note);
                       }
                   }
                   keySelect.selectedIndex = 0;
                   keySelect.onchange();
               }
               /* grid measure is by default 16 (4 beats of 4 '1/4th' notes) */
               /* TODO calculate measureLength from current grid settings */
               reverseNotes(16);
           }
       },
Pinning. It's about time.
Thank you
***** yes.
one bug i have noticed is that when you import local file, it doesnt play the sounds
jacob is the best
can you please re edit offline sequencer to have the new guitar?
Pages: 1 2 3