39 points

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.

permalink
report
reply
11 points

bullshit-Spotify

The only proper use-case.

permalink
report
parent
reply
23 points
*
#!/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>

permalink
report
reply
12 points
*

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.

permalink
report
parent
reply
4 points

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!

permalink
report
parent
reply
4 points
*

I think your script didn’t format correctly:

permalink
report
parent
reply
4 points

https://files.catbox.moe/5ex40l.jpg this is how it looks on my end (for some reason I can’t upload photos rn, it errors out)

permalink
report
parent
reply
20 points

I just self host jellyfin

permalink
report
reply
7 points

It even works for the music library!? Jellyfin is crazy rad.

permalink
report
parent
reply
7 points

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.

permalink
report
parent
reply
3 points

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

permalink
report
parent
reply
3 points

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

permalink
report
parent
reply
13 points

i have different directories named after moods/styles filled with hard links to my music. works better than playlists for me

permalink
report
reply
1 point

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

permalink
report
parent
reply
5 points

i used symlinks first, but they break when you rename target files or directories.

as long as it’s one file system, hard links work better for me. so one day i replaced them all with hard links.

permalink
report
parent
reply
8 points

real. I was using “mpv --shuffle soundcloud-playlist-link-here” for a while because soundcloud’s shuffle literally does not work

permalink
report
reply

linuxmemes

!linuxmemes@lemmy.world

Create post

I use Arch btw


Sister communities:
Community rules
  1. Follow the site-wide rules and code of conduct
  2. Be civil
  3. Post Linux-related content
  4. No recent reposts

Please report posts and comments that break these rules!

Community stats

  • 7.5K

    Monthly active users

  • 1.2K

    Posts

  • 65K

    Comments