void sys_save_audio_params( int naudioindev, int *audioindev, int *chindev, int naudiooutdev, int *audiooutdev, int *choutdev, int rate, int advance, int callback, int blocksize) { int i; audio_naudioindev = naudioindev; for (i = 0; i < naudioindev; i++) { audio_audioindev[i] = audioindev[i], audio_audiochindev[i] = chindev[i]; sys_audiodevnumbertoname(0, audioindev[i], &audio_indevnames[i * DEVDESCSIZE], DEVDESCSIZE); } audio_naudiooutdev = naudiooutdev; for (i = 0; i < naudiooutdev; i++) { audio_audiooutdev[i] = audiooutdev[i], audio_audiochoutdev[i] = choutdev[i]; sys_audiodevnumbertoname(1, audiooutdev[i], &audio_outdevnames[i * DEVDESCSIZE], DEVDESCSIZE); } audio_rate = rate; audio_advance = advance; audio_callback = callback; audio_blocksize = blocksize; }
void glob_savepreferences(t_pd *dummy) { int naudioindev, audioindev[MAXAUDIOINDEV], chindev[MAXAUDIOINDEV]; int naudiooutdev, audiooutdev[MAXAUDIOOUTDEV], choutdev[MAXAUDIOOUTDEV]; int i, rate, advance, callback, blocksize; char buf1[MAXPDSTRING], buf2[MAXPDSTRING]; int nmidiindev, midiindev[MAXMIDIINDEV]; int nmidioutdev, midioutdev[MAXMIDIOUTDEV]; sys_initsavepreferences(); /* audio settings */ sprintf(buf1, "%d", sys_audioapi); sys_putpreference("audioapi", buf1); sys_get_audio_params(&naudioindev, audioindev, chindev, &naudiooutdev, audiooutdev, choutdev, &rate, &advance, &callback, &blocksize); sys_putpreference("noaudioin", (naudioindev <= 0 ? "True" : "False")); for (i = 0; i < naudioindev; i++) { sprintf(buf1, "audioindev%d", i+1); sprintf(buf2, "%d %d", audioindev[i], chindev[i]); sys_putpreference(buf1, buf2); sprintf(buf1, "audioindevname%d", i+1); sys_audiodevnumbertoname(0, audioindev[i], buf2, MAXPDSTRING); if (! *buf2) strcat(buf2, "?"); sys_putpreference(buf1, buf2); } sys_putpreference("noaudioout", (naudiooutdev <= 0 ? "True" : "False")); for (i = 0; i < naudiooutdev; i++) { sprintf(buf1, "audiooutdev%d", i+1); sprintf(buf2, "%d %d", audiooutdev[i], choutdev[i]); sys_putpreference(buf1, buf2); sprintf(buf1, "audiooutdevname%d", i+1); sys_audiodevnumbertoname(1, audiooutdev[i], buf2, MAXPDSTRING); if (! *buf2) strcat(buf2, "?"); sys_putpreference(buf1, buf2); } sprintf(buf1, "%d", advance); sys_putpreference("audiobuf", buf1); sprintf(buf1, "%d", rate); sys_putpreference("rate", buf1); sprintf(buf1, "%d", callback); sys_putpreference("callback", buf1); sprintf(buf1, "%d", blocksize); sys_putpreference("blocksize", buf1); /* MIDI settings */ sys_get_midi_params(&nmidiindev, midiindev, &nmidioutdev, midioutdev); sys_putpreference("nomidiin", (nmidiindev <= 0 ? "True" : "False")); for (i = 0; i < nmidiindev; i++) { sprintf(buf1, "midiindev%d", i+1); sprintf(buf2, "%d", midiindev[i]); sys_putpreference(buf1, buf2); sprintf(buf1, "midiindevname%d", i+1); sys_mididevnumbertoname(0, midiindev[i], buf2, MAXPDSTRING); if (! *buf2) strcat(buf2, "?"); sys_putpreference(buf1, buf2); } sys_putpreference("nomidiout", (nmidioutdev <= 0 ? "True" : "False")); for (i = 0; i < nmidioutdev; i++) { sprintf(buf1, "midioutdev%d", i+1); sprintf(buf2, "%d", midioutdev[i]); sys_putpreference(buf1, buf2); sprintf(buf1, "midioutdevname%d", i+1); sys_mididevnumbertoname(1, midioutdev[i], buf2, MAXPDSTRING); if (! *buf2) strcat(buf2, "?"); sys_putpreference(buf1, buf2); } /* file search path */ for (i = 0; 1; i++) { char *pathelem = namelist_get(sys_searchpath, i); if (!pathelem) break; sprintf(buf1, "path%d", i+1); sys_putpreference(buf1, pathelem); } sprintf(buf1, "%d", i); sys_putpreference("npath", buf1); sprintf(buf1, "%d", sys_usestdpath); sys_putpreference("standardpath", buf1); sprintf(buf1, "%d", sys_verbose); sys_putpreference("verbose", buf1); /* startup */ for (i = 0; 1; i++) { char *pathelem = namelist_get(sys_externlist, i); if (!pathelem) break; sprintf(buf1, "loadlib%d", i+1); sys_putpreference(buf1, pathelem); } sprintf(buf1, "%d", i); sys_putpreference("nloadlib", buf1); sprintf(buf1, "%d", sys_defeatrt); sys_putpreference("defeatrt", buf1); sys_putpreference("flags", (sys_flags ? sys_flags->s_name : "")); sys_donesavepreferences(); }