SHA256
first commit
This commit is contained in:
commit
027e752e25
6 files changed
+269
No files matched your search
@@ -0,0 +1,54 @@
|
||||
// Please dont remove this attribution its required by the license of this code.
|
||||
// This code is licensed under the CPSL License.
|
||||
//
|
||||
// Original code by: @chillcog
|
||||
// See https://git.chillcog.com/chillcog/azuracast-themes
|
||||
// Copyright (c) 2024-2026 ChillCog
|
||||
//
|
||||
|
||||
document.addEventListener("DOMContentLoaded", function () {
|
||||
const scanline = document.createElement('div');
|
||||
scanline.id = 'backrooms-scanlines';
|
||||
Object.assign(scanline.style, {
|
||||
position: 'fixed',
|
||||
top: '0',
|
||||
left: '0',
|
||||
width: '100vw',
|
||||
height: '100vh',
|
||||
background: 'linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.15) 50%), linear-gradient(90deg, rgba(255, 0, 0, 0.03), rgba(0, 255, 0, 0.01), rgba(0, 0, 255, 0.03))',
|
||||
backgroundSize: '100% 4px, 6px 100%',
|
||||
zIndex: '9999',
|
||||
pointerEvents: 'none'
|
||||
});
|
||||
document.body.appendChild(scanline);
|
||||
|
||||
let audioCtx = null;
|
||||
let humOsc = null;
|
||||
let buzzOsc = null;
|
||||
let gainNode = null;
|
||||
|
||||
function startFluorescentHum() {
|
||||
if (audioCtx) return;
|
||||
audioCtx = new (window.AudioContext || window.webkitAudioContext)();
|
||||
gainNode = audioCtx.createGain();
|
||||
gainNode.gain.setValueAtTime(0.015, audioCtx.currentTime);
|
||||
gainNode.connect(audioCtx.destination);
|
||||
humOsc = audioCtx.createOscillator();
|
||||
humOsc.type = 'sine';
|
||||
humOsc.frequency.setValueAtTime(60, audioCtx.currentTime);
|
||||
humOsc.connect(gainNode);
|
||||
humOsc.start();
|
||||
buzzOsc = audioCtx.createOscillator();
|
||||
buzzOsc.type = 'sawtooth';
|
||||
buzzOsc.frequency.setValueAtTime(120, audioCtx.currentTime);
|
||||
const filter = audioCtx.createBiquadFilter();
|
||||
filter.type = 'lowpass';
|
||||
filter.frequency.setValueAtTime(200, audioCtx.currentTime);
|
||||
buzzOsc.connect(filter);
|
||||
filter.connect(gainNode);
|
||||
buzzOsc.start();
|
||||
}
|
||||
|
||||
window.addEventListener('click', startFluorescentHum, { once: true });
|
||||
window.addEventListener('touchstart', startFluorescentHum, { once: true });
|
||||
});
|
||||
Reference in new issue
Block a user