void Synth_Init(void) { vol = env = 1; sound = MORPH_SAW; autoFilterON = false; autoSound = 0; chorusON = false; delayON = false; phaserON = false; Delay_init(); drifter_init(); //pitchGen_init(); sequencer_init(); ADSR_init(&adsr); Chorus_init(); PhaserInit(); SVF_init(); filterFreq = 0.25f; filterFreq2 = 0.25f; osc_init(&op1, 0.8f, 587.f); osc_init(&op2, 0.8f, 587.f); osc_init(&op3, 0.8f, 587.f); osc_init(&op4, 0.8f, 587.f); osc_init(&vibr_lfo, 0, VIBRATO_FREQ); osc_init(&filt_lfo, 0, 0); osc_init(&filt2_lfo, 0, 0); osc_init(&_lfo, 0, 0); AdditiveGen_newWaveform(); VCO_blepsaw_Init(&mbSawOsc); VCO_bleprect_Init(&mbRectOsc); VCO_bleptri_Init(&mbTriOsc); }
int main (int argc, char *argv []) { void *context = zmq_ctx_new (); void *subscriber = zmq_socket (context, ZMQ_SUB); void *buffer = (void *) malloc(MAXSZ); lo_message msg; int rc = zmq_connect (subscriber, "tcp://localhost:5556"); assert (rc == 0); // Subscribe to all rc = zmq_setsockopt(subscriber, ZMQ_SUBSCRIBE, NULL, 0); assert (rc == 0); osc_init(); while(1) { int size = zmq_recv(subscriber, buffer, MAXSZ, 0); msg = (lo_message) buffer; if (size > 0) { printf("received a message that's %d big\n", size); lo_server_dispatch_data(s, buffer, size); } else { printf("oops.\n"); } } zmq_close (subscriber); zmq_ctx_destroy (context); return 0; }
static int lllib_init(void) { if (liblustre_init_current("liblustre") || init_lib_portals() || init_obdclass() || ptlrpc_init() || mgc_init() || lmv_init() || mdc_init() || lov_init() || osc_init() || slp_global_init()) return -1; return _sysio_fssw_register("lustre", &llu_fssw_ops); }
void synth_init (synth_t *synth, int samplerate ) { synth->samplerate = samplerate; for (int i = 0; i < NUM_VOICES; i++) { voice_init (&synth->a_voices[i], samplerate); } osc_init(&synth->lfo, samplerate); synth->lfo_to_volume = 0.0; synth->lfo_to_filter = 0.0; }
static HmSynth *init(const HmSynthType *type) { SineSynth *synth = malloc(sizeof(SineSynth)); if (!synth) return NULL; synth->base = (HmSynth){ .type = type, .free = free_synth, .setSampleRate = set_sample_rate, .getParams = get_params, .getParam = get_param, .setControl = set_control, .startNote = start_note, .stopNote = stop_note, .generate = generate }; synth->note = 0; osc_init(&synth->osc); env_init(&synth->env); env_init(&synth->fenv); lp2_init(&synth->filter); synth->env.a = 48 * 10; synth->env.d = 48 * 5000; synth->env.s = 0.0; synth->env.r = 48 * 100; synth->fenv.a = 48 * 100; synth->fenv.d = 48 * 0; synth->fenv.s = 0.0; synth->fenv.r = 48 * 100; return &synth->base; }
int main(int argc, char *argv[]) { if (argc != 2) { printf("Syntax: mm [config.txt]\n"); return 1; } areas = (Area *)malloc(sizeof(Area) * 100); num_areas = 0; if (!read_config(argv[1])) { return 1; } osc_init(); jpeg_buffer = (unsigned char *)malloc(5*1024*1024); while(true) { stream(stream_url); printf("Waiting a bit before reconnecting...\n"); sleep(3); } free(jpeg_buffer); }
void module_init(void) { int i, j; // init module/param descriptor // intialize local data at start of SDRAM data = (wavesData * )SDRAM_ADDRESS; // initialize moduleData superclass for core routines gModuleData = &(data->super); strcpy(gModuleData->name, "aleph-waves"); gModuleData->paramData = data->mParamData; gModuleData->numParams = eParamNumParams; for(i=0; i<WAVES_NVOICES; i++) { fract32 tmp = FRACT32_MAX >> 2; osc_init( &(voice[i].osc), &wavtab, SAMPLERATE ); filter_svf_init( &(voice[i].svf) ); voice[i].amp = tmp; slew_init((voice[i].ampSlew), 0, 0, 0 ); slew_init((voice[i].cutSlew), 0, 0, 0 ); slew_init((voice[i].rqSlew), 0, 0, 0 ); slew_init((voice[i].wetSlew), 0, 0, 0 ); slew_init((voice[i].drySlew), 0, 0, 0 ); voice[i].pmDelWrIdx = 0; voice[i].pmDelRdIdx = 0; // voice[i].pmDelBuf = data->pmDelBuf[i]; } for(i=0; i<4; i++) { for(j=0; j<4; j++) { patch_adc_dac[i][j] = &trash; } } for(i=0; i<2; i++) { for(j=0; j<4; j++) { patch_osc_dac[i][j] = &trash; } } // cv /* slew_init(cvSlew[0] , 0, 0, 0 ); */ /* slew_init(cvSlew[1] , 0, 0, 0 ); */ /* slew_init(cvSlew[2] , 0, 0, 0 ); */ /* slew_init(cvSlew[3] , 0, 0, 0 ); */ // cv filter_1p_lo_init( &(cvSlew[0]), 0xf ); filter_1p_lo_init( &(cvSlew[1]), 0xf ); filter_1p_lo_init( &(cvSlew[2]), 0xf ); filter_1p_lo_init( &(cvSlew[3]), 0xf ); // set parameters to defaults /// slew first param_setup( eParamHz1Slew, PARAM_SLEW_DEFAULT ); param_setup( eParamHz0Slew, PARAM_SLEW_DEFAULT ); param_setup( eParamPm10Slew, PARAM_SLEW_DEFAULT ); param_setup( eParamPm01Slew, PARAM_SLEW_DEFAULT ); param_setup( eParamWm10Slew, PARAM_SLEW_DEFAULT ); param_setup( eParamWm01Slew, PARAM_SLEW_DEFAULT ); param_setup( eParamWave1Slew, PARAM_SLEW_DEFAULT ); param_setup( eParamWave0Slew, PARAM_SLEW_DEFAULT ); param_setup( eParamAmp1Slew, PARAM_SLEW_DEFAULT ); param_setup( eParamAmp0Slew, PARAM_SLEW_DEFAULT ); param_setup( eParamCut0Slew, PARAM_SLEW_DEFAULT ); param_setup( eParamCut1Slew, PARAM_SLEW_DEFAULT ); param_setup( eParamRq0Slew, PARAM_SLEW_DEFAULT ); param_setup( eParamRq1Slew, PARAM_SLEW_DEFAULT ); param_setup( eParamWet0Slew, PARAM_SLEW_DEFAULT ); param_setup( eParamWet1Slew, PARAM_SLEW_DEFAULT ); param_setup( eParamDry0Slew, PARAM_SLEW_DEFAULT ); param_setup( eParamDry1Slew, PARAM_SLEW_DEFAULT ); param_setup( eParamHz1, 220 << 16 ); param_setup( eParamHz0, 330 << 16 ); param_setup( eParamTune1, FIX16_ONE ); param_setup( eParamTune0, FIX16_ONE ); param_setup( eParamWave1, 0 ); param_setup( eParamWave0, 0 ); param_setup( eParamAmp1, PARAM_AMP_6 ); param_setup( eParamAmp0, PARAM_AMP_6 ); param_setup( eParamPm10, 0 ); param_setup( eParamPm01, 0 ); param_setup( eParamWm10, 0 ); param_setup( eParamWm01, 0 ); /* param_setup( eParamBl1, 0 ); */ /* param_setup( eParamBl0, 0 ); */ param_setup( eParam_cut1, PARAM_CUT_DEFAULT); param_setup( eParam_rq1, PARAM_RQ_DEFAULT); param_setup( eParam_mode1, 0); param_setup( eParam_fwet1, PARAM_AMP_6 ); param_setup( eParam_fdry1, PARAM_AMP_6 ); param_setup( eParam_cut0, PARAM_CUT_DEFAULT ); param_setup( eParam_rq0, PARAM_RQ_DEFAULT ); param_setup( eParam_mode0, 0); param_setup( eParam_fwet0, PARAM_AMP_6 ); param_setup( eParam_fdry0, PARAM_AMP_6 ); param_setup( eParam_adc0_dac0, 1 ); param_setup( eParam_adc1_dac1, 1 ); param_setup( eParam_adc2_dac2, 1 ); param_setup( eParam_adc3_dac3, 1 ); param_setup( eParam_osc0_dac0, 1 ); param_setup( eParam_osc0_dac1, 1 ); param_setup( eParam_osc0_dac2, 1 ); param_setup( eParam_osc0_dac3, 1 ); param_setup( eParam_osc1_dac0, 1 ); param_setup( eParam_osc1_dac1, 1 ); param_setup( eParam_osc1_dac2, 1 ); param_setup( eParam_osc1_dac3, 1 ); param_setup( eParam_cvVal0, FRACT32_MAX >> 1 ); param_setup( eParam_cvVal1, FRACT32_MAX >> 1 ); param_setup( eParam_cvVal2, FRACT32_MAX >> 1 ); param_setup( eParam_cvVal3, FRACT32_MAX >> 1 ); param_setup( eParam_cvSlew0, PARAM_SLEW_DEFAULT ); param_setup( eParam_cvSlew1, PARAM_SLEW_DEFAULT ); param_setup( eParam_cvSlew2, PARAM_SLEW_DEFAULT ); param_setup( eParam_cvSlew3, PARAM_SLEW_DEFAULT ); }
void module_init(void) { u32 i; // init module/param descriptor // intialize local data at start of SDRAM data = (wavesData * )SDRAM_ADDRESS; // initialize moduleData superclass for core routines gModuleData = &(data->super); strcpy(gModuleData->name, "aleph-waves"); gModuleData->paramDesc = data->mParamDesc; gModuleData->paramData = data->mParamData; gModuleData->numParams = eParamNumParams; // fill param values with minima as default for(i=0; i<eParamNumParams; ++i) { gModuleData->paramData[i].value = gModuleData->paramDesc[i].min; } for(i=0; i<WAVES_NVOICES; i++) { fract32 tmp = FRACT32_MAX >> 2; osc_init( &(voice[i].osc), &wavtab, SAMPLERATE ); filter_svf_init( &(voice[i].svf) ); voice[i].amp = tmp; filter_1p_lo_init(&(voice[i].ampSlew), 0xf); filter_1p_lo_init(&(voice[i].cutSlew), 0xf); filter_1p_lo_init(&(voice[i].rqSlew), 0xf); } // oscAmp1 = oscAmp0 = INT32_MAX >> 2; /* osc_set_hz( &osc1, fix16_from_int(220) ); */ /* osc_set_hz( &osc0, fix16_from_int(330) ); */ /* ioAmp0 = FR32_MAX; */ /* ioAmp1 = FR32_MAX; */ /* ioAmp2 = FR32_MAX; */ /* ioAmp3 = FR32_MAX; */ // filters /* filter_svf_init(&(svf1)); */ /* filter_svf_init(&(svf0)); */ // allocate smoothers // amp1Lp = (filter_1p_lo*)malloc(sizeof(filter_1p_lo)); // filter_1p_lo_init( amp1Lp, oscAmp1 ); /* amp0Lp = (filter_1p_lo*)malloc(sizeof(filter_1p_lo)); */ /* filter_1p_lo_init( amp0Lp, oscAmp0 ); */ // dac filter_1p_lo_init( &(cvSlew[0]), 0xf ); filter_1p_lo_init( &(cvSlew[1]), 0xf ); filter_1p_lo_init( &(cvSlew[2]), 0xf ); filter_1p_lo_init( &(cvSlew[3]), 0xf ); // write descriptors /// FIXME: eliminate and move offline ! fill_param_desc(); // set parameters to defaults param_setup( eParamHz1, 220 << 16 ); param_setup( eParamHz0, 330 << 16 ); param_setup( eParamTune1, FIX16_ONE ); param_setup( eParamTune0, FIX16_ONE ); param_setup( eParamWave1, 0 ); param_setup( eParamWave0, 0 ); param_setup( eParamAmp1, PARAM_AMP_6 ); param_setup( eParamAmp0, PARAM_AMP_6 ); param_setup( eParamPm10, 0 ); param_setup( eParamPm01, 0 ); param_setup( eParamWm10, 0 ); param_setup( eParamWm01, 0 ); param_setup( eParamBl1, 0 ); param_setup( eParamBl0, 0 ); param_setup( eParam_cut1, PARAM_CUT_DEFAULT); param_setup( eParam_rq1, PARAM_RQ_DEFAULT); param_setup( eParam_low1, PARAM_AMP_6 ); param_setup( eParam_high1, 0 ); param_setup( eParam_band1, 0 ); param_setup( eParam_notch1, 0 ); param_setup( eParam_fwet1, PARAM_AMP_6 ); param_setup( eParam_fdry1, PARAM_AMP_6 ); param_setup( eParam_cut0, PARAM_CUT_DEFAULT ); param_setup( eParam_rq0, PARAM_RQ_DEFAULT ); param_setup( eParam_low0, FRACT32_MAX >> 1 ); param_setup( eParam_high0, 0 ); param_setup( eParam_band0, 0 ); param_setup( eParam_notch0, 0 ); param_setup( eParam_fwet0, PARAM_AMP_6 ); param_setup( eParam_fdry0, PARAM_AMP_6 ); param_setup( eParamHz1Slew, PARAM_SLEW_DEFAULT ); param_setup( eParamHz0Slew, PARAM_SLEW_DEFAULT ); param_setup( eParamPm10Slew, PARAM_SLEW_DEFAULT ); param_setup( eParamPm01Slew, PARAM_SLEW_DEFAULT ); param_setup( eParamWm10Slew, PARAM_SLEW_DEFAULT ); param_setup( eParamWm01Slew, PARAM_SLEW_DEFAULT ); param_setup( eParamWave1Slew, PARAM_SLEW_DEFAULT ); param_setup( eParamWave0Slew, PARAM_SLEW_DEFAULT ); param_setup( eParamAmp1Slew, PARAM_SLEW_DEFAULT ); param_setup( eParamAmp0Slew, PARAM_SLEW_DEFAULT ); param_setup( eParamCut0Slew, PARAM_SLEW_DEFAULT ); param_setup( eParamCut1Slew, PARAM_SLEW_DEFAULT ); param_setup( eParamRq0Slew, PARAM_SLEW_DEFAULT ); param_setup( eParamRq1Slew, PARAM_SLEW_DEFAULT ); param_setup( eParam_adc0_dac0, FRACT32_MAX ); param_setup( eParam_adc1_dac1, FRACT32_MAX ); param_setup( eParam_adc2_dac2, FRACT32_MAX ); param_setup( eParam_adc3_dac3, FRACT32_MAX ); param_setup( eParam_osc0_dac0, FRACT32_MAX ); param_setup( eParam_osc0_dac1, FRACT32_MAX ); param_setup( eParam_osc0_dac2, FRACT32_MAX ); param_setup( eParam_osc0_dac3, FRACT32_MAX ); param_setup( eParam_osc1_dac0, FRACT32_MAX ); param_setup( eParam_osc1_dac1, FRACT32_MAX ); param_setup( eParam_osc1_dac2, FRACT32_MAX ); param_setup( eParam_osc1_dac3, FRACT32_MAX ); param_setup( eParam_cvVal0, FRACT32_MAX >> 1 ); param_setup( eParam_cvVal1, FRACT32_MAX >> 1 ); param_setup( eParam_cvVal2, FRACT32_MAX >> 1 ); param_setup( eParam_cvVal3, FRACT32_MAX >> 1 ); param_setup( eParam_cvSlew0, PARAM_SLEW_DEFAULT ); param_setup( eParam_cvSlew1, PARAM_SLEW_DEFAULT ); param_setup( eParam_cvSlew2, PARAM_SLEW_DEFAULT ); param_setup( eParam_cvSlew3, PARAM_SLEW_DEFAULT ); }
int main(int argc, char **argv) { int c, rc; int xindex = -1; /* index of -x option */ /* loop until all options are consumed or we hit * a -x option */ while ((c = getopt(argc, argv, "s:n:x:")) != -1 && xindex == -1) { switch (c) { case 's': echo_server_nid = optarg; break; case 'n': echo_server_ostname = optarg; break; case 'x': xindex = optind-1; break; default: usage(argv[0]); return 1; } } /* * Only warn with usage() if the -x option isn't specificed * because when using -x this check is not valid. */ if (optind != argc && xindex == -1) usage(argv[0]); if (!echo_server_nid) { usage(argv[0]); return 1; } libcfs_debug = 0; libcfs_subsystem_debug = 0; liblustre_init_random(); if (liblustre_init_current(argv[0]) || init_obdclass() || init_lib_portals() || ptlrpc_init() || lmv_init() || mdc_init() || lov_init() || osc_init() || echo_client_init()) { printf("error\n"); return 1; } rc = connect_echo_client(); if (rc) return rc; set_ioc_handler(liblustre_ioctl); /* * If the -x option is not specified pass no args to lctl * otherwise pass all the options after the "-x" to lctl * * HACK: in the case when the -x option is specified * lctl sees argv[0] == "-x" and not the real argv[0] seen * in this function. If that is a problem, a mapping will * have to be done to fix that. However for normal functioning * it seems to be irrelavant */ if( xindex == -1 ) rc = lctl_main(1, &argv[0]); else rc = lctl_main(argc-xindex+1, &argv[xindex-1]); rc |= disconnect_echo_client(); return rc; }
int main(void) { scalar_t sample_freq = 44100; scalar_t i, j, freq; int b; osc_t osc[3]; osc_init(&osc[0], OSC_TYPE_SAWTOOTH); osc_init(&osc[1], OSC_TYPE_SAWTOOTH); osc_init(&osc[2], OSC_TYPE_SAWTOOTH); filter_moog_t f; filter_moog_init(&f); i = 0.06f; j = -0.01f; b = 0; // init oscillator state for (b=0; b<7; b++) { freq = note2freq(A, b); fprintf(stderr, "freq=%3.2f, oct=%i\n", freq, b); osc[0].freq = freq; make_noise(osc, 1, 0.4f, sample_freq, 0.0001, NULL); } b=0; //return 0; for (;;) { if (b++ == 1) { b = 0; j *= -1; } osc[0].freq = 109; osc[1].freq = 111; osc[2].freq = 55; i += j; filter_moog_set_params(&f, i, 0.6f); make_noise(osc, 3, 0.1f, sample_freq, 0.0002, &f); osc[0].freq = 219; osc[1].freq = 221; osc[2].freq = 55; i += j; filter_moog_set_params(&f, i, 0.6f); make_noise(osc, 3, 0.1f, sample_freq, 0.0002, &f); osc[0].freq = note2freq(Cb, 2) - 1; osc[1].freq = note2freq(Cb, 2) + 1; osc[2].freq = note2freq(Cb, 1); i += j; filter_moog_set_params(&f, i, 0.6f); make_noise(osc, 3, 0.2f, sample_freq, 0.0001, &f); //osc_init(&osc, OSC_TYPE_SAWTOOTH); //make_noise(&osc, 2, 2.0f, sample_freq); //osc_init(&osc, OSC_TYPE_SQUARE); //make_noise(&osc, 2, 2.0f, sample_freq); } }