Filewatcher File Search
FTP Search
  
Directory 
  
Content Search 
   
pkg://ocp-0.1.10_rc6.tar.gz:650610/ocp-0.1.10_rc6/playxm/xmplay.h  downloads

#ifndef _PLAYXM_XMPLAY_H
#define _PLAYXM_XMPLAY_H

#include <stdio.h>

struct sampleinfo;

enum
{
	xmpEnvLoop=1, xmpEnvBiDi=2, xmpEnvSLoop=4
};

struct xmpenvelope
{
	uint8_t *env;
	uint16_t len;
	uint16_t loops, loope;
	uint16_t sustain;
	uint8_t type;
	uint8_t speed;
};

struct xmpsample
{
	char name[32];
	uint16_t handle;
	int16_t normnote;
	int16_t normtrans;
	int16_t stdvol;
	int16_t stdpan;
	uint16_t opt;
#define MP_OFFSETDIV2 1
	uint16_t volfade;
	uint8_t pchint;
	uint16_t volenv;
	uint16_t panenv;
	uint16_t pchenv;
	uint8_t vibspeed;
	uint8_t vibtype;
	uint16_t vibrate;
	uint16_t vibdepth;
	uint16_t vibsweep;
};

struct xmpinstrument
{
	char name[32];
	uint16_t samples[128];
};

struct xmodule
{
	char name[21];
	char ismod;
	int linearfreq;
	int nchan;
	int ninst;
	int nenv;
	int npat;
	int nord;
	int nsamp;
	int nsampi;
	int loopord;
	uint8_t initempo;
	uint8_t inibpm;

	struct xmpenvelope *envelopes;
	struct xmpsample *samples;
	struct xmpinstrument *instruments;
	struct sampleinfo *sampleinfos;
	uint16_t *patlens;
	uint8_t (**patterns)[5];
	uint16_t *orders;
	uint8_t panpos[256];
};

struct xmpglobinfo
{
	uint8_t globvol;
	uint8_t globvolslide;
};

struct xmpchaninfo
{
	uint8_t note;
	uint8_t vol;
	uint8_t pan;
	uint8_t notehit;
	uint8_t volslide;
	uint8_t pitchslide;
	uint8_t panslide;
	uint8_t volfx;
	uint8_t pitchfx;
	uint8_t notefx;
	uint8_t fx;
};

enum
{
	xmpFXIns=0,
	xmpFXNote=1,
	xmpFXVol=2,
	xmpFXCmd=3,
	xmpFXData=4
};

extern int xmpLoadSamples(struct xmodule *m);
extern int xmpLoadModule(struct xmodule *m, FILE *f);
extern int xmpLoadMOD(struct xmodule *m, FILE *f);
extern int xmpLoadMODt(struct xmodule *m, FILE *f);
extern int xmpLoadMODd(struct xmodule *m, FILE *f);
extern int xmpLoadMODf(struct xmodule *m, FILE *f);
extern int xmpLoadM31(struct xmodule *m, FILE *f);
extern int xmpLoadM15(struct xmodule *m, FILE *f);
extern int xmpLoadM15t(struct xmodule *m, FILE *f);
extern int xmpLoadWOW(struct xmodule *m, FILE *f);
extern int xmpLoadMXM(struct xmodule *m, FILE *f);
extern void xmpFreeModule(struct xmodule *m);

extern int xmpPlayModule(struct xmodule *m);
extern void xmpStopModule(void);
extern void xmpSetPos(int ord, int row);

extern void xmpGetRealVolume(int i, int *l, int *r);
extern void xmpMute(int i, int m);
extern int xmpGetLChanSample(int ch, int16_t *b, int len, int rate, int opt);
extern uint16_t xmpGetPos(void);
extern int xmpGetRealPos(void);
extern int xmpGetDotsData(int ch, int *smp, int *frq, int *l, int *r, int *sus);
extern int xmpPrecalcTime(struct xmodule *m, int startpos, int (*calc)[2], int n, int ite);
extern int xmpLoop(void);
extern void xmpSetLoop(int);
extern int xmpGetChanIns(int);
extern int xmpGetChanSamp(int);
extern int xmpChanActive(int);
extern void xmpGetGlobInfo(int *tmp, int *bpm, int *gvol);
extern void xmpOptimizePatLens(struct xmodule *m);
/*extern int xmpGetSync(int ch, int *time);*/
extern int xmpGetTime(void);

extern int xmpGetTickTime(void);
extern int xmpGetRowTime(void);
extern void xmpSetEvPos(int ch, int pos, int modtype, int mod);
extern int xmpGetEvPos(int ch, int *time);
extern int xmpFindEvPos(int pos, int *time);

extern void xmpGetChanInfo(uint8_t ch, struct xmpchaninfo *ci);
extern uint16_t xmpGetRealNote(unsigned char ch);
extern void xmpGetGlobInfo2(struct xmpglobinfo *gi);

enum
{
	xmpCmdArpeggio=0,xmpCmdPortaU=1,xmpCmdPortaD=2,xmpCmdPortaNote=3,
	xmpCmdVibrato=4,xmpCmdPortaVol=5,xmpCmdVibVol=6,xmpCmdTremolo=7,
	xmpCmdPanning=8,xmpCmdOffset=9,xmpCmdVolSlide=10,xmpCmdJump=11,
	xmpCmdVolume=12,xmpCmdBreak=13,xmpCmdSpeed=15,xmpCmdGVolume=16,
	xmpCmdGVolSlide=17,xmpCmdKeyOff=20,xmpCmdEnvPos=21,xmpCmdPanSlide=25,
	xmpCmdMRetrigger=27,xmpCmdTremor=29,xmpCmdXPorta=33,xmpCmpSFilter=36,
	xmpCmdFPortaU=37,xmpCmdFPortaD=38,xmpCmdGlissando=39,xmpCmdVibType=40,
	xmpCmdSFinetune=41,xmpCmdPatLoop=42,xmpCmdTremType=43,xmpCmdSPanning=44,
	xmpCmdRetrigger=45,xmpCmdFVolSlideU=46, xmpCmdFVolSlideD=47,
	xmpCmdNoteCut=48,xmpCmdDelayNote=49,xmpCmdPatDelay=50, xmpCmdSync1=28,
	xmpCmdSync2=32, xmpCmdSync3=51,
	xmpVCmdVol0x=1,xmpVCmdVol1x=2,xmpVCmdVol2x=3,xmpVCmdVol3x=4,xmpVCmdVol40=5,
	xmpVCmdVolSlideD=6,xmpVCmdVolSlideU=7,xmpVCmdFVolSlideD=8,
	xmpVCmdFVolSlideU=9,xmpVCmdVibRate=10,xmpVCmdVibDep=11,xmpVCmdPanning=12,
	xmpVCmdPanSlideL=13,xmpVCmdPanSlideR=14,xmpVCmdPortaNote=15,
	xmpCmdMODtTempo=128
};

enum
{
	xfxGVSUp=1, xfxGVSDown,
	xfxVSUp=1, xfxVSDown,
	xfxPSUp=1, xfxPSDown, xfxPSToNote,
	xfxPnSRight=1, xfxPnSLeft,
	xfxVXVibrato=1, xfxVXTremor,
	xfxPXVibrato=1, xfxPXArpeggio,
	xfxPnXVibrato=1,
	xfxNXNoteCut=1, xfxNXRetrig, xfxNXDelay,

	xfxVolSlideUp=1, xfxVolSlideDown,
	xfxRowVolSlideUp, xfxRowVolSlideDown,
	xfxPitchSlideUp, xfxPitchSlideDown, xfxPitchSlideToNote,
	xfxRowPitchSlideUp, xfxRowPitchSlideDown,
	xfxPanSlideRight, xfxPanSlideLeft,
	xfxVolVibrato, xfxTremor,
	xfxPitchVibrato, xfxArpeggio,
	xfxNoteCut, xfxRetrig,
	xfxOffset, xfxEnvPos,
	xfxDelay, xfxSetFinetune
};

#endif
Results 1 - 1
Help - FTP Sites List - Software Dir.
Searching half a billion files worldwide
© 1997-2009 MARUHN Internet Solutions