/* * TVLSoundOut.cpp * Vocalese * * Created by Matthias Neeracher on 12/19/05. * Copyright 2005 __MyCompanyName__. All rights reserved. * */ #include "VLSoundOut.h" #include #include int main(int argc, char *const argv[]) { VLSoundOut * soundOut = NULL; if (argc > 2) { CFStringRef outFile = CFStringCreateWithCString(NULL, argv[2], kCFStringEncodingUTF8); CFURLRef outURL = CFURLCreateWithFileSystemPath(NULL, outFile, kCFURLPOSIXPathStyle, false); soundOut = VLSoundOut::FileWriter(outURL, 0); CFRelease(outURL); CFRelease(outFile); } else { soundOut = VLSoundOut::Instance(); } if (argc > 1) { CFStringRef inFile = CFStringCreateWithCString(NULL, argv[1], kCFStringEncodingUTF8); CFURLRef inURL = CFURLCreateWithFileSystemPath(NULL, inFile, kCFURLPOSIXPathStyle, false); CFDataRef inData; CFURLCreateDataAndPropertiesFromResource(NULL, inURL, &inData, NULL, NULL, NULL); soundOut->PlayFile(inData); CFRelease(inData); CFRelease(inURL); CFRelease(inFile); } else { std::string chordName; while (std::cin >> chordName) { VLChord chord(chordName); soundOut->PlayNote(chord); usleep(250*1000); soundOut->PlayChord(chord); } } exit(0); }