Diff for /np2/sound/vermouth/midimod.c between versions 1.2 and 1.5

version 1.2, 2003/10/18 01:21:58 version 1.5, 2005/02/07 14:46:13
Line 71  static int cfggetarg(char *str, char *ar Line 71  static int cfggetarg(char *str, char *ar
         int             ret;          int             ret;
         BOOL    quot;          BOOL    quot;
         char    *p;          char    *p;
         BYTE    c;          UINT8   c;
   
         ret = 0;          ret = 0;
         while(maxarg--) {          while(maxarg--) {
Line 193  static void settone(MIDIMOD mod, int ban Line 193  static void settone(MIDIMOD mod, int ban
         int             i;          int             i;
         char    *key;          char    *key;
         char    *data;          char    *data;
         BYTE    flag;          UINT8   flag;
   
         if ((bank < 0) || (bank >= (MIDI_BANKS * 2)) || (argc < 2) ||          if ((bank < 0) || (bank >= (MIDI_BANKS * 2)) || (argc < 2) ||
                 (cfggetval(argv[0], &val) != SUCCESS) || (val < 0) || (val >= 128)) {                  (cfggetval(argv[0], &val) != SUCCESS) || (val < 0) || (val >= 128)) {
Line 227  static void settone(MIDIMOD mod, int ban Line 227  static void settone(MIDIMOD mod, int ban
         }          }
         else {                                                          // for drums          else {                                                          // for drums
                 flag |= TONECFG_NOLOOP | TONECFG_NOENV;                  flag |= TONECFG_NOLOOP | TONECFG_NOENV;
                 tone->note = (BYTE)val;                  tone->note = (UINT8)val;
         }          }
   
         for (i=2; i<argc; i++) {          for (i=2; i<argc; i++) {
Line 260  static void settone(MIDIMOD mod, int ban Line 260  static void settone(MIDIMOD mod, int ban
                 else if (!milstr_cmp(key, str_note)) {                  else if (!milstr_cmp(key, str_note)) {
                         if ((cfggetval(data, &val) == SUCCESS) &&                          if ((cfggetval(data, &val) == SUCCESS) &&
                                 (val >= 0) && (val < 128)) {                                  (val >= 0) && (val < 128)) {
                                 tone->note = (BYTE)val;                                  tone->note = (UINT8)val;
                         }                          }
                 }                  }
                 else if (!milstr_cmp(key, str_pan)) {                  else if (!milstr_cmp(key, str_pan)) {
Line 288  static void settone(MIDIMOD mod, int ban Line 288  static void settone(MIDIMOD mod, int ban
                         else {                          else {
                                 continue;                                  continue;
                         }                          }
                         tone->pan = (BYTE)val;                          tone->pan = (UINT8)val;
                 }                  }
                 else if (!milstr_cmp(key, str_strip)) {                  else if (!milstr_cmp(key, str_strip)) {
                         if (!milstr_cmp(data, str_env)) {                          if (!milstr_cmp(data, str_env)) {
Line 357  BOOL cfgfile_load(MIDIMOD mod, const cha Line 357  BOOL cfgfile_load(MIDIMOD mod, const cha
                 goto cfl_err;                  goto cfl_err;
         }          }
         while(textfile_read(tfh, buf, sizeof(buf)) == SUCCESS) {          while(textfile_read(tfh, buf, sizeof(buf)) == SUCCESS) {
                 argc = cfggetarg(buf, argv, sizeof(argv)/sizeof(char *));                  argc = cfggetarg(buf, argv, NELEMENTS(argv));
                 if (argc < 2) {                  if (argc < 2) {
                         continue;                          continue;
                 }                  }
                 cfg = 0;                  cfg = 0;
                 while(cfg < (sizeof(cfgstr)/sizeof(char *))) {                  while(cfg < NELEMENTS(cfgstr)) {
                         if (!milstr_cmp(argv[0], cfgstr[cfg])) {                          if (!milstr_cmp(argv[0], cfgstr[cfg])) {
                                 break;                                  break;
                         }                          }
Line 423  MIDIMOD midimod_create(UINT samprate) { Line 423  MIDIMOD midimod_create(UINT samprate) {
         size += sizeof(INSTRUMENT) * 128 * 2;          size += sizeof(INSTRUMENT) * 128 * 2;
         size += sizeof(_TONECFG) * 128 * 2;          size += sizeof(_TONECFG) * 128 * 2;
         ret = (MIDIMOD)_MALLOC(size, "MIDIMOD");          ret = (MIDIMOD)_MALLOC(size, "MIDIMOD");
         if (ret) {          if (ret == NULL) {
                 ZeroMemory(ret, size);                  goto mmcre_err1;
                 ret->samprate = samprate;          }
                 ret->tone[0] = (INSTRUMENT *)(ret + 1);          ZeroMemory(ret, size);
                 ret->tone[1] = ret->tone[0] + 128;          ret->samprate = samprate;
                 ret->tonecfg[0] = (TONECFG)(ret->tone[1] + 128);          ret->tone[0] = (INSTRUMENT *)(ret + 1);
                 ret->tonecfg[1] = ret->tonecfg[0] + 128;          ret->tone[1] = ret->tone[0] + 128;
                 ret->pathtbl = listarray_new(sizeof(_PATHLIST), 64);          ret->tonecfg[0] = (TONECFG)(ret->tone[1] + 128);
                 pathadd(ret, NULL);          ret->tonecfg[1] = ret->tonecfg[0] + 128;
                 pathadd(ret, file_getcd(str_null));          ret->pathtbl = listarray_new(sizeof(_PATHLIST), 64);
                 ret->namelist = listarray_new(MAX_NAME, 128);          pathadd(ret, NULL);
                 r = cfgfile_load(ret, file_timiditycfg, 0);          pathadd(ret, file_getcd(str_null));
           ret->namelist = listarray_new(MAX_NAME, 128);
           r = cfgfile_load(ret, file_timiditycfg, 0);
 #if defined(TIMIDITY_CFGFILE)  #if defined(TIMIDITY_CFGFILE)
                 if (r != SUCCESS) {          if (r != SUCCESS) {
                         r = cfgfile_load(ret, TIMIDITY_CFGFILE, 0);                  r = cfgfile_load(ret, TIMIDITY_CFGFILE, 0);
                 }          }
 #endif  #endif
           if (r != SUCCESS) {
                   goto mmcre_err2;
         }          }
         return(ret);          return(ret);
   
   mmcre_err2:
           listarray_destroy(ret->namelist);
           listarray_destroy(ret->pathtbl);
           _MFREE(ret);
   
   mmcre_err1:
           return(NULL);
 }  }
   
 void midimod_destroy(MIDIMOD hdl) {  void midimod_destroy(MIDIMOD hdl) {
Line 493  void midimod_loadrhythm(MIDIMOD hdl, UIN Line 505  void midimod_loadrhythm(MIDIMOD hdl, UIN
         }          }
 }  }
   
   void midimod_loadgm(MIDIMOD hdl) {
   
           if (hdl) {
                   inst_bankload(hdl, 0);
                   inst_bankload(hdl, 1);
           }
   }
   
   void midimod_loadall(MIDIMOD hdl) {
   
           UINT    b;
   
           if (hdl) {
                   for (b=0; b<(MIDI_BANKS*2); b++) {
                           inst_bankload(hdl, b);
                   }
           }
   }
   

Removed from v.1.2  
changed lines
  Added in v.1.5


RetroPC.NET-CVS <cvs@retropc.net>