/***************************************************************************** * Copyright 1998, Luiz Otavio L. Zorzella * * File: multimedia.h * Purpose: multimedia declarations * ***************************************************************************** */ #ifndef __WINE_MULTIMEDIA_H #define __WINE_MULTIMEDIA_H #include "mmsystem.h" #define MAX_MIDIINDRV (1) /* For now I'm making 16 the maximum number of midi devices one can * have. This should be more than enough for everybody. But as a purist, * I intend to make it unbounded in the future, as soon as I figure * a good way to do so. */ #define MAX_MIDIOUTDRV (16) #define MAX_MCIMIDIDRV (1) #if defined (linux) #define __HAS_SOUNDCARD_H__ #include #elif defined (__FreeBSD__) #define __HAS_SOUNDCARD_H__ #include #include #endif #if defined (__HAS_SOUNDCARD_H__) #define MIDI_DEV "/dev/sequencer" #ifdef SOUND_VERSION #define IOCTL(a,b,c) ioctl(a,b,&c) #else #define IOCTL(a,b,c) (c = ioctl(a,b,c) ) #endif typedef struct { int unixdev; int state; DWORD bufsize; MIDIOPENDESC midiDesc; WORD wFlags; LPMIDIHDR lpQueueHdr; DWORD dwTotalPlayed; } LINUX_MIDIIN; typedef struct { int unixdev; int state; DWORD bufsize; MIDIOPENDESC midiDesc; WORD wFlags; LPMIDIHDR lpQueueHdr; DWORD dwTotalPlayed; } LINUX_MIDIOUT; typedef struct { int nUseCount; /* Incremented for each shared open */ BOOL16 fShareable; /* TRUE if first open was shareable */ WORD wNotifyDeviceID; /* MCI device ID with a pending notification */ HANDLE16 hCallback; /* Callback handle for pending notification */ HMMIO16 hFile; /* mmio file handle open as Element */ DWORD dwBeginData; DWORD dwTotalLen; WORD wFormat; WORD nTracks; WORD nTempo; MCI_OPEN_PARMS16 openParms; /* MIDIHDR MidiHdr; */ HLOCAL16 hMidiHdr; WORD dwStatus; } LINUX_MCIMIDI; #endif #endif /* __WINE_MULTIMEDIA_H */