//------------------------------------------------------------------------- // MAIN //------------------------------------------------------------------------- int main(int argc, char *argv[] ) { char appname[256]; char rcfilename[256]; char* home = getenv("HOME"); snprintf(appname, 255, "%s", basename(argv[0])); snprintf(rcfilename, 255, "%s/.%src", home, appname); CMDUI* interface = new CMDUI(argc, argv); FUI* finterface = new FUI(); DSP.buildUserInterface(interface); DSP.buildUserInterface(finterface); #ifdef OSCCTRL GUI* oscinterface = new OSCUI(appname, argc, argv); DSP.buildUserInterface(oscinterface); #endif #ifdef HTTPCTRL httpdUI* httpdinterface = new httpdUI(appname, DSP.getNumInputs(), DSP.getNumOutputs(), argc, argv); DSP.buildUserInterface(httpdinterface); #endif jackaudio audio; audio.init(appname, &DSP); interface->process_command(); audio.start(); #ifdef HTTPCTRL httpdinterface->run(); #endif #ifdef OSCCTRL oscinterface->run(); #endif interface->run(); audio.stop(); finterface->saveState(rcfilename); // desallocation delete interface; delete finterface; #ifdef HTTPCTRL delete httpdinterface; #endif #ifdef OSCCTRL delete oscinterface; #endif return 0; }
int main(int argc, char *argv[] ) { float fnbsamples; CMDUI* interface = new CMDUI(argc, argv); DSP.buildUserInterface(interface); interface->addOption("-n", &fnbsamples, 16, 0.0, 100000000.0); if (DSP.getNumInputs() > 0) { fprintf(stderr, "no inputs allowed\n"); exit(1); } // init signal processor and the user interface values DSP.init(44100); // modify the UI values according to the command line options interface->process_command(); int nouts = DSP.getNumOutputs(); channels chan (kFrames, nouts); int nbsamples = int(fnbsamples); while (nbsamples > kFrames) { DSP.compute(kFrames, 0, chan.buffers()); for (int i = 0; i < kFrames; i++) { for (int c = 0; c < nouts; c++) { printf("%8f\t", chan.buffers()[c][i]); } cout << endl; } nbsamples -= kFrames; } DSP.compute(nbsamples, 0, chan.buffers()); for (int i = 0; i < nbsamples; i++) { for (int c = 0; c < nouts; c++) { printf("%8f\t", chan.buffers()[c][i]); } cout << endl; } return 0; }
int main(int argc, char *argv[]) { SNDFILE* in_sf; SNDFILE* out_sf; SF_INFO in_info; SF_INFO out_info; unsigned int nAppend = 0; // number of frames to append beyond input file if (argc < 3) { fprintf(stderr,"*** USAGE: %s input_soundfile output_soundfile\n",argv[0]); exit(1); } nAppend = loptrm(&argc, argv, "--continue", "-c", 0); CMDUI* interface = new CMDUI(argc, argv); DSP.buildUserInterface(interface); interface->process_command(); // open input file in_info.format = 0; in_sf = sf_open(interface->input_file(), SFM_READ, &in_info); if (in_sf == NULL) { fprintf(stderr,"*** Input file not found.\n"); sf_perror(in_sf); exit(1); } // open output file out_info = in_info; out_info.format = in_info.format; out_info.channels = DSP.getNumOutputs(); out_sf = sf_open(interface->output_file(), SFM_WRITE, &out_info); if (out_sf == NULL) { fprintf(stderr,"*** Cannot write output file.\n"); sf_perror(out_sf); exit(1); } // create separator and interleaver Separator sep(kFrames, in_info.channels, DSP.getNumInputs()); Interleaver ilv(kFrames, DSP.getNumOutputs()); // init signal processor DSP.init(in_info.samplerate); //DSP.buildUserInterface(interface); interface->process_init(); // process all samples int nbf; do { nbf = READ_SAMPLE(in_sf, sep.input(), kFrames); sep.separate(); DSP.compute(nbf, sep.outputs(), ilv.inputs()); ilv.interleave(); sf_writef_float(out_sf, ilv.output(), nbf); //sf_write_raw(out_sf, ilv.output(), nbf); } while (nbf == kFrames); sf_close(in_sf); // compute tail, if any if (nAppend>0) { FAUSTFLOAT *input = (FAUSTFLOAT*) calloc(nAppend * DSP.getNumInputs(), sizeof(FAUSTFLOAT)); FAUSTFLOAT *inputs[1] = { input }; Interleaver ailv(nAppend, DSP.getNumOutputs()); DSP.compute(nAppend, inputs, ailv.inputs()); ailv.interleave(); sf_writef_float(out_sf, ailv.output(), nAppend); } sf_close(out_sf); }
int main(int argc, char *argv[] ) { char* appname = basename (argv [0]); char rcfilename[256]; char* home = getenv("HOME"); int nvoices = 0; mydsp_poly* dsp_poly = NULL; snprintf(rcfilename, 256, "%s/.%src", home, appname); #ifdef POLY2 nvoices = lopt(argv, "--nvoices", nvoices); int group = lopt(argv, "--group", 1); std::cout << "Started with " << nvoices << " voices\n"; dsp_poly = new mydsp_poly(new mydsp(), nvoices, true, group); #if MIDICTRL if (hasMIDISync()) { DSP = new timed_dsp(new dsp_sequencer(dsp_poly, new effect())); } else { DSP = new dsp_sequencer(dsp_poly, new effect()); } #else DSP = new dsp_sequencer(dsp_poly, new effect()); #endif #else nvoices = lopt(argv, "--nvoices", nvoices); int group = lopt(argv, "--group", 1); if (nvoices > 0) { std::cout << "Started with " << nvoices << " voices\n"; dsp_poly = new mydsp_poly(new mydsp(), nvoices, true, group); #if MIDICTRL if (hasMIDISync()) { DSP = new timed_dsp(dsp_poly); } else { DSP = dsp_poly; } #else DSP = dsp_poly; #endif } else { #if MIDICTRL if (hasMIDISync()) { DSP = new timed_dsp(new mydsp()); } else { DSP = new mydsp(); } #else DSP = new mydsp(); #endif } #endif if (DSP == 0) { std::cerr << "Unable to allocate Faust DSP object" << std::endl; exit(1); } CMDUI* interface = new CMDUI(argc, argv); FUI* finterface = new FUI(); DSP->buildUserInterface(interface); DSP->buildUserInterface(finterface); #ifdef MIDICTRL rt_midi midi_handler(appname); midi_handler.addMidiIn(dsp_poly); MidiUI midiinterface(&midi_handler); DSP->buildUserInterface(&midiinterface); std::cout << "MIDI is on" << std::endl; #endif #ifdef HTTPCTRL httpdUI* httpdinterface = new httpdUI(appname, DSP->getNumInputs(), DSP->getNumOutputs(), argc, argv); DSP->buildUserInterface(httpdinterface); std::cout << "HTTPD is on" << std::endl; #endif #ifdef OSCCTRL GUI* oscinterface = new OSCUI(appname, argc, argv); DSP->buildUserInterface(oscinterface); #endif alsaaudio audio (argc, argv, DSP); audio.init(appname, DSP); finterface->recallState(rcfilename); audio.start(); #ifdef HTTPCTRL httpdinterface->run(); #endif #ifdef OSCCTRL oscinterface->run(); #endif #ifdef MIDICTRL if (!midiinterface.run()) { std::cerr << "MidiUI run error\n"; } #endif interface->run(); #ifdef MIDICTRL midiinterface.stop(); #endif audio.stop(); finterface->saveState(rcfilename); // desallocation delete interface; delete finterface; #ifdef HTTPCTRL delete httpdinterface; #endif #ifdef OSCCTRL delete oscinterface; #endif return 0; }
//------------------------------------------------------------------------- // MAIN //------------------------------------------------------------------------- int main(int argc, char *argv[]) { char appname[256]; char rcfilename[256]; char* home = getenv("HOME"); int celt = lopt(argv, "--celt", -1); const char* master_ip = lopts(argv, "--a", DEFAULT_MULTICAST_IP); int master_port = lopt(argv, "--p", DEFAULT_PORT); int mtu = lopt(argv, "--m", DEFAULT_MTU); int latency = lopt(argv, "--l", 2); snprintf(appname, 255, "%s", basename(argv[0])); snprintf(rcfilename, 255, "%s/.%src", home, appname); CMDUI* interface = new CMDUI(argc, argv); FUI* finterface = new FUI(); DSP.buildUserInterface(interface); DSP.buildUserInterface(finterface); #ifdef OSCCTRL GUI* oscinterface = new OSCUI(appname, argc, argv); DSP.buildUserInterface(oscinterface); #endif #ifdef HTTPCTRL httpdUI* httpdinterface = new httpdUI(appname, argc, argv); DSP.buildUserInterface(httpdinterface); #endif netjackaudio audio(celt, master_ip, master_port, mtu, latency); if (!audio.init(appname, &DSP)) { return 0; } finterface->recallState(rcfilename); if (!audio.start()) { return 0; } #ifdef HTTPCTRL httpdinterface->run(); #endif #ifdef OSCCTRL oscinterface->run(); #endif interface->run(); audio.stop(); finterface->saveState(rcfilename); // desallocation delete interface; delete finterface; #ifdef HTTPCTRL delete httpdinterface; #endif #ifdef OSCCTRL delete oscinterface; #endif return 0; }