2009-07-27 05:47:50 +00:00
|
|
|
/*
|
|
|
|
Copyright (C) 1994-1995 Apogee Software, Ltd.
|
|
|
|
|
|
|
|
This program is free software; you can redistribute it and/or
|
|
|
|
modify it under the terms of the GNU General Public License
|
|
|
|
as published by the Free Software Foundation; either version 2
|
|
|
|
of the License, or (at your option) any later version.
|
|
|
|
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
|
|
|
|
|
|
See the GNU General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
|
|
along with this program; if not, write to the Free Software
|
2014-07-20 08:55:56 +00:00
|
|
|
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
2009-07-27 05:47:50 +00:00
|
|
|
|
|
|
|
*/
|
|
|
|
/**********************************************************************
|
|
|
|
file: MULTIVOC.H
|
|
|
|
|
|
|
|
author: James R. Dose
|
|
|
|
date: December 20, 1993
|
|
|
|
|
|
|
|
Public header for MULTIVOC.C
|
|
|
|
|
|
|
|
(c) Copyright 1993 James R. Dose. All Rights Reserved.
|
|
|
|
**********************************************************************/
|
|
|
|
|
2014-11-22 12:32:56 +00:00
|
|
|
#ifndef MULTIVOC_H_
|
|
|
|
#define MULTIVOC_H_
|
2009-07-27 05:47:50 +00:00
|
|
|
|
2017-02-19 22:15:56 +00:00
|
|
|
#include "compat.h"
|
2019-09-19 18:22:09 +00:00
|
|
|
#include "drivers.h"
|
2017-02-19 22:15:56 +00:00
|
|
|
|
2015-07-08 03:33:56 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
2012-12-29 10:59:21 +00:00
|
|
|
typedef enum
|
|
|
|
{
|
2015-07-08 03:33:56 +00:00
|
|
|
FMT_UNKNOWN,
|
|
|
|
FMT_RAW,
|
|
|
|
FMT_VOC,
|
|
|
|
FMT_WAV,
|
|
|
|
FMT_VORBIS,
|
|
|
|
FMT_FLAC,
|
|
|
|
FMT_XA,
|
2016-11-08 02:59:05 +00:00
|
|
|
FMT_XMP,
|
2015-07-08 03:33:56 +00:00
|
|
|
FMT_MAX
|
|
|
|
} wavefmt_t;
|
2012-12-29 10:59:21 +00:00
|
|
|
|
2014-11-22 12:32:56 +00:00
|
|
|
#define MV_MINVOICEHANDLE 1
|
2009-07-27 05:47:50 +00:00
|
|
|
|
|
|
|
extern int32_t MV_ErrorCode;
|
|
|
|
|
|
|
|
enum MV_Errors
|
2014-11-22 12:32:56 +00:00
|
|
|
{
|
2016-08-27 01:39:38 +00:00
|
|
|
MV_Error = -1,
|
2014-11-22 12:32:56 +00:00
|
|
|
MV_Ok = 0,
|
|
|
|
MV_NotInstalled,
|
|
|
|
MV_DriverError,
|
|
|
|
MV_NoVoices,
|
|
|
|
MV_NoMem,
|
|
|
|
MV_VoiceNotFound,
|
2016-08-27 01:39:38 +00:00
|
|
|
MV_InvalidFile,
|
2014-11-22 12:32:56 +00:00
|
|
|
};
|
2009-07-27 05:47:50 +00:00
|
|
|
|
2019-09-19 22:42:45 +00:00
|
|
|
void DisableInterrupts(void);
|
|
|
|
void RestoreInterrupts(void);
|
|
|
|
|
2012-05-14 18:12:27 +00:00
|
|
|
extern void (*MV_Printf)(const char *fmt, ...);
|
2014-11-22 12:32:56 +00:00
|
|
|
const char *MV_ErrorString(int32_t ErrorNumber);
|
|
|
|
int32_t MV_VoicePlaying(int32_t handle);
|
|
|
|
int32_t MV_KillAllVoices(void);
|
|
|
|
int32_t MV_Kill(int32_t handle);
|
|
|
|
int32_t MV_VoicesPlaying(void);
|
|
|
|
int32_t MV_VoiceAvailable(int32_t priority);
|
|
|
|
int32_t MV_SetPitch(int32_t handle, int32_t pitchoffset);
|
|
|
|
int32_t MV_SetFrequency(int32_t handle, int32_t frequency);
|
|
|
|
int32_t MV_PauseVoice(int32_t handle, int32_t pause);
|
|
|
|
int32_t MV_EndLooping(int32_t handle);
|
|
|
|
int32_t MV_SetPan(int32_t handle, int32_t vol, int32_t left, int32_t right);
|
|
|
|
int32_t MV_Pan3D(int32_t handle, int32_t angle, int32_t distance);
|
|
|
|
void MV_SetReverb(int32_t reverb);
|
|
|
|
int32_t MV_GetMaxReverbDelay(void);
|
|
|
|
int32_t MV_GetReverbDelay(void);
|
|
|
|
void MV_SetReverbDelay(int32_t delay);
|
|
|
|
// int32_t MV_SetMixMode( int32_t numchannels, int32_t samplebits );
|
|
|
|
// int32_t MV_StartPlayback( void );
|
|
|
|
// void MV_StopPlayback( void );
|
2018-10-25 23:32:14 +00:00
|
|
|
int32_t MV_PlayWAV3D(char *ptr, uint32_t length, int32_t loophow, int32_t pitchoffset, int32_t angle, int32_t distance, int32_t priority,
|
2019-09-19 18:22:09 +00:00
|
|
|
float volume, intptr_t callbackval);
|
2018-10-25 23:32:14 +00:00
|
|
|
int32_t MV_PlayWAV(char *ptr, uint32_t length, int32_t loopstart, int32_t loopend, int32_t pitchoffset, int32_t vol, int32_t left, int32_t right,
|
2019-09-19 18:22:09 +00:00
|
|
|
int32_t priority, float volume, intptr_t callbackval);
|
2018-10-25 23:32:14 +00:00
|
|
|
int32_t MV_PlayVOC3D(char *ptr, uint32_t length, int32_t loophow, int32_t pitchoffset, int32_t angle, int32_t distance, int32_t priority,
|
2019-09-19 18:22:09 +00:00
|
|
|
float volume, intptr_t callbackval);
|
2018-10-25 23:32:14 +00:00
|
|
|
int32_t MV_PlayVOC(char *ptr, uint32_t length, int32_t loopstart, int32_t loopend, int32_t pitchoffset, int32_t vol, int32_t left, int32_t right,
|
2019-09-19 18:22:09 +00:00
|
|
|
int32_t priority, float volume, intptr_t callbackval);
|
2018-10-25 23:32:14 +00:00
|
|
|
int32_t MV_PlayVorbis3D(char *ptr, uint32_t length, int32_t loophow, int32_t pitchoffset, int32_t angle, int32_t distance, int32_t priority,
|
2019-09-19 18:22:09 +00:00
|
|
|
float volume, intptr_t callbackval);
|
2018-10-25 23:32:14 +00:00
|
|
|
int32_t MV_PlayVorbis(char *ptr, uint32_t length, int32_t loopstart, int32_t loopend, int32_t pitchoffset, int32_t vol, int32_t left, int32_t right,
|
2019-09-19 18:22:09 +00:00
|
|
|
int32_t priority, float volume, intptr_t callbackval);
|
2018-10-25 23:32:14 +00:00
|
|
|
int32_t MV_PlayFLAC3D(char *ptr, uint32_t length, int32_t loophow, int32_t pitchoffset, int32_t angle, int32_t distance, int32_t priority,
|
2019-09-19 18:22:09 +00:00
|
|
|
float volume, intptr_t callbackval);
|
2018-10-25 23:32:14 +00:00
|
|
|
int32_t MV_PlayFLAC(char *ptr, uint32_t length, int32_t loopstart, int32_t loopend, int32_t pitchoffset, int32_t vol, int32_t left, int32_t right,
|
2019-09-19 18:22:09 +00:00
|
|
|
int32_t priority, float volume, intptr_t callbackval);
|
2018-10-25 23:32:14 +00:00
|
|
|
int32_t MV_PlayXA3D(char *ptr, uint32_t length, int32_t loophow, int32_t pitchoffset, int32_t angle, int32_t distance, int32_t priority, float volume,
|
2019-09-19 18:22:09 +00:00
|
|
|
intptr_t callbackval);
|
2018-10-25 23:32:14 +00:00
|
|
|
int32_t MV_PlayXA(char *ptr, uint32_t length, int32_t loopstart, int32_t loopend, int32_t pitchoffset, int32_t vol, int32_t left, int32_t right,
|
2019-09-19 18:22:09 +00:00
|
|
|
int32_t priority, float volume, intptr_t callbackval);
|
2018-10-25 23:32:14 +00:00
|
|
|
int32_t MV_PlayXMP3D(char *ptr, uint32_t length, int32_t loophow, int32_t pitchoffset, int32_t angle, int32_t distance, int32_t priority,
|
2019-09-19 18:22:09 +00:00
|
|
|
float volume, intptr_t callbackval);
|
2018-10-25 23:32:14 +00:00
|
|
|
int32_t MV_PlayXMP(char *ptr, uint32_t length, int32_t loopstart, int32_t loopend, int32_t pitchoffset, int32_t vol, int32_t left, int32_t right,
|
2019-09-19 18:22:09 +00:00
|
|
|
int32_t priority, float volume, intptr_t callbackval);
|
|
|
|
int32_t MV_PlayRAW(char *ptr, uint32_t length, int32_t rate, char *loopstart, char *loopend, int32_t pitchoffset, int32_t vol, int32_t left, int32_t right,
|
|
|
|
int32_t priority, float volume, intptr_t callbackval);
|
2016-11-08 02:59:05 +00:00
|
|
|
|
|
|
|
int MV_IdentifyXMP(char const *ptr, uint32_t length);
|
2015-01-17 00:28:49 +00:00
|
|
|
|
|
|
|
int32_t MV_GetPosition(int32_t handle, int32_t *position);
|
|
|
|
int32_t MV_SetPosition(int32_t handle, int32_t position);
|
|
|
|
|
2014-11-22 12:32:56 +00:00
|
|
|
// void MV_CreateVolumeTable( int32_t index, int32_t volume, int32_t MaxVolume );
|
|
|
|
void MV_SetVolume(int32_t volume);
|
|
|
|
int32_t MV_GetVolume(void);
|
2019-09-19 18:22:09 +00:00
|
|
|
void MV_SetCallBack(void (*function)(intptr_t));
|
2014-11-22 12:32:56 +00:00
|
|
|
void MV_SetReverseStereo(int32_t setting);
|
|
|
|
int32_t MV_GetReverseStereo(void);
|
2015-07-08 03:34:09 +00:00
|
|
|
int32_t MV_Init(int32_t soundcard, int32_t MixRate, int32_t Voices, int32_t numchannels,
|
2014-11-22 12:32:56 +00:00
|
|
|
void *initdata);
|
|
|
|
int32_t MV_Shutdown(void);
|
2010-06-22 21:50:01 +00:00
|
|
|
void MV_SetPrintf(void (*function)(const char *fmt, ...));
|
2009-07-27 05:47:50 +00:00
|
|
|
|
2015-07-08 03:33:56 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
2009-07-27 05:47:50 +00:00
|
|
|
#endif
|