• Ephera@lemmy.ml
    link
    fedilink
    arrow-up
    9
    ·
    3 months ago

    I actually even made my own bullshit-Spotify. As in, I’ve got a server running on a single-board computer which reads my music folder and serves a small music player as a webpage.

    I didn’t want to install a music player client on my work laptop, but still wanted to listen to my own songs there.

      • PlexSheep@infosec.pub
        link
        fedilink
        arrow-up
        2
        ·
        3 months ago

        Really well actually. The mobile app does not support download “caching” of music, but third party apps like synfonium do.

        The jellyfin music experience is really good, not perfect, but still really good.

      • macniel@feddit.org
        link
        fedilink
        arrow-up
        1
        ·
        3 months ago

        For kinda every type of media. I use it as a cloud (private VPN) music repository/library as well.

      • DogWater@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        3 months ago

        Yeah I switched to it from Plex. Plex wouldn’t stop forgetting my libraries and revoking permissions.

  • JetpackJackson@feddit.de
    link
    fedilink
    arrow-up
    5
    ·
    edit-2
    3 months ago
    #!/usr/bin/env bash
    mpc load $1
    mpc volume 80
    mpc random on
    mpc play
    

    Name it shufflenplay so then you can shufflenplay <playlist name>

    • renzev@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      3 months ago

      Oh man are we sharing mpd scripts? I have this one that lets me search through music directory and add anything to the play queue (so I can add a single track or an entire album or whatever):

      #!/bin/bash
      
      MUSIC_DIR=$(grep -m 1 -E '^\s*music_directory\s+' "$XDG_CONFIG_HOME/mpd/mpd.conf" | awk '{printf $2}' | tr -d \" | tr -d \')
      MUSIC_DIR="${MUSIC_DIR/#\~/$HOME}"
      
      cd "$MUSIC_DIR"
      CHOICE="$(find . | cut -c 3- | dmenu)" || exit 1;
      
      mpc insert "$CHOICE"
      mpc play
      

      There’s also this one that lets me save the currently playing song to a playlist of my choice. It’s good if I’m listening to a new album or a new artist and suddenly think “yeah, this song really fits with the mood of X playlist”:

      #!/bin/bash
      
      MUSIC_DIR=$(grep -m 1 -E '^\s*playlist_directory\s+' "$XDG_CONFIG_HOME/mpd/mpd.conf" | awk '{printf $2}' | tr -d \" | tr -d \')
      
      choice="$(mpc lsplaylists | dmenu)" || { echo "No choice." ; exit 1; }
      MUSIC_DIR="${MUSIC_DIR/#\~/$HOME}"
      
      mpc current -f '%file%' >> "$MUSIC_DIR/$choice.m3u"
      

      Here’s my script to shuffle play an existing playlist as well:

      #!/bin/sh
      
      choice="$(mpc lsplaylists | dmenu)"
      mpc clear
      sleep 0.1
      mpc load "$choice"
      sleep 0.1
      mpc shuffle
      sleep 0.1
      mpc play
      

      The sleeps are to prevent Cantata (graphical mpd client) from shitting itself if I run this script while it’s open. Also notice mpc shuffle instead of mpc random on. It shuffles the current playlist, but keeps the linear play order, so that I can add songs to play right after the current one.

      • JetpackJackson@feddit.de
        link
        fedilink
        arrow-up
        1
        ·
        3 months ago

        Oooh those are nice! I’ll have to try mpc shuffle out then, and even though I generate my playlists with beets, I’ll definitely try out the save to playlist one!

    • shimdidly@lemmy.worldOP
      link
      fedilink
      arrow-up
      0
      ·
      3 months ago

      So real. I’ve always thought music apps like iTunes/Spotify etc. were superfluous when you already have a file system and sym links.