summaryrefslogtreecommitdiffstats
path: root/kscd
diff options
context:
space:
mode:
Diffstat (limited to 'kscd')
-rw-r--r--kscd/ConfigureChecks.cmake26
-rw-r--r--kscd/Makefile.am1
-rwxr-xr-xkscd/kscd-script41
-rw-r--r--kscd/libwm/CMakeLists.txt2
-rw-r--r--kscd/libwm/Makefile.am2
-rw-r--r--kscd/libwm/PLAT_IMPL_STATUS70
-rw-r--r--kscd/libwm/include/wm_config.h16
-rw-r--r--kscd/libwm/plat_irix.c474
8 files changed, 37 insertions, 595 deletions
diff --git a/kscd/ConfigureChecks.cmake b/kscd/ConfigureChecks.cmake
index 8047bed7..2abf5db1 100644
--- a/kscd/ConfigureChecks.cmake
+++ b/kscd/ConfigureChecks.cmake
@@ -9,32 +9,6 @@
#
#################################################
-if( "${CMAKE_SYSTEM_NAME}" MATCHES "IRIX" )
- # IRIX cdaudio
- if( NOT CDAUDIO )
- message( STATUS "Checking for cdaudio library" )
- find_library( CDAUDIO cdaudio )
- if( CDAUDIO )
- message( STATUS "Checking for cdaudio library - found" )
- set( CDAUDIO_LIBRARIES "cdaudio;mediad;ds" )
- else( )
- message( STATUS "Checking for cdaudio library - not found" )
- endif( )
- endif( NOT CDAUDIO )
-
- # Irix CDDA
- if( NOT FPE )
- message( STATUS "Checking for fpe library" )
- find_library( FPE fpe )
- if( FPE )
- message( STATUS "Checking for fpe library - found" )
- set( FPE_LIBRARIES "fpe" )
- else( )
- message( STATUS "Checking for fpe library - not found" )
- endif( )
- endif( NOT FPE )
-endif( "${CMAKE_SYSTEM_NAME}" MATCHES "IRIX" )
-
# FreeBSD
if( "${CMAKE_SYSTEM_NAME}" MATCHES "FreeBSD" )
if( NOT CDROM )
diff --git a/kscd/Makefile.am b/kscd/Makefile.am
index 82f205a4..f7e8e180 100644
--- a/kscd/Makefile.am
+++ b/kscd/Makefile.am
@@ -61,7 +61,6 @@ messages: rc.cpp
cdrom.c:config.h
plat_bsd386.c:config.h
plat_freebsd.c:config.h
-plat_irix.c:config.h
plat_linux.c:config.h
plat_news.c:config.h
plat_scor5.c:config.h
diff --git a/kscd/kscd-script b/kscd/kscd-script
index 18803ee2..30064a1c 100755
--- a/kscd/kscd-script
+++ b/kscd/kscd-script
@@ -48,7 +48,6 @@ echo " Linux ...................... L"
echo " FreeBSD/NetBSD ............. F"
echo " BSD386 ..................... B"
echo " Sun ........................ S"
-echo " Irix ....................... I"
echo " Sony NEWS .................. N"
echo " Ultrix ..................... U"
echo " Generic SVR4 (not Sun) ..... V"
@@ -202,45 +201,6 @@ echo "#endif /* linux */" >> $config_file
}
-irix_conf(){
-
-clear
-echo "KSCD configuration for Irix"
-echo "---------------------------"
-echo
-
-give_instructions
-write_config_header
-
-echo "" >> $config_file
-echo "#if defined(sgi)" >> $config_file
-echo "" >> $config_file
-
-echo $ac_n "Please specify your cdrom device [/dev/scsi/sc0d6l0]:$ac_c"
-
-read device
-if [ "$device" = "" ]
-then
- device="/dev/scsi/sc0d6l0"
-fi
-
-echo "Your choice was: $device"
-echo "#define DEFAULT_CD_DEVICE \"$device\" " >> $config_file
-
-echo $ac_n "Enable CDDA? (y/n) [y]:$ac_c"
-
-read curved
-
-case "$curved" in
- "yes" | "y" | "Yes" | "Y" | "") echo "#define CDDA " >> $config_file ;;
-esac
-echo ""
-echo "That's all for sgi ..."
-
-echo "#endif /* sgi */" >> $config_file
-
-}
-
bsd386_conf(){
clear
@@ -684,7 +644,6 @@ l|L) linux_conf;;
f|F) freebsd_netbsd_conf;;
b|B) bsd386_conf;;
s|S) sun_conf;;
-i|I) irix_conf;;
n|N) sony_conf;;
u|U) ultrix_conf;;
v|V) generic_svr_conf;;
diff --git a/kscd/libwm/CMakeLists.txt b/kscd/libwm/CMakeLists.txt
index 08b35ebf..b4bab78d 100644
--- a/kscd/libwm/CMakeLists.txt
+++ b/kscd/libwm/CMakeLists.txt
@@ -27,7 +27,7 @@ tde_add_library( workman STATIC_PIC
SOURCES
cddb.c cdinfo.c cdrom.c wm_helpers.c cdtext.c
database.c index.c scsi.c cdda.c plat_linux_cdda.c plat_sun_cdda.c
- plat_aix.c plat_bsd386.c plat_freebsd.c plat_irix.c
+ plat_aix.c plat_bsd386.c plat_freebsd.c
plat_linux.c plat_netbsd.c plat_svr4.c plat_ultrix.c plat_news.c
plat_openbsd.c plat_sun.c plat_scor5.c
drv_sony.c drv_toshiba.c
diff --git a/kscd/libwm/Makefile.am b/kscd/libwm/Makefile.am
index c5269d7c..c82f2967 100644
--- a/kscd/libwm/Makefile.am
+++ b/kscd/libwm/Makefile.am
@@ -14,7 +14,7 @@ libworkman_la_LIBADD = audio/libworkmanaudio.la $(ARTS_LIBASOUND)
libworkman_la_SOURCES = cddb.c cdinfo.c cdrom.c wm_helpers.c cdtext.c\
database.c index.c scsi.c cdda.c plat_linux_cdda.c plat_sun_cdda.c\
-plat_aix.c plat_bsd386.c plat_freebsd.c plat_irix.c \
+plat_aix.c plat_bsd386.c plat_freebsd.c \
plat_linux.c plat_svr4.c plat_ultrix.c plat_news.c plat_openbsd.c \
plat_sun.c plat_scor5.c \
drv_sony.c drv_toshiba.c
diff --git a/kscd/libwm/PLAT_IMPL_STATUS b/kscd/libwm/PLAT_IMPL_STATUS
index 52719d3d..c1ff0b0d 100644
--- a/kscd/libwm/PLAT_IMPL_STATUS
+++ b/kscd/libwm/PLAT_IMPL_STATUS
@@ -8,41 +8,41 @@ X function available
\ function dummy, null implementation or commented out
(X) function available in special configurations
-function |aix |bsd386|freebsd|irix |linux|news |openbsd|sun |svr4 |ultrix|
-------------------------+-----+------+-------+-----+-----+-----+-------+-----+-----+------+
-find_cdrom() | - | - | - | - | - | - | - | X | X | X |
-gen_init() | \ | \ | \ | (X) | \ | \ | \ | \ | \ | \ |
-wmcd_open() | X | X | X | X | X | X | X | X | X | X |
-wmcd_close() | - | - | - | - | - | X | - | - | - | - |
-wmcd_reopen() | X | X | X | X | X | X | X | X | X | X |
-wm_scsi() | \ | \ | \ | \ | X | \ | \ | \ | X | \ |
-keep_cd_open() | - | - | - | - | \ | - | - | - | - | - |
-gen_get_drive_status() | X | X | X | X | X | X | X | X | X | X |
-------------------------+-----+------+-------+-----+-----+-----+-------+-----+-----+------+
-gen_get_trackcount() | X | X | X | X | X | X | X | X | X | X |
-gen_get_trackinfo() | X | X | X | X | X | X | X | X | X | X |
-gen_get_cdlen() | X | X | X | X | X | X | X | X | X | X |
-------------------------+-----+------+-------+-----+-----+-----+-------+-----+-----+------+
-gen_play() | X | X | X | X | X | X | X | X | X | X |
-gen_pause() | X | X | X | X | X | X | X | X | X | X |
-gen_resume() | X | X | X | X | X | X | X | X | X | X |
-gen_stop() | X | X | X | X | X | X | X | X | X | X |
-gen_eject() | X | X | X | X | X | X | X | X | X | X |
-gen_closetray() | X | X | X | X | X | X | X | X | X | X |
-------------------------+-----+------+-------+-----+-----+-----+-------+-----+-----+------+
-scale_volume() | X | X | X | - | X | - | X | X | - | X |
-unscale_volume() | X | X | X | - | - | - | X | X | - | X |
-gen_set_volume() | X | X | X | X | X | X | X | X | X | X |
-gen_get_volume() | X | X | X | X | X | X | X | X | X | X |
-------------------------+-----+------+-------+-----+-----+-----+-------+-----+-----+------+
-cdda_init() | - | - | - | - | \ | - | - | - | - | - |
-get_ack() | - | - | - | - | \ | - | - | - | - | - |
-cdda_kill() | - | - | - | - | \ | - | - | - | - | - |
-gen_set_direction() | - | - | - | - | \ | - | - | - | - | - |
-gen_set_speed() | - | - | - | - | \ | - | - | - | - | - |
-gen_set_loudness() | - | - | - | - | \ | - | - | - | - | - |
-gen_save() | - | - | - | - | \ | - | - | - | - | - |
-------------------------+-----+------+-------+-----+-----+-----+-------+-----+-----+------+
+function |aix |bsd386|freebsd|linux|news |openbsd|sun |svr4 |ultrix|
+------------------------+-----+------+-------+-----+-----+-------+-----+-----+------+
+find_cdrom() | - | - | - | - | - | - | X | X | X |
+gen_init() | \ | \ | \ | \ | \ | \ | \ | \ | \ |
+wmcd_open() | X | X | X | X | X | X | X | X | X |
+wmcd_close() | - | - | - | - | X | - | - | - | - |
+wmcd_reopen() | X | X | X | X | X | X | X | X | X |
+wm_scsi() | \ | \ | \ | X | \ | \ | \ | X | \ |
+keep_cd_open() | - | - | - | \ | - | - | - | - | - |
+gen_get_drive_status() | X | X | X | X | X | X | X | X | X |
+------------------------+-----+------+-------+-----+-----+-------+-----+-----+------+
+gen_get_trackcount() | X | X | X | X | X | X | X | X | X |
+gen_get_trackinfo() | X | X | X | X | X | X | X | X | X |
+gen_get_cdlen() | X | X | X | X | X | X | X | X | X |
+------------------------+-----+------+-------+-----+-----+-------+-----+-----+------+
+gen_play() | X | X | X | X | X | X | X | X | X |
+gen_pause() | X | X | X | X | X | X | X | X | X |
+gen_resume() | X | X | X | X | X | X | X | X | X |
+gen_stop() | X | X | X | X | X | X | X | X | X |
+gen_eject() | X | X | X | X | X | X | X | X | X |
+gen_closetray() | X | X | X | X | X | X | X | X | X |
+------------------------+-----+------+-------+-----+-----+-------+-----+-----+------+
+scale_volume() | X | X | X | X | - | X | X | - | X |
+unscale_volume() | X | X | X | - | - | X | X | - | X |
+gen_set_volume() | X | X | X | X | X | X | X | X | X |
+gen_get_volume() | X | X | X | X | X | X | X | X | X |
+------------------------+-----+------+-------+-----+-----+-------+-----+-----+------+
+cdda_init() | - | - | - | \ | - | - | - | - | - |
+get_ack() | - | - | - | \ | - | - | - | - | - |
+cdda_kill() | - | - | - | \ | - | - | - | - | - |
+gen_set_direction() | - | - | - | \ | - | - | - | - | - |
+gen_set_speed() | - | - | - | \ | - | - | - | - | - |
+gen_set_loudness() | - | - | - | \ | - | - | - | - | - |
+gen_save() | - | - | - | \ | - | - | - | - | - |
+------------------------+-----+------+-------+-----+-----+-------+-----+-----+------+
diff --git a/kscd/libwm/include/wm_config.h b/kscd/libwm/include/wm_config.h
index 27bb970c..6eaadca9 100644
--- a/kscd/libwm/include/wm_config.h
+++ b/kscd/libwm/include/wm_config.h
@@ -40,7 +40,6 @@
*********************
* BSD386
* FreeBSD
- * Irix (SGI)
* Linux
* News (Sony NewsOS)
* OpenBSD
@@ -177,21 +176,6 @@
#endif /* OpenBSD */
/******************************************************************
- * Irix
- ******************************************************************
- *** ** *** ** ** *********************************
- ***** **** ** **** ***** **********************************
- ***** **** ***** ****** ***********************************
- ***** **** ** **** ***** **********************************
- *** ** ** ** ** ** *********************************
- ******************************************************************/
-#if defined(sgi) || defined(__sgi)
-
-#define DEFAULT_CD_DEVICE "/dev/scsi/sc0d6l0"
-
-#endif /* sgi IRIX */
-
-/******************************************************************
* Linux
******************************************************************
*** ****** ** *** ** ** ** ** ***********************
diff --git a/kscd/libwm/plat_irix.c b/kscd/libwm/plat_irix.c
deleted file mode 100644
index 7ed89113..00000000
--- a/kscd/libwm/plat_irix.c
+++ /dev/null
@@ -1,474 +0,0 @@
-/*
- * $Id$
- *
- * This file is part of WorkMan, the civilized CD player library
- * (c) 1991-1997 by Steven Grimm (original author)
- * (c) by Dirk Försterling (current 'author' = maintainer)
- * The maintainer can be contacted by his e-mail address:
- * milliByte@DeathsDoor.com
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
- *
- * IRIX specific.
- *
- * Taken from the kscd distribution
- *
- * Paul Kendall
- * paul@orion.co.nz, or
- * paul@kcbbs.gen.nz
- */
-
-#if defined(sgi) || defined(__sgi)
-
-#include "include/wm_config.h"
-
-/*
- * Yes, it was designed for WorkMan 1.4b3
- * Because I did start over from 1.3a, I disable it here.
- * There is no guarantee of getting working code by defining
- * CDDA yourself.
- *
- */
-#undef CDDA
-/*#define CDDA*/
-
-#include <sys/types.h>
-#include <sys/time.h>
-#include <stdio.h>
-#include <ctype.h>
-#include <string.h>
-#include <fcntl.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <signal.h>
-#include <sigfpe.h>
-#include <dmedia/cdaudio.h>
-#include <dmedia/audio.h>
-#include <errno.h>
-
-#include "include/wm_struct.h"
-#include "include/wm_cdtext.h"
-
-#define WM_MSG_CLASS WM_MSG_CLASS_PLATFORM
-
-void *malloc();
-char *strchr();
-
-int min_volume = 0;
-int max_volume = 255;
-
-#ifdef CDDA
-static int playing = STOPPED;
-static CDPLAYER *icd;
-static CDPARSER *icdp;
-static CDFRAME cdbuf[12];
-static ALport audioport;
-static ALconfig aconfig;
-static struct itimerval audiotimer = { {0,0}, {0,25000} };
-static int cdtrack=0;
-static int cdframe=0;
-static int cdstopframe=0;
-
-/*
- * Platform specific internal functions for CDDA
- */
-void
-cbprognum(void *arg, CDDATATYPES type, CDPROGNUM* prognum)
-{
- cdtrack = prognum->value;
-} /* cbprognum() */
-
-void
-cbabstime(void *arg, CDDATATYPES type, struct cdtimecode* atime)
-{
- cdframe = CDtctoframe(atime);
- if( cdframe == cdstopframe )
- playing = STOPPED;
-} /* cbabstime() */
-
-void
-cbplayaudio(void *arg, CDDATATYPES type, short* audio)
-{
- if(playing != PLAYING) return;
- ALwritesamps(audioport, audio, CDDA_NUMSAMPLES);
-} /* cbplayaudio() */
-
-static void
-alarmsignal()
-{
- int n, i;
- if(playing != PLAYING) return;
- if( ALgetfilled(audioport) < CDDA_NUMSAMPLES*8 )
- {
- /* Only get more samples and play them if we're getting low
- * this ensures that the CD stays close to the sound
- */
- n = CDreadda(icd, cdbuf, 12);
- if( n == 0 ) return;
- for( i=0 ; i<12 ; i++ )
- CDparseframe(icdp, &cdbuf[i]);
- }
- signal(SIGALRM, alarmsignal);
- setitimer(ITIMER_REAL, &audiotimer, NULL);
-} /* alarmsignal() */
-#endif
-
-/*--------------------------------------------------------*
- * Initialize the drive. A no-op for the generic driver.
- *--------------------------------------------------------*/
-int
-gen_init( struct wm_drive *d )
-{
-#ifdef CDDA
- long Param[4];
- /* Set the audio rate to 44100Hz 16bit 2s-comp stereo */
- aconfig = ALnewconfig();
- ALsetwidth(aconfig, AL_SAMPLE_16);
- ALsetsampfmt(aconfig, AL_SAMPFMT_TWOSCOMP);
- ALsetchannels(aconfig, 2);
- Param[0] = AL_OUTPUT_RATE; Param[1] = AL_RATE_44100;
- Param[2] = AL_CHANNEL_MODE; Param[3] = AL_STEREO;
- ALsetparams(AL_DEFAULT_DEVICE, Param, 4);
- audioport = ALopenport("KDE KSCD Audio", "w", aconfig);
-
- /* setup cdparser */
- icdp = CDcreateparser();
- CDaddcallback(icdp, cd_audio, (CDCALLBACKFUNC)cbplayaudio, 0);
- CDaddcallback(icdp, cd_pnum, (CDCALLBACKFUNC)cbprognum, 0);
- CDaddcallback(icdp, cd_atime, (CDCALLBACKFUNC)cbabstime, 0);
-
- /* Lets handle those floating point exceptions expeditiously. */
- sigfpe_[_UNDERFL].repls = _ZERO;
- handle_sigfpes(_ON, _EN_UNDERFL, NULL, _ABORT_ON_ERROR, NULL);
-#endif
- return 0;
-} /* gen_init() */
-
-/*-------------------------------------------------------------*
- * Open the CD and figure out which kind of drive is attached.
- *-------------------------------------------------------------*/
-int
-wmcd_open( struct wm_drive *d )
-{
- int fd;
- CDSTATUS s;
-
- if (d->fd < 0) /* Device already open? */
- {
- if (d->cd_device == NULL)
- d->cd_device = DEFAULT_CD_DEVICE;
-
- d->fd = 1;
-
- /* Now fill in the relevant parts of the wm_drive structure. */
- fd = d->fd;
- find_drive_struct("", "", "");
- d->fd = fd;
- (d->init)(d);
-
- d->daux = CDopen(d->cd_device,"r");
- if (d->daux == 0)
- {
- return (-6);
- }
-#ifdef CDDA
- icd = d->daux;
-#endif
- } else {
- wm_lib_message(WM_MSG_LEVEL_DEBUG|WM_MSG_CLASS, "wmcd_open(): [device is open (fd=%d)]\n", d->fd);
- }
-
- CDgetstatus(d->daux, &s);
- if( s.state==CD_NODISC || s.state==CD_ERROR )
- return 1;
-
- return (0);
-} /* wmcd_open() */
-
-/*
- * Re-Open the device if it is open.
- */
-int
-wmcd_reopen( struct wm_drive *d )
-{
- int status;
-
- do {
- wm_lib_message(WM_MSG_LEVEL_DEBUG|WM_MSG_CLASS, "wmcd_reopen\n");
- status = gen_close( d );
- wm_susleep( 1000 );
- wm_lib_message(WM_MSG_LEVEL_DEBUG|WM_MSG_CLASS, "calling wmcd_open()\n");
- status = wmcd_open( d ); /* open it as usual */
- wm_susleep( 1000 );
- } while ( status != 0 );
- return status;
-} /* wmcd_reopen() */
-
-
-/*----------------------------------*
- * Send a SCSI command out the bus.
- *----------------------------------*/
-int
-wm_scsi( struct wm_drive *d, unsigned char *xcdb, int cdblen,
- char *retbuf, int retbuflen, int getreply)
-{
- return -1;
-} /* wm_scsi() */
-
-int
-gen_close( struct wm_drive *d )
-{
- if(d->fd != -1) {
- wm_lib_message(WM_MSG_LEVEL_DEBUG|WM_MSG_CLASS, "closing the device\n");
- close(d->fd);
- d->fd = -1;
- }
- return 0;
-}
-
-/*--------------------------------------------------------------------------*
- * Get the current status of the drive: the current play mode, the absolute
- * position from start of disc (in frames), and the current track and index
- * numbers if the CD is playing or paused.
- *--------------------------------------------------------------------------*/
-int
-gen_get_drive_status( struct wm_drive *d, int oldmode,
- int *mode, int *pos, int *track,
- int *index )
-{
-#ifdef CDDA
- *mode = playing;
- *track = cdtrack;
- *pos = cdframe;
- *index = 0;
-#else
- CDSTATUS s;
- if( CDgetstatus(d->daux, &s)==0 )
- return -1;
- *pos = CDmsftoframe(s.min,s.sec,s.frame);
- *track = s.track;
- *index = 0;
- switch( s.state )
- {
- case CD_READY: *mode = WM_CDM_STOPPED;
- break;
- case CD_STILL:
- case CD_PAUSED: *mode = WM_CDM_PAUSED;
- break;
- case CD_PLAYING: *mode = WM_CDM_PLAYING;
- break;
- default: *mode = WM_CDM_UNKNOWN;
- }
-#endif
- return 0;
-} /* gen_get_drive_status() */
-
-/*-------------------------------------*
- * Get the number of tracks on the CD.
- *-------------------------------------*/
-int
-gen_get_trackcount( struct wm_drive *d, int *tracks )
-{
- CDSTATUS s;
- if( CDgetstatus(d->daux, &s)==0 )
- return -1;
- *tracks = s.last;
- return 0;
-} /* gen_get_trackcount() */
-
-/*---------------------------------------------------------*
- * Get the start time and mode (data or audio) of a track.
- *---------------------------------------------------------*/
-int
-gen_get_trackinfo( struct wm_drive *d, int track, int *data, int *startframe)
-{
- CDTRACKINFO i;
- int ret = CDgettrackinfo(d->daux, track, &i);
- if( ret == 0 )
- return -1;
- *data = 0;
- *startframe = CDmsftoframe(i.start_min,i.start_sec,i.start_frame);
- return 0;
-} /* gen_get_trackinfo() */
-
-/*-------------------------------------*
- * Get the number of frames on the CD.
- *-------------------------------------*/
-int
-gen_get_cdlen( struct wm_drive *d, int *frames )
-{
- CDSTATUS s;
- if( CDgetstatus(d->daux, &s)==0 )
- return -1;
- *frames = CDmsftoframe(s.total_min,s.total_sec,s.total_frame);
- return 0;
-} /* gen_get_cdlen() */
-
-/*------------------------------------------------------------*
- * Play the CD from one position to another (both in frames.)
- *------------------------------------------------------------*/
-int
-gen_play( struct wm_drive *d, int start, int end )
-{
-#ifdef CDDA
- int m, s, f;
- CDframetomsf(start, &m, &s, &f);
- CDseek(icd, m, s, f);
- cdstopframe = end;
- playing = PLAYING;
- signal(SIGALRM, alarmsignal);
- setitimer(ITIMER_REAL, &audiotimer, NULL);
-#else
- int m, s, f;
- CDframetomsf(start, &m, &s, &f);
- CDplayabs(d->daux, m, s, f, 1);
-#endif
- return 0;
-} /* gen_play() */
-
-/*---------------*
- * Pause the CD.
- *---------------*/
-int
-gen_pause( struct wm_drive *d )
-{
-#ifdef CDDA
- playing = WM_CDM_PAUSED;
-#else
- CDSTATUS s;
- if( CDgetstatus(d->daux, &s)==0 )
- return -1;
- if(s.state == CD_PLAYING)
- CDtogglepause(d->daux);
-#endif
- return 0;
-} /* gen_pause() */
-
-/*-------------------------------------------------*
- * Resume playing the CD (assuming it was paused.)
- *-------------------------------------------------*/
-int
-gen_resume( struct wm_drive *d )
-{
-#ifdef CDDA
- playing = WM_CDM_PLAYING;
- signal(SIGALRM, alarmsignal);
- setitimer(ITIMER_REAL, &audiotimer, NULL);
-#else
- CDSTATUS s;
- if( CDgetstatus(d->daux, &s)==0 )
- return -1;
- if(s.state == CD_PAUSED)
- CDtogglepause(d->daux);
-#endif
- return 0;
-} /* gen_resume() */
-
-/*--------------*
- * Stop the CD.
- *--------------*/
-int
-gen_stop( struct wm_drive *d )
-{
-#ifdef CDDA
- playing = WM_CDM_STOPPED;
-#else
- CDstop(d->daux);
-#endif
- return 0;
-} /* gen_stop() */
-
-/*----------------------------------------*
- * Eject the current CD, if there is one.
- *----------------------------------------*/
-int
-gen_eject( struct wm_drive *d )
-{
-#ifdef CDDA
- playing = WM_CDM_STOPPED;
-#endif
- CDeject(d->daux);
- return 0;
-} /* gen_eject() */
-
-/*----------------------------------------*
- * Close the CD tray
- *
- * Please edit and send changes to
- * milliByte@Deathsdoor.com
- *----------------------------------------*/
-
-int
-gen_closetray(struct wm_drive *d)
-{
-#ifdef CAN_CLOSE
- if(!close(d->fd))
- {
- d->fd=-1;
- return(wmcd_reopen(d));
- } else {
- return(-1);
- }
-#else
- /* Always succeed if the drive can't close */
- return(0);
-#endif /* CAN_CLOSE */
-} /* gen_closetray() */
-
-/*---------------------------------------------------------------------*
- * Set the volume level for the left and right channels. Their values
- * range from 0 to 100.
- *---------------------------------------------------------------------*/
-int
-gen_set_volume( struct wm_drive *d, int left, int right )
-{
- long Param[4];
- Param[0] = AL_LEFT_SPEAKER_GAIN; Param[1] = left*255/100;
- Param[2] = AL_RIGHT_SPEAKER_GAIN; Param[3] = right*255/100;
- ALsetparams(AL_DEFAULT_DEVICE, Param, 4);
- return 0;
-} /* gen_set_volume() */
-
-/*---------------------------------------------------------------------*
- * Read the initial volume from the drive, if available. Each channel
- * ranges from 0 to 100, with -1 indicating data not available.
- *---------------------------------------------------------------------*/
-int
-gen_get_volume( struct wm_drive *d, int *left, int *right )
-{
- long Param[4];
- Param[0] = AL_LEFT_SPEAKER_GAIN; Param[1] = 0;
- Param[2] = AL_RIGHT_SPEAKER_GAIN; Param[3] = 0;
- ALgetparams(AL_DEFAULT_DEVICE, Param, 4);
- *left = Param[1] * 100 / 255;
- *right = Param[3] * 100 / 255;
- return 0;
-} /* gen_get_volume() */
-
-
-/*------------------------------------------------------------------------*
- * gen_get_cdtext(drive, buffer, length)
- *------------------------------------------------------------------------*/
-
-int
-gen_get_cdtext(struct wm_drive *d, unsigned char **pp_buffer, int *p_buffer_length)
-{
- return -1; /* no SCSI, no CDTEXT */
-} /* gen_get_cdtext() */
-
-
-#endif
-