this post was submitted on 27 Jun 2024
329 points (94.3% liked)

linuxmemes

21210 readers
89 users here now

Hint: :q!


Sister communities:


Community rules (click to expand)

1. Follow the site-wide rules

2. Be civil
  • Understand the difference between a joke and an insult.
  • Do not harrass or attack members of the community for any reason.
  • Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
  • Bigotry will not be tolerated.
  • These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment.
  • 3. Post Linux-related content
  • Including Unix and BSD.
  • Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of sudo in Windows.
  • No porn. Even if you watch it on a Linux machine.
  • 4. No recent reposts
  • Everybody uses Arch btw, can't quit Vim, and wants to interject for a moment. You can stop now.

  • Please report posts and comments that break these rules!

    founded 1 year ago
    MODERATORS
     
    you are viewing a single comment's thread
    view the rest of the comments
    [โ€“] [email protected] 13 points 4 months ago* (last edited 4 months ago) (1 children)

    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.

    [โ€“] [email protected] 4 points 4 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!