-
-
Notifications
You must be signed in to change notification settings - Fork 1
play
The play
plugin allows you to pass the results of a query to a music
player in the form of an m3u playlist or paths on the command line.
[NOTE:] MusicPlayerPlus has configured the Beets play plugin
to use the command /usr/share/musicplayerplus/scripts/mpcplay.sh
to play media with this plugin. This script clears the MPD queue,
adds any songs matching the query to the queue, and plays the MPD queue.
In addition, two arguments are supported: --shuffle
and --debug
.
These additional arguments are passed using the --args
feature.
For example, to play all media matching the string "blue" and shuffle
the order of play, issue the command beet play --args --shuffle blue
.
Example usage:
beet play velvet
beet play playlist:1970s
beet play --args --shuffle playlist:1990s
beet play --args "--debug --shuffle" green eyes
To use the play
plugin, enable it in your configuration (see
using-plugins
{.interpreted-text role="ref"}). Then use it by invoking
the beet play
command with a query. The command will create a
temporary m3u file and open it using an appropriate application. You can
query albums instead of tracks using the -a
option.
By default, the playlist is opened using the open
command on OS X,
xdg-open
on other Unixes, and start
on Windows. To configure the
command, you can use a play:
section in your configuration file:
play:
command: /Applications/VLC.app/Contents/MacOS/VLC
You can also specify additional space-separated options to command (like you would on the command-line):
play:
command: /usr/bin/command --option1 --option2 some_other_option
While playing you'll be able to interact with the player if it is a command-line oriented, and you'll get its output in real time.
The play
plugin can also be invoked during an import. If enabled, the
plugin adds a plaY
option to the prompt, so pressing y
will execute
the configured command and play the items currently being imported.
Once the configured command exits, you will be returned to the import decision prompt. If your player is configured to run in the background (in a client/server setup), the music will play until you choose to stop it, and the import operation continues immediately.
To configure the plugin, make a play:
section in your configuration
file. The available options are:
-
command: The command used to open the playlist. Default:
open
on OS X,xdg-open
on other Unixes andstart
on Windows. Insert$args
to use the--args
feature. - relative_to: If set, emit paths relative to this directory. Default: None.
-
use_folders: When using the
-a
option, the m3u will contain the paths to each track on the matched albums. Enable this option to store paths to folders instead. Default:no
. -
raw: Instead of creating a temporary m3u playlist and then
opening it, simply call the command with the paths returned by the
query as arguments. Default:
no
. -
warning_threshold: Set the minimum number of files to play which
will trigger a warning to be emitted. If set to
no
, warning are never issued. Default: 100. -
bom: Set whether or not a UTF-8 Byte Order Mark should be
emitted into the m3u file. If you're using foobar2000 or Winamp,
this is needed. Default:
no
.
The --args
(or -A
) flag to the play
command lets you specify
additional arguments for your player command. Options are inserted after
the configured command
string and before the playlist filename.
For example, if you have the plugin configured like this:
play:
command: mplayer -quiet
and you occasionally want to shuffle the songs you play, you can type:
$ beet play --args -shuffle
to get beets to execute this command:
mplayer -quiet -shuffle /path/to/playlist.m3u
instead of the default.
If you need to insert arguments somewhere other than the end of the
command
string, use $args
to indicate where to insert them. For
example:
play:
command: mpv $args --playlist
indicates that you need to insert extra arguments before specifying the playlist.
The --yes
(or -y
) flag to the play
command will skip the warning
message if you choose to play more items than the warning_threshold
value usually allows.
Because the command that will open the generated .m3u
files can be
arbitrarily configured by the user, beets won't try to delete those
files. For this reason, using this plugin will leave one or several
playlist(s) in the directory selected to create temporary files (Most
likely /tmp/
on Unix-like systems. See
tempfile.tempdir
in the Python docs.). Leaking those playlists until they are externally
wiped could be an issue for privacy or storage reasons. If this is the
case for you, you might want to use the raw
config option described
above.