Spaces:
Running
Running
Deploy blipwren-music to the hub
Browse filesThis view is limited to 50 files because it contains too many changes. See raw diff
- .gitattributes +25 -0
- blipwren-music/app.js +196 -0
- blipwren-music/audio/free/boss_lose.wav +3 -0
- blipwren-music/audio/free/dungeon_deep_cave.wav +3 -0
- blipwren-music/audio/free/overworld_meadow_run.wav +3 -0
- blipwren-music/audio/free/overworld_win.wav +3 -0
- blipwren-music/audio/preview/boss_arena_clash.mp3 +0 -0
- blipwren-music/audio/preview/boss_chase_sequence.mp3 +0 -0
- blipwren-music/audio/preview/boss_final_guardian.mp3 +0 -0
- blipwren-music/audio/preview/boss_lose.mp3 +0 -0
- blipwren-music/audio/preview/boss_start.mp3 +0 -0
- blipwren-music/audio/preview/boss_win.mp3 +0 -0
- blipwren-music/audio/preview/dungeon_crypt_steps.mp3 +3 -0
- blipwren-music/audio/preview/dungeon_deep_cave.mp3 +3 -0
- blipwren-music/audio/preview/dungeon_lose.mp3 +0 -0
- blipwren-music/audio/preview/dungeon_ruin_echoes.mp3 +3 -0
- blipwren-music/audio/preview/dungeon_start.mp3 +0 -0
- blipwren-music/audio/preview/dungeon_win.mp3 +0 -0
- blipwren-music/audio/preview/night_firefly_path.mp3 +3 -0
- blipwren-music/audio/preview/night_lofi_pixels.mp3 +3 -0
- blipwren-music/audio/preview/night_lose.mp3 +0 -0
- blipwren-music/audio/preview/night_moonlit_lake.mp3 +3 -0
- blipwren-music/audio/preview/night_start.mp3 +0 -0
- blipwren-music/audio/preview/night_win.mp3 +0 -0
- blipwren-music/audio/preview/overworld_lose.mp3 +0 -0
- blipwren-music/audio/preview/overworld_meadow_run.mp3 +3 -0
- blipwren-music/audio/preview/overworld_open_road.mp3 +3 -0
- blipwren-music/audio/preview/overworld_sky_hopper.mp3 +0 -0
- blipwren-music/audio/preview/overworld_start.mp3 +0 -0
- blipwren-music/audio/preview/overworld_win.mp3 +0 -0
- blipwren-music/audio/preview/puzzle_bubble_pop.mp3 +3 -0
- blipwren-music/audio/preview/puzzle_clockwork.mp3 +3 -0
- blipwren-music/audio/preview/puzzle_lose.mp3 +0 -0
- blipwren-music/audio/preview/puzzle_start.mp3 +0 -0
- blipwren-music/audio/preview/puzzle_tile_logic.mp3 +3 -0
- blipwren-music/audio/preview/puzzle_win.mp3 +0 -0
- blipwren-music/audio/preview/space_lose.mp3 +0 -0
- blipwren-music/audio/preview/space_orbit_drift.mp3 +3 -0
- blipwren-music/audio/preview/space_signal_lost.mp3 +3 -0
- blipwren-music/audio/preview/space_star_patrol.mp3 +3 -0
- blipwren-music/audio/preview/space_start.mp3 +0 -0
- blipwren-music/audio/preview/space_win.mp3 +0 -0
- blipwren-music/audio/preview/title_lose.mp3 +0 -0
- blipwren-music/audio/preview/title_main_menu.mp3 +3 -0
- blipwren-music/audio/preview/title_options_screen.mp3 +3 -0
- blipwren-music/audio/preview/title_press_start.mp3 +3 -0
- blipwren-music/audio/preview/title_start.mp3 +0 -0
- blipwren-music/audio/preview/title_win.mp3 +0 -0
- blipwren-music/audio/preview/town_inn_fireside.mp3 +3 -0
- blipwren-music/audio/preview/town_item_shop.mp3 +3 -0
.gitattributes
CHANGED
|
@@ -399,3 +399,28 @@ brand/recall-brief/cover.png filter=lfs diff=lfs merge=lfs -text
|
|
| 399 |
brand/recall-brief/image-1-output.png filter=lfs diff=lfs merge=lfs -text
|
| 400 |
brand/recall-brief/image-2-shot.png filter=lfs diff=lfs merge=lfs -text
|
| 401 |
brand/recall-brief/image-3-inside.png filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 399 |
brand/recall-brief/image-1-output.png filter=lfs diff=lfs merge=lfs -text
|
| 400 |
brand/recall-brief/image-2-shot.png filter=lfs diff=lfs merge=lfs -text
|
| 401 |
brand/recall-brief/image-3-inside.png filter=lfs diff=lfs merge=lfs -text
|
| 402 |
+
blipwren-music/audio/free/boss_lose.wav filter=lfs diff=lfs merge=lfs -text
|
| 403 |
+
blipwren-music/audio/free/dungeon_deep_cave.wav filter=lfs diff=lfs merge=lfs -text
|
| 404 |
+
blipwren-music/audio/free/overworld_meadow_run.wav filter=lfs diff=lfs merge=lfs -text
|
| 405 |
+
blipwren-music/audio/free/overworld_win.wav filter=lfs diff=lfs merge=lfs -text
|
| 406 |
+
blipwren-music/audio/preview/dungeon_crypt_steps.mp3 filter=lfs diff=lfs merge=lfs -text
|
| 407 |
+
blipwren-music/audio/preview/dungeon_deep_cave.mp3 filter=lfs diff=lfs merge=lfs -text
|
| 408 |
+
blipwren-music/audio/preview/dungeon_ruin_echoes.mp3 filter=lfs diff=lfs merge=lfs -text
|
| 409 |
+
blipwren-music/audio/preview/night_firefly_path.mp3 filter=lfs diff=lfs merge=lfs -text
|
| 410 |
+
blipwren-music/audio/preview/night_lofi_pixels.mp3 filter=lfs diff=lfs merge=lfs -text
|
| 411 |
+
blipwren-music/audio/preview/night_moonlit_lake.mp3 filter=lfs diff=lfs merge=lfs -text
|
| 412 |
+
blipwren-music/audio/preview/overworld_meadow_run.mp3 filter=lfs diff=lfs merge=lfs -text
|
| 413 |
+
blipwren-music/audio/preview/overworld_open_road.mp3 filter=lfs diff=lfs merge=lfs -text
|
| 414 |
+
blipwren-music/audio/preview/puzzle_bubble_pop.mp3 filter=lfs diff=lfs merge=lfs -text
|
| 415 |
+
blipwren-music/audio/preview/puzzle_clockwork.mp3 filter=lfs diff=lfs merge=lfs -text
|
| 416 |
+
blipwren-music/audio/preview/puzzle_tile_logic.mp3 filter=lfs diff=lfs merge=lfs -text
|
| 417 |
+
blipwren-music/audio/preview/space_orbit_drift.mp3 filter=lfs diff=lfs merge=lfs -text
|
| 418 |
+
blipwren-music/audio/preview/space_signal_lost.mp3 filter=lfs diff=lfs merge=lfs -text
|
| 419 |
+
blipwren-music/audio/preview/space_star_patrol.mp3 filter=lfs diff=lfs merge=lfs -text
|
| 420 |
+
blipwren-music/audio/preview/title_main_menu.mp3 filter=lfs diff=lfs merge=lfs -text
|
| 421 |
+
blipwren-music/audio/preview/title_options_screen.mp3 filter=lfs diff=lfs merge=lfs -text
|
| 422 |
+
blipwren-music/audio/preview/title_press_start.mp3 filter=lfs diff=lfs merge=lfs -text
|
| 423 |
+
blipwren-music/audio/preview/town_inn_fireside.mp3 filter=lfs diff=lfs merge=lfs -text
|
| 424 |
+
blipwren-music/audio/preview/town_item_shop.mp3 filter=lfs diff=lfs merge=lfs -text
|
| 425 |
+
blipwren-music/audio/preview/town_market_square.mp3 filter=lfs diff=lfs merge=lfs -text
|
| 426 |
+
blipwren-music/og.png filter=lfs diff=lfs merge=lfs -text
|
blipwren-music/app.js
ADDED
|
@@ -0,0 +1,196 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/* Blipwren Music player: Web Audio, no libraries. © 2026 CyberMax */
|
| 2 |
+
(function () {
|
| 3 |
+
"use strict";
|
| 4 |
+
var $ = function (s) { return document.querySelector(s); };
|
| 5 |
+
var ctx = null, master = null, music = null, meta = null, mood = "all";
|
| 6 |
+
var buffers = {}; // id -> AudioBuffer or Promise
|
| 7 |
+
var tiles = {}; // id -> {el, item}
|
| 8 |
+
var cur = null; // {item, src, t0, dur, loop}
|
| 9 |
+
var DUCK = 0.35;
|
| 10 |
+
|
| 11 |
+
function audio() {
|
| 12 |
+
if (!ctx) {
|
| 13 |
+
var AC = window.AudioContext || window.webkitAudioContext;
|
| 14 |
+
ctx = new AC();
|
| 15 |
+
master = ctx.createGain(); master.gain.value = 0.8; master.connect(ctx.destination);
|
| 16 |
+
music = ctx.createGain(); music.gain.value = 1; music.connect(master);
|
| 17 |
+
}
|
| 18 |
+
if (ctx.state === "suspended") ctx.resume();
|
| 19 |
+
return ctx;
|
| 20 |
+
}
|
| 21 |
+
|
| 22 |
+
function toast(msg) {
|
| 23 |
+
var t = $("#toast"); t.textContent = msg; t.classList.add("on");
|
| 24 |
+
clearTimeout(toast._t); toast._t = setTimeout(function () { t.classList.remove("on"); }, 3200);
|
| 25 |
+
}
|
| 26 |
+
|
| 27 |
+
function url(item) { return item.free ? "audio/free/" + item.id + ".wav" : "audio/preview/" + item.id + ".mp3"; }
|
| 28 |
+
|
| 29 |
+
function load(item) {
|
| 30 |
+
if (buffers[item.id]) return Promise.resolve(buffers[item.id]);
|
| 31 |
+
buffers[item.id] = fetch(url(item)).then(function (r) {
|
| 32 |
+
if (!r.ok) throw new Error(r.status);
|
| 33 |
+
return r.arrayBuffer();
|
| 34 |
+
}).then(function (ab) {
|
| 35 |
+
return new Promise(function (res, rej) { audio().decodeAudioData(ab, res, rej); });
|
| 36 |
+
}).then(function (b) { buffers[item.id] = b; return b; }, function (e) { delete buffers[item.id]; throw e; });
|
| 37 |
+
return buffers[item.id];
|
| 38 |
+
}
|
| 39 |
+
|
| 40 |
+
function moodOf(id) { return meta.moods.filter(function (m) { return m.id === id; })[0]; }
|
| 41 |
+
|
| 42 |
+
function stopLoop() {
|
| 43 |
+
if (!cur) return;
|
| 44 |
+
try { cur.src.stop(); } catch (e) {}
|
| 45 |
+
tiles[cur.item.id].el.classList.remove("playing");
|
| 46 |
+
cur = null;
|
| 47 |
+
$("#stop").disabled = true;
|
| 48 |
+
$("#bar").style.width = "0";
|
| 49 |
+
$("#now-title").textContent = "Tap a loop to play it";
|
| 50 |
+
$("#now-sub").textContent = "Then drop a stinger on top: it's in the same key.";
|
| 51 |
+
setStingers(null);
|
| 52 |
+
}
|
| 53 |
+
|
| 54 |
+
function setStingers(m) {
|
| 55 |
+
Array.prototype.forEach.call(document.querySelectorAll("#stingers .chip"), function (b) {
|
| 56 |
+
b.disabled = !m;
|
| 57 |
+
b.dataset.id = m ? m + "_" + b.dataset.kind : "";
|
| 58 |
+
});
|
| 59 |
+
}
|
| 60 |
+
|
| 61 |
+
function playLoop(item) {
|
| 62 |
+
audio();
|
| 63 |
+
return load(item).then(function (buf) {
|
| 64 |
+
stopLoop();
|
| 65 |
+
var src = ctx.createBufferSource();
|
| 66 |
+
src.buffer = buf;
|
| 67 |
+
src.loop = !!item.free; // full-quality free loops repeat forever; previews fade out
|
| 68 |
+
src.connect(music);
|
| 69 |
+
src.start(0);
|
| 70 |
+
var me = cur = { item: item, src: src, t0: ctx.currentTime, dur: buf.duration, loop: src.loop };
|
| 71 |
+
src.onended = function () { if (cur === me) stopLoop(); };
|
| 72 |
+
tiles[item.id].el.classList.add("playing");
|
| 73 |
+
$("#stop").disabled = false;
|
| 74 |
+
$("#now-title").textContent = item.title + (item.free ? " (free, looping)" : " (preview)");
|
| 75 |
+
$("#now-sub").textContent = moodOf(item.mood).label + " · " + item.bpm + " BPM · " + item.key +
|
| 76 |
+
(item.free ? " · full quality, listen for the seam" : " · first 8 of 16 bars");
|
| 77 |
+
setStingers(item.mood);
|
| 78 |
+
window.__blipwrenPlaying = item.id;
|
| 79 |
+
}).catch(function () { toast("Couldn't play that loop. Please try again."); });
|
| 80 |
+
}
|
| 81 |
+
|
| 82 |
+
function playStinger(item) {
|
| 83 |
+
audio();
|
| 84 |
+
return load(item).then(function (buf) {
|
| 85 |
+
var src = ctx.createBufferSource();
|
| 86 |
+
src.buffer = buf;
|
| 87 |
+
src.connect(master);
|
| 88 |
+
var now = ctx.currentTime;
|
| 89 |
+
if (cur) { // duck the loop under the stinger, like the engine helpers do
|
| 90 |
+
music.gain.cancelScheduledValues(now);
|
| 91 |
+
music.gain.setValueAtTime(music.gain.value, now);
|
| 92 |
+
music.gain.linearRampToValueAtTime(DUCK, now + 0.12);
|
| 93 |
+
music.gain.setValueAtTime(DUCK, now + Math.max(buf.duration - 0.3, 0.1));
|
| 94 |
+
music.gain.linearRampToValueAtTime(1, now + buf.duration + 0.4);
|
| 95 |
+
}
|
| 96 |
+
src.start(now);
|
| 97 |
+
var t = tiles[item.id];
|
| 98 |
+
if (t) { t.el.classList.add("playing"); setTimeout(function () { t.el.classList.remove("playing"); }, buf.duration * 1000); }
|
| 99 |
+
window.__blipwrenStinger = item.id;
|
| 100 |
+
}).catch(function () { toast("Couldn't play that stinger. Please try again."); });
|
| 101 |
+
}
|
| 102 |
+
|
| 103 |
+
function tick() {
|
| 104 |
+
if (cur && ctx) {
|
| 105 |
+
var p = ((ctx.currentTime - cur.t0) % cur.dur) / cur.dur;
|
| 106 |
+
$("#bar").style.width = (p * 100).toFixed(1) + "%";
|
| 107 |
+
}
|
| 108 |
+
requestAnimationFrame(tick);
|
| 109 |
+
}
|
| 110 |
+
|
| 111 |
+
function chips() {
|
| 112 |
+
var box = $("#moods"), list = [{ id: "all", label: "All" }].concat(meta.moods).concat([{ id: "stingers", label: "Stingers" }]);
|
| 113 |
+
list.forEach(function (m) {
|
| 114 |
+
var b = document.createElement("button");
|
| 115 |
+
b.type = "button";
|
| 116 |
+
b.className = "chip" + (m.id === mood ? " on" : "");
|
| 117 |
+
b.dataset.mood = m.id;
|
| 118 |
+
b.textContent = m.label;
|
| 119 |
+
b.addEventListener("click", function () {
|
| 120 |
+
mood = m.id;
|
| 121 |
+
Array.prototype.forEach.call(box.children, function (x) { x.classList.toggle("on", x.dataset.mood === mood); });
|
| 122 |
+
filter();
|
| 123 |
+
});
|
| 124 |
+
box.appendChild(b);
|
| 125 |
+
});
|
| 126 |
+
}
|
| 127 |
+
|
| 128 |
+
function tile(item) {
|
| 129 |
+
var el = document.createElement("button");
|
| 130 |
+
el.type = "button";
|
| 131 |
+
el.className = "loop" + (item.type === "stinger" ? " st" : "");
|
| 132 |
+
el.setAttribute("aria-label", "Play " + item.title + (item.type === "stinger" ? " stinger, " + moodOf(item.mood).label : "") + (item.free ? " (free)" : ""));
|
| 133 |
+
el.innerHTML = '<span class="nm"></span><span class="ds"></span><span class="mt"></span><span class="dur"></span>';
|
| 134 |
+
el.querySelector(".nm").textContent = item.type === "stinger" ? item.title + " · " + moodOf(item.mood).label.split(" &")[0] : item.title;
|
| 135 |
+
el.querySelector(".ds").textContent = item.desc;
|
| 136 |
+
el.querySelector(".mt").textContent = item.bpm + " BPM · " + item.key + (item.bars ? " · " + item.bars + " bars" : "");
|
| 137 |
+
el.querySelector(".dur").textContent = item.dur.toFixed(1) + "s";
|
| 138 |
+
if (item.free) {
|
| 139 |
+
var foot = document.createElement("span"); foot.className = "foot";
|
| 140 |
+
var badge = document.createElement("span"); badge.className = "free-badge"; badge.textContent = "FREE";
|
| 141 |
+
var dl = document.createElement("a"); dl.className = "dl"; dl.href = url(item);
|
| 142 |
+
dl.download = "blipwren_" + item.id + ".wav"; dl.textContent = "WAV ↓";
|
| 143 |
+
dl.addEventListener("click", function (e) { e.stopPropagation(); });
|
| 144 |
+
foot.appendChild(badge); foot.appendChild(dl); el.appendChild(foot);
|
| 145 |
+
}
|
| 146 |
+
el.addEventListener("click", function () { if (item.type === "stinger") playStinger(item); else playLoop(item); });
|
| 147 |
+
tiles[item.id] = { el: el, item: item };
|
| 148 |
+
return el;
|
| 149 |
+
}
|
| 150 |
+
|
| 151 |
+
function build() {
|
| 152 |
+
var list = $("#list");
|
| 153 |
+
meta.moods.forEach(function (m) {
|
| 154 |
+
var h = document.createElement("h3"); h.className = "mood-h"; h.dataset.mood = m.id; h.textContent = m.label;
|
| 155 |
+
list.appendChild(h);
|
| 156 |
+
meta.items.filter(function (i) { return i.mood === m.id; }).forEach(function (i) { list.appendChild(tile(i)); });
|
| 157 |
+
});
|
| 158 |
+
}
|
| 159 |
+
|
| 160 |
+
function filter() {
|
| 161 |
+
var n = 0;
|
| 162 |
+
Array.prototype.forEach.call($("#list").children, function (el) {
|
| 163 |
+
if (el.classList.contains("mood-h")) { el.hidden = !(mood === "all" || mood === "stingers" || mood === el.dataset.mood); return; }
|
| 164 |
+
var id = Object.keys(tiles).filter(function (k) { return tiles[k].el === el; })[0], it = tiles[id].item;
|
| 165 |
+
var show = mood === "all" ? it.type === "loop" : mood === "stingers" ? it.type === "stinger" : it.mood === mood;
|
| 166 |
+
el.hidden = !show;
|
| 167 |
+
if (show) n++;
|
| 168 |
+
});
|
| 169 |
+
$("#status").textContent = n + (mood === "stingers" ? " stingers" : mood === "all" ? " loops" : " tracks") +
|
| 170 |
+
" · tap to play" + (mood === "all" ? " · pick a mood to see its stingers" : "");
|
| 171 |
+
}
|
| 172 |
+
|
| 173 |
+
function tabs() {
|
| 174 |
+
Array.prototype.forEach.call(document.querySelectorAll("#tabs .chip"), function (b) {
|
| 175 |
+
b.addEventListener("click", function () {
|
| 176 |
+
Array.prototype.forEach.call(document.querySelectorAll("#tabs .chip"), function (x) {
|
| 177 |
+
x.classList.toggle("on", x === b); x.setAttribute("aria-selected", x === b ? "true" : "false");
|
| 178 |
+
});
|
| 179 |
+
Array.prototype.forEach.call(document.querySelectorAll("pre[data-pane]"), function (p) { p.hidden = p.dataset.pane !== b.dataset.tab; });
|
| 180 |
+
});
|
| 181 |
+
});
|
| 182 |
+
}
|
| 183 |
+
|
| 184 |
+
$("#stop").addEventListener("click", stopLoop);
|
| 185 |
+
Array.prototype.forEach.call(document.querySelectorAll("#stingers .chip"), function (b) {
|
| 186 |
+
b.addEventListener("click", function () { var t = tiles[b.dataset.id]; if (t) playStinger(t.item); });
|
| 187 |
+
});
|
| 188 |
+
document.addEventListener("keydown", function (e) { if (e.key === "Escape") stopLoop(); });
|
| 189 |
+
tabs();
|
| 190 |
+
if (/[?&]thanks=1/.test(location.search)) setTimeout(function () { toast("Thanks for your order! Your download links are in the Polar receipt email."); }, 800);
|
| 191 |
+
|
| 192 |
+
fetch("music.json").then(function (r) { return r.json(); }).then(function (m) {
|
| 193 |
+
meta = m; chips(); build(); filter(); requestAnimationFrame(tick);
|
| 194 |
+
window.__blipwrenReady = true;
|
| 195 |
+
}).catch(function () { $("#status").textContent = "Couldn't load the music list. Please reload the page."; });
|
| 196 |
+
})();
|
blipwren-music/audio/free/boss_lose.wav
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:25cc61feb064e9410944f91b16513174b896fd8c5d057c0ec2d7a72c9781a507
|
| 3 |
+
size 195110
|
blipwren-music/audio/free/dungeon_deep_cave.wav
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:a09060cb131818178de03b61c733efaf4f290236adfe804b72736f7ebf561806
|
| 3 |
+
size 3528044
|
blipwren-music/audio/free/overworld_meadow_run.wav
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:a107a1e2ea368610d92710eee5205da1ea2d94a2cb35ed2c910ebda5fe43232d
|
| 3 |
+
size 2352044
|
blipwren-music/audio/free/overworld_win.wav
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:d963e275c3e2e591a9acba17974cae0c23d12138e161db5baeb482e97965d7e4
|
| 3 |
+
size 162478
|
blipwren-music/audio/preview/boss_arena_clash.mp3
ADDED
|
Binary file (91.7 kB). View file
|
|
|
blipwren-music/audio/preview/boss_chase_sequence.mp3
ADDED
|
Binary file (88.6 kB). View file
|
|
|
blipwren-music/audio/preview/boss_final_guardian.mp3
ADDED
|
Binary file (94.1 kB). View file
|
|
|
blipwren-music/audio/preview/boss_lose.mp3
ADDED
|
Binary file (14.5 kB). View file
|
|
|
blipwren-music/audio/preview/boss_start.mp3
ADDED
|
Binary file (11.1 kB). View file
|
|
|
blipwren-music/audio/preview/boss_win.mp3
ADDED
|
Binary file (12.3 kB). View file
|
|
|
blipwren-music/audio/preview/dungeon_crypt_steps.mp3
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:a76135d29f357e58d5c2f8e8db885ed266df558a30a260aaecfea18a4e7258af
|
| 3 |
+
size 152379
|
blipwren-music/audio/preview/dungeon_deep_cave.mp3
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:acaaa6077f15d2de00fd70aa2c847ee37fba6d5dadb37c2afc71a6e3d4fd87a1
|
| 3 |
+
size 138758
|
blipwren-music/audio/preview/dungeon_lose.mp3
ADDED
|
Binary file (26.4 kB). View file
|
|
|
blipwren-music/audio/preview/dungeon_ruin_echoes.mp3
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:1370f30f0228cb7d5fc95f3d7faf9ff26304ee2dea5b65cea42ed480843412e3
|
| 3 |
+
size 148734
|
blipwren-music/audio/preview/dungeon_start.mp3
ADDED
|
Binary file (18 kB). View file
|
|
|
blipwren-music/audio/preview/dungeon_win.mp3
ADDED
|
Binary file (19.2 kB). View file
|
|
|
blipwren-music/audio/preview/night_firefly_path.mp3
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:509d062324ef11bf096d5c15f0b220af0280c389f4b5c80fe1da45340b49a124
|
| 3 |
+
size 140243
|
blipwren-music/audio/preview/night_lofi_pixels.mp3
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:cf7a4dbe2d6ffeb5e0b9cbe0f02645a207475d57dda5bc723e9650ad9224c0e3
|
| 3 |
+
size 152716
|
blipwren-music/audio/preview/night_lose.mp3
ADDED
|
Binary file (29.2 kB). View file
|
|
|
blipwren-music/audio/preview/night_moonlit_lake.mp3
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:d7b5d1c193cdaa53736f7d0df229aa936a73a2e7935675122bc2a7eff56683de
|
| 3 |
+
size 151424
|
blipwren-music/audio/preview/night_start.mp3
ADDED
|
Binary file (20.2 kB). View file
|
|
|
blipwren-music/audio/preview/night_win.mp3
ADDED
|
Binary file (22.2 kB). View file
|
|
|
blipwren-music/audio/preview/overworld_lose.mp3
ADDED
|
Binary file (16.8 kB). View file
|
|
|
blipwren-music/audio/preview/overworld_meadow_run.mp3
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:a22910fb5040723ce186741431261e6df73f6972bbb3785973d946d69981e973
|
| 3 |
+
size 100156
|
blipwren-music/audio/preview/overworld_open_road.mp3
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:f369425980da45934be1038d31cdc5c8b0dd3c6ff1f9f03582d595aa3748a20f
|
| 3 |
+
size 103835
|
blipwren-music/audio/preview/overworld_sky_hopper.mp3
ADDED
|
Binary file (93.2 kB). View file
|
|
|
blipwren-music/audio/preview/overworld_start.mp3
ADDED
|
Binary file (12 kB). View file
|
|
|
blipwren-music/audio/preview/overworld_win.mp3
ADDED
|
Binary file (13.8 kB). View file
|
|
|
blipwren-music/audio/preview/puzzle_bubble_pop.mp3
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:39eb8ac84b817761ea98a361197a41bed40e89c0f9e15b5008ed079677606e91
|
| 3 |
+
size 111530
|
blipwren-music/audio/preview/puzzle_clockwork.mp3
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:d2079fd83acb59a751a7a6dc74cd4c517a9bc5a8d52e78eb4da9de9b3decfabe
|
| 3 |
+
size 141024
|
blipwren-music/audio/preview/puzzle_lose.mp3
ADDED
|
Binary file (21.1 kB). View file
|
|
|
blipwren-music/audio/preview/puzzle_start.mp3
ADDED
|
Binary file (14.8 kB). View file
|
|
|
blipwren-music/audio/preview/puzzle_tile_logic.mp3
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:709fda342044d0aeca05fb2a7d0151e6157a1c5add9ee327dae3d27fafce3b4d
|
| 3 |
+
size 118107
|
blipwren-music/audio/preview/puzzle_win.mp3
ADDED
|
Binary file (17.6 kB). View file
|
|
|
blipwren-music/audio/preview/space_lose.mp3
ADDED
|
Binary file (18.5 kB). View file
|
|
|
blipwren-music/audio/preview/space_orbit_drift.mp3
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:d4d6989dc933e24bbaf18ceeef465c29654b42da974f3e6ed686da11323edef7
|
| 3 |
+
size 118056
|
blipwren-music/audio/preview/space_signal_lost.mp3
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:504f2c68f67eaadf4efca9913a8ce492a9ca416c2b5f01d2b5281edc2484fe95
|
| 3 |
+
size 125656
|
blipwren-music/audio/preview/space_star_patrol.mp3
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:1c1aabc3c743fd3ecd30092e3dcba3fbcc9126237d80a764436b00ca06406052
|
| 3 |
+
size 111756
|
blipwren-music/audio/preview/space_start.mp3
ADDED
|
Binary file (13.8 kB). View file
|
|
|
blipwren-music/audio/preview/space_win.mp3
ADDED
|
Binary file (15.9 kB). View file
|
|
|
blipwren-music/audio/preview/title_lose.mp3
ADDED
|
Binary file (18.9 kB). View file
|
|
|
blipwren-music/audio/preview/title_main_menu.mp3
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:77262fa454a07015d042c9cd948ef2efc41f32b9cbc8645a86d1438167a548ab
|
| 3 |
+
size 128792
|
blipwren-music/audio/preview/title_options_screen.mp3
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:2559a0bac6ba4e7baf44aa83ce81c66a894f9d159cb1c747efde7d03f91fb19f
|
| 3 |
+
size 117920
|
blipwren-music/audio/preview/title_press_start.mp3
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:44b5d5258952ad8c628fa8bcf67374d7c7856905ec7feb8fad4cd3dca08f3c5c
|
| 3 |
+
size 109451
|
blipwren-music/audio/preview/title_start.mp3
ADDED
|
Binary file (14.3 kB). View file
|
|
|
blipwren-music/audio/preview/title_win.mp3
ADDED
|
Binary file (14.7 kB). View file
|
|
|
blipwren-music/audio/preview/town_inn_fireside.mp3
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:83fe1840b7f5bcb35805c7b2ab98abcc1086c5e28288afa2a3dc3dee913e8932
|
| 3 |
+
size 144730
|
blipwren-music/audio/preview/town_item_shop.mp3
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:c6ba05b107b1683522cc9f70535c6b51447eb8510b48bcbfd2a46abf73bd58a5
|
| 3 |
+
size 127811
|