* Bring us into the 64-bit world.

Obtained from:	NetBSD

* Use CDROM devices also available on 5.x.
This commit is contained in:
Christian Weisgerber 2003-08-25 00:05:26 +00:00
parent dd69a79f0f
commit d6de6f8b70
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=87625
21 changed files with 826 additions and 464 deletions

View File

@ -7,6 +7,7 @@
PORTNAME= xcdplayer
PORTVERSION= 2.2
PORTREVISION= 1
CATEGORIES= audio
MASTER_SITES= ftp://ftp.x.org/R5contrib/
EXTRACT_SUFX= .tar.Z
@ -18,8 +19,7 @@ USE_IMAKE= yes
MAN1= xcdplayer.1
post-extract:
${CP} ${FILESDIR}/cdrom_freebsd.c ${WRKSRC}
${CP} ${FILESDIR}/cdrom_freebsd.h ${WRKSRC}
${CP} ${FILESDIR}/cdrom_freebsd.[ch] ${FILESDIR}/app.h ${WRKSRC}
${CP} ${WRKSRC}/xcdplayer.1 ${WRKSRC}/xcdplayer.man
.include <bsd.port.mk>

View File

@ -0,0 +1,30 @@
/* $FreeBSD$ */
/*
* Copyright (C) 1990 Regents of the University of California.
*
* Permission to use, copy, modify, distribute, and sell this software and
* its documentation for any purpose is hereby granted without fee,
* provided that the above copyright notice appear in all copies and that
* both that copyright notice and this permission notice appear in
* supporting documentation, and that the name of the University of
* California not be used in advertising or publicity pertaining to
* distribution of the software without specific, written prior
* permission. the University of California makes no representations
* about the suitability of this software for any purpose. It is provided
* "as is" without express or implied warranty.
*/
typedef struct {
char *file;
char *device;
Boolean debug;
Boolean display_timer;
float volbase;
float volpcent;
int replayThreshold;
int pauseSkipInterval;
int scanSkipInterval;
float scanPauseInterval;
float pausePauseInterval;
char *cdInfoDir;
} AppData;

View File

@ -1,3 +1,4 @@
/* $FreeBSD$ */
/*
* Copyright (C) 1990 Regents of the University of California.
*
@ -21,6 +22,9 @@ static int c;
# include <sys/param.h>
# include <sys/stat.h>
# include <string.h>
# if __FreeBSD_version >= 500003
# include <sys/bio.h>
# endif
# include <sys/buf.h>
# include <sys/time.h>
@ -30,10 +34,10 @@ static int c;
# include "debug.h"
# include "cdrom_freebsd.h"
# include "app.h"
extern char *device;
static char cdrom[] = "/dev/rcd0c";
static char cdrom1[] = "/dev/rmcd0c";
static char cdrom[] = "/dev/cd0c";
static char cdrom1[] = "/dev/mcd0c";
cdrom_info cdi;
char info_filename[256];
@ -41,6 +45,8 @@ FILE *disc_info = NULL;
static int cdrom_fd = -1;
extern AppData app_data;
get_stored_info()
{
int i,n;
@ -60,8 +66,8 @@ get_stored_info()
n = n / cdi.maxtrack;
disc_title = NULL;
if (cdInfoDir != NULL)
sprintf(info_filename, "%s/cd.%d", cdInfoDir, n);
if (app_data.cdInfoDir != NULL)
sprintf(info_filename, "%s/cd.%d", app_data.cdInfoDir, n);
else
sprintf(info_filename, "cd.%d", n);
@ -94,9 +100,9 @@ cdrom_open() {
if (cdrom_fd != -1)
return(cdi.curtrack);
if (device != NULL) {
if ((cdrom_fd = open(device, O_RDONLY)) == -1) {
perror(device);
if (app_data.device != NULL) {
if ((cdrom_fd = open(app_data.device, O_RDONLY)) == -1) {
perror(app_data.device);
return(-1);
}
} else {

View File

@ -1,3 +1,4 @@
/* $FreeBSD$ */
/*
* Copyright (C) 1990 Regents of the University of California.
*

View File

@ -0,0 +1,23 @@
$FreeBSD$
--- Imakefile.orig Tue Jan 12 19:59:29 1993
+++ Imakefile Mon Aug 25 00:47:20 2003
@@ -15,6 +15,11 @@
LOCAL_LIBRARIES = XawClientLibs
LINTLIBS = -lXaw -lXt -lX11
+ SRCS = main.c top_setup.c logo_setup.c button_setup.c cdrom_callb.c\
+ cdrom_freebsd.c internals.c shuffle.c program.c leds.c debug.c
+
+ OBJS = main.o top_setup.o logo_setup.o button_setup.o cdrom_callb.o\
+ cdrom_freebsd.o internals.o shuffle.o program.o leds.o debug.o
#ifdef SunArchitecture
SRCS = main.c top_setup.c logo_setup.c button_setup.c cdrom_callb.c\
cdrom_sun.c internals.c shuffle.c program.c leds.c debug.c
@@ -38,5 +43,4 @@
ComplexProgramTarget(xcdplayer)
NormalProgramTarget(cdinfo, cdinfo.o,,,)
NormalProgramTarget(cdgrab, cdgrab.o,,,)
-NormalLintTarget(${SRCS})
InstallAppDefaults(XCdplayer)

View File

@ -0,0 +1,92 @@
$FreeBSD$
--- XCdplayer.ad.orig Tue Jan 12 19:59:41 1993
+++ XCdplayer.ad Mon Aug 25 00:38:35 2003
@@ -19,11 +19,10 @@
XCdplayer*logoLabel.foreground: Gold
XCdplayer*logoLabel.background: Black
-XCdplayer*icon*foreground: Gold
XCdplayer*versionLabel.Font: -misc-fixed-medium-r-normal--8-*
XCdplayer*versionLabel.foreground: Black
-XCdplayer*versionLabel.width: 130
+XCdplayer*versionLabel.width: 110
XCdplayer*versionLabel.fromHoriz: logoLabel
! replayThreshold is the number of seconds that must be played before the
@@ -33,16 +32,16 @@
! scanSkipInterval is the number of seconds skipped at each fast-forward or
! reverse.
-XCdplayer*scanSkipInterval: 3
+XCdplayer*scanSkipInterval: 5
! pauseSkipInterval is the number of seconds skipped at each fast-forward or
! reverse if the CD is paused.
-XCdplayer*pauseSkipInterval: 15
+XCdplayer*pauseSkipInterval: 20
! scanPauseInterval is the number of seconds between each fast_forward or
! reverse while holding down the buttons. (Sun CDs have a dreadfully long
! start-up time for the audio to actually become audible, so "hearing the
! track" while scanning isn't very feasible.)
-XCdplayer*scanPauseInterval: 0.062
+XCdplayer*scanPauseInterval: 0.25
! pausePauseInterval does the same thing when the disc is paused.
XCdplayer*pausePauseInterval: 0.5
@@ -56,7 +55,7 @@
XCdplayer*Viewport.allowHoriz: True
XCdplayer*Viewport.useBottom: True
XCdplayer*Viewport.forceBars: False
-XCdplayer*Viewport.width: 188
+XCdplayer*Viewport.width: 160
XCdplayer*Viewport.height: 30
XCdplayer*Viewport*thickness: 8
XCdplayer*Viewport.resizable: False
@@ -88,11 +87,11 @@
XCdplayer*Toggle.right: ChainLeft
XCdplayer*Toggle.background: Ivory
-XCdplayer*ledsLabel.horizDistance: 20
+XCdplayer*ledsLabel.horizDistance: 4
XCdplayer*ledsLabel.fromVert: versionLabel
XCdplayer*ledsLabel.fromHoriz: logoLabel
-XCdplayer*trackButton.horizDistance: 8
+XCdplayer*trackButton.horizDistance: 4
XCdplayer*trackButton.fromVert: versionLabel
XCdplayer*trackButton.fromHoriz: ledsLabel
XCdplayer*trackButton.borderWidth: 2
@@ -108,27 +107,22 @@
XCdplayer*timerButton.left: ChainRight
XCdplayer*timerButton.right: ChainRight
-XCdplayer*volumeScrollbar.horizDistance:8
+XCdplayer*volumeScrollbar.horizDistance:4
XCdplayer*volumeScrollbar.fromHoriz: logoLabel
XCdplayer*volumeScrollbar.fromVert: trackButton
XCdplayer*volumeScrollbar.orientation: horizontal
-XCdplayer*volumeScrollbar.length: 120
+XCdplayer*volumeScrollbar.length: 93
XCdplayer*volumeScrollbar.right: ChainRight
XCdplayer*volumeScrollbar.left: ChainRight
XCdplayer*volumeScrollbar.background: green
XCdplayer*volumeScrollbar.foreground: white
-XCdplayer*volumeScrollbar.thumb: black
+XCdplayer*volumeScrollbar.thumb: black
XCdplayer*titleBarViewport.fromVert: volumeScrollbar
-XCdplayer*titleBarViewport.forceBars: true
XCdplayer*titleBar.borderwidth: 0
XCdplayer*titleBar.highlightThickness: 1
XCdplayer*titleBar.foreground: Red
XCdplayer*titleBar.background: Ivory
-
-XCdplayer*titleDialog.Text.translations:#override\
- <Key>Return: done()
-
XCdplayer*buttonsForm.fromVert: logoForm
XCdplayer*buttonsForm.borderWidth: 1

View File

@ -1,171 +0,0 @@
*** XCdplayer.ad Tue Jan 12 10:59:41 1993
--- /users/swallace/work/xcdplayer/XCdplayer.ad Wed Feb 23 07:36:31 1994
***************
*** 19,29 ****
XCdplayer*logoLabel.foreground: Gold
XCdplayer*logoLabel.background: Black
- XCdplayer*icon*foreground: Gold
XCdplayer*versionLabel.Font: -misc-fixed-medium-r-normal--8-*
XCdplayer*versionLabel.foreground: Black
! XCdplayer*versionLabel.width: 130
XCdplayer*versionLabel.fromHoriz: logoLabel
! replayThreshold is the number of seconds that must be played before the
--- 19,28 ----
XCdplayer*logoLabel.foreground: Gold
XCdplayer*logoLabel.background: Black
XCdplayer*versionLabel.Font: -misc-fixed-medium-r-normal--8-*
XCdplayer*versionLabel.foreground: Black
! XCdplayer*versionLabel.width: 110
XCdplayer*versionLabel.fromHoriz: logoLabel
! replayThreshold is the number of seconds that must be played before the
***************
*** 33,48 ****
! scanSkipInterval is the number of seconds skipped at each fast-forward or
! reverse.
! XCdplayer*scanSkipInterval: 3
! pauseSkipInterval is the number of seconds skipped at each fast-forward or
! reverse if the CD is paused.
! XCdplayer*pauseSkipInterval: 15
! scanPauseInterval is the number of seconds between each fast_forward or
! reverse while holding down the buttons. (Sun CDs have a dreadfully long
! start-up time for the audio to actually become audible, so "hearing the
! track" while scanning isn't very feasible.)
! XCdplayer*scanPauseInterval: 0.062
! pausePauseInterval does the same thing when the disc is paused.
XCdplayer*pausePauseInterval: 0.5
--- 32,47 ----
! scanSkipInterval is the number of seconds skipped at each fast-forward or
! reverse.
! XCdplayer*scanSkipInterval: 5
! pauseSkipInterval is the number of seconds skipped at each fast-forward or
! reverse if the CD is paused.
! XCdplayer*pauseSkipInterval: 20
! scanPauseInterval is the number of seconds between each fast_forward or
! reverse while holding down the buttons. (Sun CDs have a dreadfully long
! start-up time for the audio to actually become audible, so "hearing the
! track" while scanning isn't very feasible.)
! XCdplayer*scanPauseInterval: 0.25
! pausePauseInterval does the same thing when the disc is paused.
XCdplayer*pausePauseInterval: 0.5
***************
*** 56,62 ****
XCdplayer*Viewport.allowHoriz: True
XCdplayer*Viewport.useBottom: True
XCdplayer*Viewport.forceBars: False
! XCdplayer*Viewport.width: 188
XCdplayer*Viewport.height: 30
XCdplayer*Viewport*thickness: 8
XCdplayer*Viewport.resizable: False
--- 55,61 ----
XCdplayer*Viewport.allowHoriz: True
XCdplayer*Viewport.useBottom: True
XCdplayer*Viewport.forceBars: False
! XCdplayer*Viewport.width: 160
XCdplayer*Viewport.height: 30
XCdplayer*Viewport*thickness: 8
XCdplayer*Viewport.resizable: False
***************
*** 88,98 ****
XCdplayer*Toggle.right: ChainLeft
XCdplayer*Toggle.background: Ivory
! XCdplayer*ledsLabel.horizDistance: 20
XCdplayer*ledsLabel.fromVert: versionLabel
XCdplayer*ledsLabel.fromHoriz: logoLabel
! XCdplayer*trackButton.horizDistance: 8
XCdplayer*trackButton.fromVert: versionLabel
XCdplayer*trackButton.fromHoriz: ledsLabel
XCdplayer*trackButton.borderWidth: 2
--- 87,97 ----
XCdplayer*Toggle.right: ChainLeft
XCdplayer*Toggle.background: Ivory
! XCdplayer*ledsLabel.horizDistance: 4
XCdplayer*ledsLabel.fromVert: versionLabel
XCdplayer*ledsLabel.fromHoriz: logoLabel
! XCdplayer*trackButton.horizDistance: 4
XCdplayer*trackButton.fromVert: versionLabel
XCdplayer*trackButton.fromHoriz: ledsLabel
XCdplayer*trackButton.borderWidth: 2
***************
*** 108,134 ****
XCdplayer*timerButton.left: ChainRight
XCdplayer*timerButton.right: ChainRight
! XCdplayer*volumeScrollbar.horizDistance:8
XCdplayer*volumeScrollbar.fromHoriz: logoLabel
XCdplayer*volumeScrollbar.fromVert: trackButton
XCdplayer*volumeScrollbar.orientation: horizontal
! XCdplayer*volumeScrollbar.length: 120
XCdplayer*volumeScrollbar.right: ChainRight
XCdplayer*volumeScrollbar.left: ChainRight
XCdplayer*volumeScrollbar.background: green
XCdplayer*volumeScrollbar.foreground: white
! XCdplayer*volumeScrollbar.thumb: black
XCdplayer*titleBarViewport.fromVert: volumeScrollbar
- XCdplayer*titleBarViewport.forceBars: true
XCdplayer*titleBar.borderwidth: 0
XCdplayer*titleBar.highlightThickness: 1
XCdplayer*titleBar.foreground: Red
XCdplayer*titleBar.background: Ivory
-
- XCdplayer*titleDialog.Text.translations:#override\
- <Key>Return: done()
-
XCdplayer*buttonsForm.fromVert: logoForm
XCdplayer*buttonsForm.borderWidth: 1
--- 107,128 ----
XCdplayer*timerButton.left: ChainRight
XCdplayer*timerButton.right: ChainRight
! XCdplayer*volumeScrollbar.horizDistance:4
XCdplayer*volumeScrollbar.fromHoriz: logoLabel
XCdplayer*volumeScrollbar.fromVert: trackButton
XCdplayer*volumeScrollbar.orientation: horizontal
! XCdplayer*volumeScrollbar.length: 93
XCdplayer*volumeScrollbar.right: ChainRight
XCdplayer*volumeScrollbar.left: ChainRight
XCdplayer*volumeScrollbar.background: green
XCdplayer*volumeScrollbar.foreground: white
! XCdplayer*volumeScrollbar.thumb: black
XCdplayer*titleBarViewport.fromVert: volumeScrollbar
XCdplayer*titleBar.borderwidth: 0
XCdplayer*titleBar.highlightThickness: 1
XCdplayer*titleBar.foreground: Red
XCdplayer*titleBar.background: Ivory
XCdplayer*buttonsForm.fromVert: logoForm
XCdplayer*buttonsForm.borderWidth: 1
*** Imakefile Tue Jan 12 10:59:29 1993
--- /users/swallace/work/xcdplayer/Imakefile Fri Sep 30 17:09:19 1994
***************
*** 15,20 ****
--- 15,25 ----
LOCAL_LIBRARIES = XawClientLibs
LINTLIBS = -lXaw -lXt -lX11
+ SRCS = main.c top_setup.c logo_setup.c button_setup.c cdrom_callb.c\
+ cdrom_freebsd.c internals.c shuffle.c program.c leds.c debug.c
+
+ OBJS = main.o top_setup.o logo_setup.o button_setup.o cdrom_callb.o\
+ cdrom_freebsd.o internals.o shuffle.o program.o leds.o debug.o
#ifdef SunArchitecture
SRCS = main.c top_setup.c logo_setup.c button_setup.c cdrom_callb.c\
cdrom_sun.c internals.c shuffle.c program.c leds.c debug.c

View File

@ -1,266 +0,0 @@
*** button_setup.c Tue Jan 12 10:59:47 1993
--- /users/swallace/work/xcdplayer/button_setup.c Wed Feb 23 07:36:36 1994
***************
*** 20,25 ****
--- 20,28 ----
# include <X11/Xaw/Toggle.h>
# include "cdrom_globs.h"
+ #if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
+ # include "cdrom_freebsd.h"
+ #endif
#ifdef sun
# include "cdrom_sun.h"
#endif
***************
*** 44,49 ****
--- 47,69 ----
# include "ff.xbm"
# include "pgm.xbm"
+ void title_dialog_setup();
+ static void play_button_setup();
+ static void stop_button_setup();
+ static void pause_button_setup();
+ static void prev_button_setup();
+ static void next_button_setup();
+ static void eject_button_setup();
+ #ifdef sgi
+ void audio_button_setup();
+ #endif
+ static void quit_button_setup();
+ static void cycle_button_setup();
+ static void shuffle_button_setup();
+ static void rew_button_setup();
+ static void ff_button_setup();
+ static void pgm_button_setup();
+ void buttons_reset();
static Widget buttons_form_widget;
static Widget play_button_widget;
***************
*** 71,95 ****
Widget parent_widget;
{
Arg args[1];
-
- extern void title_dialog_setup();
- extern void play_button_setup();
- extern void stop_button_setup();
- extern void pause_button_setup();
- extern void prev_button_setup();
- extern void next_button_setup();
- extern void eject_button_setup();
- #ifdef sgi
- extern void audio_button_setup();
- #endif
- extern void quit_button_setup();
- extern void cycle_button_setup();
- extern void shuffle_button_setup();
- extern void rew_button_setup();
- extern void ff_button_setup();
- extern void pgm_button_setup();
- extern void buttons_reset();
-
buttons_form_widget = XtCreateManagedWidget("buttonsForm",
formWidgetClass,
--- 91,96 ----
*** cdrom_callb.c Tue Jan 12 10:59:48 1993
--- /users/swallace/work/xcdplayer/cdrom_callb.c Wed Feb 23 07:36:41 1994
***************
*** 22,27 ****
--- 22,30 ----
# include "debug.h"
# include "cdrom_globs.h"
+ #if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
+ # include "cdrom_freebsd.h"
+ #endif
#ifdef sun
# include "cdrom_sun.h"
#endif
*** internals.c Tue Jan 12 10:59:45 1993
--- /users/swallace/work/xcdplayer/internals.c Wed Feb 23 07:36:47 1994
***************
*** 22,27 ****
--- 22,30 ----
# include "debug.h"
# include "cdrom_globs.h"
+ #if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
+ # include "cdrom_freebsd.h"
+ #endif
#ifdef sun
# include "cdrom_sun.h"
#endif
***************
*** 29,35 ****
# include "cdrom_sgi.h"
#endif
!
static XtIntervalId ivid = -1;
static XtIntervalId scanivid = -1;
static XtIntervalId stativid = -1;
--- 32,38 ----
# include "cdrom_sgi.h"
#endif
! static void scan_update();
static XtIntervalId ivid = -1;
static XtIntervalId scanivid = -1;
static XtIntervalId stativid = -1;
***************
*** 170,176 ****
struct msf track_start;
struct msf start_addr, end_addr;
int curtrack;
- extern void scan_update();
if (cdrom_get_curmsf(&start_addr) == -1) {
debug_printf(1, "rew: error reading location\n");
--- 173,178 ----
***************
*** 304,310 ****
struct msf start_addr, end_addr, next_start;
char t;
int curtrack;
- extern void scan_update();
if (cdrom_get_curmsf(&start_addr) == -1) {
debug_printf(1, "ff: error reading location\n");
--- 306,311 ----
*** logo_setup.c Tue Jan 12 10:59:46 1993
--- /users/swallace/work/xcdplayer/logo_setup.c Wed Feb 23 07:36:52 1994
***************
*** 28,33 ****
--- 28,36 ----
# include <stdio.h>
# include "cdrom_globs.h"
+ #if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
+ # include "cdrom_freebsd.h"
+ #endif
#ifdef sun
# include "cdrom_sun.h"
#endif
***************
*** 55,73 ****
Widget title_done_widget;
static int vol;
void
logo_setup(parent_widget)
Widget parent_widget;
{
- extern void leds_label_setup();
- extern void cb_track_button();
- extern void cb_timer_button();
- extern void volume_jump_proc();
- extern void volume_scroll_proc();
- extern void popup_title_dialog();
- extern void popdown_title_dialog();
-
Widget version_label_widget;
char version_string[80];
--- 58,76 ----
Widget title_done_widget;
static int vol;
+ extern void leds_label_setup();
+ static void cb_track_button();
+ static void cb_timer_button();
+ static void volume_jump_proc();
+ static void volume_scroll_proc();
+ static void popup_title_dialog();
+ static void popdown_title_dialog();
+
void
logo_setup(parent_widget)
Widget parent_widget;
{
Widget version_label_widget;
char version_string[80];
*** program.c Tue Jan 12 10:59:49 1993
--- /users/swallace/work/xcdplayer/program.c Wed Feb 23 07:36:55 1994
***************
*** 27,36 ****
# include <stdio.h>
# include <string.h>
! # include <malloc.h>
# include "debug.h"
# include "cdrom_globs.h"
#ifdef sun
# include "cdrom_sun.h"
#endif
--- 27,39 ----
# include <stdio.h>
# include <string.h>
! # include <sys/malloc.h>
# include "debug.h"
# include "cdrom_globs.h"
+ #if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
+ # include "cdrom_freebsd.h"
+ #endif
#ifdef sun
# include "cdrom_sun.h"
#endif
***************
*** 52,57 ****
--- 55,69 ----
static Boolean adding_to_new_track = False;
static struct prognode *current_node = NULL;
+ static void cb_move_program_ptr();
+ static void cb_clear_program();
+ static void cb_cancel_program();
+ static void cb_save_program();
+ static void cb_trackbuttons();
+ static void cb_add_10();
+ static void cb_new_track();
+ static void cb_program_all();
+
void
program_form_setup (parent_widget)
Widget parent_widget;
***************
*** 66,80 ****
Widget cancel_button;
Widget save_button;
Widget all_button;
-
- extern void cb_move_program_ptr();
- extern void cb_clear_program();
- extern void cb_cancel_program();
- extern void cb_save_program();
- extern void cb_trackbuttons();
- extern void cb_add_10();
- extern void cb_new_track();
- extern void cb_program_all();
/*
* create program form as a non-managed widget, because this
--- 78,83 ----
*** shuffle.c Tue Jan 12 10:59:38 1993
--- /users/swallace/work/xcdplayer/shuffle.c Wed Feb 23 07:36:59 1994
***************
*** 18,23 ****
--- 18,26 ----
# include "debug.h"
# include "cdrom_globs.h"
+ #if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
+ # include "cdrom_freebsd.h"
+ #endif
#ifdef sun
# include "cdrom_sun.h"
#endif

View File

@ -0,0 +1,65 @@
$FreeBSD$
--- button_setup.c.orig Tue Jan 12 19:59:47 1993
+++ button_setup.c Mon Aug 25 00:38:35 2003
@@ -20,6 +20,9 @@
# include <X11/Xaw/Toggle.h>
# include "cdrom_globs.h"
+#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
+# include "cdrom_freebsd.h"
+#endif
#ifdef sun
# include "cdrom_sun.h"
#endif
@@ -44,6 +47,23 @@
# include "ff.xbm"
# include "pgm.xbm"
+void title_dialog_setup();
+static void play_button_setup();
+static void stop_button_setup();
+static void pause_button_setup();
+static void prev_button_setup();
+static void next_button_setup();
+static void eject_button_setup();
+#ifdef sgi
+void audio_button_setup();
+#endif
+static void quit_button_setup();
+static void cycle_button_setup();
+static void shuffle_button_setup();
+static void rew_button_setup();
+static void ff_button_setup();
+static void pgm_button_setup();
+void buttons_reset();
static Widget buttons_form_widget;
static Widget play_button_widget;
@@ -71,25 +91,6 @@
Widget parent_widget;
{
Arg args[1];
-
- extern void title_dialog_setup();
- extern void play_button_setup();
- extern void stop_button_setup();
- extern void pause_button_setup();
- extern void prev_button_setup();
- extern void next_button_setup();
- extern void eject_button_setup();
-#ifdef sgi
- extern void audio_button_setup();
-#endif
- extern void quit_button_setup();
- extern void cycle_button_setup();
- extern void shuffle_button_setup();
- extern void rew_button_setup();
- extern void ff_button_setup();
- extern void pgm_button_setup();
- extern void buttons_reset();
-
buttons_form_widget = XtCreateManagedWidget("buttonsForm",
formWidgetClass,

View File

@ -1,13 +0,0 @@
--- cdrom_freebsd.c.old Tue Jun 27 12:19:04 2000
+++ cdrom_freebsd.c Tue Jun 27 12:20:40 2000
@@ -21,6 +21,10 @@
# include <sys/param.h>
# include <sys/stat.h>
# include <string.h>
+#include <osreldate.h>
+#if __FreeBSD_version >= 500003
+#include <sys/bio.h>
+#endif
# include <sys/buf.h>
# include <sys/time.h>

View File

@ -0,0 +1,33 @@
$FreeBSD$
--- cdrom_callb.c.orig Tue Jan 12 19:59:48 1993
+++ cdrom_callb.c Mon Aug 25 00:38:35 2003
@@ -22,6 +22,9 @@
# include "debug.h"
# include "cdrom_globs.h"
+#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
+# include "cdrom_freebsd.h"
+#endif
#ifdef sun
# include "cdrom_sun.h"
#endif
@@ -29,6 +32,8 @@
# include "cdrom_sgi.h"
#endif
+extern AppData app_data;
+
void cdrom_new_disc();
/*
@@ -287,7 +292,7 @@
* if playing less than replayThreshold seconds, back up to
* previous track; otherwise start at beginning of current track:
*/
- if (cdi.duration < replayThreshold)
+ if (cdi.duration < app_data.replayThreshold)
{
if ((cdi.program != NULL) &&
(cdi.state & CDROM_STATE_PLAY) &&

View File

@ -0,0 +1,30 @@
$FreeBSD$
--- cdrom_globs.h.orig Tue Jan 12 19:59:31 1993
+++ cdrom_globs.h Mon Aug 25 00:38:35 2003
@@ -99,22 +99,10 @@
extern int cdrom_open();
extern int cdrom_init();
-
-extern Boolean display_timer;
-
extern XtAppContext appc;
-extern char *file;
-extern char *device;
+#include "app.h"
+
extern char info_filename[];
extern char *disc_title;
extern unsigned int timer_fsecs;
-
-
-extern float volbase;
-extern float volpcent;
-extern int replayThreshold;
-extern float scanPauseInterval;
-extern int scanSkipInterval;
-extern float pausePauseInterval;
-extern int pauseSkipInterval;

View File

@ -0,0 +1,25 @@
$FreeBSD$
--- debug.c.orig Tue Jan 12 19:59:35 1993
+++ debug.c Mon Aug 25 00:38:35 2003
@@ -20,6 +20,10 @@
# include "debug.h"
+#include "app.h"
+
+extern AppData app_data;
+
/* VARARGS */
void
debug_printf(va_alist)
@@ -33,7 +37,7 @@
/*
* first arg is whether or not to print.
*/
- if ((va_arg(args, int) == 0) || (debug == False))
+ if ((va_arg(args, int) == 0) || (app_data.debug == False))
return;
fmt = va_arg(args, char *);

View File

@ -0,0 +1,177 @@
$FreeBSD$
--- internals.c.orig Tue Jan 12 19:59:45 1993
+++ internals.c Mon Aug 25 00:38:35 2003
@@ -22,6 +22,9 @@
# include "debug.h"
# include "cdrom_globs.h"
+#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
+# include "cdrom_freebsd.h"
+#endif
#ifdef sun
# include "cdrom_sun.h"
#endif
@@ -29,13 +32,14 @@
# include "cdrom_sgi.h"
#endif
-
+static void scan_update();
static XtIntervalId ivid = -1;
static XtIntervalId scanivid = -1;
static XtIntervalId stativid = -1;
static unsigned int timer_mod = 1000 / TIMER_PERIOD;
unsigned int timer_fsecs;
+extern AppData app_data;
int
cdrom_get_curtime() {
@@ -170,7 +174,6 @@
struct msf track_start;
struct msf start_addr, end_addr;
int curtrack;
- extern void scan_update();
if (cdrom_get_curmsf(&start_addr) == -1) {
debug_printf(1, "rew: error reading location\n");
@@ -196,11 +199,11 @@
if (((cdi.state & CDROM_STATE_PLAY) &&
((track_start.minute * 60) + track_start.second) >=
((start_addr.minute * 60) + start_addr.second -
- scanSkipInterval)) ||
+ app_data.scanSkipInterval)) ||
((cdi.state & CDROM_STATE_PAUSE) &&
((track_start.minute * 60) + track_start.second) >=
((start_addr.minute * 60) + start_addr.second -
- pauseSkipInterval)))
+ app_data.pauseSkipInterval)))
{
start_addr = track_start;
start_addr.second++; /* guarantee we never back up too far */
@@ -208,9 +211,9 @@
else
{
if (cdi.state & CDROM_STATE_PAUSE) {
- start_addr.second -= pauseSkipInterval;
+ start_addr.second -= app_data.pauseSkipInterval;
} else if (cdi.state & CDROM_STATE_PLAY) {
- start_addr.second -= scanSkipInterval;
+ start_addr.second -= app_data.scanSkipInterval;
}
if ((char) start_addr.second < 0)
{
@@ -223,9 +226,9 @@
else /* normal case */
{
if (cdi.state & CDROM_STATE_PAUSE) {
- start_addr.second -= pauseSkipInterval;
+ start_addr.second -= app_data.pauseSkipInterval;
} else if (cdi.state & CDROM_STATE_PLAY) {
- start_addr.second -= scanSkipInterval;
+ start_addr.second -= app_data.scanSkipInterval;
}
if ((char) start_addr.second < 0)
{
@@ -274,7 +277,7 @@
{
if (scanivid == -1)
scanivid = XtAppAddTimeOut(appc,
- (int)(pausePauseInterval * 1000.0),
+ (int)(app_data.pausePauseInterval * 1000.0),
scan_update, NULL);
cdi.state &= ~CDROM_STATE_PAUSE; /* allow timer to change */
@@ -304,7 +307,6 @@
struct msf start_addr, end_addr, next_start;
char t;
int curtrack;
- extern void scan_update();
if (cdrom_get_curmsf(&start_addr) == -1) {
debug_printf(1, "ff: error reading location\n");
@@ -332,11 +334,11 @@
if (((cdi.state & CDROM_STATE_PLAY) &&
((next_start.minute * 60) + next_start.second) <=
((start_addr.minute * 60) + start_addr.second +
- scanSkipInterval)) ||
+ app_data.scanSkipInterval)) ||
((cdi.state & CDROM_STATE_PAUSE) &&
((next_start.minute * 60) + next_start.second) <=
((start_addr.minute * 60) + start_addr.second +
- pauseSkipInterval)))
+ app_data.pauseSkipInterval)))
{
/* start at end of current track */
@@ -346,9 +348,9 @@
else
{
if (cdi.state & CDROM_STATE_PAUSE) {
- start_addr.second += pauseSkipInterval;
+ start_addr.second += app_data.pauseSkipInterval;
} else if (cdi.state & CDROM_STATE_PLAY) {
- start_addr.second += scanSkipInterval;
+ start_addr.second += app_data.scanSkipInterval;
}
if (start_addr.second >= 60)
{
@@ -360,9 +362,9 @@
else
{
if (cdi.state & CDROM_STATE_PAUSE) {
- start_addr.second += pauseSkipInterval;
+ start_addr.second += app_data.pauseSkipInterval;
} else if (cdi.state & CDROM_STATE_PLAY) {
- start_addr.second += scanSkipInterval;
+ start_addr.second += app_data.scanSkipInterval;
}
if (start_addr.second >= 60)
{
@@ -413,7 +415,7 @@
{
if (scanivid == -1)
scanivid = XtAppAddTimeOut(appc,
- (int)(pausePauseInterval * 1000.0),
+ (int)(app_data.pausePauseInterval * 1000.0),
scan_update, NULL);
cdi.state &= ~CDROM_STATE_PAUSE; /* allow timer to change */
@@ -557,7 +559,7 @@
cdi.state &= ~CDROM_STATE_STOP;
}
ivid = XtAppAddTimeOut(appc,
- (int)(scanPauseInterval * 1000.0),
+ (int)(app_data.scanPauseInterval * 1000.0),
scan_update, NULL);
}
else
@@ -574,7 +576,7 @@
}
ivid = XtAppAddTimeOut(appc,
- (int)(scanPauseInterval * 1000.0),
+ (int)(app_data.scanPauseInterval * 1000.0),
scan_update, NULL);
}
else if (scanivid != -1) {
@@ -662,7 +664,7 @@
cdi.state &= ~CDROM_STATE_STOP;
}
ivid = XtAppAddTimeOut(appc,
- (int)(scanPauseInterval * 1000.0),
+ (int)(app_data.scanPauseInterval * 1000.0),
update_track, NULL);
}
else
@@ -679,7 +681,7 @@
}
ivid = XtAppAddTimeOut(appc,
- (int)(scanPauseInterval * 1000.0),
+ (int)(app_data.scanPauseInterval * 1000.0),
update_track, NULL);
}
else

View File

@ -0,0 +1,104 @@
$FreeBSD$
--- logo_setup.c.orig Tue Jan 12 19:59:46 1993
+++ logo_setup.c Mon Aug 25 00:38:35 2003
@@ -28,6 +28,9 @@
# include <stdio.h>
# include "cdrom_globs.h"
+#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
+# include "cdrom_freebsd.h"
+#endif
#ifdef sun
# include "cdrom_sun.h"
#endif
@@ -43,6 +46,8 @@
void Done();
+extern AppData app_data;
+
static Widget track_button_widget;
static Widget timer_button_widget;
static Widget volume_scroll_widget;
@@ -55,19 +60,19 @@
Widget title_done_widget;
static int vol;
+extern void leds_label_setup();
+static void cb_track_button();
+static void cb_timer_button();
+static void volume_jump_proc();
+static void volume_scroll_proc();
+static void popup_title_dialog();
+static void popdown_title_dialog();
+
void
logo_setup(parent_widget)
Widget parent_widget;
{
- extern void leds_label_setup();
- extern void cb_track_button();
- extern void cb_timer_button();
- extern void volume_jump_proc();
- extern void volume_scroll_proc();
- extern void popup_title_dialog();
- extern void popdown_title_dialog();
-
Widget version_label_widget;
char version_string[80];
@@ -126,15 +131,16 @@
track_button_update();
- if (display_timer == True)
+ if (app_data.display_timer == True) {
timer_button_widget = XtCreateManagedWidget("timerButton",
toggleWidgetClass,
logo_form_widget,
(ArgList) NULL, 0);
- XtAddCallback(timer_button_widget, XtNcallback, cb_timer_button, 0);
-
- timer_button_update();
+ XtAddCallback(timer_button_widget, XtNcallback,
+ cb_timer_button, 0);
+ timer_button_update();
+ }
thumb_pixmap = XCreateBitmapFromData(XtDisplay(logo_form_widget),
rootwin(logo_form_widget),
thumb_bits,
@@ -171,10 +177,10 @@
#ifdef sgi
if ((vol = cdrom_get_volume()) == 0) {
- vol = (int) ((MAXVOL - volbase) * 0.75) + volbase;
+ vol = (int) ((MAXVOL - app_data.volbase) * 0.75) + app_data.volbase;
}
#else
- vol = (int) ((MAXVOL - volbase) * 0.75) + volbase;
+ vol = (int) ((MAXVOL - app_data.volbase) * 0.75) + app_data.volbase;
#endif
cdrom_volume(vol, vol);
#ifdef sgi
@@ -356,7 +362,7 @@
Arg args[1];
Boolean state;
- if (display_timer == False)
+ if (app_data.display_timer == False)
return;
if ((cdi.state & CDROM_STATE_PAUSE) == 0)
@@ -413,7 +419,7 @@
vol = PCT2VAL(*(float *)percent);
#else
vol = (*(float *) percent) * MAXVOL;
- vol = (vol * volpcent) + volbase;
+ vol = (vol * app_data.volpcent) + app_data.volbase;
#endif
if (vol > MAXVOL)

View File

@ -0,0 +1,25 @@
$FreeBSD$
--- main.c.orig Tue Jan 12 19:59:36 1993
+++ main.c Mon Aug 25 00:38:35 2003
@@ -23,7 +23,9 @@
Widget top_form;
-void
+extern AppData app_data;
+
+int
main(argc, argv)
int argc;
char **argv;
@@ -66,7 +68,7 @@
/* ugly hack */
for (i = 1; i < argc; i++) {
if (strcmp(argv[i], "-debug") == 0) {
- debug = True;
+ app_data.debug = True;
break;
}
}

View File

@ -0,0 +1,52 @@
$FreeBSD$
--- program.c.orig Tue Jan 12 19:59:49 1993
+++ program.c Mon Aug 25 00:38:35 2003
@@ -27,10 +27,13 @@
# include <stdio.h>
# include <string.h>
-# include <malloc.h>
+# include <stdlib.h>
# include "debug.h"
# include "cdrom_globs.h"
+#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
+# include "cdrom_freebsd.h"
+#endif
#ifdef sun
# include "cdrom_sun.h"
#endif
@@ -52,6 +55,15 @@
static Boolean adding_to_new_track = False;
static struct prognode *current_node = NULL;
+static void cb_move_program_ptr();
+static void cb_clear_program();
+static void cb_cancel_program();
+static void cb_save_program();
+static void cb_trackbuttons();
+static void cb_add_10();
+static void cb_new_track();
+static void cb_program_all();
+
void
program_form_setup (parent_widget)
Widget parent_widget;
@@ -66,15 +78,6 @@
Widget cancel_button;
Widget save_button;
Widget all_button;
-
- extern void cb_move_program_ptr();
- extern void cb_clear_program();
- extern void cb_cancel_program();
- extern void cb_save_program();
- extern void cb_trackbuttons();
- extern void cb_add_10();
- extern void cb_new_track();
- extern void cb_program_all();
/*
* create program form as a non-managed widget, because this

View File

@ -0,0 +1,33 @@
$FreeBSD$
--- shuffle.c.orig Tue Jan 12 19:59:38 1993
+++ shuffle.c Mon Aug 25 00:38:35 2003
@@ -18,6 +18,9 @@
# include "debug.h"
# include "cdrom_globs.h"
+#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
+# include "cdrom_freebsd.h"
+#endif
#ifdef sun
# include "cdrom_sun.h"
#endif
@@ -29,6 +32,8 @@
static unsigned char *random_tracks;
+extern AppData app_data;
+
void
shuffle_setup() {
extern char *malloc();
@@ -97,7 +102,7 @@
random_tracks[i] = try;
}
- if (debug == True) {
+ if (app_data.debug == True) {
debug_printf(1, "shuffle_setup: ");
for (i = 0; i < cdi.ntracks; i++)
debug_printf(1, "%d ", random_tracks[i]);

View File

@ -0,0 +1,119 @@
$FreeBSD$
--- top_setup.c.orig Tue Jan 12 19:59:40 1993
+++ top_setup.c Mon Aug 25 00:38:35 2003
@@ -26,18 +26,8 @@
# include "logo.xbm"
XtAppContext appc;
-char *file;
-char *device;
-Boolean debug = False;
-Boolean display_timer = True;
-float volbase = 187.0;
-float volpcent = .267;
-int replayThreshold = 4;
-int pauseSkipInterval = 15;
-int scanSkipInterval = 1;
-float scanPauseInterval = .062;
-float pausePauseInterval = .500;
-char *cdInfoDir = NULL;
+
+AppData app_data;
extern char *getenv();
@@ -55,36 +45,36 @@
};
static XtResource resources[] = {
- { "file", "File", XtRString, sizeof(String), (Cardinal) &file,
+ { "file", "File", XtRString, sizeof(String), XtOffsetOf(AppData,file),
XtRString, (caddr_t) NULL },
- { "device", "Device", XtRString, sizeof(String), (Cardinal) &device,
+ { "device", "Device", XtRString, sizeof(String), XtOffsetOf(AppData,device),
XtRString, (caddr_t) NULL },
- { "debug", "Debug", XtRBoolean, sizeof(Boolean), (Cardinal) &debug,
- XtRBoolean, (caddr_t) &debug },
+ { "debug", "Debug", XtRBoolean, sizeof(Boolean), XtOffsetOf(AppData,debug),
+ XtRBoolean, &app_data.debug },
{ "displayTimer", "DisplayTimer", XtRBoolean, sizeof(Boolean),
- (Cardinal) &display_timer, XtRBoolean,
- (caddr_t) &display_timer },
+ XtOffsetOf(AppData,display_timer), XtRBoolean,
+ &app_data.display_timer },
{ "volBase", "VolBase", XtRFloat, sizeof(float),
- (Cardinal) &volbase, XtRFloat, (caddr_t) &volbase },
+ XtOffsetOf(AppData,volbase), XtRFloat, &app_data.volbase },
{ "volPcent", "VolPcent", XtRFloat, sizeof(float),
- (Cardinal) &volpcent, XtRFloat, (caddr_t) &volpcent },
+ XtOffsetOf(AppData,volpcent), XtRFloat, &app_data.volpcent },
{ "replayThreshold", "replayThreshold", XtRInt, sizeof(int),
- (Cardinal) &replayThreshold, XtRInt,
- (caddr_t) &replayThreshold },
+ XtOffsetOf(AppData,replayThreshold), XtRInt,
+ &app_data.replayThreshold },
{ "scanSkipInterval", "scanSkipInterval", XtRInt, sizeof(int),
- (Cardinal) &scanSkipInterval, XtRInt,
- (caddr_t) &scanSkipInterval },
+ XtOffsetOf(AppData,scanSkipInterval), XtRInt,
+ &app_data.scanSkipInterval },
{ "scanPauseInterval", "scanPauseInterval", XtRFloat, sizeof(float),
- (Cardinal) &scanPauseInterval, XtRFloat,
- (caddr_t) &scanPauseInterval },
+ XtOffsetOf(AppData,scanPauseInterval), XtRFloat,
+ &app_data.scanPauseInterval },
{ "pauseSkipInterval", "pauseSkipInterval", XtRInt, sizeof(int),
- (Cardinal) &pauseSkipInterval, XtRInt,
- (caddr_t) &pauseSkipInterval },
+ XtOffsetOf(AppData,pauseSkipInterval), XtRInt,
+ &app_data.pauseSkipInterval },
{ "pausePauseInterval", "pausePauseInterval", XtRFloat, sizeof(float),
- (Cardinal) &pausePauseInterval, XtRFloat,
- (caddr_t) &pausePauseInterval },
+ XtOffsetOf(AppData,pausePauseInterval), XtRFloat,
+ &app_data.scanPauseInterval },
{ "cdInfoDir", "cdInfoDir", XtRString, sizeof(String),
- (Cardinal) &cdInfoDir, XtRString, (caddr_t) NULL },
+ XtOffsetOf(AppData,cdInfoDir), XtRString, (caddr_t) NULL },
};
Widget
@@ -98,6 +88,20 @@
Arg arg;
char *s;
+ /*
+ * set default values
+ */
+
+ app_data.debug = False;
+ app_data.display_timer = True;
+ app_data.volbase = 187.0;
+ app_data.volpcent = 0.267;
+ app_data.replayThreshold = 4;
+ app_data.pauseSkipInterval = 15;
+ app_data.scanSkipInterval = 1;
+ app_data.scanPauseInterval = 0.062;
+ app_data.pausePauseInterval = 0.500;
+
XtToolkitInitialize();
appc = XtCreateApplicationContext();
@@ -123,12 +127,12 @@
XtSetValues(top_shell, &arg, 1);
- (void) XtGetApplicationResources(top_shell, (caddr_t) NULL,
+ (void) XtGetApplicationResources(top_shell, (caddr_t) &app_data,
resources, XtNumber(resources),
(ArgList) NULL, 0);
- if ((cdInfoDir == NULL) && ((s=getenv("XCDINFODIR")) != NULL))
- cdInfoDir = strdup(s);
+ if ((app_data.cdInfoDir == NULL) && ((s=getenv("XCDINFODIR")) != NULL))
+ app_data.cdInfoDir = strdup(s);
top_form_widget = XtCreateWidget("mainForm", formWidgetClass,
top_shell,

View File

@ -1,8 +1,4 @@
XCdplayer 2.2
XCdplayer is a graphical user interface for controlling the CD-ROM
drive under the X Window System. It provides visual feedback and
gives the user facilities for mode selection, device control,
scanning, and programming.
Ported to FreeBSD by Steven Wallace, swallace@ece.uci.edu

View File

@ -1,2 +1,3 @@
@comment $FreeBSD$
bin/xcdplayer
lib/X11/app-defaults/XCdplayer