Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | command: new command "readcomments" lists arbitrary file tags | Max Kellermann | 2013-10-25 | 3 | -0/+154 |
| | |||||
* | ReplayGainInfo: refactor to a class | Max Kellermann | 2013-10-25 | 10 | -60/+57 |
| | |||||
* | ReplayGainInfo: use CamelCase for struct name | Max Kellermann | 2013-10-25 | 31 | -122/+115 |
| | |||||
* | ReplayGainConfig: add "pure" attributes | Max Kellermann | 2013-10-25 | 1 | -0/+3 |
| | |||||
* | output/httpd: support HEAD requests | Max Kellermann | 2013-10-25 | 2 | -5/+29 |
| | |||||
* | output/httpd: remove bogus assertion | Max Kellermann | 2013-10-25 | 1 | -1/+0 |
| | |||||
* | OtherCommands: re-add the "volume" command | Max Kellermann | 2013-10-25 | 3 | -0/+37 |
| | | | | | | This command was removed by commit 206392ad (MPD 0.16), even though it was been proven useful for some very simple clients. On request, I add it to the protocol again. | ||||
* | MixerAll, Volume: add "pure" attributes | Max Kellermann | 2013-10-25 | 2 | -0/+8 |
| | |||||
* | decoder/opus: support replay gain | Max Kellermann | 2013-10-24 | 3 | -1/+24 |
| | | | | Parse the R128_TRACK_GAIN comment string. | ||||
* | decoder/Opus: implement seeking | Max Kellermann | 2013-10-24 | 3 | -6/+49 |
| | |||||
* | decoder/opus: provide time stamps | Max Kellermann | 2013-10-24 | 1 | -0/+5 |
| | | | | | Call decoder_timestamp(). This is not necessary currently, but will be as soon as we implement seeking. | ||||
* | decoder/opus: show song duration during playback | Max Kellermann | 2013-10-24 | 1 | -1/+57 |
| | | | | | | This requires seeking to the end-of-stream, checking its granulepos, and then seeking back to the previous file position. We do this only for local files. | ||||
* | decoder/opus: call ogg_stream_reset() in OggSeekPageAtOffset() | Max Kellermann | 2013-10-24 | 1 | -0/+4 |
| | |||||
* | decoder/opus: move code to OggSeekPageAtOffset() | Max Kellermann | 2013-10-24 | 1 | -4/+11 |
| | |||||
* | decoder/opus: move SeekFindEOS() to OggFind.cxx | Max Kellermann | 2013-10-24 | 3 | -19/+31 |
| | |||||
* | decoder/opus: make opus_sample_rate constexpr | Max Kellermann | 2013-10-24 | 1 | -1/+1 |
| | |||||
* | decoder/opus: use std::copy_n() instead of memcpy() | Max Kellermann | 2013-10-24 | 1 | -2/+3 |
| | |||||
* | decoder/opus: support all core tag names | Max Kellermann | 2013-10-24 | 1 | -0/+5 |
| | |||||
* | decoder/opus: move code to ParseOpusTagName() | Max Kellermann | 2013-10-24 | 1 | -1/+8 |
| | |||||
* | decoder/opus: use delete[] for the OpusReader::ReadString() result | Max Kellermann | 2013-10-24 | 1 | -1/+1 |
| | |||||
* | DecoderAPI: add "pure" attributes | Max Kellermann | 2013-10-24 | 1 | -0/+2 |
| | |||||
* | decoder/wavpack: move variable declarations | Max Kellermann | 2013-10-23 | 1 | -53/+34 |
| | |||||
* | input_stream: rename struct to InputStream | Max Kellermann | 2013-10-23 | 72 | -483/+494 |
| | |||||
* | InputInternal: remove obsolete library | Max Kellermann | 2013-10-23 | 12 | -83/+0 |
| | |||||
* | UriUtil: uri_remove_auth() returns std::string | Max Kellermann | 2013-10-23 | 4 | -31/+19 |
| | |||||
* | InputStream: add method Rewind() | Max Kellermann | 2013-10-23 | 9 | -28/+31 |
| | |||||
* | DecoderThread: remove unused function deconst_plugin() | Max Kellermann | 2013-10-23 | 1 | -9/+0 |
| | |||||
* | Playlist: refresh new tags after database update | Max Kellermann | 2013-10-22 | 6 | -23/+85 |
| | | | | Fixes regression from commit e96779d. | ||||
* | decoder/flac: fix tag name comparison | Max Kellermann | 2013-10-22 | 1 | -1/+1 |
| | |||||
* | Playlist*, Queue: use GetDatabase() overload without Error | Max Kellermann | 2013-10-22 | 4 | -4/+4 |
| | | | | | Don't use IgnoreError() when there's an overload that does not try to give us one. | ||||
* | Queue: add method ModifyAtPosition() | Max Kellermann | 2013-10-22 | 2 | -1/+12 |
| | |||||
* | Queue: ModifyAtOrder() does not increment version | Max Kellermann | 2013-10-22 | 3 | -3/+3 |
| | | | | | Leave that to the caller, allowing it to modify multiple items at a time. | ||||
* | Partition: add method DatabaseModified() | Max Kellermann | 2013-10-22 | 3 | -1/+13 |
| | |||||
* | UpdateRemove: include cleanup | Max Kellermann | 2013-10-22 | 1 | -2/+0 |
| | |||||
* | DecoderList: fix the decoder_plugin_from_mime_type() return value | Max Kellermann | 2013-10-22 | 1 | -3/+1 |
| | |||||
* | PlaylistEdit: compare Song URIs in DeleteSong() | Max Kellermann | 2013-10-22 | 1 | -2/+1 |
| | | | | | Fixes purging deleted songs from the queue after update. Fixes regression from commit e96779d. | ||||
* | Playlist: copy stream tags from the PlayerThread | Max Kellermann | 2013-10-22 | 8 | -11/+95 |
| | | | | | | Finally restores an important feature that has been broken for several months when the PlayerThread started working with Song copies instead of pointers to the Queue's Song instances (commit e96779d). | ||||
* | Song: add method ReplaceTag() | Max Kellermann | 2013-10-21 | 2 | -0/+10 |
| | |||||
* | Partition: add methods TagModified(), SyncWithPlayer() | Max Kellermann | 2013-10-21 | 3 | -2/+46 |
| | | | | Move code from class Instance. | ||||
* | Song: pass reference to song_equals() | Max Kellermann | 2013-10-21 | 5 | -19/+14 |
| | |||||
* | DecoderThread: simplify the decoder lookup loop | Max Kellermann | 2013-10-21 | 2 | -64/+53 |
| | | | | Merge the two loops into one, and eliminate the GSList. | ||||
* | DecoderList: reimplement _for_each() with function object | Max Kellermann | 2013-10-21 | 4 | -33/+54 |
| | |||||
* | decoder: rename the struct to "Decoder" | Max Kellermann | 2013-10-21 | 40 | -296/+299 |
| | |||||
* | DecoderPlugin: move functions into the struct | Max Kellermann | 2013-10-21 | 6 | -112/+86 |
| | |||||
* | SongUpdate: use tag_file_scan() | Max Kellermann | 2013-10-21 | 1 | -63/+9 |
| | | | | Eliminate duplicate code. | ||||
* | TagFile: use IgnoreError() | Max Kellermann | 2013-10-21 | 1 | -4/+2 |
| | |||||
* | decoder_plugin: rename struct to DecoderPlugin | Max Kellermann | 2013-10-21 | 53 | -91/+91 |
| | |||||
* | decoder/modplug: use WritableBuffer instead of GByteArray | Max Kellermann | 2013-10-21 | 1 | -31/+30 |
| | | | | Eliminate the temporary buffer, do I/O right into the WritableBuffer. | ||||
* | decoder/modplug: move code to LoadModPlugFile() | Max Kellermann | 2013-10-21 | 1 | -21/+17 |
| | |||||
* | playlist/EmbeddedCue: use std::string for the "cuesheet" attribute | Max Kellermann | 2013-10-21 | 1 | -10/+8 |
| |