/* This program prints the currently connected MIDI devices. The output consists of device declarations separated by blank lines. An example device declaration: Name: Network Session 1 Host: CoreMIDI Input: true Output: false */ void print_device(fa_midi_device_t x) { fa_print("Name: %s\n", fa_string_to_string(fa_midi_name(x))); fa_print("Host: %s\n", fa_string_to_string(fa_midi_host_name(x))); fa_print("In: %s\n", fa_fb(fa_midi_has_input(x))); fa_print("Out: %s\n", fa_fb(fa_midi_has_output(x))); fa_print_ln(fa_string("")); }
/* This program prints the currently connected audio devices. The output consists of device declarations separated by blank lines. An example device declaration: Name: Built-in Microphone Host: Core Audio Input: 2 Output: 0 */ void print_device(fa_audio_device_t x) { fa_print("Name: %s\n", fa_audio_name(x)); // fa_print("Name length: %d\n", fa_string_length(fa_audio_name(x))); fa_print("In: %s\n", fa_i16(fa_audio_input_channels(x))); fa_print("Out: %s\n", fa_i16(fa_audio_output_channels(x))); fa_print("Host: %s\n", fa_audio_host_name(x)); fa_print("Rate: %s\n", fa_f64(fa_audio_default_sample_rate(x))); fa_print_ln(fa_string("")); }
/** Called whenever a new session is started. */ fa_midi_session_t print_midi_devices(fa_ptr_t _, fa_midi_session_t session) { fa_midi_add_status_callback(status_callback, session, session); // fa_thread_sleep(500); // FIXME why is this needed? fa_list_t open_streams = fa_empty(); fa_for_each(x, fa_midi_all(session)) { fa_print("Name: %s\n", fa_string_to_string(fa_midi_name(x))); fa_print("Host: %s\n", fa_string_to_string(fa_midi_host_name(x))); fa_print("In: %s\n", fa_fb(fa_midi_has_input(x))); fa_print("Out: %s\n", fa_fb(fa_midi_has_output(x))); fa_print_ln(fa_string("")); fa_mark_used(x); }
void run_fs() { fa_print_ln(string("This is fa_template!")); }