HARDT - The Ham Radio DSP Toolkit
hsoundcard.h
1 #ifndef __HSOUNDCARD_H
2 #define __HSOUNDCARD_H
3 
4 #include <stdio.h>
5 #include <iostream>
6 #include <vector>
7 #include <map>
8 
9 #include <portaudio.h>
10 
11 #include "hardt.h"
12 #include "hexceptions.h"
13 
20 {
21  public:
22 
27  {
32  int Device;
33 
37  std::string Name;
38 
42  int Inputs;
43 
47  int Outputs;
48 
53  };
54 
58  static int AvailableDevices();
59 
63  static std::vector<DeviceInformation> GetDeviceInformation();
64 
68  static int GetDefaultDevice();
69 
73  static PaSampleFormat GetPortAudioFormat(H_SAMPLE_FORMAT format) {
74  switch( format ) {
75  case H_SAMPLE_FORMAT_INT_8:
76  return paInt8;
77  case H_SAMPLE_FORMAT_UINT_8:
78  return paUInt8;
79  case H_SAMPLE_FORMAT_INT_16:
80  return paInt16;
81  //case H_SAMPLE_FORMAT_INT_24:
82  //return paInt24;
83  case H_SAMPLE_FORMAT_INT_32:
84  return paInt32;
85  }
86  throw new HInitializationException("Unknown sample format given as parameter to HSoundcard::GetPortAudioFormat");
87  }
88 };
89 
90 #endif
HSoundcard::DeviceInformation::Outputs
int Outputs
Definition: hsoundcard.h:47
HSoundcard::DeviceInformation::IsDefaultDevice
bool IsDefaultDevice
Definition: hsoundcard.h:52
HSoundcard::GetPortAudioFormat
static PaSampleFormat GetPortAudioFormat(H_SAMPLE_FORMAT format)
Definition: hsoundcard.h:73
HSoundcard::DeviceInformation
Definition: hsoundcard.h:26
HInitializationException
Definition: hexceptions.h:39
HSoundcard
Definition: hsoundcard.h:19
HSoundcard::GetDeviceInformation
static std::vector< DeviceInformation > GetDeviceInformation()
Definition: hsoundcard.cpp:7
HSoundcard::DeviceInformation::Name
std::string Name
Definition: hsoundcard.h:37
HSoundcard::DeviceInformation::Device
int Device
Definition: hsoundcard.h:32
HSoundcard::DeviceInformation::Inputs
int Inputs
Definition: hsoundcard.h:42
HSoundcard::GetDefaultDevice
static int GetDefaultDevice()
Definition: hsoundcard.cpp:52
HSoundcard::AvailableDevices
static int AvailableDevices()
Definition: hsoundcard.cpp:70