Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | util/CircularBuffer: new buffer class | Max Kellermann | 2014-03-15 | 2 | -0/+143 | |
| | | ||||||
* | | test/test_pcm: replace 256 with prime number | Max Kellermann | 2014-03-15 | 6 | -13/+13 | |
| | | | | | | | | | | Use some odd number that will expose problems with remaining samples after optimized vector operations. | |||||
* | | test/test_pcm_format: add unit test for float clamping | Max Kellermann | 2014-03-15 | 1 | -0/+20 | |
| | | ||||||
* | | test/test_pcm_all: move CPPUNIT_TEST_SUITE_REGISTRATION() to test_pcm_main.cxx | Max Kellermann | 2014-03-15 | 2 | -12/+7 | |
| | | | | | | | | | | | | Run each unit test only once. Using CPPUNIT_TEST_SUITE_REGISTRATION from within the header meant that each unit class was registered again for each source file that includes the header. | |||||
* | | util/{Const,Writable}Buffer: add operator[] | Max Kellermann | 2014-03-01 | 3 | -15/+15 | |
| | | ||||||
* | | UriUtil: support ftp:// URLs in uri_remove_auth() | Max Kellermann | 2014-02-24 | 1 | -0/+2 | |
| | | ||||||
* | | PlayerListener: new interface to replace GlobalEvents access | Max Kellermann | 2014-02-21 | 1 | -3/+5 | |
| | | ||||||
* | | test/run_{filter,output}: use config_find_block() | Max Kellermann | 2014-02-20 | 2 | -34/+4 | |
| | | ||||||
* | | DatabasePlugin: split header | Max Kellermann | 2014-02-19 | 1 | -0/+1 | |
| | | ||||||
* | | Mixer: add class MixerListener | Max Kellermann | 2014-02-19 | 2 | -13/+4 | |
| | | | | | | | | Use a listener interface instead of GlobalEvents. | |||||
* | | test: various fixups for building without GLib | Max Kellermann | 2014-02-18 | 7 | -4/+20 | |
| | | ||||||
* | | ArchivePlugin: pass Path to open() | Max Kellermann | 2014-02-08 | 1 | -1/+1 | |
| | | ||||||
* | | ArchivePlugin: rename struct archive_plugin to ArchivePlugin | Max Kellermann | 2014-02-08 | 1 | -1/+1 | |
| | | ||||||
* | | storage/local: remove utf8 path from constructor | Max Kellermann | 2014-02-07 | 1 | -3/+4 | |
| | | | | | | | | Build the UTF-8 version of the path automatically in the constructor. | |||||
* | | StoragePlugin: add method MapToRelativeUTF8() | Max Kellermann | 2014-02-07 | 1 | -16/+8 | |
| | | | | | | | | Replaces map_to_relative_path() from Mapper.cxx. | |||||
* | | DecoderPlugin: pass Path instance to file_decode() and scan_file() | Max Kellermann | 2014-02-07 | 2 | -7/+9 | |
| | | ||||||
* | | Mapper: move map_song_detach() to db/DatabaseSong.cxx | Max Kellermann | 2014-02-07 | 1 | -6/+16 | |
| | | | | | | | | Use Storage::MapUTF8() internally, don't use global variables. | |||||
* | | mixer/Plugin: pass AudioOutput reference to init() | Max Kellermann | 2014-02-06 | 1 | -54/+2 | |
| | | | | | | | | Passing a void pointer is unsafe. | |||||
* | | Mixer: use reference instead of pointer for MixerPlugin | Max Kellermann | 2014-02-05 | 1 | -1/+1 | |
| | | ||||||
* | | MixerPlugin: add EventLoop& init() parameter | Max Kellermann | 2014-02-05 | 2 | -14/+7 | |
| | | ||||||
* | | event/Loop: remove the dummy constructor argument | Max Kellermann | 2014-02-05 | 5 | -5/+5 | |
| | | ||||||
* | | test/ShutdownHandler: make the constructor "explicit" | Max Kellermann | 2014-02-05 | 1 | -1/+1 | |
| | | ||||||
* | | db/DatabaseListener: add method OnDatabaseSongRemoved() | Max Kellermann | 2014-02-04 | 1 | -0/+4 | |
| | | | | | | | | Decouples db/update/Remove.cpp from global variables. | |||||
* | | Instance: add Database attribute | Max Kellermann | 2014-02-04 | 1 | -2/+9 | |
| | | | | | | | | Move from db/DatabaseGlue.cxx, eliminating global variable. | |||||
* | | db/DatabasePlaylist: pass Database reference around | Max Kellermann | 2014-02-04 | 1 | -4/+6 | |
| | | | | | | | | Reduce global variable usage, move to frontend code. | |||||
* | | SongLoader: new class that merges duplicate code | Max Kellermann | 2014-02-03 | 1 | -10/+41 | |
| | | | | | | | | | | There was quite a lot of duplicate code for loading DetachedSong objects, with different semantics for "securely" loading local files. | |||||
* | | output: move functions into the AudioOutput struct | Max Kellermann | 2014-01-29 | 1 | -1/+0 | |
| | | ||||||
* | | output: rename source files | Max Kellermann | 2014-01-28 | 1 | -1/+1 | |
| | | ||||||
* | | output: rename struct audio_output to AudioOutput | Max Kellermann | 2014-01-28 | 1 | -4/+4 | |
| | | ||||||
* | | OutputAll: convert to class, move instance to class Partition | Max Kellermann | 2014-01-28 | 1 | -3/+6 | |
| | | | | | | | | Another big chunk of code for multi-player support. | |||||
* | | Playlist{Info,Vector}: move to db/ | Max Kellermann | 2014-01-27 | 1 | -1/+1 | |
| | | ||||||
* | | Merge branch 'v0.18.x' | Max Kellermann | 2014-01-27 | 1 | -0/+85 | |
|\| | ||||||
| * | IcyMetadataParser: more robust tag parser | Max Kellermann | 2014-01-27 | 1 | -0/+15 | |
| | | | | | | | | | | Allow semicolons and single quotes in the stream title. This is not part of any specification, but found in real life. | |||||
| * | test/test_icy_parser: unit test for IcyMetaDataParser.cxx | Max Kellermann | 2014-01-27 | 1 | -0/+70 | |
| | | ||||||
* | | neighbor: new subsystem to detect file servers on the local network | Max Kellermann | 2014-01-26 | 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. | |||||
* | | Mixer*: move to mixer/ | Max Kellermann | 2014-01-24 | 2 | -3/+3 | |
| | | ||||||
* | | Filter*: move to filter/ | Max Kellermann | 2014-01-24 | 3 | -5/+5 | |
| | | ||||||
* | | Database*: move to db/ | Max Kellermann | 2014-01-24 | 3 | -8/+8 | |
| | | ||||||
* | | Input*: move to input/ | Max Kellermann | 2014-01-24 | 8 | -16/+16 | |
| | | ||||||
* | | Update*: move to update/ | Max Kellermann | 2014-01-24 | 1 | -1/+1 | |
| | | ||||||
* | | Config*: move to config/ | Max Kellermann | 2014-01-24 | 13 | -17/+17 | |
| | | ||||||
* | | Queue*: move to queue/ | Max Kellermann | 2014-01-24 | 1 | -1/+1 | |
| | | ||||||
* | | Zeroconf*: move to zeroconf/ | Max Kellermann | 2014-01-24 | 1 | -1/+1 | |
| | | ||||||
* | | archive/*: move to archive/plugins/ | Max Kellermann | 2014-01-24 | 4 | -7/+7 | |
| | | ||||||
* | | decoder/*: move to decoder/plugins/ | Max Kellermann | 2014-01-24 | 4 | -6/+6 | |
| | | ||||||
* | | output/*: move to output/plugins/ | Max Kellermann | 2014-01-23 | 2 | -5/+5 | |
| | | ||||||
* | | playlist/*: move to playlist/plugins/ | Max Kellermann | 2014-01-23 | 2 | -4/+4 | |
| | | ||||||
* | | Encoder*: move to src/encoder | Max Kellermann | 2014-01-23 | 2 | -4/+4 | |
| | | | | | | | | .. and move the plugins to src/encoder/plugins/. | |||||
* | | LightDirectory: new struct replacing Directory in the DB API | Max Kellermann | 2014-01-22 | 1 | -5/+6 | |
| | | ||||||
* | | PlaylistSong: modify the given song object in-place | Max Kellermann | 2014-01-21 | 1 | -48/+31 | |
| | | | | | | | | Reduce bloat. |