xmp.h | xmp.h | |||
---|---|---|---|---|
#ifndef XMP_H | #ifndef XMP_H | |||
#define XMP_H | #define XMP_H | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
extern "C" { | extern "C" { | |||
#endif | #endif | |||
#define XMP_VERSION "4.1.5" | #define XMP_VERSION "4.2.0" | |||
#define XMP_VERCODE 0x040105 | #define XMP_VERCODE 0x040200 | |||
#define XMP_VER_MAJOR 4 | #define XMP_VER_MAJOR 4 | |||
#define XMP_VER_MINOR 1 | #define XMP_VER_MINOR 2 | |||
#define XMP_VER_RELEASE 5 | #define XMP_VER_RELEASE 0 | |||
#if defined(_WIN32) && !defined(__CYGWIN__) | #if defined(_WIN32) && !defined(__CYGWIN__) | |||
# ifdef BUILDING_DLL | # ifdef BUILDING_DLL | |||
# define EXPORT __declspec(dllexport) | # define EXPORT __declspec(dllexport) | |||
# else | # else | |||
# define EXPORT __declspec(dllimport) | # define EXPORT __declspec(dllimport) | |||
# endif | # endif | |||
#elif __GNUC__ >= 4 || defined(__HP_cc) | #elif __GNUC__ >= 4 || defined(__HP_cc) | |||
# define EXPORT __attribute__((visibility ("default"))) | # define EXPORT __attribute__((visibility ("default"))) | |||
#elif defined(__SUNPRO_C) | #elif defined(__SUNPRO_C) | |||
skipping to change at line 49 | skipping to change at line 49 | |||
#define XMP_FORMAT_MONO (1 << 2) /* Mix to mono instead of s tereo */ | #define XMP_FORMAT_MONO (1 << 2) /* Mix to mono instead of s tereo */ | |||
/* mixer paramters for xmp_set_player() */ | /* mixer paramters for xmp_set_player() */ | |||
#define XMP_PLAYER_AMP 0 /* Amplification factor */ | #define XMP_PLAYER_AMP 0 /* Amplification factor */ | |||
#define XMP_PLAYER_MIX 1 /* Stereo mixing */ | #define XMP_PLAYER_MIX 1 /* Stereo mixing */ | |||
#define XMP_PLAYER_INTERP 2 /* Interpolation type */ | #define XMP_PLAYER_INTERP 2 /* Interpolation type */ | |||
#define XMP_PLAYER_DSP 3 /* DSP effect flags */ | #define XMP_PLAYER_DSP 3 /* DSP effect flags */ | |||
#define XMP_PLAYER_FLAGS 4 /* Player flags */ | #define XMP_PLAYER_FLAGS 4 /* Player flags */ | |||
#define XMP_PLAYER_CFLAGS 5 /* Player flags for current module * / | #define XMP_PLAYER_CFLAGS 5 /* Player flags for current module * / | |||
#define XMP_PLAYER_SMPCTL 6 /* Sample control flags */ | #define XMP_PLAYER_SMPCTL 6 /* Sample control flags */ | |||
#define XMP_PLAYER_VOLUME 7 /* Player module volume */ | ||||
#define XMP_PLAYER_STATE 8 /* Internal player state */ | ||||
#define XMP_PLAYER_SMIX_VOLUME 9 /* SMIX volume */ | ||||
/* interpolation types */ | /* interpolation types */ | |||
#define XMP_INTERP_NEAREST 0 /* Nearest neighbor */ | #define XMP_INTERP_NEAREST 0 /* Nearest neighbor */ | |||
#define XMP_INTERP_LINEAR 1 /* Linear (default) */ | #define XMP_INTERP_LINEAR 1 /* Linear (default) */ | |||
#define XMP_INTERP_SPLINE 2 /* Cubic spline */ | #define XMP_INTERP_SPLINE 2 /* Cubic spline */ | |||
/* dsp effect types */ | /* dsp effect types */ | |||
#define XMP_DSP_LOWPASS (1 << 0) /* Lowpass filter effect */ | #define XMP_DSP_LOWPASS (1 << 0) /* Lowpass filter effect */ | |||
#define XMP_DSP_ALL (XMP_DSP_LOWPASS) | #define XMP_DSP_ALL (XMP_DSP_LOWPASS) | |||
/* player state */ | ||||
#define XMP_STATE_UNLOADED 0 /* Context created */ | ||||
#define XMP_STATE_LOADED 1 /* Module loaded */ | ||||
#define XMP_STATE_PLAYING 2 /* Module playing */ | ||||
/* player flags */ | /* player flags */ | |||
#define XMP_FLAGS_VBLANK (1 << 0) /* Use vblank timing */ | #define XMP_FLAGS_VBLANK (1 << 0) /* Use vblank timing */ | |||
#define XMP_FLAGS_FX9BUG (1 << 1) /* Emulate FX9 bug */ | #define XMP_FLAGS_FX9BUG (1 << 1) /* Emulate FX9 bug */ | |||
#define XMP_FLAGS_FIXLOOP (1 << 2) /* Emulate sample loop bug */ | #define XMP_FLAGS_FIXLOOP (1 << 2) /* Emulate sample loop bug */ | |||
/* sample flags */ | /* sample flags */ | |||
#define XMP_SMPCTL_SKIP (1 << 0) /* Don't load samples */ | #define XMP_SMPCTL_SKIP (1 << 0) /* Don't load samples */ | |||
/* limits */ | /* limits */ | |||
#define XMP_MAX_KEYS 121 /* Number of valid keys */ | #define XMP_MAX_KEYS 121 /* Number of valid keys */ | |||
skipping to change at line 87 | skipping to change at line 95 | |||
#define XMP_MAX_FRAMESIZE (5 * XMP_MAX_SRATE * 2 / XMP_MIN_BPM) | #define XMP_MAX_FRAMESIZE (5 * XMP_MAX_SRATE * 2 / XMP_MIN_BPM) | |||
/* error codes */ | /* error codes */ | |||
#define XMP_END 1 | #define XMP_END 1 | |||
#define XMP_ERROR_INTERNAL 2 /* Internal error */ | #define XMP_ERROR_INTERNAL 2 /* Internal error */ | |||
#define XMP_ERROR_FORMAT 3 /* Unsupported module format */ | #define XMP_ERROR_FORMAT 3 /* Unsupported module format */ | |||
#define XMP_ERROR_LOAD 4 /* Error loading file */ | #define XMP_ERROR_LOAD 4 /* Error loading file */ | |||
#define XMP_ERROR_DEPACK 5 /* Error depacking file */ | #define XMP_ERROR_DEPACK 5 /* Error depacking file */ | |||
#define XMP_ERROR_SYSTEM 6 /* System error */ | #define XMP_ERROR_SYSTEM 6 /* System error */ | |||
#define XMP_ERROR_INVALID 7 /* Invalid parameter */ | #define XMP_ERROR_INVALID 7 /* Invalid parameter */ | |||
#define XMP_ERROR_STATE 8 /* Invalid player state */ | ||||
struct xmp_channel { | struct xmp_channel { | |||
int pan; /* Channel pan (0x80 is center) */ | int pan; /* Channel pan (0x80 is center) */ | |||
int vol; /* Channel volume */ | int vol; /* Channel volume */ | |||
#define XMP_CHANNEL_SYNTH (1 << 0) /* Channel is synthesized */ | #define XMP_CHANNEL_SYNTH (1 << 0) /* Channel is synthesized */ | |||
#define XMP_CHANNEL_MUTE (1 << 1) /* Channel is muted */ | #define XMP_CHANNEL_MUTE (1 << 1) /* Channel is muted */ | |||
int flg; /* Channel flags */ | int flg; /* Channel flags */ | |||
}; | }; | |||
struct xmp_pattern { | struct xmp_pattern { | |||
skipping to change at line 303 | skipping to change at line 312 | |||
EXPORT int xmp_prev_position (xmp_context); | EXPORT int xmp_prev_position (xmp_context); | |||
EXPORT int xmp_set_position (xmp_context, int); | EXPORT int xmp_set_position (xmp_context, int); | |||
EXPORT void xmp_stop_module (xmp_context); | EXPORT void xmp_stop_module (xmp_context); | |||
EXPORT void xmp_restart_module (xmp_context); | EXPORT void xmp_restart_module (xmp_context); | |||
EXPORT int xmp_seek_time (xmp_context, int); | EXPORT int xmp_seek_time (xmp_context, int); | |||
EXPORT int xmp_channel_mute (xmp_context, int, int); | EXPORT int xmp_channel_mute (xmp_context, int, int); | |||
EXPORT int xmp_channel_vol (xmp_context, int, int); | EXPORT int xmp_channel_vol (xmp_context, int, int); | |||
EXPORT int xmp_set_player (xmp_context, int, int); | EXPORT int xmp_set_player (xmp_context, int, int); | |||
EXPORT int xmp_get_player (xmp_context, int); | EXPORT int xmp_get_player (xmp_context, int); | |||
EXPORT int xmp_set_instrument_path (xmp_context, char *); | EXPORT int xmp_set_instrument_path (xmp_context, char *); | |||
EXPORT int xmp_load_module_from_memory (xmp_context, void *, long); | ||||
/* External sample mixer API */ | ||||
EXPORT int xmp_start_smix (xmp_context, int, int); | ||||
EXPORT void xmp_end_smix (xmp_context); | ||||
EXPORT int xmp_smix_play_instrument(xmp_context, int, int, int, int | ||||
); | ||||
EXPORT int xmp_smix_play_sample (xmp_context, int, int, int, int); | ||||
EXPORT int xmp_smix_channel_pan (xmp_context, int, int); | ||||
EXPORT int xmp_smix_load_sample (xmp_context, int, char *); | ||||
EXPORT int xmp_smix_release_sample (xmp_context, int); | ||||
#ifdef __cplusplus | #ifdef __cplusplus | |||
} | } | |||
#endif | #endif | |||
#endif /* XMP_H */ | #endif /* XMP_H */ | |||
End of changes. 6 change blocks. | ||||
4 lines changed or deleted | 24 lines changed or added | |||