Diff for /np2/macosx/dialog/midiopt.cpp between versions 1.1 and 1.2

version 1.1, 2003/10/31 16:55:06 version 1.2, 2004/03/02 23:23:06
Line 10 Line 10
 #include "np2.h"  #include "np2.h"
 #include "pccore.h"  #include "pccore.h"
 #include "sysmng.h"  #include "sysmng.h"
   #include "dialog.h"
 #include "dialogutils.h"  #include "dialogutils.h"
 #include "midiopt.h"  #include "midiopt.h"
   
Line 18 Line 19
   
 static WindowRef        midiWin;  static WindowRef        midiWin;
 static BYTE                     mpu = 0;  static BYTE                     mpu = 0;
   static COMCFG           mpucfg;
   
   extern const char cmmidi_midimapper[];
   extern char cmmidi_vermouth[];
   extern const char *cmmidi_mdlname[];
   
   static const char *midiout_name[3] = {"", cmmidi_midimapper, cmmidi_vermouth};
   
   static UINT module2number(const char *module) {
   
           UINT    i;
   
           for (i=0; i<12; i++) {
                   if (!milstr_extendcmp(module, cmmidi_mdlname[i])) {
                           break;
                   }
           }
           return(i);
   }
   
   static void setMIMPIFilename(void) {
           ControlRef  conRef = NULL;
           
           conRef = getControlRefByID('mnam', 0, midiWin);
           SetControlData(conRef, kControlNoPart, kControlStaticTextTextTag, strlen(mpucfg.def), mpucfg.def);
           Draw1Control(conRef);
   }
   
   
 static void setMPUs(void) {  static void setMPUs(void) {
           int             data = 1;
           UINT    i;
           
     setControlValue('MPio', 0, ((mpu >> 4) & 15)+1);      setControlValue('MPio', 0, ((mpu >> 4) & 15)+1);
     setControlValue('MPin', 0, (mpu & 3)+1);      setControlValue('MPin', 0, (mpu & 3)+1);
   
           if (!milstr_cmp(mpucfg.mout, cmmidi_midimapper)) {
                   data = 2;
           }
   #if defined(VERMOUTH_LIB)
           else if (!milstr_cmp(mpucfg.mout, cmmidi_vermouth)) {
                   data = 3;
           }
   #endif
       setControlValue('mido', 0, data);
       setControlValue('midi', 0, 1);//Not available
           i = module2number(mpucfg.mdl);
       setControlValue('midm', 0, i+1);
           
           setControlValue('usem', 0, mpucfg.def_en);
           setMIMPIFilename();
 }  }
   
 static pascal OSStatus cfWinproc(EventHandlerCallRef myHandler, EventRef event, void* userData) {  static pascal OSStatus cfWinproc(EventHandlerCallRef myHandler, EventRef event, void* userData) {
Line 35  static pascal OSStatus cfWinproc(EventHa Line 83  static pascal OSStatus cfWinproc(EventHa
         {          {
             case 'MPDF':              case 'MPDF':
                 mpu = 0x82;                  mpu = 0x82;
                                   strcpy(mpucfg.mout, "");
                                   strcpy(mpucfg.min, "");
                                   strcpy(mpucfg.mdl, "GM");
                                   strcpy(mpucfg.def, "");
                                   mpucfg.def_en = 0;
                 setMPUs();                  setMPUs();
                 break;                  break;
                                   
Line 46  static pascal OSStatus cfWinproc(EventHa Line 99  static pascal OSStatus cfWinproc(EventHa
                 setjmper(&mpu, getMenuValue, 0x03);                  setjmper(&mpu, getMenuValue, 0x03);
                 break;                  break;
   
               case 'mido':
                                   strcpy(mpucfg.mout, midiout_name[getMenuValue]);
                   break;
   
               case 'midi':
                                   strcpy(mpucfg.min, midiout_name[getMenuValue]);
                   break;
   
               case 'midm':
                                   strcpy(mpucfg.mdl, cmmidi_mdlname[getMenuValue]);
                   break;
   
               case 'usem':
                                   mpucfg.def_en = GetControl32BitValue(getControlRefByID(cmd.commandID, 0, midiWin));
                   break;
   
               case 'opnm':
                                   dialog_fileselect(mpucfg.def, sizeof(mpucfg.def), NULL, OPEN_MIMPI);
                                   setMIMPIFilename();
                   break;
   
             case kHICommandOK:              case kHICommandOK:
                 update = 0;                  update = 0;
                 if (np2cfg.mpuopt != mpu) {                  if (np2cfg.mpuopt != mpu) {
                     np2cfg.mpuopt = mpu;                      np2cfg.mpuopt = mpu;
                     update |= SYS_UPDATECFG | SYS_UPDATEMIDI;                      update |= SYS_UPDATECFG | SYS_UPDATEMIDI;
                 }                  }
                   if (milstr_extendcmp(np2oscfg.mpu.mout, mpucfg.mout) ||
                                           milstr_extendcmp(np2oscfg.mpu.min, mpucfg.min) ||
                                           milstr_extendcmp(np2oscfg.mpu.mdl, mpucfg.mdl) ||
                                           milstr_extendcmp(np2oscfg.mpu.def, mpucfg.def) ||
                                           (np2oscfg.mpu.def_en != mpucfg.def_en)) {
                       np2oscfg.mpu = mpucfg;
                       update |= SYS_UPDATECFG | SYS_UPDATEMIDI;
                   }
                 sysmng_update(update);                  sysmng_update(update);
                                                                   
                 endLoop(midiWin);                  endLoop(midiWin);
Line 75  static pascal OSStatus cfWinproc(EventHa Line 157  static pascal OSStatus cfWinproc(EventHa
   
 static void initMidiWindow(void) {  static void initMidiWindow(void) {
     mpu = np2cfg.mpuopt;      mpu = np2cfg.mpuopt;
           mpucfg = np2oscfg.mpu;
     uncheckAllPopupMenuItems('MPio', 16, midiWin);      uncheckAllPopupMenuItems('MPio', 16, midiWin);
     uncheckAllPopupMenuItems('MPin', 4, midiWin);      uncheckAllPopupMenuItems('MPin', 4, midiWin);
       uncheckAllPopupMenuItems('mido', 0, midiWin);
       uncheckAllPopupMenuItems('midi', 0, midiWin);
       uncheckAllPopupMenuItems('midm', 0, midiWin);
     setMPUs();      setMPUs();
 }  }
   

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


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