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 4 5 6
jacob, theres no sound ;-;
As you said there's a single file. It's just a very big HTML file without directories and folders. 
Such a big HTML file I don't even dare to open. If there was folders with notes I could maybe
download new notes and instruments myself. And if there was some bad sounding notes I
could make my own. However this is not a functional offline sequencer. Please try again? Smile
(04-14-2018, 09:55 PM)dfhwze Wrote: [ -> ]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);
           }
       },
Why does this need to be a new object, why can't it be a function object? reverse.action() is much more lengthy than reverse().
life is good :D
(06-01-2018, 12:56 PM)Frank Wrote: [ -> ]
(04-14-2018, 09:55 PM)dfhwze Wrote: [ -> ]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);
           }
       },
Why does this need to be a new object, why can't it be a function object? reverse.action() is much more lengthy than reverse().

It's consistent with the Tools menu items of the sequencer program.
Is there a way to add the "new" Eguitar with code in this?
omg thanks dfh, i am berry thankful for that reverse code
(04-01-2019, 02:11 PM)Sir_Guy Wrote: [ -> ]Is there a way to add the "new" Eguitar with code in this?

Is there a new instrument?
Update for the Online Sequencer:

Reverse Tool ->

Code:
menus[2].items.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);
          }
      };

       menuContainer = $('#menubar_menus');
        menuContainer.empty();

        for (var i = 0; i < menus.length; i++) {
            (function(i) {
                var menu = menus[i];
                var menuTitle = menu.name
                var menuElement = $('<div id="menu_' + menu.name + '" class="menu_title">' + menu.name + '</div>');
                createMenuPopup(menuElement, menuElement, menu);
                menuContainer.append(menuElement);
            })(i);
        }

createMenus();
(04-14-2018, 09:55 PM)dfhwze Wrote: [ -> ]Wink hey p.s. im severely stupid so can you explain how to plug this script in?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);
           }
       },
Pages: 1 2 3 4 5 6