Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | Tag: add class const_iterator and methods begin(), end() | Max Kellermann | 2014-07-12 | 1 | -2/+1 | |
| | | | | | | | | Enables using range-based "for". | |||||
* | | test/FakeDecoderAPI: dump MixRamp data | Max Kellermann | 2014-07-11 | 1 | -0/+2 | |
| | | ||||||
* | | InputStream: make Seek() always absolute | Max Kellermann | 2014-05-22 | 1 | -3/+3 | |
| | | | | | | | | | | Remove the "whence" parameter that is not actually necessary, and only complicates the InputStream implementations. | |||||
* | | DecoderAPI: add function decoder_open_uri() | Max Kellermann | 2014-05-22 | 3 | -5/+13 | |
| | | | | | | Move and refactor code from the Wavpack decoder plugin. | |||||
* | | test/run_decoder: merge code into FakeDecoderAPI.cxx | Max Kellermann | 2014-05-22 | 3 | -137/+48 | |
| | | | | | | | | Eliminate duplicate code. | |||||
* | | test/run_decoder: auto-initialize struct Decoder | Max Kellermann | 2014-05-22 | 1 | -2/+3 | |
| | | ||||||
* | | test/run_decoder: move the "uri" attribute out of struct Decoder | Max Kellermann | 2014-05-22 | 1 | -8/+4 | |
| | | ||||||
* | | test/run_decoder: move the DecoderPlugin pointer out of struct Decoder | Max Kellermann | 2014-05-22 | 1 | -8/+6 | |
| | | ||||||
* | | test/test_rewind: unit test for class RewindInputStream | Max Kellermann | 2014-05-21 | 1 | -0/+164 | |
| | | ||||||
* | | InputStream: add virtual destructor | Max Kellermann | 2014-05-11 | 5 | -7/+6 | |
| | | | | | | Replaces the method Close(). | |||||
* | | InputStream: convert to class | Max Kellermann | 2014-05-11 | 1 | -2/+2 | |
| | | ||||||
* | | test/run_decoder: use InputStream::OpenReady() instead of InputStream::Open() | Max Kellermann | 2014-03-16 | 1 | -1/+1 | |
| | | ||||||
* | | test/{run_decoder,dump_playlist}: fix accidental search/replace hiccups | Max Kellermann | 2014-03-16 | 2 | -2/+2 | |
| | | ||||||
* | | util/CircularBuffer: add method GetSpace() | Max Kellermann | 2014-03-16 | 1 | -0/+10 | |
| | | ||||||
* | | util/CircularBuffer: add method GetSize() | Max Kellermann | 2014-03-16 | 1 | -0/+10 | |
| | | ||||||
* | | util/CircularBuffer: rename GetSize() to GetCapacity() | Max Kellermann | 2014-03-15 | 1 | -0/+2 | |
| | | ||||||
* | | 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 | |
| | |