Age | Commit message (Collapse) | Author | Files | Lines |
|
Abstract out HTTP comunication and replace libcurl with WinHTTP.
|
|
|
|
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.
|
|
- 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
|
|
I removed most of the *BSD-related stuff, because I can’t test these. If
this breaks your build, send me a patch please.
|
|
Currently exposed settings: Username, password and explicit content
filter. New key for settings is ‘!’, changeable with “act_settings”.
Fixes issues #524 and #506.
|
|
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.
|
|
This should not be an assertion, it is expected to happen. Test with
`echo -e "s0\nu" > ctl`. Fixes #509.
|
|
Fixes #442.
|
|
libav 9.12 and ffmpeg 2.2 have been tested.
Here’s why: My mp4 “parser” *cough* never was a mp4 parser in the sense
that it actually understood the file format. Instead it grepped the
input stream for “magic” strings (section identifiers). That alone
should be sufficient to throw away the code and rewrite it. Additionally
libfaad2 has not been updated for ages. I guess it was abandoned in
favor of libav/ffmpeg.
With libav/ffmpeg, which we support both as long as the API’s don’t
diverge too much, pianobar gains fast and reliable AAC and MP3 decoding
without bothering too much about the details. Most users will have it
installed already. On my own machine libav consumes about 2/3 CPU time
compared to the previous solution when playing AAC. Unfortunately memory
usage doubled and my attempts to disable unused protocols/formats/codec
failed due to libav’s API limitations.
While cleaning up a small detail regarding the eventcmd API has changed
too: Song duration and position are measured in seconds instead of
milliseconds now. Since libav/ffmpeg keeps track of accurate timing the
precision pianobar keeps track of can be reduced, while still being
sufficient for most users.
|
|
|
|
|
|
Introduces generic linked list structure and functions (like append,
delete, …). Removes a lot of copy&pasted code and improves code
readability/reusability.
Heads up: This change breaks libpiano’s ABI.
|
|
Closes #377.
|
|
Two new events: stationfetchgenre, stationaddgenre
|
|
|
|
Loving/banning a song from a shared station while playing quickmix
resulted in “call not allowed”, because we tried to transform the
quickmix instead of the song’s real station. Fixes #354.
|
|
Add commands that always play and always pause, in addition to the
current toggle pause command.
Closes #342.
|
|
New keybinding ‘v’, new setting act_createstationfromsong.
|
|
Doesn’t work with JSON API. See #280.
|
|
|
|
This reverts commit 7df9371491e96a99c1e463f7787aede352ac5a37.
|
|
This reverts commit f6dffd1822404522b8354ac453a911a0d98bfc61.
|
|
1) Realtime signals don’t exist in OS X
2) libao apparently locks a mutex in ao_play, which is locked again in
ao_close and causes a deadlock
Closes #256, although I’m considering the option of partially reverting
7df9371491e96a99c1e463f7787aede352ac5a37, as this introduces more nasty
behavior than it solves.
|
|
No more mutex locking/checking for quit condition. Should (slightly)
increase responsiveness of the player thread. Closes #250.
|
|
There does not seem to be an API call for that.
|
|
In random order: Thanks to Chris Eby for his work on pithos, to an
anonymous coward for sending me his Android client, to Alex Howard for
sending me the webOS client, to ZigZagJoe for providing a temporary fix
and thanks to everyone who sent Pandora a message.
Although there are a few rough edges here and there this fixes #236.
|
|
Strict pthread implementations (like OpenBSD’s rthreads with
PTHREAD_MUTEX_TYPE_STRICT_NP set) don’t allow unlocking a mutex that is
not locked, resulting in abort() being called. Always aquiring the lock
before unlocking it while skipping to the next song fixes this. Thanks
to David Coppa.
|
|
See #231.
|
|
|
|
Enable/disable delete options depending on availability.
|
|
addFeedback call changed. Input keys changed. Thanks to ZigZagJoe.
Closes #171
|
|
Fixes #165
|
|
Keys stay the same. Quickmix and seed suggestion API calls changed.
Listener id is not part of the url any more.
Bookmark API calls seem to be deprecated.
|
|
Regression introduced by 0728b6a89de607e211bbc075b34f08495ac0d22f
|
|
Closes #141
|
|
...instead of the current song. Closes #131.
|
|
Closes #88
|
|
Closes #115
|
|
See #99.
|
|
|
|
|
|
|
|
|
|
Not functional yet.
|
|
|
|
|
|
Doesn't use c streams any more, allows multiplexing of fifo/stdin in all
situations.
|
|
Something like
act_foobar = disabled
disables the command foobar completely now. Useful if you don't use
software volume control. See issue #78.
|
|
See issue #76
|