04-02-2019, 11:03 AM
(04-02-2019, 10:57 AM)theboiidonitello Wrote:(04-14-2018, 09:55 PM)dfhwze Wrote: 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);
}
},
In the console of your browser, copy-paste the code, and press enter while on the Online Sequencer tab.