Lines Matching refs:data

381 echo_list_mix_connections(echo_dev* card, multi_mix_connection_info* data)
388 echo_list_mix_channels(echo_dev *card, multi_mix_channel_info *data)
507 echo_get_description(echo_dev *card, multi_description *data)
511 data->interface_version = B_CURRENT_INTERFACE_VERSION;
512 data->interface_minimum = B_CURRENT_INTERFACE_VERSION;
514 strlcpy(data->friendly_name, card->caps.szName, sizeof(data->friendly_name));
515 strlcpy(data->vendor_info, AUTHOR, sizeof(data->vendor_info));
517 data->output_channel_count = card->multi.output_channel_count;
518 data->input_channel_count = card->multi.input_channel_count;
519 data->output_bus_channel_count = card->multi.output_bus_channel_count;
520 data->input_bus_channel_count = card->multi.input_bus_channel_count;
521 data->aux_bus_channel_count = card->multi.aux_bus_channel_count;
532 LOG(("request_channel_count = %d\n",data->request_channel_count));
533 if (data->request_channel_count >= size) {
534 LOG(("copying data\n"));
535 memcpy(data->channels, card->multi.chans, size * sizeof(card->multi.chans[0]));
539 case 192000: data->output_rates = data->input_rates = B_SR_192000; break;
540 case 96000: data->output_rates = data->input_rates = B_SR_96000; break;
541 case 48000: data->output_rates = data->input_rates = B_SR_48000; break;
542 case 44100: data->output_rates = data->input_rates = B_SR_44100; break;
544 data->min_cvsr_rate = 0;
545 data->max_cvsr_rate = 48000;
548 case 8: data->output_formats = data->input_formats = B_FMT_8BIT_U; break;
549 case 16: data->output_formats = data->input_formats = B_FMT_16BIT; break;
550 case 24: data->output_formats = data->input_formats = B_FMT_24BIT; break;
551 case 32: data->output_formats = data->input_formats = B_FMT_32BIT; break;
553 data->lock_sources = B_MULTI_LOCK_INTERNAL;
554 data->timecode_sources = 0;
555 data->interface_flags = B_MULTI_INTERFACE_PLAYBACK | B_MULTI_INTERFACE_RECORD;
556 data->start_latency = 3000;
558 strcpy(data->control_panel, "");
565 echo_get_enabled_channels(echo_dev *card, multi_channel_enable *data)
567 B_SET_CHANNEL(data->enable_bits, 0, true);
568 B_SET_CHANNEL(data->enable_bits, 1, true);
569 B_SET_CHANNEL(data->enable_bits, 2, true);
570 B_SET_CHANNEL(data->enable_bits, 3, true);
571 data->lock_source = B_MULTI_LOCK_INTERNAL;
583 echo_set_enabled_channels(echo_dev *card, multi_channel_enable *data)
585 PRINT(("set_enabled_channels 0 : %s\n", B_TEST_CHANNEL(data->enable_bits, 0) ? "enabled": "disabled"));
586 PRINT(("set_enabled_channels 1 : %s\n", B_TEST_CHANNEL(data->enable_bits, 1) ? "enabled": "disabled"));
587 PRINT(("set_enabled_channels 2 : %s\n", B_TEST_CHANNEL(data->enable_bits, 2) ? "enabled": "disabled"));
588 PRINT(("set_enabled_channels 3 : %s\n", B_TEST_CHANNEL(data->enable_bits, 3) ? "enabled": "disabled"));
594 echo_get_global_format(echo_dev *card, multi_format_info *data)
596 data->output_latency = 0;
597 data->input_latency = 0;
598 data->timecode_kind = 0;
600 case 192000: data->output.rate = data->input.rate = B_SR_192000; break;
601 case 96000: data->output.rate = data->input.rate = B_SR_96000; break;
602 case 48000: data->output.rate = data->input.rate = B_SR_48000; break;
603 case 44100: data->output.rate = data->input.rate = B_SR_44100; break;
606 case 8: data->input.format = data->output.format = B_FMT_8BIT_U; break;
607 case 16: data->input.format = data->output.format = B_FMT_16BIT; break;
608 case 24: data->input.format = data->output.format = B_FMT_24BIT; break;
609 case 32: data->input.format = data->output.format = B_FMT_32BIT; break;
611 data->input.cvsr = data->output.cvsr = current_settings.sample_rate;
617 echo_get_buffers(echo_dev *card, multi_buffer_list *data)
622 LOG(("flags = %#x\n",data->flags));
623 LOG(("request_playback_buffers = %#x\n",data->request_playback_buffers));
624 LOG(("request_playback_channels = %#x\n",data->request_playback_channels));
625 LOG(("request_playback_buffer_size = %#x\n",data->request_playback_buffer_size));
626 LOG(("request_record_buffers = %#x\n",data->request_record_buffers));
627 LOG(("request_record_channels = %#x\n",data->request_record_channels));
628 LOG(("request_record_buffer_size = %#x\n",data->request_record_buffer_size));
630 if (data->request_playback_buffers < current_settings.buffer_count ||
631 data->request_record_buffers < current_settings.buffer_count) {
637 data->flags = B_MULTI_BUFFER_PLAYBACK | B_MULTI_BUFFER_RECORD; // XXX ???
639 data->return_playback_buffers = current_settings.buffer_count; /* playback_buffers[b][] */
640 data->return_playback_channels = 0; /* playback_buffers[][c] */
641 data->return_playback_buffer_size = current_settings.buffer_frames; /* frames */
647 channels = data->return_playback_channels;
648 data->return_playback_channels += stream->channels;
649 if (data->request_playback_channels < data->return_playback_channels) {
655 &data->playback_buffers[i][channels+j].base,
656 &data->playback_buffers[i][channels+j].stride);
659 data->return_record_buffers = current_settings.buffer_count;
660 data->return_record_channels = 0;
661 data->return_record_buffer_size = current_settings.buffer_frames; /* frames */
667 channels = data->return_record_channels;
668 data->return_record_channels += stream->channels;
669 if (data->request_record_channels < data->return_record_channels) {
675 &data->record_buffers[i][channels + j].base,
676 &data->record_buffers[i][channels + j].stride);
728 echo_buffer_exchange(echo_dev *card, multi_buffer_info *data)
735 if (user_memcpy(&buffer_info, data, sizeof(buffer_info)) < B_OK)
738 memcpy(&buffer_info, data, sizeof(buffer_info));
794 if (user_memcpy(data, &buffer_info, sizeof(buffer_info)) < B_OK)
797 memcpy(data, &buffer_info, sizeof(buffer_info));
814 echo_multi_control(void *cookie, uint32 op, void *data, size_t length)
829 return echo_get_description(card, (multi_description *)data);
841 return echo_get_enabled_channels(card, (multi_channel_enable *)data);
844 return echo_set_enabled_channels(card, (multi_channel_enable *)data);
847 return echo_get_global_format(card, (multi_format_info *)data);
861 return echo_get_mix(card, (multi_mix_value_info *)data);
864 return echo_set_mix(card, (multi_mix_value_info *)data);
867 return echo_list_mix_channels(card, (multi_mix_channel_info *)data);
870 return echo_list_mix_controls(card, (multi_mix_control_info *)data);
873 return echo_list_mix_connections(card, (multi_mix_connection_info *)data);
876 return echo_get_buffers(card, (multi_buffer_list*)data);
885 return echo_buffer_exchange(card, (multi_buffer_info *)data);
886 case B_MULTI_BUFFER_FORCE_STOP: /* force stop of playback, nothing in data */