Implement sound out to file

This commit is contained in:
Matthias Neeracher 2006-11-27 07:03:07 +00:00
parent 5359a95757
commit fbf53052e3

View File

@ -10,18 +10,46 @@
#include "VLSoundOut.h"
#include <iostream>
#include <CoreFoundation/CoreFoundation.h>
int main(int, char *const [])
int main(int argc, char *const argv[])
{
std::string chordName;
VLSoundOut * soundOut = VLSoundOut::Instance();
while (std::cin >> chordName) {
VLChord chord(chordName);
VLSoundOut * soundOut = NULL;
soundOut->PlayNote(chord);
usleep(250*1000);
soundOut->PlayChord(chord);
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);