Nugget
Loading...
Searching...
No Matches
Classes | Macros | Functions | Variables
psmplayer.c File Reference
#include "psmplayer/psmplayer.h"
#include <stddef.h>
#include <stdint.h>
#include "common/hardware/dma.h"
#include "common/hardware/spu.h"
Include dependency graph for psmplayer.c:

Classes

struct  PsmHeader
 
struct  PsmEvent
 
struct  VabHdr
 
struct  ProgAtr
 
struct  VagAtr
 
struct  Voice
 
struct  ChannelState
 
struct  ReverbPreset
 

Macros

#define PSM_NOTE_ON   0x00
 
#define PSM_NOTE_OFF   0x01
 
#define PSM_PITCH_BEND   0x02
 
#define PSM_CC_VOLUME   0x03
 
#define PSM_CC_PAN   0x04
 
#define PSM_CC_EXPRESSION   0x05
 
#define PSM_CC_SUSTAIN   0x06
 
#define PSM_CC_MODULATION   0x07
 
#define PSM_CC_REVERB   0x08
 
#define PSM_PROGRAM_CHANGE   0x09
 
#define PSM_TEMPO_CHANGE   0x0A
 
#define PSM_LOOP_POINT   0x0B
 
#define PSM_END   0x0C
 
#define PSM_LONG_WAIT   0xFF
 
#define MAX_VOICES   24
 
#define MAX_VAGS   254
 
#define REVERB_PRESET_COUNT   5
 
#define SPU_REVERB_CFG_BASE   0x1f801dc0
 

Functions

unsigned PSM_LoadBank (const void *vabData, uint32_t vabSize)
 
unsigned PSM_LoadBankEx (const void *vhData, uint32_t vhSize, const void *vbData, uint32_t vbSize)
 
uint32_t PSM_LoadSong (const void *psmData, uint32_t psmSize)
 
void PSM_Poll (void)
 
void PSM_Silence (void)
 

Variables

uint32_t PSM_hblanks = 0
 
unsigned PSM_voiceCount = 16
 
uint32_t PSM_currentEvent = 0
 
uint32_t PSM_eventCount = 0
 
int PSM_playing = 0
 

Macro Definition Documentation

◆ MAX_VAGS

#define MAX_VAGS   254

◆ MAX_VOICES

#define MAX_VOICES   24

◆ PSM_CC_EXPRESSION

#define PSM_CC_EXPRESSION   0x05

◆ PSM_CC_MODULATION

#define PSM_CC_MODULATION   0x07

◆ PSM_CC_PAN

#define PSM_CC_PAN   0x04

◆ PSM_CC_REVERB

#define PSM_CC_REVERB   0x08

◆ PSM_CC_SUSTAIN

#define PSM_CC_SUSTAIN   0x06

◆ PSM_CC_VOLUME

#define PSM_CC_VOLUME   0x03

◆ PSM_END

#define PSM_END   0x0C

◆ PSM_LONG_WAIT

#define PSM_LONG_WAIT   0xFF

◆ PSM_LOOP_POINT

#define PSM_LOOP_POINT   0x0B

◆ PSM_NOTE_OFF

#define PSM_NOTE_OFF   0x01

◆ PSM_NOTE_ON

#define PSM_NOTE_ON   0x00

◆ PSM_PITCH_BEND

#define PSM_PITCH_BEND   0x02

◆ PSM_PROGRAM_CHANGE

#define PSM_PROGRAM_CHANGE   0x09

◆ PSM_TEMPO_CHANGE

#define PSM_TEMPO_CHANGE   0x0A

◆ REVERB_PRESET_COUNT

#define REVERB_PRESET_COUNT   5

◆ SPU_REVERB_CFG_BASE

#define SPU_REVERB_CFG_BASE   0x1f801dc0

Function Documentation

◆ PSM_LoadBank()

unsigned PSM_LoadBank ( const void vabData,
uint32_t  vabSize 
)

◆ PSM_LoadBankEx()

unsigned PSM_LoadBankEx ( const void vhData,
uint32_t  vhSize,
const void vbData,
uint32_t  vbSize 
)

◆ PSM_LoadSong()

uint32_t PSM_LoadSong ( const void psmData,
uint32_t  psmSize 
)

◆ PSM_Poll()

void PSM_Poll ( void  )

◆ PSM_Silence()

void PSM_Silence ( void  )

Variable Documentation

◆ PSM_currentEvent

uint32_t PSM_currentEvent = 0

◆ PSM_eventCount

uint32_t PSM_eventCount = 0

◆ PSM_hblanks

uint32_t PSM_hblanks = 0

◆ PSM_playing

int PSM_playing = 0

◆ PSM_voiceCount

unsigned PSM_voiceCount = 16