summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2015-08-26Drop curl in favor of WinHTTPMichał Cichoń8-159/+575
Abstract out HTTP comunication and replace libcurl with WinHTTP.
2015-08-26libpiano: Drop use of curlMichał Cichoń1-11/+48
Add routine to escape authorization token to match what pandora.com expects. libcurl isn't necessary for this job.
2015-08-25Bump version.Michał Cichoń1-1/+1
2015-08-25Replace pthread with CRT thread.Michał Cichoń1-9/+9
2015-08-25Remove unused headers.Michał Cichoń2-8/+0
2015-08-25Add format_title settings to control Pianobar window title appearance.Michał Cichoń5-0/+48
Since I'm not aware of any standard method to set title with escape codes explicit mechanism to control window title was introduced.
2015-08-25Add new type of message MSG_DEBUG.Michał Cichoń3-4/+6
This solve problem of playback time adding to artist when name is short. Debug messages are automatically copied to clipboard for easier debugging due to selection and copying in Windows console is not very convenient.
2015-08-25Finish playback to prevent echo of previous song when opening new stream.Michał Cichoń1-1/+2
2015-08-25Fix text copied to clipboard being cropped.Michał Cichoń1-4/+5
2015-08-25Port pianobar to Windows:Michał Cichoń15-1120/+1378
- use newly introduced console.h instead of terminal.h which emulate some behavior of VT terminals - replace ffmpeg/libov player with more abstract one with DirectShow implementation
2015-08-25libpiano: Abstract out blowfish cipher to PianoCipher_t so different ↵Michał Cichoń7-69/+86
implementations than gcrypt can be used.
2015-08-10Move feature test macros to config.hLars-Dominik Braun12-34/+14
I removed most of the *BSD-related stuff, because I can’t test these. If this breaks your build, send me a patch please.
2015-08-10Add feature to change Pandora settingsLars-Dominik Braun8-1/+181
Currently exposed settings: Username, password and explicit content filter. New key for settings is ‘!’, changeable with “act_settings”. Fixes issues #524 and #506.
2015-08-04Add missing includeLars-Dominik Braun1-0/+1
2015-08-04Set ffmpeg proxyLars-Dominik Braun1-0/+5
The proxy config setting did not set ffmpeg’s http proxy previously. See issue #531.
2015-06-15Replace setting tls_fingerprint with ca_bundleLars-Dominik Braun3-15/+7
2015-04-06Switch back to libcurlLars-Dominik Braun12-1611/+136
Drops libwaitress. Adds the new dependency libcurl and drops gnutls. I wouldn’t say writing my own HTTP library was a mistake – it was not and the experience gained was worth it. Instead I have to acknowledge that libcurl is just better than my own implementation. Sure, it does a lot more than HTTP – one could call that bloat. Yet if you just want to get the job done™ reusing code is the way to go. See #512 and #513.
2015-03-11player: Fix initial track volumeLars-Dominik Braun1-1/+1
The initial volume setup was ignored as well. Introduced by previous commit 310900e4be52d11388792d776d9f6b89380bbecd. See https://github.com/PromyLOPh/pianobar/commit/310900e4be52d11388792d776d9f6b89380bbecd
2015-03-07player: Ignore volume change before playback startedLars-Dominik Braun3-5/+15
Fixes issue #508.
2015-03-07Fix upcoming songs assertion failureLars-Dominik Braun2-4/+2
This should not be an assertion, it is expected to happen. Test with `echo -e "s0\nu" > ctl`. Fixes #509.
2015-01-05Use default channel layout if zeroCody1-0/+7
libav 11 reports an invalid channel layout for mp3 files. This is a work-around. The problem is fixed with libav 11.1.
2014-11-22player: Remove unused variableLars-Dominik Braun1-1/+0
2014-11-22Expand ~ in event_command tooLars-Dominik Braun1-1/+1
2014-09-28Back to -devLars-Dominik Braun1-1/+1
2014-09-28Prepare for release 2014.09.28Lars-Dominik Braun1-1/+1
2014-09-19Improve player pause/quitLars-Dominik Braun1-10/+8
Skipping/quitting while pausing does not play the current packet any more. Avoid unneccessary calls to av_read_(play|pause).
2014-08-17Fix volume control with ffmpeg 2.3Lars-Dominik Braun1-1/+1
2014-07-21Fix player retry logicLars-Dominik Braun1-1/+2
If retry is triggered once and openStream fails after that retry is never set to false, resulting in an infinite loop that cannot be interrupted by the user.
2014-07-21Refactor audio player, add retry timeoutLars-Dominik Braun7-111/+221
Fixes #442.
2014-07-07piano: Update API doc URLLars-Dominik Braun1-1/+1
2014-06-21piano: Fix segfault in GET_STATION_INFO response parserLars-Dominik Braun1-1/+8
Pandora added two new integer values to the feedback object, which breaks the assumption that all values are arrays. Since we know the names of the interesting keys (thumbsUp and thumbsDown) just use them instead of iterating over all available keys. Fixes #460.
2014-06-20act_debug’s scope is DC_SONGLars-Dominik Braun1-1/+1
Fixes segfault reported in #461.
2014-06-16Re-init terminal when awaking from ^ZLars-Dominik Braun3-55/+26
And simplify code that nobody touched in a long long time… Fixes input issues reported in #458.
2014-06-08Back to -devLars-Dominik Braun1-1/+1
2014-06-08Prepare for release 2014.06.08Lars-Dominik Braun1-1/+1
2014-06-07Fix autodetection of ffmpeg 2.2Lars-Dominik Braun1-2/+1
Drop minor version check, assuming this workaround is required for all future versions. See 0a64272db65201fc2ecb3406b89d895966933b99. Fixes issue #456.
2014-06-04Print error message when proxy URL format is incorrectTej Chajed1-2/+10
2014-06-02Show username stored in config if asking for passwordLars-Dominik Braun1-2/+8
Thanks to Unit 193 for the suggestion.
2014-06-02libav* autodetectionLars-Dominik Braun1-0/+20
I’ll give it another shot. ffmpeg’s doc/developer.texi states their micro version always starts at 100 for this very reason. Use that to detect ffmpeg and guess its version by looking at major and minor version numbers. Let’s hope this works.
2014-05-30settings: Support ~/ expansionLars-Dominik Braun2-30/+71
Only the simple ~/ expansion is supported right now, since ~user expansion does not make sense for per-user config files anyway. Closes #431 and #430. On my way to this solution I tried libconfuse and json-based config files. I’m not convinced yet one of these is the solution though…
2014-05-25waitress: Improve getaddr error messageLars-Dominik Braun1-1/+1
2014-05-08piano: Fix include guard of crypt.hLars-Dominik Braun1-3/+3
Missed that one in 4d8ad7d87072bc1631d0b949930f4869e56b7b99. Fixes #449.
2014-04-22player: Add missing header for ffmpeg1.2Lars-Dominik Braun1-0/+4
Closes #441.
2014-04-22Fix include guardsLars-Dominik Braun13-39/+39
Macros starting with _ are reserved (see http://www.gnu.org/software/libc/manual/html_node/Reserved-Names.html). Fixes #440.
2014-04-18player: Fix state-machineLars-Dominik Braun2-1/+2
Song timer was shown without song playing.
2014-04-18waitress: Use standard socket buffer sizeLars-Dominik Braun1-5/+0
libav* uses its own HTTP implementation and the API calls do not benefit from it anyway.
2014-04-11Fix volume controlLars-Dominik Braun1-1/+1
Commit 8012d6cb4bb65a858105ef878c5b98d91b24e1cd was broken in several ways. Since auto-detection did not work correctly it was replaced by a user-editable variable. See #439.
2014-04-07ffmpeg compatibilityLars-Dominik Braun2-13/+31
Adds support for ffmpeg 2.2 and 1.2. Right now the maintenance overhead of supporting both libav implementations is not that big. Fixes #437 and #435.
2014-04-07player: discard unused streamnsLars-Dominik Braun1-0/+6
Shouldn’t make a difference right now. Just in case…
2014-04-04Send headers in first packet.Kenny MacDermid1-9/+6
Splitting up the writes causes the Host header to end up in a different packet than the requst line, making it harder to proxy.