File indexing completed on 2024-04-21 04:54:21

0001 #ifndef WM_CDROM_H
0002 #define WM_CDROM_H
0003 /*
0004  * This file is part of WorkMan, the civilized CD player library
0005  * Copyright (C) 1991-1997 by Steven Grimm <koreth@midwinter.com>
0006  * Copyright (C) by Dirk Försterling <milliByte@DeathsDoor.com>
0007  * Copyright (C) 2004-2006 Alexander Kern <alex.kern@gmx.de>
0008  *
0009  * This library is free software; you can redistribute it and/or
0010  * modify it under the terms of the GNU Library General Public
0011  * License as published by the Free Software Foundation; either
0012  * version 2 of the License, or (at your option) any later version.
0013  *
0014  * This library is distributed in the hope that it will be useful,
0015  * but WITHOUT ANY WARRANTY; without even the implied warranty of
0016  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0017  * Library General Public License for more details.
0018  *
0019  * You should have received a copy of the GNU Library General Public
0020  * License along with this library; if not, write to the Free
0021  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
0022  *
0023  * Prototypes from cdrom.c
0024  *
0025  * This is just one more step to a more modular and understandable code.
0026  */
0027 
0028 #include "wm_platform.h"
0029 
0030 #define WM_CDIN                 0
0031 #define WM_CDDA                 1
0032 
0033 #define WM_ENDTRACK             0
0034 
0035 #define WM_BALANCE_SYMMETRED    0
0036 #define WM_BALANCE_ALL_LEFTS   -10
0037 #define WM_BALANCE_ALL_RIGHTS   10
0038 
0039 #define WM_VOLUME_MUTE          0
0040 #define WM_VOLUME_MAXIMAL       100
0041 
0042 /*
0043  * for valid values see wm_helpers.h
0044  */
0045 int    wm_cd_set_verbosity(int);
0046 const char *wm_drive_default_device();
0047 
0048 int    wm_cd_init(const char *cd_device, const char *soundsystem,
0049   const char *sounddevice, const char *ctldevice, void **);
0050 int    wm_cd_destroy(void *);
0051 
0052 int    wm_cd_status(void *);
0053 int    wm_cd_getcurtrack(void *);
0054 int    wm_cd_getcurtracklen(void *);
0055 int    wm_get_cur_pos_rel(void *);
0056 int    wm_get_cur_pos_abs(void *);
0057 
0058 int    wm_cd_getcountoftracks(void *);
0059 int    wm_cd_gettracklen(void *, int track);
0060 int    wm_cd_gettrackstart(void *, int track);
0061 int    wm_cd_gettrackdata(void *, int track);
0062 
0063 int    wm_cd_play(void *, int start, int pos, int end);
0064 int    wm_cd_pause(void *);
0065 int    wm_cd_stop(void *);
0066 int    wm_cd_eject(void *);
0067 int    wm_cd_closetray(void *);
0068 
0069 
0070 
0071 const char *wm_drive_vendor(void *);
0072 const char *wm_drive_model(void *);
0073 const char *wm_drive_revision(void *);
0074 unsigned long wm_cddb_discid(void *);
0075 
0076 /*
0077  * volume is valid WM_VOLUME_MUTE <= vol <= WM_VOLUME_MAXIMAL,
0078  * balance is valid WM_BALANCE_ALL_LEFTS <= balance <= WM_BALANCE_ALL_RIGHTS
0079  */
0080 int    wm_cd_volume(void *, int volume, int balance);
0081 
0082 /*
0083  * please notice, that more OSs don't allow to read balance and volume
0084  * in this case you get -1 for volume and WM_BALANCE_SYMMETRED for balance
0085  */
0086 int    wm_cd_getvolume(void *);
0087 int    wm_cd_getbalance(void *);
0088 
0089 #endif /* WM_CDROM_H */