pft / mingus

GNU Emacs control of Music Player Daemon (MPD)
104 stars 19 forks source link

[Feature] Queue feature #14

Open rogorido opened 8 years ago

rogorido commented 8 years ago

Is there a chance that you add a queue feature to mingus? I know this is not completely ease, since mpd does not support queueing (or only in a very strange way), but maybe it is easier in emacs with some trick in the playlist...

(and thanks for the package!)

pft commented 8 years ago

Mpd has a current playlist, in which one 'queues' songs. Do you mean st. like 'play this song next'? You can achieve such stuff with mingus-point-of-insertion. Please look into that and tell me if it scratches your itch.

On Monday, December 14, 2015, Igor Sosa Mayor notifications@github.com wrote:

Is there a chance that you add a queue feature to mingus? I know this is not completely ease, since mpd does not support queueing (or only in a very strange way), but maybe it is easier in emacs with some trick in the playlist

(and thanks for the package!)

— Reply to this email directly or view it on GitHub https://github.com/pft/mingus/issues/14.

http://pft.github.com

rogorido commented 8 years ago

Thanks for your answer. I think it is not exactly the same. And as I said, mpd itself has a rather strange implementation: http://www.musicpd.org/doc/protocol/recipes.html#queuing_recipe

The idea is: you have a long playlist of songs and want to play them, let say 3 or 4, after the current song, without having to reorder the list...

pft commented 8 years ago

Ok, so that's what queueing is about. I think we can implement this with the prio commands, that is, if your use case is random mode. It is indeed a bit of a pain that we have to maintain an internal copy of the prios or ask mpd before setting prios.

mingus-enqueue could do the following:

when there is an active region, enqueue songs contained within. when there are marked songs, enqueue those else enqueue song at point.

Enqueue would mean: play (list of) song(s) after current song.

As to feedback: non-zero priority values could perhaps be shown in an extra column (the mopidy branch has a column layout and I want to merge that back into master).

When enqueueing multiple songs, should their internal order be random or ordered according to playlist order?

Note: I do not yet know when I have time to implement this, but first we have to be on the same track.

On Sunday, December 20, 2015, Igor Sosa Mayor notifications@github.com wrote:

Thanks for your answer. I think it is not exactly the same. And as I said, mpd itself has a rather strange implementation: http://www.musicpd.org/doc/protocol/recipes.html#queuing_recipe

The idea is: you have a long playlist of songs and want to play them, let say 3 or 4, after the current song, without having to reorder the list...

— Reply to this email directly or view it on GitHub https://github.com/pft/mingus/issues/14#issuecomment-166160076.

http://pft.github.com

rogorido commented 8 years ago

Thanks for the long answer.

  1. I can imagine that it is complicated/painful to have to maintain an internal "playlist" inside of the playlist.
  2. I'm interested in the feature, but I can understand if it is too complicated.
  3. When enqueueing multiple songs, should their internal order be random or ordered according to playlist order? --> Theoretically, if I understand it rightly, mpd plays them according to the priority.

If you need tests for this feature or another, let me know. It is a pleasure to be able to use mpd inside emacs. Thanks again for the package!