Commit Graph

5868 Commits

Author SHA1 Message Date
chme 0c157451cd [gh-actions] Fix OSX build in Github actions
- fetch raw antlr3 install helper script and make it executable
- fix fatal error "'openssl/ssl.h' file not found" while building
forked-daapd (included in libwebsocket.h)
(https://github.com/libimobiledevice/libimobiledevice/issues/389#issuecomment-289284190)
2020-05-23 09:48:08 +02:00
ejurgensen 18a37f7177
Try Github action workflow for Ubuntu 2020-05-22 20:17:57 +02:00
ejurgensen de54f547d5
Try Github action workflow for MacOS build 2020-05-22 20:10:57 +02:00
ejurgensen 4bdc8e6b9e Remove Github actions file again, didn't work 2020-05-22 20:07:20 +02:00
ejurgensen bd3a872cd0 Add Github action workflow for MacOS build 2020-05-22 20:03:53 +02:00
ejurgensen e132b2fd25 Merge branch 'streamurl1' 2020-05-19 23:08:26 +02:00
ejurgensen 37521406f3 [input] Split file_http.c input into file.c and http.c
The common code is by now limited, and there is a lot of http-specific code.
2020-05-19 23:06:36 +02:00
ejurgensen 3c65f8a71e [docs] Add README_RADIO_STREAMS.md
Credit @sfeakes
2020-05-19 23:06:36 +02:00
ejurgensen 8acb2a647d [http] Don't set ICY metadata if they are just empty strings
An empty string will mean that m3u tags won't get used (unless m3u_override is
configured), but they should be used, since they are probably better than an
empty string.
2020-05-19 23:06:36 +02:00
ejurgensen a69cc65ff6 [input] Download StreamUrl resource async so input thread is not blocked 2020-05-19 23:06:36 +02:00
ejurgensen 28df2fb0f9 [input] Extra comment 2020-05-19 23:06:36 +02:00
ejurgensen 552c201cf3 [artwork] Change cache strategy for artwork_url_get
Credit @sfeakes
2020-05-19 23:06:36 +02:00
ejurgensen b44e5b3ede [input] Add handler/parser for StreamUrl tags 2020-05-19 23:06:36 +02:00
ejurgensen ca82857bfe [artwork] Add artwork_extension_is_artwork() + some fixup/renaming 2020-05-19 23:06:36 +02:00
ejurgensen d2ac216f47 [http] Change name of struct field for StreamUrl
Should not be called artwork_url, since it also can link to other ressources.

Also some fixup, e.g. use new macros.
2020-05-16 00:13:31 +02:00
ejurgensen d073781445 [json] Add endpoint to delete a setting (reset to defaults) 2020-05-16 00:13:10 +02:00
ejurgensen bb434297ca [artwork] Be more forgiving towards incorrect mime content-types 2020-05-15 23:10:43 +02:00
Christian Meffert aaadc28001
Merge pull request #1000 from whatdoineed2do/web-localised-time-filter
[web-src] use browser locale for 'time' filter for display
2020-05-15 07:55:16 +02:00
whatdoineed2do/Ray 947b0db3f0 [web-src] use locale date format 2020-05-14 17:14:51 +01:00
ejurgensen 65831bb9ca [docs] Add svg logo to repository
Credit @cdlenfert
2020-05-13 22:43:26 +02:00
ejurgensen 25795053b7 Fix for Travis build stopping on tzdata install prompt 2020-05-12 23:21:35 +02:00
ejurgensen 360e46683b [input] Add a simple input for testing timing 2020-05-12 22:25:38 +02:00
ejurgensen c1fad30df0 Merge branch 'input_progress2' 2020-05-12 22:20:50 +02:00
ejurgensen e570cbdcbd [player] Use input progress metadata to update clients
Before, we were ignoring progress metadata, and we were also updating clients
and db too early with input metadata (right when read from the input, instead of
waiting until playback (speakers) were at that position.

This change adds a complicated async chain of events from when the update is
received.
2020-05-12 20:16:15 +02:00
ejurgensen 68022d5c10 [dacp] Change update id's more often
Sometimes the artwork changes, but the album does not (especially likely if we
are in a row of "Unknown album"-tracks)
2020-05-11 21:39:02 +02:00
ejurgensen 63ab446bd5 [pipe] Fix issue where Shairport progress metadata was ignored
Sometimes the progress has a negative position, which we were incorrectly
disregarding.
2020-05-11 21:39:02 +02:00
ejurgensen 1921a2401f [artwork] Fix memleak in source_item_pipe_get
Queue item not being freed on succes
2020-05-11 21:37:29 +02:00
ejurgensen 97a2165666 [lastfm] Fix forgotten include in commit de1b1c3
Closes #1001
2020-05-11 19:19:28 +02:00
ejurgensen a6cb70fd66 [artwork] Don't use group handlers if unknown group (artist/album) 2020-05-11 17:24:05 +02:00
ejurgensen de1b1c3805 [cfg] Remove hardcoding of strings for unknown album etc
Now configurable, since we don't have real localisation
2020-05-11 17:02:14 +02:00
ejurgensen 8d4f99ebf9
[docs] Add README note about ipv6 and some Airplay speakers
Ref. issue #993
2020-05-11 16:25:13 +02:00
whatdoineed2do/Ray 3008088b85 [web-src] use browser locale for 'time' filter for display 2020-05-11 13:45:52 +01:00
ejurgensen 077a642930
Merge pull request #994 from whatdoineed2do/smartpl-support-random
[SMARTPL] add 'random' in 'order by' clause
2020-05-09 22:59:29 +02:00
whatdoineed2do/Ray 69c56f5971 [jsonapi] items/add?expression can take 'limit' param 2020-05-09 20:04:27 +01:00
whatdoineed2do/Ray c5fe0d217b [jsonapi] support 'limit' on 'api/queue/items/add?expression='
Extend to support SMART query allows 'limit'

  curl -X POST "http://localhost:3689/api/queue/items/add?expression=genre+is+%22Pop%22+order+by+time_added+desc+limit+3"
2020-05-09 17:09:03 +01:00
whatdoineed2do/Ray 4147e302a8 [SMARTPL] add 'random' in 'order by' clause
'random' tag in 'order by' clause to request SQLite to random select data rows from result set

    "random 3 pop" {
      genre is "Pop" and
      media_kind is music
      order by random desc
      limit 3
    }
2020-05-09 15:47:30 +01:00
ejurgensen 86d49a7028 [artwork] Don't log Spotify artwork errors if user is not logged in
Ref issue #986
2020-05-05 16:23:55 +02:00
ejurgensen 07158cf2d5 [raop] Fix incorrect log domains 2020-05-05 16:06:06 +02:00
ejurgensen b10434627a [player] Remove outdated comment 2020-05-05 16:04:39 +02:00
Christian Meffert 77165d834c
Merge pull request #980 from chme/web_next
Player web interface fixes
2020-05-04 20:09:10 +02:00
ejurgensen 945aefaaa5 Merge branch 'speaker_selection1' 2020-05-04 17:49:07 +02:00
ejurgensen 778d6f4999 [config] Change speaker_autoselect default to no
The changes in commit 6612899 mean that we now do more to maintain selection of
a user selected speaker, even if it fails or is powered off for a while. Thus
this option is no longer relevant.

The option was also never very good for people with many speakers.
2020-05-04 17:41:57 +02:00
ejurgensen b6dfb48100 [raop] Adjust keep alive interval 30s -> 25s
Testing with Homepod/ATV points at 25s working better, see:
https://github.com/ejurgensen/forked-daapd/issues/734#issuecomment-622959334
2020-05-03 23:15:44 +02:00
chme e7a48dccc5 [htdocs] Rebuild player web interface v0.7.1 2020-05-03 07:12:55 +02:00
chme cea0bf09d0 [web-src] Add cast icon for chromcast outputs 2020-05-03 07:12:54 +02:00
chme 691fff20bf [web-src] Add spacing in touch top menu to fix scrolling issue in iOS 2020-05-03 07:12:54 +02:00
chme 341acca184 [web-src] Allow the dev server to run against a remote forked-daapd instance 2020-05-03 07:12:54 +02:00
ejurgensen 57ff2e3124 [raop] Fix bug where we send start packets during teardown
The teardown send function was setting state to CONNECTED, which made
raop_write() believe that the device had just joined.
2020-05-03 00:00:26 +02:00
ejurgensen 661289990c [player] Migrate a lot of speaker handling to outputs.c
Moves speaker selection, volume handling and startup to outputs.c, plus adds
the ability to "resurrect" a speaker that disconnects.

The purpose of moving the code is to concentrate device handling in one place.

Also changes how we deal with speaker selection. The player will now generally
not alter a user selection, even if the device fails. The purpose of this is to
maintain selection both if the device briefly fails, and if the user switches
off the device (we stop playback) and later turns it on + starts new playback.
2020-05-03 00:00:18 +02:00
chme 4188a54e37 [web-src] Fix missing scrollbars in navbar menus 2020-05-02 08:15:03 +02:00