head	1.3;
access;
symbols
	pkgsrc-2026Q3:1.3.0.120
	pkgsrc-2026Q3-base:1.3
	pkgsrc-2026Q2:1.3.0.118
	pkgsrc-2026Q2-base:1.3
	pkgsrc-2026Q1:1.3.0.116
	pkgsrc-2026Q1-base:1.3
	pkgsrc-2025Q4:1.3.0.114
	pkgsrc-2025Q4-base:1.3
	pkgsrc-2025Q3:1.3.0.112
	pkgsrc-2025Q3-base:1.3
	pkgsrc-2025Q2:1.3.0.110
	pkgsrc-2025Q2-base:1.3
	pkgsrc-2025Q1:1.3.0.108
	pkgsrc-2025Q1-base:1.3
	pkgsrc-2024Q4:1.3.0.106
	pkgsrc-2024Q4-base:1.3
	pkgsrc-2024Q3:1.3.0.104
	pkgsrc-2024Q3-base:1.3
	pkgsrc-2024Q2:1.3.0.102
	pkgsrc-2024Q2-base:1.3
	pkgsrc-2024Q1:1.3.0.100
	pkgsrc-2024Q1-base:1.3
	pkgsrc-2023Q4:1.3.0.98
	pkgsrc-2023Q4-base:1.3
	pkgsrc-2023Q3:1.3.0.96
	pkgsrc-2023Q3-base:1.3
	pkgsrc-2023Q2:1.3.0.94
	pkgsrc-2023Q2-base:1.3
	pkgsrc-2023Q1:1.3.0.92
	pkgsrc-2023Q1-base:1.3
	pkgsrc-2022Q4:1.3.0.90
	pkgsrc-2022Q4-base:1.3
	pkgsrc-2022Q3:1.3.0.88
	pkgsrc-2022Q3-base:1.3
	pkgsrc-2022Q2:1.3.0.86
	pkgsrc-2022Q2-base:1.3
	pkgsrc-2022Q1:1.3.0.84
	pkgsrc-2022Q1-base:1.3
	pkgsrc-2021Q4:1.3.0.82
	pkgsrc-2021Q4-base:1.3
	pkgsrc-2021Q3:1.3.0.80
	pkgsrc-2021Q3-base:1.3
	pkgsrc-2021Q2:1.3.0.78
	pkgsrc-2021Q2-base:1.3
	pkgsrc-2021Q1:1.3.0.76
	pkgsrc-2021Q1-base:1.3
	pkgsrc-2020Q4:1.3.0.74
	pkgsrc-2020Q4-base:1.3
	pkgsrc-2020Q3:1.3.0.72
	pkgsrc-2020Q3-base:1.3
	pkgsrc-2020Q2:1.3.0.68
	pkgsrc-2020Q2-base:1.3
	pkgsrc-2020Q1:1.3.0.48
	pkgsrc-2020Q1-base:1.3
	pkgsrc-2019Q4:1.3.0.70
	pkgsrc-2019Q4-base:1.3
	pkgsrc-2019Q3:1.3.0.66
	pkgsrc-2019Q3-base:1.3
	pkgsrc-2019Q2:1.3.0.64
	pkgsrc-2019Q2-base:1.3
	pkgsrc-2019Q1:1.3.0.62
	pkgsrc-2019Q1-base:1.3
	pkgsrc-2018Q4:1.3.0.60
	pkgsrc-2018Q4-base:1.3
	pkgsrc-2018Q3:1.3.0.58
	pkgsrc-2018Q3-base:1.3
	pkgsrc-2018Q2:1.3.0.56
	pkgsrc-2018Q2-base:1.3
	pkgsrc-2018Q1:1.3.0.54
	pkgsrc-2018Q1-base:1.3
	pkgsrc-2017Q4:1.3.0.52
	pkgsrc-2017Q4-base:1.3
	pkgsrc-2017Q3:1.3.0.50
	pkgsrc-2017Q3-base:1.3
	pkgsrc-2017Q2:1.3.0.46
	pkgsrc-2017Q2-base:1.3
	pkgsrc-2017Q1:1.3.0.44
	pkgsrc-2017Q1-base:1.3
	pkgsrc-2016Q4:1.3.0.42
	pkgsrc-2016Q4-base:1.3
	pkgsrc-2016Q3:1.3.0.40
	pkgsrc-2016Q3-base:1.3
	pkgsrc-2016Q2:1.3.0.38
	pkgsrc-2016Q2-base:1.3
	pkgsrc-2016Q1:1.3.0.36
	pkgsrc-2016Q1-base:1.3
	pkgsrc-2015Q4:1.3.0.34
	pkgsrc-2015Q4-base:1.3
	pkgsrc-2015Q3:1.3.0.32
	pkgsrc-2015Q3-base:1.3
	pkgsrc-2015Q2:1.3.0.30
	pkgsrc-2015Q2-base:1.3
	pkgsrc-2015Q1:1.3.0.28
	pkgsrc-2015Q1-base:1.3
	pkgsrc-2014Q4:1.3.0.26
	pkgsrc-2014Q4-base:1.3
	pkgsrc-2014Q3:1.3.0.24
	pkgsrc-2014Q3-base:1.3
	pkgsrc-2014Q2:1.3.0.22
	pkgsrc-2014Q2-base:1.3
	pkgsrc-2014Q1:1.3.0.20
	pkgsrc-2014Q1-base:1.3
	pkgsrc-2013Q4:1.3.0.18
	pkgsrc-2013Q4-base:1.3
	pkgsrc-2013Q3:1.3.0.16
	pkgsrc-2013Q3-base:1.3
	pkgsrc-2013Q2:1.3.0.14
	pkgsrc-2013Q2-base:1.3
	pkgsrc-2013Q1:1.3.0.12
	pkgsrc-2013Q1-base:1.3
	pkgsrc-2012Q4:1.3.0.10
	pkgsrc-2012Q4-base:1.3
	pkgsrc-2012Q3:1.3.0.8
	pkgsrc-2012Q3-base:1.3
	pkgsrc-2012Q2:1.3.0.6
	pkgsrc-2012Q2-base:1.3
	pkgsrc-2012Q1:1.3.0.4
	pkgsrc-2012Q1-base:1.3
	pkgsrc-2011Q4:1.3.0.2
	pkgsrc-2011Q4-base:1.3
	pkgsrc-2011Q3:1.2.0.2
	pkgsrc-2011Q3-base:1.2
	pkgsrc-2011Q2:1.1.1.1.0.4
	pkgsrc-2011Q2-base:1.1.1.1
	pkgsrc-2011Q1:1.1.1.1.0.2
	pkgsrc-2011Q1-base:1.1.1.1
	pkgsrc-20110306:1.1.1.1
	TNF:1.1.1;
locks; strict;
comment	@# @;


1.3
date	2011.11.27.00.25.05;	author marino;	state Exp;
branches;
next	1.2;

1.2
date	2011.09.04.23.10.30;	author dholland;	state Exp;
branches;
next	1.1;

1.1
date	2011.03.06.16.46.04;	author wiz;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	2011.03.06.16.46.04;	author wiz;	state Exp;
branches;
next	;


desc
@@


1.3
log
@audio/xmms-cdread: Support DragonFly

There were a few issues with this package wrt DragonFly. The biggest issue
is the use of ETIME, which should not be used with sockets.  It doesn't
even appear to be used later.  NetBSD defines ETIME, but neither DragonFly
nor FreeBSD even have this definition in errno.  Somebody might want to
look at this choice for the variable.

Libtool also choked due to a missing tag, the FreeBSD volume control was
needed, and some standard headers were added.
@
text
@$NetBSD$

--- cdread.c.orig	2001-08-18 11:29:43.000000000 +0000
+++ cdread.c
@@@@ -57,7 +57,7 @@@@ struct cd_cfg cd_cfg;
 #endif
 
 /*\ Neat.. Three OSes with three different ways of talking to CDROM drives.. \*/
-#if defined(HAVE_SYS_CDIO_H) && (defined(__FreeBSD__) || defined(__OpenBSD__))
+#if defined(HAVE_SYS_CDIO_H) && (defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__))
 #include "cdrombsd.h"
 #elif defined(__SOLARIS__) || defined(__Solaris__) || defined(__solaris__) || defined(__sun__) || defined(sun)
 #include "cdromsolaris.h"
@@@@ -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)
 {
@@@@ -742,7 +745,8 @@@@ get_volume(gint *l, gint *r)
 static void
 set_volume(gint l, gint r)
 {
-#if defined(HAVE_SYS_CDIO_H) && defined(__FreeBSD__)
+#if defined(HAVE_SYS_CDIO_H) && \
+   (defined(__FreeBSD__) || defined(__DragonFly__))
 	struct ioc_vol vol;
 #else
 	struct cdrom_volctrl vol;
@


1.2
log
@- Adjust cdrom access logic so all the BSDs go to the BSD cdrom code,
not just FreeBSD and OpenBSD.

- Update NOT_FOR_PLATFORM: the only BSD for which the cdrom code can
actually work is DragonFly. The others are missing ioctls it uses.
This could probably be fixed up readily by someone who knows how cdrom
access is supposed to work, if any such person cares.

- Allow clang until proven otherwise.
@
text
@d1 1
a1 4
$NetBSD: patch-ab,v 1.1.1.1 2011/03/06 16:46:04 wiz Exp $

- support more OSes
- avoid gross linker abuse 
d33 10
@


1.1
log
@Initial revision
@
text
@d1 1
a1 1
$NetBSD$
d3 4
a6 1
--- cdread.c.orig	2001-08-18 14:29:43.000000000 +0300
d8 9
@


1.1.1.1
log
@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.
@
text
@@
