mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-09 23:34:20 +00:00
53 lines
2.3 KiB
C
53 lines
2.3 KiB
C
//------------------------------------------------------------------------
|
|
// Project : ASIO SDK
|
|
//
|
|
// Category : Interfaces
|
|
// Filename : common/iasiodrv.h
|
|
// Created by : Steinberg, 05/1996
|
|
// Description : Steinberg Audio Stream I/O API v2.3
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
// This file is part of a Steinberg SDK. It is subject to the license terms
|
|
// in the LICENSE file found in the top-level directory of this distribution
|
|
// and at www.steinberg.net/sdklicenses.
|
|
// No part of the SDK, including this file, may be copied, modified, propagated,
|
|
// or distributed except according to the terms contained in the LICENSE file.
|
|
//-----------------------------------------------------------------------------
|
|
|
|
#include "asiosys.h"
|
|
#include "asio.h"
|
|
|
|
/* Forward Declarations */
|
|
|
|
#ifndef __ASIODRIVER_FWD_DEFINED__
|
|
#define __ASIODRIVER_FWD_DEFINED__
|
|
typedef interface IASIO IASIO;
|
|
#endif /* __ASIODRIVER_FWD_DEFINED__ */
|
|
|
|
interface IASIO : public IUnknown
|
|
{
|
|
|
|
virtual ASIOBool init(void *sysHandle) = 0;
|
|
virtual void getDriverName(char *name) = 0;
|
|
virtual long getDriverVersion() = 0;
|
|
virtual void getErrorMessage(char *string) = 0;
|
|
virtual ASIOError start() = 0;
|
|
virtual ASIOError stop() = 0;
|
|
virtual ASIOError getChannels(long *numInputChannels, long *numOutputChannels) = 0;
|
|
virtual ASIOError getLatencies(long *inputLatency, long *outputLatency) = 0;
|
|
virtual ASIOError getBufferSize(long *minSize, long *maxSize,
|
|
long *preferredSize, long *granularity) = 0;
|
|
virtual ASIOError canSampleRate(ASIOSampleRate sampleRate) = 0;
|
|
virtual ASIOError getSampleRate(ASIOSampleRate *sampleRate) = 0;
|
|
virtual ASIOError setSampleRate(ASIOSampleRate sampleRate) = 0;
|
|
virtual ASIOError getClockSources(ASIOClockSource *clocks, long *numSources) = 0;
|
|
virtual ASIOError setClockSource(long reference) = 0;
|
|
virtual ASIOError getSamplePosition(ASIOSamples *sPos, ASIOTimeStamp *tStamp) = 0;
|
|
virtual ASIOError getChannelInfo(ASIOChannelInfo *info) = 0;
|
|
virtual ASIOError createBuffers(ASIOBufferInfo *bufferInfos, long numChannels,
|
|
long bufferSize, ASIOCallbacks *callbacks) = 0;
|
|
virtual ASIOError disposeBuffers() = 0;
|
|
virtual ASIOError controlPanel() = 0;
|
|
virtual ASIOError future(long selector,void *opt) = 0;
|
|
virtual ASIOError outputReady() = 0;
|
|
};
|