From 2d19bd5bcfc93691d2ca7adea027d9da228b935e Mon Sep 17 00:00:00 2001 From: Luminar Light <18116946+PlasmaLight@users.noreply.github.com> Date: Wed, 25 Dec 2019 11:10:42 +0100 Subject: [PATCH 1/3] Change generated wav name With this change, the name of the generated wav of track 1 of 'dan2' will be called 'dan2-1.wav', instead of 'dan21.wav'. --- gamefile_reader.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gamefile_reader.html b/gamefile_reader.html index 3136c4c..27debb0 100644 --- a/gamefile_reader.html +++ b/gamefile_reader.html @@ -484,7 +484,7 @@ player.play(); let buf = await ctx.startRendering(); - saveAs(new Blob([to_wav(buf)], {type:'audio/wav'}), sbv2.tag + i + ".wav"); + saveAs(new Blob([to_wav(buf)], {type:'audio/wav'}), sbv2.tag + "-" + i + ".wav"); }); contentelem.appendChild(savewav_button); From d3429f9718b40c50f3ff552b453408342579b4ae Mon Sep 17 00:00:00 2001 From: Luminar Light <18116946+PlasmaLight@users.noreply.github.com> Date: Wed, 25 Dec 2019 14:09:08 +0100 Subject: [PATCH 2/3] Revert "Change generated wav name" This reverts commit 2d19bd5bcfc93691d2ca7adea027d9da228b935e. --- gamefile_reader.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gamefile_reader.html b/gamefile_reader.html index 27debb0..3136c4c 100644 --- a/gamefile_reader.html +++ b/gamefile_reader.html @@ -484,7 +484,7 @@ player.play(); let buf = await ctx.startRendering(); - saveAs(new Blob([to_wav(buf)], {type:'audio/wav'}), sbv2.tag + "-" + i + ".wav"); + saveAs(new Blob([to_wav(buf)], {type:'audio/wav'}), sbv2.tag + i + ".wav"); }); contentelem.appendChild(savewav_button); From 817f60bf3eb05cb13cc0fe1b58495ddd31f1bc8e Mon Sep 17 00:00:00 2001 From: Luminar Light <18116946+PlasmaLight@users.noreply.github.com> Date: Wed, 25 Dec 2019 14:10:01 +0100 Subject: [PATCH 3/3] Wav export improvements Added a way to change loop count for exported wav file. Added a way to change length of silence at the end of th exported wav file. --- gamefile_reader.html | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/gamefile_reader.html b/gamefile_reader.html index 3136c4c..4b0f846 100644 --- a/gamefile_reader.html +++ b/gamefile_reader.html @@ -403,6 +403,22 @@ contentelem.appendChild(document.createTextNode("Reverb")); contentelem.appendChild(document.createElement("br")); + let loop_count = document.createElement("input"); + loop_count.type = "number"; + loop_count.min = 1; + loop_count.value = 1; + contentelem.appendChild(document.createTextNode("Loop count: ")); + contentelem.appendChild(loop_count); + contentelem.appendChild(document.createTextNode("\t")); + + let silence_seconds = document.createElement("input"); + silence_seconds.type = "number"; + silence_seconds.min = 0; + silence_seconds.value = 0; + contentelem.appendChild(document.createTextNode("Seconds of silence at end: ")); + contentelem.appendChild(silence_seconds); + contentelem.appendChild(document.createElement("br")); + function calc_channel_mask() { let mask = 0; for(let i = 0; i < 16; i++) { @@ -476,9 +492,9 @@ let buf = await ctx.startRendering(); saveAs(new Blob([to_wav(buf)], {type:'audio/wav'}), sbv2.tag + i + "_" + chan + ".wav"); }*/ - let ctx = new OfflineAudioContext(2, (track.seconds + 5)*48000, 48000); + let ctx = new OfflineAudioContext(2, (track.seconds+silence_seconds.value/loop_count.value)*48000*loop_count.value, 48000); - let player = new MidiPlayer(sbv2, track, ctx); + let player = new MidiPlayer(sbv2, track, ctx, loop_count.value); player.channel_mask = calc_channel_mask(); player.reverb_enabled = reverb_toggle.checked; player.play(); @@ -837,7 +853,7 @@ } class MidiPlayer { - constructor(sbv2, track, ctx) { + constructor(sbv2, track, ctx, loop = 1) { this.sbv2 = sbv2; this.track = track; this.ctx = ctx; @@ -845,7 +861,7 @@ this.convolver_node = this.ctx.createConvolver(); this.convolver_node.connect(ctx.destination); this.convolver_node.buffer = convolver_buffer; - this.loops_left = 1; + this.loops_left = loop; } else { this.convolver_node = convolver_node; this.loops_left = Infinity;