void CAAudioFileFormats::DataFormatInfo::DebugPrint() { char buf[20]; static char *ny[] = { "not ", "" }; printf(" '%s': %sreadable %swritable\n", OSTypeToStr(buf, mFormatID), ny[mReadable], ny[mWritable]); for (int i = 0; i < mNumVariants; ++i) { CAStreamBasicDescription desc(mVariants[i]); desc.PrintFormat(stdout, " ", ""); //printf(" %d bytes/frame\n", desc.mBytesPerFrame); } }
void PrintFileFormats() { CAAudioFileFormats *fileFormats = CAAudioFileFormats::Instance(); printf("{\n"); for (int i = 0; i < fileFormats->mNumFileFormats; ++i) { CAAudioFileFormats::FileFormatInfo *ffi = &fileFormats->mFileFormats[i]; char buf[20]; printf("'%s' : ( (", OSTypeToStr(buf, ffi->mFileTypeID)); int next = ffi->NumberOfExtensions(); for (int e = 0; e < next; ++e) printf("'%s', ", ffi->GetExtension(e, buf, sizeof(buf))); printf("), ("); for (int j = 0; j < ffi->mNumDataFormats; ++j) { CAAudioFileFormats::DataFormatInfo *dfi = &ffi->mDataFormats[j]; if (dfi->mFormatID == kAudioFormatLinearPCM) { for (int k = 0; k < dfi->mNumVariants; ++k) { AudioStreamBasicDescription *asbd = &dfi->mVariants[k]; if (asbd->mFormatFlags & ~(kAudioFormatFlagIsPacked | kAudioFormatFlagIsSignedInteger | kAudioFormatFlagIsBigEndian | kAudioFormatFlagIsFloat)) printf("(%08lx/%ld) ", asbd->mFormatFlags, asbd->mBitsPerChannel); else { printf("'%s", (asbd->mFormatFlags & kAudioFormatFlagIsBigEndian) ? "BE" : "LE"); if (asbd->mFormatFlags & kAudioFormatFlagIsFloat) printf("F"); else printf("%sI", (asbd->mFormatFlags & kAudioFormatFlagIsSignedInteger) ? "" : "U"); printf("%ld', ", asbd->mBitsPerChannel); } } } else { printf("'%s', ", OSTypeToStr(buf, dfi->mFormatID)); } } printf(")),\n"); } printf("}\n"); }
void CAAudioFileFormats::FileFormatInfo::DebugPrint() { char ftype[20]; char ftypename[64]; CFStringGetCString(mFileTypeName, ftypename, sizeof(ftypename), kCFStringEncodingUTF8); printf("File type: '%s' = %s\n Extensions:", OSTypeToStr(ftype, mFileTypeID), ftypename); int i, n = NumberOfExtensions(); for (i = 0; i < n; ++i) { GetExtension(i, ftype, sizeof(ftype)); printf(" .%s", ftype); } printf("\n Formats:\n"); for (i = 0; i < mNumDataFormats; ++i) mDataFormats[i].DebugPrint(); }
static OSErr PrintCreatorCode (FSRef *fileRef) { FSSpec fileSpec; FInfo finderInfo; OSErr err = noErr; char creatorType[5] = "\0"; //if it's a folder if (IsFolder(fileRef)) { printf("MACS\n"); return 0; } // retrieve filespec from file ref err = FSGetCatalogInfo (fileRef, NULL, NULL, NULL, &fileSpec, NULL); if (err != noErr) { fprintf(stderr, "FSGetCatalogInfo(): Error %d getting file spec from file reference\n", err); return err; } // get Finder File Info err = FSGetFInfo (fileRef, &finderInfo); if (err != noErr) { fprintf(stderr, "FSpGetFInfo(): Error %d getting file Finder File Info from file spec\n", err); return err; } /* get creator type string */ OSTypeToStr(finderInfo.fdCreator, creatorType); //print it if (strlen(creatorType) != 0) printf("%s\n", creatorType); return 0; }