AssetMgr.h 1.81 KB

#ifndef _AE_AssetMgr_h
#define _AE_AssetMgr_h

#include "Assets.h"


class AssetMgr
{
  protected:
    AssetList   *assetList; 
    RefList     *bankFList;
    AEReverb    *reverbAsset;
    int         numBankFiles;
    int         numBanks;
    int         numInsts;
    int         numSounds;
    int         numKeymaps;
    int         numEnvlps;
    int         numWavets;
    int         numLoops;
    int         numBooks;

  public:

    AssetMgr();    
   
    AEReverb*    CreateReverb(void);
    AEBankFile*  CreateBankFile(char *name);
    AEBank*      CreateBank(char *name);
    AEInst*      CreateInst(char *name);
    AESound*     CreateSound(char *name);
    AEKeymap*    CreateKeymap(char *name);
    AEEnvlp*     CreateEnvlp(char *name);
    AEWavet*     CreateWavet(char *name);
    AELoop*      CreateLoop(char *name);
    AEBook*      CreateBook(char *name);

    int          DeleteReverb(AEReverb *reverb);
    int          DeleteBankFile(AEBankFile *bankF);
    int          DeleteBank(AEBank *bank);
    int          DeleteInst(AEInst *inst);
    int          DeleteSound(AESound *sound);
    int          DeleteKeymap(AEKeymap *keymap);
    int          DeleteEnvlp(AEEnvlp *envlp);
    int          DeleteWavet(AEWavet *wavet);
    int          DeleteLoop(AELoop *loop);
    int          DeleteBook(AEBook *book);

    AEReverb*      GetReverb(void);
    AssetPair*     ListAssets(int *numFound);
    AssetPair*     ListBankFiles(int *numFound);
    AssetPair*     ListBanks(int *numFound);
    AssetPair*     ListInsts(int *numFound);
    AssetPair*     ListSounds(int *numFound);
    AssetPair*     ListKeymaps(int *numFound);
    AssetPair*     ListEnvlps(int *numFound);
    AssetPair*     ListWavets(int *numFound);
    AssetPair*     ListLoops(int *numFound);
    AssetPair*     ListBooks(int *numFound);

};


#endif