{"id":19263619,"url":"https://github.com/trapd00r/pimpd2","last_synced_at":"2025-07-01T08:06:54.837Z","repository":{"id":56837886,"uuid":"1121971","full_name":"trapd00r/pimpd2","owner":"trapd00r","description":"Perl Interface for the Music Player Daemon 2  |  http://search.cpan.org/dist/App-Pimpd/","archived":false,"fork":false,"pushed_at":"2023-02-09T09:29:00.000Z","size":249,"stargazers_count":36,"open_issues_count":1,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-21T18:43:40.259Z","etag":null,"topics":["cli","mpd","mpd-client","music","perl","shell","tabcompletion","terminal"],"latest_commit_sha":null,"homepage":"http://japh.se/dev/pimpd2/","language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/trapd00r.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2010-11-29T12:05:09.000Z","updated_at":"2024-02-01T04:04:45.000Z","dependencies_parsed_at":"2024-11-09T19:37:12.031Z","dependency_job_id":"da0930d8-853a-418a-a927-31f814b743aa","html_url":"https://github.com/trapd00r/pimpd2","commit_stats":{"total_commits":313,"total_committers":4,"mean_commits":78.25,"dds":"0.13418530351437696","last_synced_commit":"245027b2545e2f01a0500dff066be67664011b40"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/trapd00r/pimpd2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trapd00r%2Fpimpd2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trapd00r%2Fpimpd2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trapd00r%2Fpimpd2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trapd00r%2Fpimpd2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trapd00r","download_url":"https://codeload.github.com/trapd00r/pimpd2/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trapd00r%2Fpimpd2/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262924942,"owners_count":23385457,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","mpd","mpd-client","music","perl","shell","tabcompletion","terminal"],"created_at":"2024-11-09T19:36:20.738Z","updated_at":"2025-07-01T08:06:54.813Z","avatar_url":"https://github.com/trapd00r.png","language":"Perl","readme":"[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026business=65SFZJ25PSKG8\u0026currency_code=SEK\u0026source=url) - Every tiny cent helps a lot!\n\n# NAME\n\npimpd2 - Perl Interface for the Music Player Daemon 2\n\n# DESCRIPTION\n\npimpd2 is a command-line based MPD client that implements all the features\nthe author was missing from the other awesome client, mpc.\n\n\n![pimpd2](/extra/pimpd2.png)\n\n\n# FEATURES\n\n## -np, --now-playing\n\nShow basic song information on a single line.\n\n## -i, --info\n\nShow all available song information and MPD server status.\n\n## -cp, --copy\n\nCopy the currently playing song to destination.\n\nIf destination is omitted, uses the `target_directory` variable from the\nconfiguration file.\n\n## -cpa, --copy-album\n\nCopy the currently playing album to destination.\n\nIf destination is omitted, uses the `target_directory` variable from the\nconfiguration file.\n\n## -sh, --shell\n\nSpawn the interactive pimpd2 shell.\n\nAll the regular features can be used. Commands that return data that can be\nadded to the current playlist will do so automagically for convenience, since\nwe can not read from standard input while being interactive.\n\n## -q, --queue\n\nQueue tracks. Arguments must be valid playlist position IDs as shown in the\n`--playlist` output.\n\nYou can also use the `--search-playlist` command if the tracks to be queued\nfollows a pattern.\n\n# PLAYLIST INTERACTION\n\n## -pls, --playlist\n\nShow the current playlist.\n\n## --playlists\n\nList all playlists known by MPD.\n\n## -af, --add-files\n\nAdd files to the current playlist.\n\nCan read from standard input:\n\n    pimpd2 --randomize 42 Nirvana | pimpd2 -af\n\nAccepts file arguments:\n\n    pimpd2 -af ~/music/Nirvana/Bleach/*.flac\n\n## -a, --add-playlist\n\nAdd playlist to the current playlist.\n\nIf not given a full name, and the name partially matches existing playlists,\nprompts for input:\n\n    pimpd2 -a 2010\n\n      0 2010-12-indie\n      1 2010-12-other\n      2 2010-12-pop\n      3 2010-12-punk_rock\n      4 2010-12-rock\n      5 2010-12-undef\n    choice:\n\nIf choice equals 'all', all matching playlists are added.\n\n## -r, --randomize\n\nReturn **n** random songs from the collection.\nThe first argument is the number of songs, the second argument is an optional\nartist name. If an artist name is specified, will only return random songs from\nthat particular artist.\n\nIf no arguments are specified, returns 100 random songs.\n\nIf you want to add the results to the current playlist, pipe it to `--add-files`:\n\n    pimpd2 -r 12 | pimpd2 -af\n\nOr use the interactive shell ( `-sh` ) which does this for you automatically.\n\n## -ra, --random-album\n\nReturn **n** random full albums.\n\nA pipe to `--add-files` will add the results to the current playlist.\n\n## -rma, --rmalbum\n\nGiven a string, searches the current playlist for matching albums, and remove\nthem from the playlist. The string can be a regular expression.\n\n## -da, --delete-album\n\nDelete the current album from disk.\n\n## -f, --love\n\nFavorize, or love, the current song.\n\nIf called with zero arguments, the song will be saved to a playlist following\nthis naming scheme:\n\n    %year-%month-%genre.m3u\n\nElse, the argument is used for the playlist name, thus:\n\n    pimpd2 --love lovesongs\n\nadds the song to lovesongs.m3u\n\n## --loved\n\nCheck if the currently playing song is already loved or not.\n\n## --unlove\n\nUnlove songs matching given PATTERN.\n\n## --lsplaylists\n\nLists available playlists.\n\n## --slove\n\nSearch the database with loved songs for PATTERN.\n\nIf PATTERN is omitted, returns all loved songs.\n\n## -spl, --search-playlist\n\nSearch the current playlist for string, possibly a regular expression.\n\nIf more then one song is found, queues up the results. See `--queue`.\n\n# COLLECTION INTERACTION\n\n## -lsa, --songs\n\nList all songs on album.\n\nIf no argument is specified, use the album tag from the currently playing song.\n\nA pipe to `--add-files` will add the results to the current playlist:\n\n    pimpd2 -lsa Stripped | pimpd2 -af\n\n## -l, --albums\n\nList all albums where artist is featured.\n\nIf no argument is specified, use the artist tag from the currently playing song.\n\n## -sdb, --search-db\n\nSearch the database for string, possibly a regular expression.\n\nA pipe to `--add-files` will add the results to the current playlist:\n\n## -sar, --search-artist\n\nSearch the database for artist.\n\nA pipe to `--add-files` will add the results to the current playlist:\n\n## -sal, --search-album\n\nSearch the database for album.\n\nA pipe to `--add-files` will add the results to the current playlist:\n\n## -set, --search-title\n\nSearch the database for title.\n\nA pipe to `--add-files` will add the results to the current playlist:\n\n## --stats\n\nDisplay statistics about MPD\n\n## --status\n\nDisplay MPD status\n\n# CONTROLS\n\n## -n, --next\n\nPlay the next track in the playlist.\n\n## -p, --previous\n\nPlay the previous track in the playlist.\n\n## -cl, --clear\n\nClear the current playlist.\n\n## -cr, --crop\n\nRemove all songs but the current one from the playlist.\n\n## -x, --xfade\n\nSet crossfade.\n\n## --pause\n\nToggle playback status.\n\n## --repeat\n\nToggle repeat on/off\n\n## --random\n\nToggle random on/off\n\n## --play\n\nStart playback.\n\nIf a remote stream URL and an external player is specified in the\nconfiguration file, starts playback on the local machine as well as on the\nMPD server.\n\n## --stop\n\nStop playback, locally and remote.\n\n## --kill\n\nStop local playback.\n\n# OPTIONS\n\n    -np,   --now-playing      basic song info on a single line\n    -i,    --info             full song info\n    -cp,   --copy             copy the current track to destination\n    -cpa,  --copy-album       copy the current album to destination\n    -sh,   --shell            spawn the interactive shell\n    -q,    --queue            queue tracks\n\n## Playlist\n\n    -pls,  --playlist         show the current playlist\n           --playlists        list all known playlists\n    -af,   --add-files        add files to playlist\n    -a,    --add-playlist     add playlist\n           --randomize        randomize a new playlist with n tracks\n    -ra,   --random-album     add n random full albums\n    -rma,  --rmalbum          remove album matching pattern from playlist\n    -da,   --delete-album     delete the current album from disk\n    -f,    --love             love song\n           --loved            check if the current song is loved\n    -u,    --unlove           unlove songs matching pattern\n    -spl,  --search-playlist  search the current playlist for str\n\n## Collection\n\n    -lsa,  --songs            list songs on album\n    -l,    --albums           list albums by artist\n    -sdb,  --search-db        search database for pattern\n    -sar,  --search-artist    search database for artist\n    -sal,  --search-album     search database for album\n    -set,  --search-title     search database for title\n           --slove            search the database with loved songs for pattern\n           --stats            display statistics about MPD\n           --status           display MPD status\n\n## Controls\n\n    -n,    --next             next track in playlist\n    -p,    --previous         previous track in playlist\n    -cl,   --clear            clear the playlist\n    -cr,   --crop             remove all songs but the current one from playlist\n    -x,    --xfade            set crossfade\n           --pause            toggle playback status\n           --repeat           toggle repeat mode\n           --random           toggle random mode\n\n    -p,    --play             start playback (locally and remote)\n    -s,    --stop             stop playback (locally and remote)\n    -k,    --kill             stop playback (locally)\n\n    -h,    --help             show the help and exit\n    -m,    --man              show the manual and exit\n    -v,    --version          show version info and exit\n\n# ENVIRONMENT\n\npimpd2 will look for a configuration file in the following locations, in this\norder:\n\n    $XDG_CONFIG_HOME/pimpd2/pimpd2.conf\n    ~/.config/pimpd2/pimpd.conf\n    ~/.pimpd2.conf\n    ./pimpd2.conf\n    /etc/pimpd2.conf\n\n# AUTHOR\n\n    Magnus Woldrich\n    CPAN ID: WOLDRICH\n    m@japh.se\n    http://japh.se\n\n# CONTRIBUTORS\n\nNone required yet.\n\n# REPORTING BUGS\n\nReport bugs and/or feature requests to \u003cmagnus@trapd00r.se\u003e, on [rt.cpan.org](https://metacpan.org/pod/rt.cpan.org)\nor [http://github.com/trapd00r/pimpd2/issues](http://github.com/trapd00r/pimpd2/issues).\n\n# COPYRIGHT\n\nCopyright 2009, 2010, 2011, 2019- the **pimpd2** [\"AUTHOR\"](#author) and\n[\"CONTRIBUTORS\"](#contributors) as listed above.\n\n# LICENSE\n\nThis application is free software; you may redistribute it and/or modify it\nunder the same terms as Perl itself.\n\n# SEE ALSO\n\n[mpd(1)](http://man.he.net/man1/mpd)\n\n[App::Pimpd::Collection::Album](https://metacpan.org/pod/App::Pimpd::Collection::Album), [App::Pimpd::Collection::Search](https://metacpan.org/pod/App::Pimpd::Collection::Search),\n[App::Pimpd::Commands](https://metacpan.org/pod/App::Pimpd::Commands), [App::Pimpd::Doc](https://metacpan.org/pod/App::Pimpd::Doc), [App::Pimpd::Info](https://metacpan.org/pod/App::Pimpd::Info),\n[App::Pimpd::Player](https://metacpan.org/pod/App::Pimpd::Player), [App::Pimpd::Playlist](https://metacpan.org/pod/App::Pimpd::Playlist),\n[App::Pimpd::Playlist::Favorite](https://metacpan.org/pod/App::Pimpd::Playlist::Favorite), [App::Pimpd::Playlist::Randomize](https://metacpan.org/pod/App::Pimpd::Playlist::Randomize),\n[App::Pimpd::Playlist::Search](https://metacpan.org/pod/App::Pimpd::Playlist::Search), [App::Pimpd::Shell](https://metacpan.org/pod/App::Pimpd::Shell), [App::Pimpd::Transfer](https://metacpan.org/pod/App::Pimpd::Transfer),\n[App::Pimpd::Validate](https://metacpan.org/pod/App::Pimpd::Validate)\n","funding_links":["https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026business=65SFZJ25PSKG8\u0026currency_code=SEK\u0026source=url"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrapd00r%2Fpimpd2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrapd00r%2Fpimpd2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrapd00r%2Fpimpd2/lists"}