| Commit message (Collapse) | Author | Files | Lines |
|
|
|
The new class Path only holds a string pointer without being
responsible for allocation/deallocation. The FileSystem.hxx library
accepts Path arguments instead of AllocatedPath, to avoid forcing
callers to allocate another string object.
|
|
Prepare to migrate away from GLib. Currently, we're still using GLib
as a backend.
|
|
|
|
Migrate all callers to use Path directly, instead of doing the
conversion in each caller.
|
|
No caller needs this. Fixes use-after-free after returning from
Client::OnTimeout().
|
|
Save the state file 2 minutes after the last change. This reduces the
disruptions by an idle MPD, and MPD can be paged out permanently until
it is used.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This is the beginning of multi-player support. There will be support
for multiple Partition objects in one MPD process.
|
|
|
|
|
|
|
|
|
|
GLib 2.16 was released more than 4 years ago. Let's remove some cruft
from the glib_compat.h header, and avoid new cruft to it.
|
|
Make sure we get a UTF-8 encoded string.
|
|
|
|
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.
|
|
Don't use a large stack buffer.
|
|
MPD doesn't have child processes anymore, and thus we're not expecting
to receive SIGCHLD very often. Since hard disk access isn't
interrupted by signals anyway, we don't need those excessive checks.
|
|
|
|
After we've been hit by Large File Support problems several times in
the past week (which only occur on 32 bit platforms, which I don't
have), this is yet another attempt to fix the issue.
|
|
Drop the required GLib version from 2.16 to 2.12, because many current
systems still don't have GLib 2.16. This requires several new
compatibility functions in glib_compat.h.
|
|
|
|
If nothing has changed since the last save, don't save the state
file. Saving will spin up the hard drive, which is undesirable on
hosts where MPD is idling in background.
|
|
|
|
Parse the state file line by line, let each subsystem probe a line.
Only the playlist_state code gets the FILE pointer to read the
following lines.
|
|
Return early from the destructor function when there is no configured
state file. Don't check the timer, don't call g_free(NULL).
|
|
Print "Loading" instead of "Saving" in state_file_read(). Added debug
message to state_file_write().
|
|
Those were only wrappers for playlist_state_{save,restore}(). Since
sf_callbacks has been removed, we can call the latter functions
directly.
|
|
There are very few callbacks, and they are not meant to be pluggable.
Let's eliminate the array and call the load/save functions manually.
|
|
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.
|
|
|
|
The state_file library should manage its own regular saves.
|
|
The constructor/destructor interface should hide the functions
read_state_file() and write_state_file().
|
|
|
|
Renamed functions, types, variables.
|
|
|
|
If the state file cannot be read, for whatever reason, don't abort
MPD. The state file isn't _that_ important.
|
|
|
|
We want to remove gcc.h eventually. This takes care of all the
G_GNUC_NORETURN macros.
|
|
We want to remove gcc.h eventually. This takes care of all the
G_LIKELY/G_UNLIKELY macros.
|
|
When there are standardized headers, use these instead of the bloated
os_compat.h.
|
|
open(2) should only interrupt on "slow" devices, afaik...
[mk: still using fopen()]
|
|
Use unsigned variables for storing the count of items or for iteration
variables. Since there can never be a negative number of items, it
makes sense to use an unsigned data type here. This change is safe
because the unsigned values are only used for adddressing array items.
git-svn-id: https://svn.musicpd.org/mpd/trunk@7214 09075e82-0dd4-0310-85a5-a0d7c8717e4f
|