forked from supercollider/supercollider
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathSC_PaUtils.hpp
23 lines (17 loc) · 986 Bytes
/
SC_PaUtils.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// helper functions for SuperCollider server's PortAudio backend
#pragma once
#include "portaudio.h"
#include <string>
// get device name from PaDeviceIndex or PaDeviceInfo
std::string GetPaDeviceName(PaDeviceIndex index);
std::string GetPaDeviceName(const PaDeviceInfo* pdi);
// get PaDeviceIndex from device name
PaDeviceIndex GetPaDeviceFromName(const char* device, bool isInput);
// select default PA devices if they are not defined
// it will also try to check for some configuration problems
// numIns, numOuts and sampleRate are only the requested values, may change later
// PaError will be reported if the devices don't support a requested or a common sample rate
PaError TryGetDefaultPaDevices(PaDeviceIndex* inDevice, PaDeviceIndex* outDevice, int numIns, int numOuts,
double sampleRate);
// create PaStreamParameters with requested values
PaStreamParameters MakePaStreamParameters(int device, int channelCount, double suggestedLatency);