aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * DeferredMonitor: fix race condition when using GLib event loopMax Kellermann2014-04-263-11/+23
| | | | | | | | | | | | | | | | | | Turns out the lock-free code using atomics was not thread-safe. The given callback could be invoked by GLib before the source_id attribute was assigned. This commit changes the DeferredMonitor class to use a Mutex to block the event loop until source_id is assigned. This bug does not exist in the 0.19 branch because it does not use the GLib main loop anymore.
| * configure.ac: prepare for 0.18.11Max Kellermann2014-04-262-1/+3
| |
* | icu/Collate: use u_strFoldCase() instead of ucol_getSortKey()Max Kellermann2014-05-121-10/+41
| | | | | | | | Turns out ucol_getSortKey() does not what I thought it does.
* | icu/Collate: UCharFromUTF8() returns WritableBuffer<UChar>Max Kellermann2014-05-121-19/+20
| |
* | icu/Collate: initialize error_codeMax Kellermann2014-05-121-1/+1
| | | | | | | | Fixes the broken "search" command.
* | mixer/software: keep attribute "volume" in the 0..100 rangeMax Kellermann2014-05-121-7/+19
| | | | | | | | | | The attribute must be 0..100 and not 0..1024. Previously, the code was inconsistent.
* | InputStream: remove attribute "plugin"Max Kellermann2014-05-1116-63/+21
| |
* | InputStream: make various methods abstractMax Kellermann2014-05-1119-643/+252
| | | | | | | | Replace InputPlugin attributes.
* | InputStream: add virtual destructorMax Kellermann2014-05-1131-180/+48
| | | | | | Replaces the method Close().
* | input/plugins: make InputStream the base classMax Kellermann2014-05-1115-320/+236
| | | | | | | | Prepare for adding virtual methods.
* | input/rewind: convert to classMax Kellermann2014-05-111-46/+89
| |
* | InputStream: convert to classMax Kellermann2014-05-1131-70/+132
| |
* | Makefile.am: add variable NFS_SOURCESMax Kellermann2014-05-111-2/+5
| |
* | PlaylistCommands: remove redundant playlist_load_spl() callMax Kellermann2014-05-103-56/+1
| | | | | | | | | | This case is handled already by playlist_open_in_playlist_dir() (via playlist_mapper_open()). And the call didn't work anyway.
* | PlaylistMapper: use map_spl_utf8_to_fs()Max Kellermann2014-05-101-10/+2
| | | | | | | | | | | | Eliminates some overhead and some duplicate code, and fixes a serious bug: the old code did not append the ".m3u" suffix, and thus the "load" command was completely broken for stored playlists. D'oh!
* | doc/protocol.xml: add warning to "listall" and "listallinfo"Max Kellermann2014-04-291-0/+12
| |
* | db/Count: implement groupingMax Kellermann2014-04-275-10/+109
| |
* | db/Count: add constructorMax Kellermann2014-04-271-2/+3
| |
* | DatabasePrint: move PrintSongCount() to Count.cxxMax Kellermann2014-04-266-54/+112
| |
* | db/Helpers: split libraryMax Kellermann2014-04-256-47/+99
| |
* | DatabasePrint: refactor variable/function namesMax Kellermann2014-04-253-23/+23
| |
* | LogInit: fix file descriptor leak in SIGHUP handlerMax Kellermann2014-04-251-0/+2
| |
* | DatabaseCommands: disallow "grouping" by the selected tagMax Kellermann2014-04-251-0/+7
| | | | | | | | Fixes assertion failure.
* | db/Helpers: move code to tag/Set.cxxMax Kellermann2014-04-244-90/+132
| |
* | db/Helpers: move TagSet to dedicated headerMax Kellermann2014-04-243-24/+62
| |
* | db/Helpers: use set::emplace()Max Kellermann2014-04-241-0/+8
| |
* | DatabasePrint: eliminate printAllIn(), printInfoForAllIn()Max Kellermann2014-04-243-26/+4
| |
* | DatabasePrint: merge adjacent client_printf() callsMax Kellermann2014-04-241-2/+4
| |
* | DatabasePrint: pass const SearchStats referenceMax Kellermann2014-04-241-4/+5
| |
* | DatabasePrint: use unsigned countsMax Kellermann2014-04-241-3/+3
| |
* | DatabaseCommands: "list" allows groupingMax Kellermann2014-04-2415-43/+197
| |
* | TagBuilder: add method AddEmptyItem()Max Kellermann2014-04-242-0/+17
| |
* | DatabaseCommands: simplify the handle_list() argument parserMax Kellermann2014-04-241-9/+12
| |
* | db/Helpers: "list" on album artist falls back to the artist tagMax Kellermann2014-04-242-1/+5
| |
* | db/Helpers: move code to CheckUniqueTag()Max Kellermann2014-04-241-6/+12
| |
* | db/Helpers: use reference instead of pointerMax Kellermann2014-04-241-4/+6
| |
* | SongFilter: convert argv to ConstBufferMax Kellermann2014-04-244-13/+27
| |
* | util/{Const,Writable}Buffer: add front(), back(), pop_{front,back}(), shift()Max Kellermann2014-04-242-0/+118
| |
* | util/{Const,Writable}Buffer: add typedef reference_typeMax Kellermann2014-04-242-4/+8
| |
* | doc/protocol.xml: change "in" to "base"Max Kellermann2014-04-241-1/+1
| |
* | doc/protocol.xml: update and fix command "list"Max Kellermann2014-04-241-5/+10
| |
* | DatabaseCommands: fix crash on "list base"Max Kellermann2014-04-242-7/+4
| | | | | | | | | | | | The string "base" is understood by locate_parse_type(), but not by listAllUniqueTags(). The special tag type LOCATE_TAG_BASE_TYPE causes a crash in PrintUniqueTag().
* | DatabasePrint: convert "type" to unsignedMax Kellermann2014-04-242-2/+2
| |
* | DatabaseCommands: clarify compatibility commentMax Kellermann2014-04-241-1/+1
| |
* | input/nfs: add missing string.h includeMax Kellermann2014-04-231-0/+1
| | | | | | | | For strrchr(). Fixes build failure.
* | Merge tag 'release-0.18.10'Max Kellermann2014-04-105-19/+63
|\|
| * release v0.18.10Max Kellermann2014-04-101-1/+1
| |
| * decoder/sndfile: work around libsndfile bug on partial readMarcello Desantis2014-04-092-6/+21
| |
| * PlaylistEdit: don't interrupt playback when current song gets deletedWeng Xuetian2014-04-092-10/+9
| |
| * decoder/ffmpeg: handle unknown stream start timeMax Kellermann2014-03-182-2/+26
| |