mirror of
https://github.com/microtherion/VocalEasel.git
synced 2024-12-22 03:04:00 +00:00
Implement sound out to file
This commit is contained in:
parent
5359a95757
commit
fbf53052e3
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue
Block a user