| Commit message (Collapse) | Author | Files | Lines |
|
Implement a "bulk" edit mode that postpones both UpdateQueuedSong()
and OnModified(). This way, the playlist version gets incremented
only once. More importantly: when adding multiple songs to a queue
that consists of only one song, the first song that got added will
always be played next. By postponing this choice, all newly added
songs get a chance to become the next song. Fixes the second (and
last) part of Mantis ticket 0004005.
|
|
Works around a build failure on Solaris because annoyingly, Solaris
reserves the name "queue". This rename was pending anyway.
|
|
|
|
Fixes regression from commit e96779d.
|
|
Finally restores an important feature that has been broken for several
months when the PlayerThread started working with Song copies instead
of pointers to the Queue's Song instances (commit e96779d).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This is the beginning of multi-player support. There will be support
for multiple Partition objects in one MPD process.
|
|
Move the configuration lookup to Main.cxx.
|
|
|
|
|
|
For simpler seeking within current song.
|
|
Reduce header dependencies.
|
|
Only used there.
|
|
Sorts remaining songs by priority. This can be used for the
much-demanded "queue feature".
|
|
|
|
Allocate a player_control object where needed, and pass it around.
Each "client" object is associated with a "player_control" instance.
This prepares multi-player support.
|
|
|
|
No more CD player emulation. The current behaviour of "previous" is
difficult for a client to predict, because it does not definitely know
the current position within the song. If a client wants to restart
the current song, it can always send "playid".
|
|
|
|
Renamed all playlist functions to non-CamelCase.
|
|
|
|
Those were only wrappers for playlist_state_{save,restore}(). Since
sf_callbacks has been removed, we can call the latter functions
directly.
|
|
To determine whether to rewind the current song or to go to the
previous song, use a GTimer instead of manually diffing time(NULL).
|
|
Consume mode removes each song played
|
|
When single mode is enabled, after current song it stops playback,
or it replay same song if repeat mode is activated.
|
|
The smartstop feature is a way to tell mpd to stop playing after
current song.
This patche provides:
- 'state' command returns 'smartstop' state (1 or 0)
- 'smartstop' can activate or not the smartstop state
- when song is terminated, mpd stops playing and smartstop is set to 0
|
|
The move command now accepts a range for the first argument, in the same
form as other range commands, e.g. move 15:17 3. The first song in the
range is placed at the destination position. Note that as with other
range commands, the range is inclusive on the left only; this example
would move only songs 15 and 16, not 17.
[mk: fixed signed/unsigned warnings; use G_MAXUINT instead of
UINT_MAX]
|
|
This updates the copyright header to all be the same, which is
pretty much an update of where to mail request for a copy of the GPL
and the years of the MPD project. This also puts all committers under
'The Music Player Project' umbrella. These entries should go
individually in the AUTHORS file, for consistancy.
|
|
This command shuffles a range of songs.
|
|
In random mode, this patch allows clients to see the "next song" in
the queue.
|
|
Pass constant playlist objects to functions which do not modify it.
|
|
Export the "g_playlist" variable, and pass it to all playlist
functions. This way, we can split playlist.c easier into separate
parts. The code which initializes the singleton variable is moved to
playlist_global.c.
|
|
|
|
Don't declare and export variables specific to stored playlists in
playlist.c/playlist.h.
|
|
Now playlist.c does not contain any protocol specific code anymore.
|
|
No CamelCase and no typedefs.
|
|
Replaced several wrapper functions from playlist.c, and make command.c
use the queue print functions directly.
|
|
To allow code outside playlist.c to access the "queue" object,
provide a function which returns a const pointer.
|
|
No typedefs.
|
|
Moved the 2 remaining global variables into the playlist struct.
|