Package: mpc Version: 0.19-2 Severity: normal *** Please type your report below this line ***
I regularly use (via a local emacs mode) the formatting optiona available in the playlist-display to choose my next song. This example will make it clear: * I'm trying to dump all songs in the playlist, along with their numbers. precious ~ $ mpc --format='%id% - %file%' playlist | head -n 10 0 - Abba/Abba - Dancing Queen.mp3 1 - AC-DC/Back In Black/Hells Bells - AC-DC - Back In Black - 01.mp3 2 - AC-DC/Back In Black/Shoot To Thrill - AC-DC - Back In Black - 02.mp3 3 - AC-DC/Back In Black/What Do You Do For Money Honey- - AC-DC - Back In Black - 03.mp3 4 - AC-DC/Back In Black/Givin The Dog A Bone - AC-DC - Back In Black - 04.mp3 5 - AC-DC/Back In Black/Let Me Put My Love Into You - AC-DC - Back In Black - 05.mp3 6 - AC-DC/Back In Black/Back In Black - AC-DC - Back In Black - 06.mp3 7 - AC-DC/Back In Black/Have A Drink On Me - AC-DC - Back In Black - 08.mp3 8 - AC-DC/Back In Black/Shake A Leg - AC-DC - Back In Black - 09.mp3 9 - AC-DC/Back In Black/Rock And Roll Ain't Noise Pollution - AC-DC - Back In Black - 10.mp3 So now I have the ID of each song, and the name. Let us pretend that song 10 is currently playing. Let us play song 0: precious ~ $ mpc play 0 AC-DC - Rock And Roll Ain't Noise Poll [playing] #10/10246 0:04/4:26 (1%) volume: n/a repeat: on random: on single: off consume: off Here you see there is "magic behaviour". Attempting to play song 0 will show the details for the currently-playing song. It will not play song zero. If I wish to play Abba, the first song in the list above, I must choose track 1: precious ~ $ mpc play 1 Abba - Dancing Queen [playing] #1/10246 0:00/6:33 (0%) volume: n/a repeat: on random: on single: off consume: off The conclusion? The playlist-formatting should start the ID at 1, not 0. Patch attached: --- util.c 2013-02-10 00:43:30.000000000 +0000 +++ util.c~ 2013-02-10 00:43:22.000000000 +0000 @@ -245,7 +245,7 @@ snprintf(buffer, sizeof(buffer), "%d", pos+1); value = buffer; } else if (strcmp(name, "id") == 0) { - snprintf(buffer, sizeof(buffer), "%u", mpd_song_get_id(song)+1); + snprintf(buffer, sizeof(buffer), "%u", mpd_song_get_id(song)); value = buffer; } else { enum mpd_tag_type tag_type = mpd_tag_name_iparse(name); -- System Information: Debian Release: 6.0.6 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 2.6.32-5-amd64 (SMP w/2 CPU cores) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages mpc depends on: ii libc6 2.11.3-4 Embedded GNU C Library: Shared lib ii libmpdclient2 2.3-1 client library for the Music Playe mpc recommends no packages. Versions of packages mpc suggests: ii mpd 0.16.7-2 Music Player Daemon -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org