| 
									
										
										
										
											2012-05-22 17:09:48 +00:00
										 |  |  | #include <stdlib.h>
 | 
					
						
							|  |  |  | #include <stdio.h>
 | 
					
						
							|  |  |  | #include <string.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void paInputDevice(int id, char* hostAPI_DeviceName, int* minChan,  | 
					
						
							|  |  |  | 		   int* maxChan, int* minSpeed, int* maxSpeed) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2017-01-14 16:26:57 +00:00
										 |  |  |   int i; | 
					
						
							| 
									
										
										
										
											2012-05-22 17:09:48 +00:00
										 |  |  |   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; | 
					
						
							| 
									
										
										
										
											2021-04-10 12:25:28 +01:00
										 |  |  |   char p2[256]; | 
					
						
							| 
									
										
										
										
											2012-05-22 17:09:48 +00:00
										 |  |  |   char *p,*p1; | 
					
						
							| 
									
										
										
										
											2017-01-14 16:26:57 +00:00
										 |  |  |   static int iret, valid_dev_cnt; | 
					
						
							| 
									
										
										
										
											2012-05-22 17:09:48 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   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; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | } |