#include <stdio.h>
#include <assert.h>
#include <string.h>
#include <new>
#include <windows.h>
#include <mmsystem.h>
#include "portaudio.h"
#include "pa_asio.h"
#include "pa_util.h"
#include "pa_allocation.h"
#include "pa_hostapi.h"
#include "pa_stream.h"
#include "pa_cpuload.h"
#include "pa_process.h"
#include "pa_debugprint.h"
#include "pa_ringbuffer.h"
#include "asiosys.h"
#include "asio.h"
#include "asiodrivers.h"
#include "iasiothiscallresolver.h"
Data Structures | |
struct | PaAsioDriverInfo |
struct | PaAsioHostApiRepresentation |
struct | PaAsioDeviceInfo |
struct | PaAsioStreamBlockingState |
struct | PaAsioStream |
Defines | |
#define | CARBON_COMPATIBLE (0) |
#define | PA_ASIO_SET_LAST_HOST_ERROR(errorCode, errorText) PaUtil_SetLastHostErrorInfo( paASIO, errorCode, errorText ) |
#define | PA_ASIO_SET_LAST_SYSTEM_ERROR(errorCode) PaAsio_SetLastSystemError( errorCode ) |
#define | PA_ASIO_SET_LAST_ASIO_ERROR(asioError) PaUtil_SetLastHostErrorInfo( paASIO, asioError, PaAsio_GetAsioErrorText( asioError ) ) |
#define | PA_SWAP32_(x) ((x>>24) | ((x>>8)&0xFF00) | ((x<<8)&0xFF0000) | (x<<24)); |
#define | PA_SWAP_(x, y) temp=x; x = y; y = temp; |
#define | PA_DEFAULTSAMPLERATESEARCHORDER_COUNT_ 13 |
#define | ASIO64toDouble(a) ((a).lo + (a).hi * twoRaisedTo32) |
Typedefs | |
typedef void | PaAsioBufferConverter (void *, long, long) |
typedef BOOL(WINAPI * | IsDebuggerPresentPtr )(VOID) |
Functions | |
PaError | PaAsio_Initialize (PaUtilHostApiRepresentation **hostApi, PaHostApiIndex hostApiIndex) |
void | AsioSampleTypeLOG (ASIOSampleType type) |
PaError | PaAsio_GetAvailableLatencyValues (PaDeviceIndex device, long *minLatency, long *maxLatency, long *preferredLatency, long *granularity) |
PaError | PaAsio_ShowControlPanel (PaDeviceIndex device, void *systemSpecific) |
PaError | PaAsio_GetInputChannelName (PaDeviceIndex device, int channelIndex, const char **channelName) |
PaError | PaAsio_GetOutputChannelName (PaDeviceIndex device, int channelIndex, const char **channelName) |
PaError | PaAsio_SetStreamSampleRate (PaStream *s, double sampleRate) |
Variables | |
AsioDrivers * | asioDrivers |
IsDebuggerPresentPtr | IsDebuggerPresent_ = 0 |
const double | twoRaisedTo32 = 4294967296. |
#define ASIO64toDouble | ( | a | ) | ((a).lo + (a).hi * twoRaisedTo32) |
#define CARBON_COMPATIBLE (0) |
#define PA_ASIO_SET_LAST_ASIO_ERROR | ( | asioError | ) | PaUtil_SetLastHostErrorInfo( paASIO, asioError, PaAsio_GetAsioErrorText( asioError ) ) |
Referenced by PaAsio_Initialize(), and PaAsio_ShowControlPanel().
#define PA_ASIO_SET_LAST_HOST_ERROR | ( | errorCode, | |||
errorText | ) | PaUtil_SetLastHostErrorInfo( paASIO, errorCode, errorText ) |
#define PA_ASIO_SET_LAST_SYSTEM_ERROR | ( | errorCode | ) | PaAsio_SetLastSystemError( errorCode ) |
#define PA_DEFAULTSAMPLERATESEARCHORDER_COUNT_ 13 |
Referenced by PaAsio_Initialize().
#define PA_SWAP32_ | ( | x | ) | ((x>>24) | ((x>>8)&0xFF00) | ((x<<8)&0xFF0000) | (x<<24)); |
#define PA_SWAP_ | ( | x, | |||
y | ) | temp=x; x = y; y = temp; |
typedef BOOL(WINAPI * IsDebuggerPresentPtr)(VOID) |
typedef void PaAsioBufferConverter(void *, long, long) |
void AsioSampleTypeLOG | ( | ASIOSampleType | type | ) |
References PA_DEBUG.
PaError PaAsio_GetAvailableLatencyValues | ( | PaDeviceIndex | device, | |
long * | minLatency, | |||
long * | maxLatency, | |||
long * | preferredLatency, | |||
long * | granularity | |||
) |
Retrieve legal latency settings for the specificed device, in samples.
device | The global index of the device about which the query is being made. | |
minLatency | A pointer to the location which will recieve the minimum latency value. | |
maxLatency | A pointer to the location which will recieve the maximum latency value. | |
preferredLatency | A pointer to the location which will recieve the preferred latency value. | |
granularity | A pointer to the location which will recieve the granularity. This value determines which values between minLatency and maxLatency are available. ie the step size, if granularity is -1 then available latency settings are powers of two. |
References PaAsioDeviceInfo::bufferGranularity, PaUtilHostApiRepresentation::deviceInfos, PaAsioDeviceInfo::maxBufferSize, PaAsioDeviceInfo::minBufferSize, paASIO, paNoError, PaUtil_DeviceIndexToHostApiDeviceIndex(), PaUtil_GetHostApiRepresentation(), and PaAsioDeviceInfo::preferredBufferSize.
PaError PaAsio_GetInputChannelName | ( | PaDeviceIndex | device, | |
int | channelIndex, | |||
const char ** | channelName | |||
) |
Retrieve a pointer to a string containing the name of the specified input channel. The string is valid until Pa_Terminate is called.
The string will be no longer than 32 characters including the null terminator.
References PaAsioDeviceInfo::asioChannelInfos, PaAsioDeviceInfo::commonDeviceInfo, PaUtilHostApiRepresentation::deviceInfos, PaDeviceInfo::maxInputChannels, paASIO, paInvalidChannelCount, paNoError, PaUtil_DeviceIndexToHostApiDeviceIndex(), and PaUtil_GetHostApiRepresentation().
PaError PaAsio_GetOutputChannelName | ( | PaDeviceIndex | device, | |
int | channelIndex, | |||
const char ** | channelName | |||
) |
Retrieve a pointer to a string containing the name of the specified input channel. The string is valid until Pa_Terminate is called.
The string will be no longer than 32 characters including the null terminator.
References PaAsioDeviceInfo::asioChannelInfos, PaAsioDeviceInfo::commonDeviceInfo, PaUtilHostApiRepresentation::deviceInfos, PaDeviceInfo::maxInputChannels, PaDeviceInfo::maxOutputChannels, paASIO, paInvalidChannelCount, paNoError, PaUtil_DeviceIndexToHostApiDeviceIndex(), and PaUtil_GetHostApiRepresentation().
PaError PaAsio_Initialize | ( | PaUtilHostApiRepresentation ** | hostApi, | |
PaHostApiIndex | hostApiIndex | |||
) |
References PaAsioHostApiRepresentation::allocations, PaAsioDeviceInfo::asioChannelInfos, asioDrivers, PaAsioHostApiRepresentation::asioDrivers, PaAsioHostApiRepresentation::blockingStreamInterface, PaAsioDeviceInfo::bufferGranularity, PaAsioDriverInfo::bufferGranularity, PaAsioDriverInfo::bufferMaxSize, PaAsioDriverInfo::bufferMinSize, PaAsioDriverInfo::bufferPreferredSize, PaAsioHostApiRepresentation::callbackStreamInterface, PaAsioDeviceInfo::commonDeviceInfo, PaDeviceInfo::defaultHighInputLatency, PaDeviceInfo::defaultHighOutputLatency, PaDeviceInfo::defaultLowInputLatency, PaDeviceInfo::defaultLowOutputLatency, PaDeviceInfo::defaultSampleRate, PaDeviceInfo::hostApi, PaUtilHostApiRepresentation::info, PaAsioHostApiRepresentation::inheritedHostApiRep, PaAsioDriverInfo::inputChannelCount, IsDebuggerPresent_, PaAsioDeviceInfo::maxBufferSize, PaDeviceInfo::maxInputChannels, PaDeviceInfo::maxOutputChannels, PaAsioDeviceInfo::minBufferSize, PaDeviceInfo::name, PaAsioHostApiRepresentation::openAsioDeviceIndex, PaAsioDriverInfo::outputChannelCount, PA_ASIO_SET_LAST_ASIO_ERROR, PA_DEBUG, PA_DEFAULTSAMPLERATESEARCHORDER_COUNT_, paASIO, paInsufficientMemory, paNoDevice, paNoError, paUnanticipatedHostError, PaUtil_AllocateMemory(), PaUtil_CreateAllocationGroup(), PaUtil_DestroyAllocationGroup(), PaUtil_DummyGetCpuLoad(), PaUtil_DummyGetReadAvailable(), PaUtil_DummyGetWriteAvailable(), PaUtil_DummyRead(), PaUtil_DummyWrite(), PaUtil_FreeAllAllocations(), PaUtil_FreeMemory(), PaUtil_GroupAllocateMemory(), PaUtil_InitializeStreamInterface(), PaAsioDeviceInfo::preferredBufferSize, PaDeviceInfo::structVersion, PaHostApiInfo::structVersion, and PaAsioHostApiRepresentation::systemSpecific.
Set the sample rate of an open paASIO stream.
stream | The stream to operate on. | |
sampleRate | The new sample rate. |
Returns paIncompatibleStreamHostApi if stream is not a paASIO stream.
References paBadStreamPtr, and paNoError.
PaError PaAsio_ShowControlPanel | ( | PaDeviceIndex | device, | |
void * | systemSpecific | |||
) |
Display the ASIO control panel for the specified device.
device | The global index of the device whose control panel is to be displayed. | |
systemSpecific | On Windows, the calling application's main window handle, on Macintosh this value should be zero. |
References PaAsioHostApiRepresentation::asioDrivers, PaAsioDeviceInfo::commonDeviceInfo, PaUtilHostApiRepresentation::deviceInfos, PaDeviceInfo::name, PaAsioHostApiRepresentation::openAsioDeviceIndex, PA_ASIO_SET_LAST_ASIO_ERROR, PA_DEBUG, paASIO, paDeviceUnavailable, paNoDevice, paNoError, paUnanticipatedHostError, PaUtil_DeviceIndexToHostApiDeviceIndex(), and PaUtil_GetHostApiRepresentation().
AsioDrivers* asioDrivers |
Referenced by PaAsio_Initialize().
Referenced by PaAsio_Initialize().
const double twoRaisedTo32 = 4294967296. |