Mercurial > hg > xemacs-beta
diff src/sunplay.c @ 563:183866b06e0b
[xemacs-hg @ 2001-05-24 07:50:48 by ben]
Makefile.in.in, abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c, casetab.c, chartab.c, cmdloop.c, cmds.c, console-msw.c, console-msw.h, console-stream.c, console-tty.c, console-x.c, console.c, data.c, database.c, debug.c, device-gtk.c, device-msw.c, device-tty.c, device-x.c, device.c, dialog-gtk.c, dialog-msw.c, dialog-x.c, dialog.c, dired-msw.c, dired.c, doc.c, doprnt.c, dragdrop.c, editfns.c, eldap.c, eldap.h, elhash.c, emacs-widget-accessors.c, emacs.c, emodules.c, esd.c, eval.c, event-Xt.c, event-gtk.c, event-msw.c, event-stream.c, events.c, extents.c, faces.c, file-coding.c, fileio.c, filelock.c, floatfns.c, fns.c, font-lock.c, frame-gtk.c, frame-x.c, frame.c, general-slots.h, glade.c, glyphs-gtk.c, glyphs-msw.c, glyphs-widget.c, glyphs-x.c, glyphs.c, glyphs.h, gpmevent.c, gui-gtk.c, gui-x.c, gui.c, gutter.c, hpplay.c, indent.c, input-method-xlib.c, insdel.c, intl.c, keymap.c, libsst.c, libsst.h, linuxplay.c, lisp.h, lread.c, lstream.c, lstream.h, macros.c, marker.c, md5.c, menubar-gtk.c, menubar-msw.c, menubar-x.c, menubar.c, minibuf.c, miscplay.c, miscplay.h, mule-ccl.c, mule-charset.c, mule-wnnfns.c, mule.c, nas.c, ntplay.c, ntproc.c, objects-gtk.c, objects-msw.c, objects-x.c, objects.c, postgresql.c, print.c, process-nt.c, process-unix.c, process.c, ralloc.c, rangetab.c, redisplay.c, scrollbar.c, search.c, select-gtk.c, select-x.c, select.c, sgiplay.c, sheap.c, sound.c, specifier.c, sunplay.c, symbols.c, symeval.h, symsinit.h, syntax.c, sysdep.c, toolbar-msw.c, toolbar.c, tooltalk.c, ui-byhand.c, ui-gtk.c, undo.c, unexaix.c, unexapollo.c, unexconvex.c, unexec.c, widget.c, win32.c, window.c:
-- defsymbol -> DEFSYMBOL.
-- add an error type to all errors.
-- eliminate the error functions in eval.c that let you just
use Qerror as the type.
-- redo the error API to be more consistent, sensibly named,
and easier to use.
-- redo the error hierarchy somewhat. create new errors:
structure-formation-error, gui-error, invalid-constant,
stack-overflow, out-of-memory, process-error, network-error,
sound-error, printing-unreadable-object, base64-conversion-
error; coding-system-error renamed to text-conversion error;
some others.
-- fix Mule problems in error strings in emodules.c, tooltalk.c.
-- fix error handling in mswin open-network-stream.
-- Mule-ize all sound files and clean up the headers.
-- nativesound.h -> sound.h and used for all sound files.
-- move some shared stuff into glyphs-shared.c: first attempt
at eliminating some of the massive GTK code duplication.
xemacs.mak: add glyphs-shared.c.
xemacs-faq.texi: document how to debug X errors
subr.el: fix doc string to reflect reality
author | ben |
---|---|
date | Thu, 24 May 2001 07:51:33 +0000 |
parents | abe6d1db359e |
children | 13e3d7ae7155 |
line wrap: on
line diff
--- a/src/sunplay.c Thu May 24 06:30:21 2001 +0000 +++ b/src/sunplay.c Thu May 24 07:51:33 2001 +0000 @@ -15,41 +15,19 @@ /* Synched up with: Not in FSF. */ -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif +/* This file Mule-ized by Ben Wing, 5-15-01. */ -#if __STDC__ || defined(STDC_HEADERS) -#include <stdlib.h> -#include <unistd.h> -#include <fcntl.h> /* for open() */ -#endif +#include <config.h> +#include "lisp.h" +#include "sound.h" -#include <stdio.h> -#include <string.h> -#ifndef emacs -#include <sys/signal.h> -#endif -#include <sys/fcntl.h> -#include <sys/file.h> +#include "sysdep.h" +#include "sysfile.h" +#include "syssignal.h" #include <multimedia/libaudio.h> #include <multimedia/audio_device.h> -#ifdef emacs -# include <config.h> -# include "lisp.h" -# include "sysdep.h" -# include <errno.h> -# include "nativesound.h" -#include "syssignal.h" -# define perror(string) \ - message("audio: %s, %s ", string, strerror (errno)) -# define warn(str) message ("audio: %s ", GETTEXT (str)) -#else /* !emacs */ -# define warn(str) fprintf (stderr, "%s\n", (str)) -#endif /* emacs */ - static SIGTYPE (*sighup_handler) (int sig); static SIGTYPE (*sigint_handler) (int sig); static SIGTYPE sighandler (int sig); @@ -64,7 +42,7 @@ static Audio_hdr dev_hdr; static int -init_device (int volume, unsigned char *data, int fd, +init_device (int volume, UChar_Binary *data, int fd, unsigned int *header_length) { #ifdef SUNOS4_0_3 @@ -80,7 +58,7 @@ if (AUDIO_SUCCESS != audio_get_play_config (audio_fd, &dev_hdr)) { - perror ("Not a valid audio device"); + sound_perror ("Not a valid audio device"); return 1; } @@ -89,9 +67,9 @@ : audio_read_filehdr (fd, &file_hdr, 0, 0))) { if (data) - perror ("invalid audio data"); + sound_perror ("invalid audio data"); else - perror ("invalid audio file"); + sound_perror ("invalid audio file"); return 1; } @@ -105,20 +83,20 @@ initialized_device_p = 1; if (AUDIO_SUCCESS != audio_set_play_config (audio_fd, &new_hdr)) { - char buf1 [100], buf2 [100], buf3 [250]; + Extbyte buf1 [100], buf2 [100], buf3 [250]; audio_enc_to_str (&file_hdr, buf1); audio_enc_to_str (&new_hdr, buf2); sprintf (buf3, "wanted %s, got %s", buf1, buf2); - warn (buf3); + sound_warn (buf3); return 1; } } if (volume < 0 || volume > 100) { - char buf [255]; + Extbyte buf [255]; sprintf (buf, "volume must be between 0 and 100 (not %d)", volume); - warn (buf); + sound_warn (buf); return 1; } { @@ -149,17 +127,17 @@ void -play_sound_file (char *sound_file, int volume) +play_sound_file (Extbyte *sound_file, int volume) { int rrtn, wrtn; - unsigned char buf [255]; + UChar_Binary buf [255]; int file_fd; audio_fd = audio_open (); if (audio_fd < 0) { - perror ("open /dev/audio"); + sound_perror ("open /dev/audio"); return; } @@ -170,19 +148,19 @@ file_fd = open (sound_file, O_RDONLY, 0); if (file_fd < 0) { - perror (sound_file); + sound_perror (sound_file); goto END_OF_PLAY; } - if (init_device (volume, (unsigned char *) 0, file_fd, (unsigned int *) 0)) + if (init_device (volume, (UChar_Binary *) 0, file_fd, (unsigned int *) 0)) goto END_OF_PLAY; while (1) { - rrtn = read (file_fd, (char *) buf, sizeof (buf)); + rrtn = read (file_fd, (Char_Binary *) buf, sizeof (buf)); if (rrtn < 0) { - perror ("read"); + sound_perror ("read"); goto END_OF_PLAY; } if (rrtn == 0) @@ -190,10 +168,10 @@ while (1) { - wrtn = write (audio_fd, (char *) buf, rrtn); + wrtn = write (audio_fd, (Char_Binary *) buf, rrtn); if (wrtn < 0) { - perror ("write"); + sound_perror ("write"); goto END_OF_PLAY; } if (wrtn != 0) @@ -204,9 +182,9 @@ } if (wrtn != rrtn) { - char warn_buf [255]; + Extbyte warn_buf [255]; sprintf (warn_buf, "play: rrtn = %d, wrtn = %d", rrtn, wrtn); - warn (warn_buf); + sound_warn (warn_buf); goto END_OF_PLAY; } } @@ -228,7 +206,7 @@ int -play_sound_data (unsigned char *data, int length, int volume) +play_sound_data (UChar_Binary *data, int length, int volume) { int wrtn, start = 0; unsigned int ilen; @@ -239,14 +217,14 @@ if (length == 0) return 0; /* this is just to get a better error message */ - if (strncmp (".snd\0", (char *) data, 4)) + if (strncmp (".snd\0", (Char_Binary *) data, 4)) { - warn ("Not valid audio data (bad magic number)"); + sound_warn ("Not valid audio data (bad magic number)"); goto END_OF_PLAY; } if (length <= sizeof (Audio_hdr)) { - warn ("Not valid audio data (too short)"); + sound_warn ("Not valid audio data (too short)"); goto END_OF_PLAY; } @@ -268,10 +246,10 @@ while (1) { - wrtn = write (audio_fd, (char *) (data+start), length-start); + wrtn = write (audio_fd, (Char_Binary *) (data+start), length-start); if (wrtn < 0) { - perror ("write"); + sound_perror ("write"); goto END_OF_PLAY; } if (wrtn != 0) @@ -284,9 +262,9 @@ } if (wrtn != length) { - char buf [255]; + Extbyte buf [255]; sprintf (buf, "play: rrtn = %d, wrtn = %d", length, wrtn); - warn (buf); + sound_warn (buf); goto END_OF_PLAY; }