aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* | ThreadInputStream: include cleanupMax Kellermann2014-05-121-1/+0
| |
* | InputStream: "protect" attributesMax Kellermann2014-05-1214-37/+53
| |
* | input/cdio: convert to classMax Kellermann2014-05-121-1/+2
| |
* | input/cdio: move initialization code to constructorMax Kellermann2014-05-121-51/+50
| | | | | | | | | | | | Make attributes const, don't allow partial initialization. Instantiate the CdioParanoiaInputStream object at the end of input_cdio_open().
* | input/cdio: handle cdio_open() failureMax Kellermann2014-05-121-0/+5
| |
* | input/cdio: initialize lsn_relofs in constructorMax Kellermann2014-05-121-2/+1
| |
* | input/cdio: initialize attribute "buffer_lsn"Max Kellermann2014-05-121-1/+2
| |
* | input/cdio: remove unused attribute "trackno"Max Kellermann2014-05-121-11/+6
| |
* | Merge tag 'v0.18.11'Max Kellermann2014-05-121-1/+1
|\|
| * decoder/OggUtil: allow skipping up to 32 kB after seekMax Kellermann2014-04-291-1/+1
| | | | | | | | | | | | | | Fixes missing song length on high-latency Opus files. According to tests with 320 kbit/s opus files with 60ms packets, we need to skip up to 29 kB.
| * DeferredMonitor: fix race condition when using GLib event loopMax Kellermann2014-04-262-11/+22
| | | | | | | | | | | | | | | | | | 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.
* | 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-1126-173/+42
| | | | | | 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-1130-68/+130
| |
* | 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!
* | db/Count: implement groupingMax Kellermann2014-04-273-9/+98
| |
* | db/Count: add constructorMax Kellermann2014-04-271-2/+3
| |
* | DatabasePrint: move PrintSongCount() to Count.cxxMax Kellermann2014-04-265-54/+111
| |
* | db/Helpers: split libraryMax Kellermann2014-04-255-47/+98
| |
* | 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-243-89/+131
| |
* | db/Helpers: move TagSet to dedicated headerMax Kellermann2014-04-242-24/+61
| |
* | 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-2413-43/+186
| |
* | 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-241-1/+4
| |
* | 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
| |
* | 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.