Commit Graph

3195 Commits

Author SHA1 Message Date
ejurgensen
cd14522915 Swap misplaced args in db.c 2015-06-04 22:10:30 +02:00
ejurgensen
ac34ffabec Merge branch 'chme-mpd' 2015-06-04 21:59:06 +02:00
ejurgensen
271c5ff344 Change DB upgrade from v18->v19 to v18->v18.01 2015-06-04 21:58:01 +02:00
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
ejurgensen
70fea7e459 Merge pull request #161 from chme/mpdplchanges
Support for mpd command plchanges
2015-05-30 20:33:46 +03: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
ejurgensen
75ded12d7f Bump version to 23.1 2015-05-21 22:26:33 +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
ejurgensen
349372c7b9 Merge pull request #155 from chme/smartpl-grouping
[smartpl] add "grouping" field to smart playlist grammar
2015-05-21 07:14:45 +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
ejurgensen
727a5b23f3 Some Remote troubleshooting info for the README 2015-05-19 22:02:45 +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
ejurgensen
e4354cb173 README update 2 2015-05-10 14:55:59 +02:00
ejurgensen
f833bb93b4 README update 2015-05-10 14:54:22 +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