Пример #1
0
int main(int argc, char **argv)
{
    if (argc == 1) {
        cout << "Usage:" << endl;
        cout << argv[0] << " [filename.csd] [instrument number] [ksmps offset]" << endl;
        return -1;
    }

    int ksmpsOffset = atoi(argv[3]);

    Csound* csound = new Csound();
    csound->Compile(2, (const char **)argv);
    csound->Start();
    csoundDebuggerInit(csound->GetCsound());
    csoundSetBreakpointCallback(csound->GetCsound(), brkpt_cb, NULL);

    cout << "Csound filename: " << argv[1] << '\n';
    cout << "Instr number:" << argv[2] << '\n';

    double instr = atof(argv[2]);
    if (instr >= 1.0) {
        csoundSetInstrumentBreakpoint(csound->GetCsound(), instr, ksmpsOffset);
    } else {
        cout << "Invalid instrument breakpoint: " << instr;
    }
    csound->Perform();

    csoundDebuggerClean(csound->GetCsound());
    delete csound;
}
int main()
{
//Create an instance of Csound
Csound* csound = new Csound();

string csdText = "<CsoundSynthesizer>\n"
"<CsOptions>\n"
"csound -+rtaudio=jack -odac -B4096\n"
"</CsOptions>\n"
"<CsInstruments>\n"
"sr = 44100\n"
"ksmps = 64\n    "
"nchnls = 2\n"
"0dbfs = 1\n"
"instr 1\n"
"a1 oscili 1, 300, 1\n"
"outs a1, a1\n"
"endin\n"
"</CsInstruments>\n"
"<CsScore>\n"
"f1 0 1024 10 1\n"
"i1 0 2\n"
"</CsScore>\n"
"</CsoundSynthesizer>\n";

//compile instance of csound.
csound->CompileCsdText(csdText.c_str());

//prepare Csound for performance
csound->Start();

//perform entire score
csound->Perform();	

//free Csound object
delete csound;

return 0;
}