MADErr PPExportFile(MADLibrary *inMADDriver, char *kindFile, char *AlienFile, MADMusic *theNewMAD) { int i; MADInfoRec InfoRec; for (i = 0; i < inMADDriver->TotalPlug; i++) { if (!strcmp(kindFile, inMADDriver->ThePlug[i].type)) { return CallImportPlug(inMADDriver, i, MADPlugExport, AlienFile, theNewMAD, &InfoRec); } } return MADCannotFindPlug; }
OSErr PPExportFile( MADLibrary *inMADDriver, char *kindFile, char *AlienFile, MADMusic *theNewMAD) { short i; PPInfoRec InfoRec; for( i = 0; i < inMADDriver->TotalPlug; i++) { if( !MADstrcmp( kindFile, inMADDriver->ThePlug[ i].type)) { return( CallImportPlug( inMADDriver, i, 'EXPL', AlienFile, theNewMAD, &InfoRec)); } } return MADCannotFindPlug; }
OSErr PPTestFile( MADLibrary *inMADDriver, char *kindFile, char *AlienFile) { short i; MADMusic aMAD; PPInfoRec InfoRec; for( i = 0; i < inMADDriver->TotalPlug; i++) { if( !MADstrcmp( kindFile, inMADDriver->ThePlug[ i].type)) { return( CallImportPlug( inMADDriver, i, 'TEST', AlienFile, &aMAD, &InfoRec)); } } return MADCannotFindPlug; }
MADErr PPInfoFile(MADLibrary *inMADDriver, char *kindFile, char *AlienFile, MADInfoRec *InfoRec) { int i; MADMusic aMAD; if (!strcmp(kindFile, "MADK")) { return PPMADInfoFile(AlienFile, InfoRec); } for (i = 0; i < inMADDriver->TotalPlug; i++) { if (!strcmp(kindFile, inMADDriver->ThePlug[i].type)) { return CallImportPlug(inMADDriver, i, MADPlugInfo, AlienFile, &aMAD, InfoRec); } } return MADCannotFindPlug; }
MADErr PPImportFile(MADLibrary *inMADDriver, char *kindFile, char *AlienFile, MADMusic **theNewMAD) { int i; MADInfoRec InfoRec; for (i = 0; i < inMADDriver->TotalPlug; i++) { if (!strcmp(kindFile, inMADDriver->ThePlug[i].type)) { *theNewMAD = (MADMusic*) calloc(sizeof(MADMusic), 1); if (!theNewMAD) { return MADNeedMemory; } return CallImportPlug(inMADDriver, i, MADPlugImport, AlienFile, *theNewMAD, &InfoRec); } } return MADCannotFindPlug; }
OSErr PPImportFile( MADLibrary *inMADDriver, char *kindFile, char *AlienFile, MADMusic **theNewMAD) { short i; PPInfoRec InfoRec; for( i = 0; i < inMADDriver->TotalPlug; i++) { if( !MADstrcmp( kindFile, inMADDriver->ThePlug[ i].type)) { *theNewMAD = (MADMusic*) MADNewPtrClear( sizeof( MADMusic), inMADDriver); if( !*theNewMAD) return -1L; return( CallImportPlug( inMADDriver, i, 'IMPL', AlienFile, *theNewMAD, &InfoRec)); } } return MADCannotFindPlug; }
OSErr PPInfoFile( MADLibrary *inMADDriver, char *kindFile, char *AlienFile, PPInfoRec *InfoRec) { short i; MADMusic aMAD; if( !strcmp( kindFile, "MADK")) { PPMADInfoFile( AlienFile, InfoRec); return noErr; } for( i = 0; i < inMADDriver->TotalPlug; i++) { if( !strcmp( kindFile, inMADDriver->ThePlug[ i].type)) { return( CallImportPlug( inMADDriver, i, 'INFO', AlienFile, &aMAD, InfoRec)); } } return MADCannotFindPlug; }
OSErr PPIdentifyFile( MADLibrary *inMADDriver, char *type, char *AlienFile) { UNFILE refNum; short i; PPInfoRec InfoRec; OSErr iErr = noErr; strcpy( type, "!!!!"); // Check if we have access to this file refNum = iFileOpen( AlienFile); if( !refNum) return -1; else { if( iGetEOF( refNum) < 100) iErr = -36; iClose( refNum); if( iErr) return iErr; } // Is it a MAD file? iErr = CheckMADFile( AlienFile); if( iErr == noErr) { strcpy( type, "MADK"); return noErr; } for( i = 0; i < inMADDriver->TotalPlug; i++) { if( CallImportPlug( inMADDriver, i, 'TEST', AlienFile, NULL, &InfoRec) == noErr) { strcpy( type, inMADDriver->ThePlug[ i].type); return noErr; } } strcpy( type, "!!!!"); return MADCannotFindPlug; }
MADErr PPIdentifyFile(MADLibrary *inMADDriver, char *type, char *AlienFile) { UNFILE refNum; int i; MADInfoRec InfoRec; MADErr iErr = MADNoErr; strcpy(type, "!!!!"); // Check if we have access to this file refNum = iFileOpenRead(AlienFile); if (!refNum) return MADReadingErr; else { if (iGetEOF(refNum) < 100) iErr = MADIncompatibleFile; iClose(refNum); if (iErr) return iErr; } // Is it a MAD file? iErr = CheckMADFile(AlienFile); if (iErr == MADNoErr) { strcpy(type, "MADK"); return MADNoErr; } for (i = 0; i < inMADDriver->TotalPlug; i++) { if (CallImportPlug(inMADDriver, i, MADPlugTest, AlienFile, NULL, &InfoRec) == MADNoErr) { strcpy(type, inMADDriver->ThePlug[i].type); return MADNoErr; } } strcpy(type, "!!!!"); return MADCannotFindPlug; }