Merge tag 'release-0.17.5'
This commit is contained in:
12
NEWS
12
NEWS
@@ -20,7 +20,17 @@ ver 0.18 (2012/??/??)
|
|||||||
* improved decoder/output error reporting
|
* improved decoder/output error reporting
|
||||||
* eliminate timer wakeup on idle MPD
|
* eliminate timer wakeup on idle MPD
|
||||||
|
|
||||||
ver 0.17.4 (2013/??/??)
|
ver 0.17.5 (2013/08/04)
|
||||||
|
* protocol:
|
||||||
|
- fix "playlistadd" with URI
|
||||||
|
- fix "move" relative to current when there is no current song
|
||||||
|
* decoder:
|
||||||
|
- ffmpeg: support "application/flv"
|
||||||
|
- mikmod: adapt to libmikmod 3.2
|
||||||
|
* configure.ac:
|
||||||
|
- detect system "ar"
|
||||||
|
|
||||||
|
ver 0.17.4 (2013/04/08)
|
||||||
* protocol:
|
* protocol:
|
||||||
- allow to omit END in ranges (START:END)
|
- allow to omit END in ranges (START:END)
|
||||||
- don't emit IDLE_PLAYER before audio format is known
|
- don't emit IDLE_PLAYER before audio format is known
|
||||||
|
@@ -23,6 +23,11 @@ AC_PROG_CC_C99
|
|||||||
AC_PROG_CXX
|
AC_PROG_CXX
|
||||||
AC_PROG_RANLIB
|
AC_PROG_RANLIB
|
||||||
|
|
||||||
|
AN_MAKEVAR([AR], [AC_PROG_AR])
|
||||||
|
AN_PROGRAM([ar], [AC_PROG_AR])
|
||||||
|
AC_DEFUN([AC_PROG_AR], [AC_CHECK_TOOL(AR, ar, :)])
|
||||||
|
AC_PROG_AR
|
||||||
|
|
||||||
AC_PROG_INSTALL
|
AC_PROG_INSTALL
|
||||||
AC_PROG_MAKE_SET
|
AC_PROG_MAKE_SET
|
||||||
PKG_PROG_PKG_CONFIG
|
PKG_PROG_PKG_CONFIG
|
||||||
|
@@ -29,29 +29,18 @@ See \fBdocs/mpdconf.example\fP in the source tarball for an example
|
|||||||
configuration file.
|
configuration file.
|
||||||
.SH REQUIRED PARAMETERS
|
.SH REQUIRED PARAMETERS
|
||||||
.TP
|
.TP
|
||||||
.B follow_outside_symlinks <yes or no>
|
|
||||||
Control if MPD will follow symbolic links pointing outside the music dir.
|
|
||||||
You must recreate the database after changing this option.
|
|
||||||
The default is "yes".
|
|
||||||
.TP
|
|
||||||
.B follow_inside_symlinks <yes or no>
|
|
||||||
Control if MPD will follow symbolic links pointing inside the music dir,
|
|
||||||
potentially adding duplicates to the database.
|
|
||||||
You must recreate the database after changing this option.
|
|
||||||
The default is "yes".
|
|
||||||
.TP
|
|
||||||
.B db_file <file>
|
.B db_file <file>
|
||||||
This specifies where the db file will be stored.
|
This specifies where the db file will be stored.
|
||||||
.TP
|
.TP
|
||||||
.B sticker_file <file>
|
|
||||||
The location of the sticker database. This is a database which
|
|
||||||
manages dynamic information attached to songs.
|
|
||||||
.TP
|
|
||||||
.B log_file <file>
|
.B log_file <file>
|
||||||
This specifies where the log file should be located.
|
This specifies where the log file should be located.
|
||||||
The special value "syslog" makes MPD use the local syslog daemon.
|
The special value "syslog" makes MPD use the local syslog daemon.
|
||||||
.SH OPTIONAL PARAMETERS
|
.SH OPTIONAL PARAMETERS
|
||||||
.TP
|
.TP
|
||||||
|
.B sticker_file <file>
|
||||||
|
The location of the sticker database. This is a database which
|
||||||
|
manages dynamic information attached to songs.
|
||||||
|
.TP
|
||||||
.B pid_file <file>
|
.B pid_file <file>
|
||||||
This specifies the file to save mpd's process ID in.
|
This specifies the file to save mpd's process ID in.
|
||||||
.TP
|
.TP
|
||||||
@@ -99,6 +88,17 @@ reports from what address a connection is opened, and when it is closed, and
|
|||||||
"verbose" records excessive amounts of information for debugging purposes. The
|
"verbose" records excessive amounts of information for debugging purposes. The
|
||||||
default is "default".
|
default is "default".
|
||||||
.TP
|
.TP
|
||||||
|
.B follow_outside_symlinks <yes or no>
|
||||||
|
Control if MPD will follow symbolic links pointing outside the music dir.
|
||||||
|
You must recreate the database after changing this option.
|
||||||
|
The default is "yes".
|
||||||
|
.TP
|
||||||
|
.B follow_inside_symlinks <yes or no>
|
||||||
|
Control if MPD will follow symbolic links pointing inside the music dir,
|
||||||
|
potentially adding duplicates to the database.
|
||||||
|
You must recreate the database after changing this option.
|
||||||
|
The default is "yes".
|
||||||
|
.TP
|
||||||
.B zeroconf_enabled <yes or no>
|
.B zeroconf_enabled <yes or no>
|
||||||
If yes, and MPD has been compiled with support for Avahi or Bonjour, service
|
If yes, and MPD has been compiled with support for Avahi or Bonjour, service
|
||||||
information will be published with Zeroconf. The default is yes.
|
information will be published with Zeroconf. The default is yes.
|
||||||
|
@@ -193,7 +193,7 @@ handle_playlistadd(Client *client, G_GNUC_UNUSED int argc, char *argv[])
|
|||||||
return COMMAND_RETURN_ERROR;
|
return COMMAND_RETURN_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
success = spl_append_uri(argv[1], playlist, &error);
|
success = spl_append_uri(uri, playlist, &error);
|
||||||
} else
|
} else
|
||||||
success = search_add_to_playlist(uri, playlist, nullptr,
|
success = search_add_to_playlist(uri, playlist, nullptr,
|
||||||
&error);
|
&error);
|
||||||
|
@@ -342,7 +342,12 @@ playlist::MoveRange(player_control &pc, unsigned start, unsigned end, int to)
|
|||||||
* (-playlist.length == to) => move to position BEFORE current song
|
* (-playlist.length == to) => move to position BEFORE current song
|
||||||
*/
|
*/
|
||||||
const int currentSong = GetCurrentPosition();
|
const int currentSong = GetCurrentPosition();
|
||||||
if (to < 0 && currentSong >= 0) {
|
if (to < 0) {
|
||||||
|
if (currentSong < 0)
|
||||||
|
/* can't move relative to current song,
|
||||||
|
because there is no current song */
|
||||||
|
return PLAYLIST_RESULT_BAD_RANGE;
|
||||||
|
|
||||||
if (start <= (unsigned)currentSong && (unsigned)currentSong < end)
|
if (start <= (unsigned)currentSong && (unsigned)currentSong < end)
|
||||||
/* no-op, can't be moved to offset of itself */
|
/* no-op, can't be moved to offset of itself */
|
||||||
return PLAYLIST_RESULT_SUCCESS;
|
return PLAYLIST_RESULT_SUCCESS;
|
||||||
|
@@ -173,7 +173,7 @@ Song::UpdateFileInArchive()
|
|||||||
if (suffix == NULL)
|
if (suffix == NULL)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
plugin = decoder_plugin_from_suffix(suffix, nullptr);
|
plugin = decoder_plugin_from_suffix(suffix, NULL);
|
||||||
if (plugin == NULL)
|
if (plugin == NULL)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
@@ -586,6 +586,7 @@ static const char *const ffmpeg_suffixes[] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static const char *const ffmpeg_mime_types[] = {
|
static const char *const ffmpeg_mime_types[] = {
|
||||||
|
"application/flv",
|
||||||
"application/m4a",
|
"application/m4a",
|
||||||
"application/mp4",
|
"application/mp4",
|
||||||
"application/octet-stream",
|
"application/octet-stream",
|
||||||
|
@@ -199,7 +199,11 @@ mikmod_decoder_scan_file(const char *path_fs,
|
|||||||
if (title != nullptr) {
|
if (title != nullptr) {
|
||||||
tag_handler_invoke_tag(handler, handler_ctx,
|
tag_handler_invoke_tag(handler, handler_ctx,
|
||||||
TAG_TITLE, title);
|
TAG_TITLE, title);
|
||||||
|
#if (LIBMIKMOD_VERSION >= 0x030200)
|
||||||
|
MikMod_free(title);
|
||||||
|
#else
|
||||||
free(title);
|
free(title);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
Reference in New Issue
Block a user