chme
7cd96690c0
Remove file extension for playlists from virtual_path during scan and
...
update db to v19 removing the file extensions from the stored playlists
An existing file extension in the virtual path leads to wrong entries in
MPDroid (and mpd does also not return the file extension).
2015-06-04 08:11:46 +02:00
ejurgensen
3655e26703
Code style
2015-06-02 23:10:04 +02:00
ejurgensen
64ef66f030
Merge pull request #162 from stephan-01010011/master
...
Fixed bug that caused icy header metadata to be not correctly encoded
2015-06-03 00:05:56 +03:00
ejurgensen
7a0dfef136
Add sub-sorting when sort=artists, because otherwise Tunesremote SE will not play the artist's tracks in proper order
2015-06-01 23:36:16 +02:00
stephan-01010011
32727bd296
Fixed bug that caused icy header metadata to be not correctly
...
encoded/converted. Characters above x7F were replaced by '?' character
although the rfc defines a ISO−8859−1 encoding for descriptive
field-content.
According to rfc2616 the field-content is defined as follows:
<the OCTETs making up the field-value and consisting of either *TEXT or
combinations of token, separators, and quoted-string>
The TEXT rule is only used for descriptive field contents and values
that are not intended to be interpreted by the message parser. Words of
*TEXT MAY contain characters from character sets other than ISO- 8859-1
only when encoded according to the rules of RFC 2047.
In the previous implementation the icy metadata was converted based on
fromcode "ascii".
Following incoming icy header field-values should be encoded as
"ISO−8859−1" before adding them to the metadata structure.
- misc.c unicode_fixup_string enhanced by an additional parameter to
define the fromcode
- misc.h unicode_fixup_string prototype updated
- filescanner.c function fixup_tags updated to stay compatible to the
previous implementation using fromcode "ascii"
- db.c function unicode_fixup_mfi updated to stay compatible to the
previous implementation using fromcode "ascii"
- http.c function metadata_header_get enhanced to encode the header
field-content as "ISO−8859−1" to comply with rfc2616
2015-05-31 14:05:31 +01:00
chme
7f09438621
[mpd] support "date" argument in find and search commands
2015-05-30 05:56:53 +02:00
chme
2a04740ca2
[mpd] support "file" argument in list command
2015-05-30 05:56:52 +02:00
chme
4299de5ac7
[mpd] implement plchanges to report all songs in the queue as changed
...
(ignores the playlist version parameter).
This is necessary in order to get mpd clients (e. g. sonata) relying on
this command to display the queue.
2015-05-30 05:33:32 +02:00
ejurgensen
4a50a7a326
[spotify] Improve Spotify loading efficiency and set time_added so smart playlists will work
2015-05-29 19:47:53 +02:00
ejurgensen
40d7d044be
Lower log severity of message in spotify.c
2015-05-27 20:32:27 +02:00
ejurgensen
a1e417c571
Rename count_info to fix issue #157
2015-05-26 21:24:10 +02:00
ejurgensen
8dd1e0fde2
Fix problem introduced with commit 475d5db
where genres and composers don't get sorted
2015-05-26 21:10:28 +02:00
ejurgensen
79cdfebf34
Merge pull request #150 from chme/mpdidle
...
Add support for mpd idle command
2015-05-21 22:31:03 +02:00
ejurgensen
d6828b90fc
Merge pull request #149 from chme/mpdcommands
...
Add support for additional mpd commands
2015-05-21 22:30:49 +02:00
chme
8c12929b91
Added source code comments, return error value if adding/removing a
...
listener failed
2015-05-21 07:57:18 +02:00
chme
0b73233197
[mpd] remove libevent1 support
2015-05-21 07:15:05 +02:00
chme
1cde19b5b6
[smartpl] add "grouping" field to smart playlist grammar
2015-05-21 06:22:55 +02:00
ejurgensen
6176f7f4a2
Fix bug where files being copied into library with eg. Samba will get scanned
...
before writing has finished, which may result in no metadata for the file
2015-05-20 22:38:26 +02:00
chme
41a08d1931
[mpd] rework listener events to use a bit map
2015-05-18 20:12:18 +02:00
chme
baffe49887
refactor use for loop to remove item from linked list
2015-05-13 11:37:09 +02:00
chme
3886ec6638
Add version number for playlist (queue)
...
This is necessary to return a valid playlist id for mpd status command.
2015-05-09 07:46:33 +02:00
chme
aa4a12cabe
add events for playlist (queue), volume, speaker, options
...
(random/shuffle) changes
2015-05-09 07:46:33 +02:00
chme
d2c7c87191
use listener logic to send dacp update requests
2015-05-09 07:46:33 +02:00
chme
7097dd15eb
allow removing of listeners
2015-05-09 07:46:33 +02:00
chme
1714f3dee4
[mpd] move include of libevent from mpd.h to mpd.c
2015-05-09 07:46:33 +02:00
chme
36499f4997
[player] added some source code comments
2015-05-09 07:46:33 +02:00
chme
e156181121
[mpd] remove idle client if an eof or error occurred on the event buffer
...
(fixes segfault after closing the connection of an mpd client)
2015-05-09 07:46:33 +02:00
chme
600e48842f
[mpd] idle command
2015-05-09 07:46:33 +02:00
chme
864315eaef
[mpd] fix wrong log message
2015-05-09 07:35:15 +02:00
chme
68c392eb9e
[mpd] ignore requests for client to client commands "subscribe",
...
"unsubscribe", "readmessages", "sendmessages"
2015-05-09 07:35:15 +02:00
chme
decc482e2c
[mpd] only return "id" attribute if song information is requested for
...
the current playlist
mpd does not expose a persistent song id, instead the id returned in
playlistinfo is a unique id for the song in the queue. The same song has
different ids if it occurs more than once in the queue.
2015-05-09 07:35:15 +02:00
chme
5d22d74dba
[mpd] ignore requests for "sticker"
2015-05-09 07:35:15 +02:00
chme
91338c8548
[mpd] ignore requests for "channels"
2015-05-09 07:35:15 +02:00
chme
fefd91fabc
[mpd] support "track" parameter in commands "list", "find", "search"
2015-05-09 07:35:15 +02:00
chme
ed8b69c118
[mpd] return proper error type if playlist does not exist
2015-05-09 07:35:15 +02:00
chme
1300b2f018
[mpd] support "disc" parameter in commands "list", "find", "search"
2015-05-09 07:35:15 +02:00
chme
a03a9d1e7c
[mpd] support "genre" in commands "find" and "search"
2015-05-09 07:35:15 +02:00
chme
0921675efa
[mpd] implement command "searchadd"
2015-05-09 07:35:15 +02:00
chme
76011c927c
[mpd] implement command "findadd"
2015-05-09 07:35:15 +02:00
chme
fb92040d4b
expose generic player_queue_make function
2015-05-09 07:35:15 +02:00
chme
3832692929
move setting query_params.sort out of generic queue make function
2015-05-09 07:35:14 +02:00
chme
3a495a3d48
move setting query_params.idx_type out of generic queue make function
2015-05-09 07:35:14 +02:00
chme
b728db8470
[mpd] implement command "tagtypes" to return the list of supported tags
2015-05-09 07:35:14 +02:00
chme
670187387f
[mpd] ignore requests for "urlhandlers"
2015-05-09 07:35:14 +02:00
chme
eddcd8676d
[mpd] ignore requests for "notcommands"
2015-05-09 07:35:14 +02:00
ejurgensen
bb01616315
Increase ANTLR timeout for building on slow machines
2015-05-08 22:25:12 +02:00
ejurgensen
a183fc3299
Fix #147 where forked-daapd would not listen on IPv6 when enabled
2015-05-07 22:53:37 +02:00
ejurgensen
475d5db573
When a playlist request contains a query make the default sort S_ALBUM,
...
which should keep audiobooks organized better and be in line with iTunes.
This should fix #91 , and I cross my fingers it does not have other
unintended consequences.
2015-05-05 21:46:56 +02:00
ejurgensen
f6f584bf84
Fix stupid oversight that can cause segfault
...
- how typical to discover this right after making a release
2015-05-05 20:51:59 +02:00
chme
d19fbe5ed7
fix first item is not shuffled
2015-05-05 18:44:02 +02:00
chme
696cd0b6b9
[mpd] fix command listplaylists after changing the enum for pl_type
2015-05-01 12:22:35 +02:00
chme
0c3712629d
attempt to fix compile with antlr3 v3.4
2015-04-27 21:12:22 +02:00
chme
4bf30239bc
Remove query from daap cache if rebuild failed
2015-04-27 19:44:03 +02:00
chme
44b6a52669
fix daap query error for media kind 32
2015-04-27 19:44:03 +02:00
chme
3a7cf212fb
[mpd] fix command "list" for type "artist"
2015-04-25 05:48:28 +02:00
ejurgensen
072810c4aa
Move som comments
2015-04-24 22:57:08 +02:00
ejurgensen
fa4496c729
Begin removing support for libevent 1
2015-04-24 22:11:08 +02:00
ejurgensen
5973875881
Disable announcement of webserver
2015-04-24 22:08:53 +02:00
ejurgensen
a98f67a7b3
Merge pull request #135 from chme/bulkscan
...
do not execute individual delete queries for cached artwork files during bulk scan
2015-04-24 21:06:37 +02:00
chme
afcc84a790
do not execute individual delete queries for artwork files during bulk
...
scan
2015-04-24 17:37:48 +02:00
chme
65ad46311d
fix wrong enum value for MEDIA_KIND_MUSIC
2015-04-24 17:25:01 +02:00
ejurgensen
0e1de8e0bb
Add media_kind music videos and add forgotten return in db upgrade
2015-04-23 23:38:36 +02:00
chme
920af668a1
[smartpl] compare strings case insensitive
2015-04-23 19:17:01 +02:00
chme
8376180fd6
[smartpl] Added rule for enum tags like data_kind and media_kind to
...
avoid having magic numbers like "media_kind = 1" in smartplaylists. Enum
rules are defined like "media_kind is music" with a fixed set of valid
values after the "is" keyword.
2015-04-23 11:36:36 +02:00
chme
659f9c09bb
Use enum values for data_kind and media_kind
2015-04-23 11:34:44 +02:00
chme
9f6afe0607
change pl_type for plain and special playlists and upgrade db to v18
2015-04-23 08:21:11 +02:00
chme
6dc4d53ed9
fix check for empty special playlists
2015-04-23 08:21:11 +02:00
chme
baa97b886d
[smartpl] include smart playlists in filelist view and recreate the view
...
during db upgrade to v17
2015-04-23 08:21:11 +02:00
chme
4cac01ed88
[smartpl] Add support for smart playlists
2015-04-23 08:21:10 +02:00
chme
a174a1d18c
[smartpl] refactoring: repurpose playlist type PL_SMART for user created
...
smart playlists and introduce new type PL_SPECIAL for special system
playlists
2015-04-23 08:21:10 +02:00
ejurgensen
2c5ab966e5
Adjust log messages
2015-04-22 21:54:31 +02:00
ejurgensen
76fc9d8936
Remove debug messages producing compiler warnings
2015-04-18 23:10:01 +02:00
ejurgensen
b819fd800d
Change log message showing http request path
2015-04-18 23:09:34 +02:00
ejurgensen
5fa908cd9c
Add an artwork "stash" in cache.c so we avoid making redundant http artwork requests
2015-04-18 22:55:00 +02:00
chme
72416e3258
do not add port number to "Host" header if it was not explicitly passed
2015-04-18 13:49:14 +02:00
ejurgensen
76a638a277
Merge pull request #130 from chme/laudio
...
[laudio] Make output type for local audio configurable
2015-04-16 17:56:01 +02:00
ejurgensen
ceae3222bf
Downgrade some http client log severities
2015-04-13 21:41:53 +02:00
ejurgensen
dbfd034679
Downgrade log severity of "Found query string" in httpd.c
2015-04-13 21:33:00 +02:00
ejurgensen
2d8a6a7102
Drop support for libavformat versions < 53 (issue #128 )
2015-04-12 20:05:14 +02:00
ejurgensen
8a0994860f
Ignore empty ICY StreamTitles
2015-04-12 18:15:06 +02:00
chme
c8e793fd0c
[laudio] Makes the output type for local audio configurable and
...
introduces a dummy output for local audio
Changes configure.ac to control the with-alsa and with-oss4 separately.
This makes it possible to only use the dummy output and compile without
alse+oss4.
2015-04-12 07:03:32 +02:00
ejurgensen
7841e59afc
Don't report negative remaining times for streams
2015-04-11 22:38:33 +02:00
ejurgensen
3afd206e93
Add streams to the library even if they are unreachable
2015-04-11 22:36:28 +02:00
ejurgensen
7982bca6f0
Merge branch 'pl2'
...
Conflicts:
src/db.c
2015-04-11 21:00:49 +02:00
ejurgensen
7d756230c2
Make raop_metadata_free private again and change a comment in http.c
2015-04-11 20:53:09 +02:00
ejurgensen
99cda05dab
Remove player metadata event timer (use the existing instead)
2015-04-11 20:30:31 +02:00
ejurgensen
0397b824a5
Fixup (select between cur_playing and cur_streaming)
2015-04-09 22:33:23 +02:00
ejurgensen
e72447954a
Some cleaning up of ICY artwork retrieval
2015-04-09 22:22:42 +02:00
ejurgensen
94f94b03fe
Swap artwork arguments so destination evbuffer comes first
2015-04-09 21:23:20 +02:00
ejurgensen
f1931bfc1a
Abandon raop_metadata_arg, and defer metadata time setting
2015-04-09 21:04:35 +02:00
chme
12520f2f1f
[mpd] cleanup: remove duplicate logging of error messages
2015-04-08 19:34:59 +02:00
chme
a268f836e7
[mpd] fix command list for albumartist
2015-04-08 19:34:59 +02:00
chme
b7d5b1650e
[mpd] add support for count command
2015-04-08 19:34:59 +02:00
ejurgensen
ad81e05ab4
Better thread safety by making sure that the raop globals are only accessed through the player thread
2015-04-07 23:35:56 +02:00
ejurgensen
50ef710549
Fix memleak in artwork.c
2015-04-02 00:40:10 +02:00
ejurgensen
56ece92209
Remember to actually request ICY metadata in transcode.c
2015-04-02 00:09:12 +02:00
ejurgensen
be21482d7b
Fix memleak in filescanner_ffmpeg arising for ffmpeg versions without icy support
2015-04-02 00:07:49 +02:00
ejurgensen
0f1a27641f
Fix minor mem leak in playlist scanner
2015-04-01 23:45:21 +02:00
ejurgensen
e101812478
Check for id3 compilation tag (credit @zmatsuo)
...
Ref. pr #127 , issue #83 and maybe issue #63
2015-04-01 23:08:34 +02:00
ejurgensen
e084eb71db
Polishing worker.c a bit
2015-04-01 14:36:24 +02:00
ejurgensen
e4c0c13a20
Remove irrelevant comment
2015-03-31 23:40:52 +02:00
ejurgensen
19ba8fba67
Drop async mode from http client, not needed and probably not working
2015-03-31 23:27:18 +02:00
ejurgensen
e49c941a00
Add a worker thread to support async tasks from the player thread
...
(and maybe others later)
2015-03-31 23:05:24 +02:00
ejurgensen
96200eb808
Use own libevent http client for downloading artwork, ffmpeg seems a
...
bit too slow
2015-03-31 00:08:29 +02:00
ejurgensen
f947948a29
Avoid database locks when raop constructs metadata
2015-03-30 23:11:21 +02:00
ejurgensen
e5c8128c9d
Minor improvements for rescale_needed()
2015-03-30 23:10:33 +02:00
ejurgensen
4850423118
Make hiding internet streams from normal playlists configurable
2015-03-30 21:10:59 +02:00
ejurgensen
41f39ea5ca
Sort playlists with ascending parent id, so that more nested playlists come after
...
the less nested ones (required by Retune)
2015-03-30 08:54:17 +02:00
ejurgensen
986b37ed29
Adds a playlist folder type, it is needed for sorting since some clients (eg Retune)
...
require that playlist folders are sent before their content. Playlist folders should,
however, be sent after the base playlists, so the numbering is changed. At the same
time makes the value of the smart playlist type a bit less hardcoded.
2015-03-30 01:03:15 +02:00
ejurgensen
33bc7227ea
Make use of Spotify playlist folder configurable
2015-03-30 00:59:55 +02:00
ejurgensen
892fd9c402
Send mpco in daap playlist reply, even when 0 (like iTunes)
2015-03-29 23:34:36 +02:00
ejurgensen
a529d78880
Don't crash on no metadata...
2015-03-29 20:16:56 +02:00
ejurgensen
2b2883403e
Fixup for libevent 2.0
2015-03-29 01:10:37 +01:00
ejurgensen
0b67ae3974
Some fixup for libav 0.8
2015-03-29 01:02:14 +01:00
ejurgensen
ea29a8d988
Remove filescanner_icy.c and consolidate in http.c.
...
Libav 9 does not support ICY metadata, so in that case we must be able to get it outselves.
2015-03-29 00:29:06 +01:00
ejurgensen
b8d8df132b
Support for remote m3u playlists (ref pr #79 )
2015-03-20 23:40:42 +01:00
chme
516d46232b
[mpd] db upgrade v16: remove unused data_kind column from files-query
...
and rename variable to "type" to match the pl-query
2015-03-20 13:44:29 +01:00
ejurgensen
cde8441493
Don't cache internet artwork
2015-03-17 22:04:07 +01:00
ejurgensen
d089eaf880
Some protection against mem leak
2015-03-17 22:03:40 +01:00
ejurgensen
e5a1495b49
Add DAAP logic for the Radio item
2015-03-16 23:33:42 +01:00
ejurgensen
46e4214b39
Adjust log severity
2015-03-16 21:40:50 +01:00
ejurgensen
cf6d94eda2
Fixup dblist for Radio item
2015-03-15 16:26:06 +01:00
chme
d7f7a746a2
Added item for "Radio" to DAAP-reply to "/databases" request
2015-03-14 23:44:17 +01:00
ejurgensen
8359a9018d
Fixup parent playlist
2015-03-14 23:35:19 +01:00
ejurgensen
618e22d57e
Put Spotify playlists in a base playlist
2015-03-14 22:52:07 +01:00
ejurgensen
e68c6c4932
Change db_pl_add/db_pl_update so input is playlist struct
...
- so they work like db_file_add/update and can accept all the struct data (incl. parent_id)
2015-03-14 22:34:03 +01:00
ejurgensen
9fdb8a5247
Add DB and DAAP support for nested playlists
2015-03-14 22:00:57 +01:00
ejurgensen
6221e24f1b
Support for live ICY metadata for streams (incl. artwork)
2015-03-14 21:42:53 +01:00
chme
5b0cb6588b
[mpd] support for ipv6
2015-03-14 09:51:39 +01:00
chme
f41e7014e4
[mpd] add support for commands 'listplaylists', 'listplaylist',
...
'listplaylistinfo', 'ping'; add support for additional tags
2015-03-10 22:15:33 +01:00
chme
4a1bff500a
[mpd] fixes for commands noidle, list (handle special case with second
...
argument 'album'), addid (sql error if virtual path contains
character ') and fix error messages in various commands
2015-03-10 22:12:33 +01:00
ejurgensen
a7f15eadd3
Merge pull request #118 from chme/spotify
...
Support for Spotify starred playlists and config options to avoid album/artist clutter
2015-03-08 12:57:17 +01:00
chme
988283c25d
[spotify] Added config options to use the playlist name as album name
2015-03-08 10:26:40 +01:00
chme
7cc3659d42
[spotify] Added config options to use the compilation artist for spotify
...
tracks
2015-03-08 10:26:40 +01:00
chme
563195b8a7
[spotify] Add "sp_track_is_starred" api method and log metadata
2015-03-08 10:26:40 +01:00
chme
c984bcd157
[spotify] Set the name for the starred playlist
2015-03-08 10:26:40 +01:00
chme
665c76de00
[spotify] Add "sp_session_starred_create" api method and load the
...
"starred" playlist on login
2015-03-08 10:26:40 +01:00
chme
3fb6864216
[mpd] fix compile error on FreeBSD (thanks to Raivo Hool)
2015-03-08 09:39:33 +01:00
ejurgensen
0fb206d338
Merge pull request #116 from chme/mpdsqlext
...
[mpd] fix issues with utf8 characters when selecting from filelist
2015-03-07 20:16:24 +01:00
chme
2c0ce9cd56
[mpd] add support for speaker (de)activation through 'outputs',
...
'disableoutput', 'enableoutput', 'toggleoutput' commands
2015-03-07 18:55:42 +01:00
chme
9c979ef584
[mpd] fix issues with utf8 characters when selecting from filelist (lead
...
to an infinite loop in MPoD while importing the library and to missing
or wrong entries in ympd)
2015-03-07 10:05:09 +01:00
ejurgensen
6df734f497
Cleanup libevent 2 calls in httpd_daap.c/.h
2015-03-06 21:22:05 +01:00
ejurgensen
684de40be2
Minor change of log severity ("Done with group")
2015-03-05 21:24:27 +01:00
ejurgensen
1a0d2ef59b
Reduce log severity
2015-02-28 15:16:19 +01:00
chme
1923e7b67d
silence compiler warning in player.c "warning: ignoring return value of
...
‘read’ ..."
2015-02-28 08:00:10 +01:00
ejurgensen
114ec347bc
Merge pull request #110 from chme/dbupdate
...
Enclose DB upgrade in a single transaction
2015-02-27 23:17:08 +01:00
ejurgensen
01fd561107
Merge pull request #105 from chme/playqueue
...
Improve behaviour for playing from history
2015-02-26 18:55:38 +01:00
chme
10f2eb2409
Improve behaviour for playing from history
2015-02-26 17:29:13 +01:00
chme
1bbfcf61a5
Enclose DB upgrade in a single transaction (improves performance and in
...
case of an error does a rollback, keeping the db in a valid state)
2015-02-26 14:09:14 +01:00
ejurgensen
c2b5c08f36
Remove embedded libavl (ref commit df9bcade5a
)
2015-02-25 22:05:08 +01:00