Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Playlists #123

Open
ghost opened this issue Feb 28, 2013 · 9 comments

Comments

Projects
None yet
7 participants
@ghost
Copy link

commented Feb 28, 2013

This issue was automatically migrated from Google Code.
Original author: adrian.sampson (February 18, 2009 07:00:50)
Original issue: google-code-export/beets#8

@gadevoi

This comment has been minimized.

Copy link

commented Dec 11, 2014

I'd be interested in this!
For me just having folder with .m3u that beets knows about and have it update the paths of the songs if they are moved on the filesystem is enough.
Maybe also adding a command like "beet list playlist:running" that would list all the songs in that playlist in the right order.

@untitaker untitaker referenced this issue May 9, 2015

Open

Playlists #8

@Kernald

This comment has been minimized.

Copy link
Contributor

commented Mar 4, 2016

I'm currently looking for a way to manage playlists with beets. I already use smartplaylists plugin, but there's something lacking with it: I can't specify any arbitrary order without relying on an existing field. Of course I could add a custom field named playlist_rank on an item, and order the playlist's query with this field, but what if the song is in two different playlists?

From an (my) user perspective, a simple way to manage playlists would require 5 functionalities:

  • Create a new playlist
  • Remove an existing playlist
  • Display playlists
  • Export playlists (automatic step whenever the database changes?) in different formats (m3u in a specific folder for MPD, for example)
  • Edit playlists.

The edition part consists in multiple functionalities itself:

  • Add a song
  • Remove a song
  • Move a song, which would be optional as it simply consists in a removal then addition of the said song.
@sampsyo

This comment has been minimized.

Copy link
Member

commented Mar 4, 2016

Yep, that seems like a great list of requirements.

If I could add one more: I've been fantasizing about having album playlists, not just track playlists. Perhaps even heterogeneous playlists that can contain a mixture of individual tracks and whole albums.

@Xenopathic Xenopathic referenced this issue Jan 10, 2017

Closed

[WIP] Add PlaylistQuery plugin #2380

0 of 2 tasks complete
@skorokithakis

This comment has been minimized.

Copy link

commented Mar 5, 2017

I'd like to plug my own format here: The universal playlist format.

I'm working on a beets plugin that will use this, but it would be nice if it can get better support in core.

@djhibee

This comment has been minimized.

Copy link

commented Jan 8, 2018

Hello,
I have created some shell scripts to maintain playlists based on beets libraries. Some of the features requested above are implemented, like " When user A sends a playlist file (and just the playlist, not any of the music files) to user B, user B's music player should be able to find all the songs from the playlist that user B already owns, so they can be played."
The main con is the performances for huge libraries but it still works.
Unfortunately I did not wrote it in python as I wanted to play a bit with bash, so it needs to be migrated to include these as beets plugins.

@skorokithakis

This comment has been minimized.

Copy link

commented Jan 8, 2018

@djhibee That's very interesting, I'm interested in playlist functionality and adding UPL support to it. I already have scripts to export to UPL, but importing is not working very well yet.

@Holzhaus

This comment has been minimized.

Copy link
Contributor

commented Dec 28, 2018

IMO beets should use standard M3U playlists instead of maintaining it's own in-database format. This would greatly simplify interaction with media players (MPD, etc.). Here's a list of features that would be nice:

  • Add a playlist: query that reads filenames from a M3U playlist and looks them up in the DB (see #2380). This would make it possible to use it with the convert command to copy a playlist onto your mobile playback device.
  • Add a writeplaylist command that take a query and output/write M3U/EXTM3U playlists containing relative/absolute and Unix/Windows-style paths
  • If a track item is moved (using the move command), check if it's present in a playlist and update the path in the playlist to the new one

Holzhaus added a commit to Holzhaus/beets that referenced this issue Feb 15, 2019

playlist: Add playlist plugin
Adds M3U playlist support as a query to beets and thus partially
resolves issue beetbox#123. The implementation is heavily based on beetbox#2380 by
Robin McCorkell.

It supports referencing playlists by absolute path:

    $ beet ls playlist:/path/to/someplaylist.m3u

It also supports referencing playlists by name. The playlist is then
seached in the playlist_dir and the ".m3u" extension is appended to the
name:

    $ beet ls playlist:anotherplaylist

The configuration for the plugin looks like this:

    playlist:
        relative_to: library
        playlist_dir: /path/to/playlists

The relative_to option specifies how relative paths in playlists are
handled. By default, paths are relative to the "library" directory. It
also possible to make them relative to the "playlist" or set the option
or set it to a fixed path.

Holzhaus added a commit to Holzhaus/beets that referenced this issue Feb 15, 2019

playlist: Add playlist plugin
Adds M3U playlist support as a query to beets and thus partially
resolves issue beetbox#123. The implementation is heavily based on beetbox#2380 by
Robin McCorkell.

It supports referencing playlists by absolute path:

    $ beet ls playlist:/path/to/someplaylist.m3u

It also supports referencing playlists by name. The playlist is then
seached in the playlist_dir and the ".m3u" extension is appended to the
name:

    $ beet ls playlist:anotherplaylist

The configuration for the plugin looks like this:

    playlist:
        relative_to: library
        playlist_dir: /path/to/playlists

The relative_to option specifies how relative paths in playlists are
handled. By default, paths are relative to the "library" directory. It
also possible to make them relative to the "playlist" or set the option
or set it to a fixed path.

Holzhaus added a commit to Holzhaus/beets that referenced this issue Feb 15, 2019

playlist: Add playlist plugin
Adds M3U playlist support as a query to beets and thus partially
resolves issue beetbox#123. The implementation is heavily based on beetbox#2380 by
Robin McCorkell.

It supports referencing playlists by absolute path:

    $ beet ls playlist:/path/to/someplaylist.m3u

It also supports referencing playlists by name. The playlist is then
seached in the playlist_dir and the ".m3u" extension is appended to the
name:

    $ beet ls playlist:anotherplaylist

The configuration for the plugin looks like this:

    playlist:
        relative_to: library
        playlist_dir: /path/to/playlists

The relative_to option specifies how relative paths in playlists are
handled. By default, paths are relative to the "library" directory. It
also possible to make them relative to the "playlist" or set the option
or set it to a fixed path.

Holzhaus added a commit to Holzhaus/beets that referenced this issue Feb 15, 2019

playlist: Add playlist plugin
Adds M3U playlist support as a query to beets and thus partially
resolves issue beetbox#123. The implementation is heavily based on beetbox#2380 by
Robin McCorkell.

It supports referencing playlists by absolute path:

    $ beet ls playlist:/path/to/someplaylist.m3u

It also supports referencing playlists by name. The playlist is then
seached in the playlist_dir and the ".m3u" extension is appended to the
name:

    $ beet ls playlist:anotherplaylist

The configuration for the plugin looks like this:

    playlist:
        relative_to: library
        playlist_dir: /path/to/playlists

The relative_to option specifies how relative paths in playlists are
handled. By default, paths are relative to the "library" directory. It
also possible to make them relative to the "playlist" or set the option
or set it to a fixed path.

Holzhaus added a commit to Holzhaus/beets that referenced this issue Feb 17, 2019

playlist: Add playlist plugin
Adds M3U playlist support as a query to beets and thus partially
resolves issue beetbox#123. The implementation is heavily based on beetbox#2380 by
Robin McCorkell.

It supports referencing playlists by absolute path:

    $ beet ls playlist:/path/to/someplaylist.m3u

It also supports referencing playlists by name. The playlist is then
seached in the playlist_dir and the ".m3u" extension is appended to the
name:

    $ beet ls playlist:anotherplaylist

The configuration for the plugin looks like this:

    playlist:
        relative_to: library
        playlist_dir: /path/to/playlists

The relative_to option specifies how relative paths in playlists are
handled. By default, paths are relative to the "library" directory. It
also possible to make them relative to the "playlist" or set the option
or set it to a fixed path.
@piegamesde

This comment has been minimized.

Copy link

commented May 17, 2019

@skorokithakis Any progress on the UPF front?

@skorokithakis

This comment has been minimized.

Copy link

commented May 17, 2019

Not much, I'm afraid. I did some work towards it but there's nothing finished, only some stand-alone scripts that can convert to/from PLS...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.