mirror of
https://github.com/microtherion/VocalEasel.git
synced 2024-12-22 11:14: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 "VLSoundOut.h"
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
#include <CoreFoundation/CoreFoundation.h>
|
||||||
|
|
||||||
int main(int, char *const [])
|
int main(int argc, char *const argv[])
|
||||||
{
|
{
|
||||||
std::string chordName;
|
VLSoundOut * soundOut = NULL;
|
||||||
VLSoundOut * soundOut = VLSoundOut::Instance();
|
|
||||||
|
|
||||||
while (std::cin >> chordName) {
|
if (argc > 2) {
|
||||||
VLChord chord(chordName);
|
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();
|
||||||
|
}
|
||||||
|
|
||||||
soundOut->PlayNote(chord);
|
if (argc > 1) {
|
||||||
usleep(250*1000);
|
CFStringRef inFile =
|
||||||
soundOut->PlayChord(chord);
|
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);
|
exit(0);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user