00001 /* Copyright 1988-1992, NeXT Inc. All rights reserved. */ 00002 /* 4.0 Revisions Copyright 1993 CCRMA, Stanford U. All rights reserved. */ 00003 /* Frozen prototypes of all private libdsp functions used by Music Kit */ 00004 /* 00005 $Id: _DSPMK.h 1775 2001-11-07 13:07:50Z sbrandon $ 00006 Defined In: The MusicKit 00007 */ 00008 /* 00009 $Log$ 00010 Revision 1.3 2001/11/07 13:07:50 sbrandon 00011 This file is a kludge. We should be fixing up the headers at source (in 00012 MKDSP) rather than defining MKDSP export headers in this framework. Oh well. 00013 00014 Revision 1.2 1999/07/29 01:25:58 leigh 00015 Added Win32 compatibility, CVS logs, SBs changes 00016 00017 */ 00018 #ifndef __MK__DSPMK_H___ 00019 #define __MK__DSPMK_H___ 00020 00021 /* sbrandon Nov 2001: 00022 * these really need a header file of their own in MKDSP. The only reason 00023 * why we don't just import the headers like we should is that the headers 00024 * in question include things like Mach headers, which don't go down well 00025 * on Windows and other platforms. FIXME at source. 00026 */ 00027 00028 //#include <MKDSP/_libdsp.h> 00029 //#include <MKDSP/_DSPTransfer.h> 00030 #include <MKDSP/MKDSPDefines.h> 00031 00032 MKDSP_API int _DSPError(int errorcode, char *msg); 00033 00034 MKDSP_API int _DSPError1( 00035 int errorcode, 00036 char *msg, 00037 char *arg); 00038 00039 MKDSP_API int _DSPMKSendUnitGeneratorWithLooperTimed( 00040 DSPFix48 *aTimeStampP, 00041 DSPMemorySpace space, 00042 DSPAddress address, 00043 DSPFix24 *data, /* DSP gets rightmost 24 bits of each word */ 00044 int count, 00045 int looperWord); 00046 /* 00047 * Same as DSPMKSendArrayTimed() but tacks on one extra word which is a 00048 * DSP instruction which reads "jmp orchLoopStartAddress". Note that 00049 * code was copied from DSPMKSendArraySkipTimed(). 00050 */ 00051 00052 MKDSP_API int _DSPReloc(DSPDataRecord *data, DSPFixup *fixups, 00053 int fixupCount, int *loadAddresses); 00054 /* 00055 * dataRec is assumed to be a P data space. Fixes it up in place. 00056 * This is a private libdsp method used by _DSPSendUGTimed and 00057 * _DSPRelocate. 00058 */ 00059 00060 00061 00062 00063 #endif