Sun Mar 6 16:46:04 2011 UTC ()
Initial import of xmms-cdread from wip, packaged by cheusov (same as xmms-nas).

xmms-cdread - plugin for xmms.

At the moment, the idea is to add /dev/cdrom to your playlist.
If you have multiple CDROM units (like a burner) you can add all
those devices to the playlist and it should work.

I know this exists already, but that's such an uugly hack I decided to
make my own version, which actually reads the audio data, and will also
not need the subdirectory trick to get the tracks into the playlist:
The tracks will be added and removed automatically as CDs are inserted
and removed.

It now has CDDB support, local database editing as well as server queries.

Status:

Vendor Tag:	TNF
Release Tags:	pkgsrc-20110306


(wiz)
diff -r0 -r1.1.1.1 pkgsrc/audio/xmms-cdread/Makefile
diff -r0 -r1.1.1.1 pkgsrc/audio/xmms-cdread/DESCR
diff -r0 -r1.1.1.1 pkgsrc/audio/xmms-cdread/distinfo
diff -r0 -r1.1.1.1 pkgsrc/audio/xmms-cdread/PLIST
diff -r0 -r1.1.1.1 pkgsrc/audio/xmms-cdread/patches/patch-aa
diff -r0 -r1.1.1.1 pkgsrc/audio/xmms-cdread/patches/patch-ab

File Added: pkgsrc/audio/xmms-cdread/Makefile
# $NetBSD: Makefile,v 1.1.1.1 2011/03/06 16:46:04 wiz Exp $
#

DISTNAME=		xmms-cdread-0.14a
CATEGORIES=		audio
MASTER_SITES=		ftp://mud.stack.nl/pub/OuterSpace/willem/

MAINTAINER=		cheusov@tut.by
HOMEPAGE=		ftp://mud.stack.nl/pub/OuterSpace/willem/
COMMENT=		XMMS input plugin that reads audio data from CDs

PKG_DESTDIR_SUPPORT=	user-destdir

NOT_FOR_PLATFORM=	Interix-*-* NetBSD-*-*
ONLY_FOR_COMPILER=	gcc

GNU_CONFIGURE=		yes
USE_LIBTOOL=		yes

DOC_FILES=		AUTHORS ChangeLog COPYING NEWS README
PKGDOCDIR=		${PREFIX}/share/doc/${PKGBASE}

INSTALLATION_DIRS=	${PKGDOCDIR}

post-install:
.for i in ${DOC_FILES}
	${INSTALL_DATA} ${WRKSRC}/${i} ${DESTDIR}${PKGDOCDIR}
.endfor

.include "../../audio/xmms/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

File Added: pkgsrc/audio/xmms-cdread/DESCR
xmms-cdread - plugin for xmms.

At the moment, the idea is to add /dev/cdrom to your playlist.
If you have multiple CDROM units (like a burner) you can add all
those devices to the playlist and it should work.

I know this exists already, but that's such an uugly hack I decided to
make my own version, which actually reads the audio data, and will also
not need the subdirectory trick to get the tracks into the playlist:
The tracks will be added and removed automatically as CDs are inserted
and removed.

It now has CDDB support, local database editing as well as server queries.

File Added: pkgsrc/audio/xmms-cdread/distinfo
$NetBSD: distinfo,v 1.1.1.1 2011/03/06 16:46:04 wiz Exp $

SHA1 (xmms-cdread-0.14a.tar.gz) = b0408433618f1f237cd2a42999a2a67642d4a778
RMD160 (xmms-cdread-0.14a.tar.gz) = bcea65cf1919071d8036d1219979376d6632ae09
Size (xmms-cdread-0.14a.tar.gz) = 153811 bytes
SHA1 (patch-aa) = 623e9df7f7eb4aef6c5b2ef7445575081067a199
SHA1 (patch-ab) = 70a1c4f7565a55fdbc7154481cd6fb03cb68b864

File Added: pkgsrc/audio/xmms-cdread/PLIST
@comment $NetBSD: PLIST,v 1.1.1.1 2011/03/06 16:46:04 wiz Exp $
lib/xmms/Input/libcdread.la
share/doc/${PKGBASE}/AUTHORS
share/doc/${PKGBASE}/ChangeLog
share/doc/${PKGBASE}/COPYING
share/doc/${PKGBASE}/NEWS
share/doc/${PKGBASE}/README

File Added: pkgsrc/audio/xmms-cdread/patches/patch-aa
$NetBSD: patch-aa,v 1.1.1.1 2011/03/06 16:46:04 wiz Exp $

--- playlist.c.orig	2001-06-03 19:58:51.000000000 +0300
+++ playlist.c
@@ -5,6 +5,8 @@
 #include "cdread.h"
 #include "playlist.h"
 
+#include <string.h>
+
 extern GList *playlist;
 extern pthread_mutex_t playlist_mutex;
 
@@ -161,7 +163,7 @@ playlist_replace(gchar *prefix, GList *l
 	pthread_mutex_unlock(&playlist_mutex);
 	
 	playlistwin_update_list();
-	if (regen_shuffle) playlist_generate_shuffle_list();
+
 	if (set_info_text) mainwin_set_info_text();
 	if (restart_playing)
 	{

File Added: pkgsrc/audio/xmms-cdread/patches/patch-ab
$NetBSD: patch-ab,v 1.1.1.1 2011/03/06 16:46:04 wiz Exp $

--- cdread.c.orig	2001-08-18 14:29:43.000000000 +0300
+++ cdread.c
@@ -377,7 +377,7 @@ init_thread(gchar *device)
 }
 
 void
-_fini(void)
+cd_finish(void)
 {
 	CD_LOCK();
 	while (cd_list)
@@ -388,6 +388,9 @@ _fini(void)
 		xmms_usleep(10000);
 }
 
+static void destruct(void) __attribute__((destructor));
+static void destruct(void) { cd_finish(); }
+
 static void
 cd_init(void)
 {