File: paInputDevice.c

package info (click to toggle)
wsjtx 2.7.0%2Brepack-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 70,440 kB
  • sloc: cpp: 75,379; f90: 46,460; python: 27,241; ansic: 13,367; fortran: 2,382; makefile: 197; sh: 133
file content (56 lines) | stat: -rwxr-xr-x 1,484 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include <stdlib.h>
#include <stdio.h>
#include <string.h>

void paInputDevice(int id, char* hostAPI_DeviceName, int* minChan, 
		   int* maxChan, int* minSpeed, int* maxSpeed)
{
  int i;
  char pa_device_name[128];     
  char pa_device_hostapi[128]; 
  double pa_device_max_speed;
  double pa_device_min_speed;
  int pa_device_max_bytes;
  int pa_device_min_bytes;
  int pa_device_max_channels;
  int pa_device_min_channels;
  char p2[256];
  char *p,*p1;
  static int iret, valid_dev_cnt;

  iret=pa_get_device_info (id,
                          &pa_device_name,
                          &pa_device_hostapi,
			  &pa_device_max_speed,
			  &pa_device_min_speed,
			  &pa_device_max_bytes,
			  &pa_device_min_bytes,
			  &pa_device_max_channels,
			  &pa_device_min_channels);

  if (iret >= 0 ) {
    valid_dev_cnt++;

    p1="";
    p=strstr(pa_device_hostapi,"MME");
    if(p!=NULL) p1="MME";
    p=strstr(pa_device_hostapi,"Direct");
    if(p!=NULL) p1="DirectX";
    p=strstr(pa_device_hostapi,"WASAPI");
    if(p!=NULL) p1="WASAPI";
    p=strstr(pa_device_hostapi,"ASIO");
    if(p!=NULL) p1="ASIO";
    p=strstr(pa_device_hostapi,"WDM-KS");
    if(p!=NULL) p1="WDM-KS";

    sprintf(p2,"%-8s %-39s",p1,pa_device_name);
    for(i=0; i<50; i++) {
      hostAPI_DeviceName[i]=p2[i];
      if(p2[i]==0) break;
    }
    *minChan=pa_device_min_channels;
    *maxChan=pa_device_max_channels;
    *minSpeed=(int)pa_device_min_speed;
    *maxSpeed=(int)pa_device_max_speed;
  }
}