Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | db/upnp/Directory: eliminate struct StackEl, use std::string | Max Kellermann | 2014-01-10 | 1 | -11/+6 |
| | | | | Reduces bloat. | ||||
* | db/upnp/Directory: make "attributes" a local variable | Max Kellermann | 2014-01-10 | 1 | -14/+14 |
| | | | | We only need it inside StartElement(). Reduces bloat. | ||||
* | db/upnp/Directory: move "res" tag handler to StartElement() | Max Kellermann | 2014-01-10 | 1 | -12/+16 |
| | | | | | No need to handle this in EndElement() - in StartElement(), we already have all we need. | ||||
* | db/upnp/Directory: don't use std::map to parse upnp:class | Max Kellermann | 2014-01-10 | 1 | -9/+18 |
| | | | | Reduce excessive bloat. | ||||
* | db/upnp/Object: use strictly-typed enums | Max Kellermann | 2014-01-10 | 3 | -44/+74 |
| | | | | | At the same time, rename the enum types and the class attributes, and add an "UNKNOWN" type/class. The latter avoids the "-1" hack. | ||||
* | db/upnp: getprop() returns const char * | Max Kellermann | 2014-01-10 | 2 | -21/+19 |
| | | | | | Return the return value, instead returning it in a reference parameter. Reduces bloat by reducing unnecessary std::string usage. | ||||
* | Expat: attributes come in name/value pairs (bug fix) | Max Kellermann | 2014-01-10 | 1 | -2/+2 |
| | | | | | I wrongfully assumed that each array element is a name and a value concatenated. | ||||
* | db/upnp: don't set mtime, start_ms, end_ms | Max Kellermann | 2014-01-10 | 1 | -5/+0 |
| | | | | Not necessary or useful. | ||||
* | db/upnp: use TagTable in upnpItemToSong() | Max Kellermann | 2014-01-10 | 1 | -25/+14 |
| | | | | Reduces bloat by eliminating one std::map. | ||||
* | UPnP database plugin | Jean-Francois Dockes | 2014-01-09 | 21 | -0/+3236 |
| | | | | | | [mk: renamed source files, applied coding style, reduced bloat, using MPD's threading library, using MPD's error reporting and logging library and refactoring, fixed lots of bugs] | ||||
* | ExpatParser: add Parse() overload with buffer | Max Kellermann | 2014-01-09 | 2 | -9/+22 |
| | |||||
* | ExpatParser: add helper class CommonExpatParser | Max Kellermann | 2014-01-09 | 1 | -0/+48 |
| | |||||
* | event/Loop: allow AddTimer() after Run() has returned | Max Kellermann | 2014-01-09 | 1 | -1/+3 |
| | | | | Kludge for libavahi-client quirk. | ||||
* | tag/TagTable: add lookup TagType -> name | Max Kellermann | 2014-01-09 | 2 | -0/+19 |
| | |||||
* | event/Loop: allow scheduling events before Run() | Max Kellermann | 2014-01-09 | 3 | -5/+29 |
| | | | | | Add the debug-only flag "virgin" which gets checked by assert() calls. Fixes assertion failures when using zeroconf/avahi. | ||||
* | Directory: remove method Free() | Max Kellermann | 2014-01-09 | 4 | -13/+5 |
| | |||||
* | db/proxy: allocate Directory instance on the stack | Max Kellermann | 2014-01-09 | 1 | -7/+3 |
| | |||||
* | Directory: convert to fixed-size struct | Max Kellermann | 2014-01-09 | 2 | -56/+15 |
| | | | | | Using a variable-size struct with embedded string is not worth the trouble here. There are not so many Directory objects. | ||||
* | Timer: remove unused method Synchronize() | Max Kellermann | 2014-01-09 | 2 | -15/+0 |
| | |||||
* | playlist/{asx,rss,xspf}: use Expat instead of GLib to parse XML | Max Kellermann | 2014-01-09 | 6 | -258/+201 |
| | |||||
* | playlist/asx: make variables more local | Max Kellermann | 2014-01-09 | 1 | -7/+6 |
| | |||||
* | DetachedSong: fork of struct Song | Max Kellermann | 2014-01-09 | 66 | -745/+773 |
| | | | | | | From now on, struct Song will be used by the database only, and DetachedSong will be used by everybody else. DetachedSong is easier to use, but Song has lower overhead. | ||||
* | SongUpdate: move code to handle_lsinfo() | Max Kellermann | 2014-01-08 | 5 | -20/+30 |
| | | | | | Don't create a temporary Song object in handle_lsinfo(). Instead, print all tags while parsing the remote file. | ||||
* | SongSave: make variables more local | Max Kellermann | 2014-01-08 | 1 | -5/+4 |
| | |||||
* | Merge branch 'v0.18.x' | Max Kellermann | 2014-01-08 | 3 | -2/+4 |
|\ | |||||
| * | decoder/faad: fix memory leak | Max Kellermann | 2014-01-08 | 1 | -0/+2 |
| | | |||||
| * | playlist/pls: don't free stack buffer | Max Kellermann | 2014-01-08 | 1 | -1/+0 |
| | | |||||
| * | util/UriUtil: uri_get_suffix() fails if name begins with dot | Max Kellermann | 2013-12-29 | 1 | -1/+2 |
| | | | | | | | | | | A file called ".jpg" is not a JPEG file with an empty name; it is merely a hidden file. | ||||
* | | playlist/pls: make variables more local | Max Kellermann | 2014-01-08 | 1 | -17/+9 |
| | | |||||
* | | playlist/pls: convert "while" loop to "for" loop | Max Kellermann | 2014-01-08 | 1 | -2/+1 |
| | | |||||
* | | playlist/pls: simplify error handler | Max Kellermann | 2014-01-08 | 1 | -11/+4 |
| | | | | | | | | | | Don't pass a GError** to g_key_file_get_X(). We don't need to dispose something we didn't request in the first place. | ||||
* | | DespotifyUtils: return Tag, not pointer | Max Kellermann | 2014-01-08 | 4 | -12/+12 |
| | | |||||
* | | DespotifyUtils: pass const ds_track reference | Max Kellermann | 2014-01-08 | 4 | -17/+17 |
| | | |||||
* | | tag/TagBuilder: overload Commit() returning a Tag object | Max Kellermann | 2014-01-08 | 7 | -12/+24 |
| | | |||||
* | | tag/TagBuilder: rename Commit() to CommitNew() | Max Kellermann | 2014-01-08 | 20 | -23/+23 |
| | | |||||
* | | input/AlsaInputPlugin: remove unnecessary alsa s/w param setting to fix high ↵ | Steven O'Brien | 2014-01-08 | 1 | -9/+0 |
| | | | | | | | | CPU load issue | ||||
* | | SongSticker: use Song references | Max Kellermann | 2014-01-08 | 4 | -31/+26 |
| | | |||||
* | | PlayerThread: use Song references | Max Kellermann | 2014-01-08 | 1 | -15/+13 |
| | | |||||
* | | DecoderThread: use Song references | Max Kellermann | 2014-01-08 | 1 | -10/+10 |
| | | |||||
* | | util/Alloc: new library replacing GLib's g_malloc() | Max Kellermann | 2014-01-07 | 19 | -57/+208 |
| | | |||||
* | | DecoderBuffer: use NewVarSize() | Max Kellermann | 2014-01-07 | 1 | -13/+10 |
| | | |||||
* | | tag/TagPool: use NewVarSize() to allocate TagPoolSlot | Max Kellermann | 2014-01-07 | 1 | -21/+27 |
| | | |||||
* | | tag/TagPool: rename struct slot to TagPoolSlot | Max Kellermann | 2014-01-07 | 1 | -14/+13 |
| | | |||||
* | | tag/TagPool: use gcc_packed instead of mpd_packed | Max Kellermann | 2014-01-07 | 1 | -1/+1 |
| | | | | | | | | | | By accident, this declared a global variable instead of adding the "packed" attribute. | ||||
* | | Directory: make some code generic, move to VarSize.hxx | Max Kellermann | 2014-01-07 | 3 | -10/+93 |
| | | |||||
* | | Directory: use g_malloc() instead of g_malloc0() | Max Kellermann | 2014-01-07 | 1 | -3/+4 |
| | | | | | | | | Explicit attribute initialization. | ||||
* | | playlist/soundcloud: parse URI without copying it | Max Kellermann | 2014-01-07 | 1 | -19/+11 |
| | | |||||
* | | playlist/soundcloud: change scheme check to assertion | Max Kellermann | 2014-01-07 | 1 | -18/+2 |
| | | | | | | | | The MPD core takes care for checking the scheme. | ||||
* | | playlist/soundcloud: eliminate nullptr checks before g_free() | Max Kellermann | 2014-01-07 | 1 | -8/+4 |
| | | |||||
* | | pcm/Utils: remove unused function pcm_end_pointer() | Max Kellermann | 2014-01-07 | 1 | -12/+0 |
| | |