Skip to content
Snippets Groups Projects
Select Git revision
  • 5af712cc4419faa8eb36fa7a5a0912cfc623e96c
  • master default
  • 5.0.0 protected
  • 4.0.0
  • dev
  • 5.0.0-superduperalpha-2
  • 5.0.0-superduperalpha-1
  • v3.0.0-prealpha
8 results

app.js

Blame
  • app.js 13.95 KiB
    
    // Elements
    
    const player = document.getElementById("player");
    const audioSource = player.children.item(0);
    console.debug(audioSource);
    
    // Important init stuff
    
    audioSource.src = "assets/audio/noise.wav";
    let currentStation = null;
    
    runningInElectron = !!window.metadata;
    
    if (runningInElectron) {
      console.error("Running under electron.")
    }
    
    // Play/Pause button
    
    const playPauseButton = document.getElementById("playpause");
    
    // Volume stuff
    const controlMute = document.getElementById("control_mute");
    const controlRealVolume = document.getElementById("control_real_volume");
    const controlVolume = document.getElementById("control_volume");
    
    // Handles the volume slider changing.
    
    function setMuteButtonIcon (volume) {
      const mutedIcon = "fa-volume-mute";
      const silent = "fa-volume-off";
      const low = "fa-volume-low";
      const high = "fa-volume-high";
    
      if (volume === 0) {
        controlMute.innerHTML = `<span class="fa-fw fa-solid ${silent}"></span>`;
      } else if (volume <= 50) {
        controlMute.innerHTML = `<span class="fa-fw fa-solid ${low}"></span>`;
      } else if (volume <= 100) {
        controlMute.innerHTML = `<span class="fa-fw fa-solid ${high}"></span>`;
      }
    
      controlMute.classList.remove("danger");
    
      if (player.muted) {
        controlMute.classList.add("danger");
        controlMute.innerHTML = `<span class="fa-fw fa-solid ${mutedIcon}"></span>`;
      }
    }
    
    function toggleMute () {
      player.muted = !player.muted;
      setMuteButtonIcon(player.volume);
    }
    
    function setVolume (volume) {
      if (volume > 100) {
        volume = 100
      }
      if (volume < 0) {
        volume = 0;
      }
      setMuteButtonIcon(volume);
      localStorage.setItem("volume", volume);
      player.volume = volume / 100;
      controlVolume.value = volume;
      controlRealVolume.value = volume;
    }