view src/miscplay.h @ 578:190b164ddcac

[xemacs-hg @ 2001-05-25 11:26:50 by ben] device-msw.c, eldap.c, emodules.c, hpplay.c, process-unix.c, sound.h, tooltalk.c, win32.c: Revert Martin's attempted compile-warnings fix. It does fix the warnings, but not the right way. We are trying to eliminate the raw use of `char' and `unsigned char' absolutely everywhere. There is never an occasion to reintroduce these. buffer.h: Instead, we fix these macros so they don't care about the type of their lvalues. We already do this for the non-C-string equivalents of these, and it's correct because it should be OK to pass in an SBufbyte *, for example. In any case, we do not need any type-correctness checking here -- errors will be caught for sure as soon as we remove the -Wno-sign-compare switch. mule-charset.c: Use invalid_argument, not generic signal_error (Qerror, ). alloc.c, chartab.c, console-gtk.c, console-msw.c, console-stream.c, console-stream.h, console-tty.c, console-tty.h, console-x.c, console.c, console.h, device-x.c, device.c, elhash.c, eval.c, faces.c, faces.h, fns.c, glyphs.c, glyphs.h, gui.c, gui.h, lisp.h, lread.c, nt.c, objects-gtk.c, objects-gtk.h, objects-msw.c, objects-tty.c, objects-x.c, objects.c, process-unix.c, rangetab.c, search.c, specifier.c, toolbar.c, window.c, window.h: Rename Error_behavior to Error_Behavior, to be consistent with general naming practices (Lisp_Object, Char_Binary, etc.).
author ben
date Fri, 25 May 2001 11:27:01 +0000
parents 183866b06e0b
children ecf1ebac70d8
line wrap: on
line source

/* miscplay.h - general routines related to playing sounds
 **
 ** Copyright (C) 1995,96 by Markus Gutschke (gutschk@math.uni-muenster.de)
 ** This was sawed out from version 1.3 of linuxplay.c by
 ** Robert Bihlmeyer <robbe@orcus.priv.at>.
 **
 ** Parts of this code were inspired by sunplay.c, which is copyright 1989 by
 ** Jef Poskanzer and 1991,92 by Jamie Zawinski; c.f. sunplay.c for further
 ** information.
 **
 ** Permission to use, copy, modify, and distribute this software and its
 ** documentation for any purpose and without fee is hereby granted, provided
 ** that the above copyright notice appear in all copies and that both that
 ** copyright notice and this permission notice appear in supporting
 ** documentation.  This software is provided "as is" without express or
 ** implied warranty.
 */

/* Synched up with: Not in FSF. */

/* This file Mule-ized by Ben Wing, 5-15-01. */

#ifndef INCLUDED_miscplay_h_
#define INCLUDED_miscplay_h_

#define HEADERSZ  256   /* has to be at least as big as the biggest header   */
#define SNDBUFSZ  2048  /* has to be at least as big as HEADERSZ             */

/* Audio data formats from <linux/soundcard.h> */
#define AFMT_MU_LAW            0x00000001
#define AFMT_A_LAW             0x00000002
#define AFMT_IMA_ADPCM         0x00000004
#define AFMT_U8                        0x00000008
#define AFMT_S16_LE            0x00000010      /* Little endian signed 16*/
#define AFMT_S16_BE            0x00000020      /* Big endian signed 16 */
#define AFMT_S8                        0x00000040
#define AFMT_U16_LE            0x00000080      /* Little endian U16 */
#define AFMT_U16_BE            0x00000100      /* Big endian U16 */
#define AFMT_MPEG              0x00000200      /* MPEG (2) audio */

typedef enum {fmtIllegal,fmtRaw,fmtVoc,fmtWave,fmtSunAudio} fmtType;

size_t sndcnvnop(void **data,size_t *sz,void **outbuf);
size_t sndcnv8U_2mono(void **data,size_t *sz,void **outbuf);
size_t sndcnv8S_2mono(void **data,size_t *sz,void **outbuf);
size_t sndcnv2monounsigned(void **data,size_t *sz,void **outbuf);
size_t sndcnv2unsigned(void **data,size_t *sz,void **outbuf);
size_t sndcnvULaw_2linear(void **data,size_t *sz,void **outbuf);
size_t sndcnvULaw_2mono(void **data,size_t *sz,void **outbuf);
size_t sndcnv16swap(void **data,size_t *sz,void **outbuf);
size_t sndcnv16_2monoLE(void **data,size_t *sz,void **outbuf);
size_t sndcnv16_2monoBE(void **data,size_t *sz,void **outbuf);
size_t sndcnv2byteLE(void **data,size_t *sz,void **outbuf);
size_t sndcnv2byteBE(void **data,size_t *sz,void **outbuf);
size_t sndcnv2monobyteLE(void **data,size_t *sz,void **outbuf);
size_t sndcnv2monobyteBE(void **data,size_t *sz,void **outbuf);

fmtType analyze_format(UChar_Binary *format,int *fmt,int *speed,
                             int *tracks,
                             size_t (**parsesndfile)(void **,size_t *sz,
                                                     void **));
void reset_parsestate(void);
int parse_wave_complete(void);

#endif /* INCLUDED_miscplay_h_ */