GioMgr.h 1.15 KB

#ifndef _AE_GioMgr_h
#define _AE_GioMgr_h

#include <ulocks.h>

#include "AudioApp.h"

#define PARAMS_PER_SECTION   8  // the number of parameters for each section of a 
                                // custom effect.

class GioMgr
{
  protected:
    int      u64fd;
    usema_t  *giosema;
    usptr_t  *gioarena;
    
    int    _ReadValue(int *valPtr);
    int    _loadblock(u8 *addr, u8 *data, u32 nBytes);

  public:
    GioMgr();
    ~GioMgr();

    int    LoadCode(void);
    int    InitAudio(AudioConfig *audCfg, u8 **bmemStart, u8 **bmemEnd, u8 **smemStart);
    int    SetBank(char *bnkfaddr, int bankNum);
    int    StartAudio(void);

    int    LoadMidi(CommPckt *commPckt);
    int    LoadBlock(u8 *addr, u8 *data, u32 nBytes);
    int    LoadChar(u8 *addr, u8 data);
    int    LoadWord(u8 *addr, u16 data);
    int    LoadLong(u8 *addr, u32 data);
    int    LoadSamples(u8 *addr, char *data,int nBytes);

    int    LoadInstVol(u8 *addr, int vol);
    int    LoadInstPan(u8 *addr, int pan);
    int    LoadInstPriority(u8 *addr, int priority);
    int    LoadInstBendRange(u8 *addr, int bendRange);
    int    LoadFXParam(int paramID, int paramVal);
};


#endif