#ifdef HAVE_SOUNDCARD_H
# include <soundcard.h>
#else
# include <sys/soundcard.h>
#endif
#ifndef SNDCTL_DSP_GETISPACE
#define SNDCTL_DSP_GETISPACE …
#endif
#ifndef SNDCTL_DSP_GETOSPACE
#define SNDCTL_DSP_GETOSPACE …
#endif
#include "m_pd.h"
#include "s_stuff.h"
#include <errno.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/ioctl.h>
#include <fcntl.h>
#define DEBUG(x) …
#define DEBUG2(x) …
#define OSS_MAXCHPERDEV …
#define OSS_MAXDEV …
#define OSS_DEFFRAGSIZE …
#define OSS_DEFAUDIOBUF …
#define OSS_DEFAULTCH …
#define RME_DEFAULTCH …
t_oss_int16;
t_oss_int32;
#define OSS_MAXSAMPLEWIDTH …
#define OSS_BYTESPERCHAN(width) …
#define OSS_XFERSAMPS(chans) …
#define OSS_XFERSIZE(chans, width) …
static int linux_meters;
static t_sample linux_inmax;
static t_sample linux_outmax;
static int linux_fragsize = …;
extern int audio_blocksize;
t_oss_dev;
static t_oss_dev linux_dacs[OSS_MAXDEV];
static t_oss_dev linux_adcs[OSS_MAXDEV];
static int linux_noutdevs = …;
static int linux_nindevs = …;
static int oss_blockmode = …;
static int oss_advance_samples;
#define FMAX …
#define CLIP32(x) …
static int oss_ndev = …;
static char oss_devnames[OSS_MAXDEV][20];
static void oss_init(void)
{ … }
t_multidev;
int oss_reset(int fd) { … }
void oss_configure(t_oss_dev *dev, int srate, int dac, int skipblocksize,
int suggestedblocksize)
{ … }
static int oss_setchannels(int fd, int wantchannels, char *devname)
{ … }
int oss_open_audio(int nindev, int *indev, int nchin, int *chin,
int noutdev, int *outdev, int nchout, int *chout, int rate,
int blocksize)
{ … }
void oss_close_audio(void)
{ … }
static int linux_dacs_write(int fd,void* buf,long bytes)
{ … }
static int linux_adcs_read(int fd,void* buf,long bytes)
{ … }
static void oss_calcspace(void)
{ … }
void linux_audiostatus(void)
{ … }
static void oss_doresync(void)
{ … }
int oss_send_dacs(void)
{ … }
void oss_getdevs(char *indevlist, int *nindevs,
char *outdevlist, int *noutdevs, int *canmulti,
int maxdev, int devdescsize)
{ … }