Offline Sequencer
#11

jacob, theres no sound ;-;
Reply
#12

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
Reply
#13

(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().

Kim Wrote:https://js-game.glitch.me + Doesnt take peopel serious if their has badly speling gramer puntuatin
Reply
#14

life is good :D

You Don't Know the Pwner of the Dark Side of Politics.
Reply
#15

(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.
Reply
#16

Is there a way to add the "new" Eguitar with code in this?

Please send me any songs you would like feedback or editing on the messager in the Online Sequencer


My YouTube channel:
https://m.youtube.com/watch?v=2z20gPO-Hdk

My music:
Reply
#17

omg thanks dfh, i am berry thankful for that reverse code

bek
Reply
#18

(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?
Reply
#19

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();
Reply
#20

(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);
           }
       },
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)
Expand chat