Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2014-02-07 | DecoderPlugin: pass Path instance to file_decode() and scan_file() | Max Kellermann | 2 | -7/+9 | |
2014-02-07 | Mapper: move map_song_detach() to db/DatabaseSong.cxx | Max Kellermann | 1 | -6/+16 | |
Use Storage::MapUTF8() internally, don't use global variables. | |||||
2014-02-06 | mixer/Plugin: pass AudioOutput reference to init() | Max Kellermann | 1 | -54/+2 | |
Passing a void pointer is unsafe. | |||||
2014-02-05 | Mixer: use reference instead of pointer for MixerPlugin | Max Kellermann | 1 | -1/+1 | |
2014-02-05 | MixerPlugin: add EventLoop& init() parameter | Max Kellermann | 2 | -14/+7 | |
2014-02-05 | event/Loop: remove the dummy constructor argument | Max Kellermann | 5 | -5/+5 | |
2014-02-05 | test/ShutdownHandler: make the constructor "explicit" | Max Kellermann | 1 | -1/+1 | |
2014-02-04 | db/DatabaseListener: add method OnDatabaseSongRemoved() | Max Kellermann | 1 | -0/+4 | |
Decouples db/update/Remove.cpp from global variables. | |||||
2014-02-04 | Instance: add Database attribute | Max Kellermann | 1 | -2/+9 | |
Move from db/DatabaseGlue.cxx, eliminating global variable. | |||||
2014-02-04 | db/DatabasePlaylist: pass Database reference around | Max Kellermann | 1 | -4/+6 | |
Reduce global variable usage, move to frontend code. | |||||
2014-02-03 | SongLoader: new class that merges duplicate code | Max Kellermann | 1 | -10/+41 | |
There was quite a lot of duplicate code for loading DetachedSong objects, with different semantics for "securely" loading local files. | |||||
2014-01-29 | output: move functions into the AudioOutput struct | Max Kellermann | 1 | -1/+0 | |
2014-01-28 | output: rename source files | Max Kellermann | 1 | -1/+1 | |
2014-01-28 | output: rename struct audio_output to AudioOutput | Max Kellermann | 1 | -4/+4 | |
2014-01-28 | OutputAll: convert to class, move instance to class Partition | Max Kellermann | 1 | -3/+6 | |
Another big chunk of code for multi-player support. | |||||
2014-01-27 | Playlist{Info,Vector}: move to db/ | Max Kellermann | 1 | -1/+1 | |
2014-01-27 | IcyMetadataParser: more robust tag parser | Max Kellermann | 1 | -0/+15 | |
Allow semicolons and single quotes in the stream title. This is not part of any specification, but found in real life. | |||||
2014-01-27 | test/test_icy_parser: unit test for IcyMetaDataParser.cxx | Max Kellermann | 1 | -0/+70 | |
2014-01-26 | neighbor: new subsystem to detect file servers on the local network | Max Kellermann | 2 | -0/+86 | |
This commit adds the NeighborPlugin API which can be used to detect nearby file servers that can be used by input plugins. This list of servers is exported using the new "listneighbors" command. The idle even "neighbor" notifies interested clients when a new neighbor is found or an existing one is lost. There's a lot missing currently: protocol&user documentation, and a way to "mount" remote servers into the music database. Obviously, some code from the UPnP database plugin can be moved to a neighbor plugin. | |||||
2014-01-24 | Mixer*: move to mixer/ | Max Kellermann | 2 | -3/+3 | |
2014-01-24 | Filter*: move to filter/ | Max Kellermann | 3 | -5/+5 | |
2014-01-24 | Database*: move to db/ | Max Kellermann | 3 | -8/+8 | |
2014-01-24 | Input*: move to input/ | Max Kellermann | 8 | -16/+16 | |
2014-01-24 | Update*: move to update/ | Max Kellermann | 1 | -1/+1 | |
2014-01-24 | Config*: move to config/ | Max Kellermann | 13 | -17/+17 | |
2014-01-24 | Queue*: move to queue/ | Max Kellermann | 1 | -1/+1 | |
2014-01-24 | Zeroconf*: move to zeroconf/ | Max Kellermann | 1 | -1/+1 | |
2014-01-24 | archive/*: move to archive/plugins/ | Max Kellermann | 4 | -7/+7 | |
2014-01-24 | decoder/*: move to decoder/plugins/ | Max Kellermann | 4 | -6/+6 | |
2014-01-23 | output/*: move to output/plugins/ | Max Kellermann | 2 | -5/+5 | |
2014-01-23 | playlist/*: move to playlist/plugins/ | Max Kellermann | 2 | -4/+4 | |
2014-01-23 | Encoder*: move to src/encoder | Max Kellermann | 2 | -4/+4 | |
.. and move the plugins to src/encoder/plugins/. | |||||
2014-01-22 | LightDirectory: new struct replacing Directory in the DB API | Max Kellermann | 1 | -5/+6 | |
2014-01-21 | PlaylistSong: modify the given song object in-place | Max Kellermann | 1 | -48/+31 | |
Reduce bloat. | |||||
2014-01-21 | test: add unit test for playlist_check_translate_song() | Max Kellermann | 1 | -0/+290 | |
2014-01-20 | Queue: rename struct queue to Queue | Max Kellermann | 1 | -2/+2 | |
Works around a build failure on Solaris because annoyingly, Solaris reserves the name "queue". This rename was pending anyway. | |||||
2014-01-19 | LightSong: new class to be used by DatabasePlugin callbacks | Max Kellermann | 2 | -37/+4 | |
Detach the Song class completely from the public API, only to be used by SimpleDatabase and the update thread. | |||||
2014-01-13 | copyright year 2014 | Max Kellermann | 36 | -36/+36 | |
2014-01-11 | DatabasePlugin: add interface DatabaseListener | Max Kellermann | 1 | -1/+14 | |
Allow database plugins to announce that they have been modified. | |||||
2014-01-09 | UPnP database plugin | Jean-Francois Dockes | 1 | -0/+9 | |
[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] | |||||
2014-01-09 | DetachedSong: fork of struct Song | Max Kellermann | 3 | -38/+42 | |
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. | |||||
2014-01-09 | test/DumpDatabase: fix nullptr dereference | Max Kellermann | 1 | -1/+1 | |
2014-01-07 | test: add missing includes | Max Kellermann | 8 | -0/+11 | |
2014-01-06 | pcm/Format: change parameters/return values to ConstBuffer | Max Kellermann | 2 | -35/+31 | |
2013-12-29 | InputStream: add static method OpenReady() | Max Kellermann | 4 | -47/+6 | |
Merge some duplicate code. | |||||
2013-12-29 | util/UriUtil: uri_get_suffix() fails if name begins with dot | Max Kellermann | 1 | -0/+4 | |
A file called ".jpg" is not a JPEG file with an empty name; it is merely a hidden file. | |||||
2013-12-28 | pcm/PcmMix: improved dithering | Max Kellermann | 1 | -6/+10 | |
Use the existing PcmDither library. | |||||
2013-12-28 | pcm/Volume: improved dithering | Max Kellermann | 1 | -2/+3 | |
Instead of just adding a rectangular random value before shifting back to the normal scale, use the existing PcmDither library. | |||||
2013-12-28 | pcm/PcmDither: inline Dither24To16() and Dither32To16() | Max Kellermann | 1 | -1/+1 | |
2013-12-24 | test/*: use fprintf(stderr,...) and Log() instead of g_printerr() | Max Kellermann | 11 | -110/+101 | |
Avoid GLib. |