LMMS
Loading...
Searching...
No Matches
juce_win32_WASAPI.cpp File Reference

Classes

struct  juce::IMMDeviceCollection
struct  juce::AudioClientProperties
class  juce::WasapiClasses::WASAPIDeviceBase
struct  juce::WasapiClasses::WASAPIDeviceBase::SessionEventCallback
struct  juce::WasapiClasses::WASAPIDeviceBase::AudioSampleFormat
class  juce::WasapiClasses::WASAPIInputDevice
class  juce::WasapiClasses::WASAPIOutputDevice
class  juce::WasapiClasses::WASAPIAudioIODevice
class  juce::WasapiClasses::WASAPIAudioIODeviceType
class  juce::WasapiClasses::WASAPIAudioIODeviceType::ChangeNotificationClient
struct  juce::WasapiClasses::MMDeviceMasterVolume

Namespaces

namespace  juce
namespace  juce::WasapiClasses

Macros

#define JUCE_WASAPI_LOGGING   0
#define KSDATAFORMAT_SUBTYPE_PCM   uuidFromString ("00000001-0000-0010-8000-00aa00389b71")
#define KSDATAFORMAT_SUBTYPE_IEEE_FLOAT   uuidFromString ("00000003-0000-0010-8000-00aa00389b71")
#define JUCE_SYSTEMAUDIOVOL_IMPLEMENTED   1

Typedefs

using juce::REFERENCE_TIME = LONGLONG

Enumerations

enum  juce::EDataFlow { juce::eRender = 0 , juce::eCapture = (eRender + 1) , juce::eAll = (eCapture + 1) }
enum  { juce::DEVICE_STATE_ACTIVE = 1 }
enum  { juce::AUDCLNT_BUFFERFLAGS_DATA_DISCONTINUITY = 1 , juce::AUDCLNT_BUFFERFLAGS_SILENT = 2 }
enum  juce::ERole { juce::eConsole = 0 , juce::eMultimedia = (eConsole + 1) , juce::eCommunications = (eMultimedia + 1) }
enum  juce::AVRT_PRIORITY { juce::AVRT_PRIORITY_LOW = -1 , juce::AVRT_PRIORITY_NORMAL , juce::AVRT_PRIORITY_HIGH , juce::AVRT_PRIORITY_CRITICAL }
enum  juce::AUDCLNT_SHAREMODE { juce::AUDCLNT_SHAREMODE_SHARED , juce::AUDCLNT_SHAREMODE_EXCLUSIVE }
enum  juce::AUDIO_STREAM_CATEGORY {
  juce::AudioCategory_Other = 0 , juce::AudioCategory_ForegroundOnlyMedia , juce::AudioCategory_BackgroundCapableMedia , juce::AudioCategory_Communications ,
  juce::AudioCategory_Alerts , juce::AudioCategory_SoundEffects , juce::AudioCategory_GameEffects , juce::AudioCategory_GameMedia ,
  juce::AudioCategory_GameChat , juce::AudioCategory_Speech , juce::AudioCategory_Movie , juce::AudioCategory_Media
}
enum  juce::AudioSessionDisconnectReason {
  juce::DisconnectReasonDeviceRemoval = 0 , juce::DisconnectReasonServerShutdown = 1 , juce::DisconnectReasonFormatChanged = 2 , juce::DisconnectReasonSessionLogoff = 3 ,
  juce::DisconnectReasonSessionDisconnected = 4 , juce::DisconnectReasonExclusiveModeOverride = 5
}
enum  juce::AudioSessionState { juce::AudioSessionStateInactive = 0 , juce::AudioSessionStateActive = 1 , juce::AudioSessionStateExpired = 2 }

Functions

static void juce::WasapiClasses::logFailure (HRESULT hr)
static bool juce::WasapiClasses::check (HRESULT hr)
 juce::JUCE_IUNKNOWNCLASS (IPropertyStore, "886d8eeb-8cf2-4446-8d02-cdba1dbdcf99")
 juce::JUCE_IUNKNOWNCLASS (IMMDevice, "D666063F-1587-4E43-81F1-B948E807363F")
 juce::JUCE_IUNKNOWNCLASS (IMMEndpoint, "1BE09788-6894-4089-8586-9A2A6C265AC5")
 juce::JUCE_IUNKNOWNCLASS (IMMNotificationClient, "7991EEC9-7E89-4D85-8390-6C703CEC60C0")
 juce::JUCE_IUNKNOWNCLASS (IMMDeviceEnumerator, "A95664D2-9614-4F35-A746-DE8DB63617E6")
 juce::JUCE_COMCLASS (MMDeviceEnumerator, "BCDE0395-E52F-467C-8E3D-C4579291692E")
 juce::JUCE_IUNKNOWNCLASS (IAudioClient, "1CB9AD4C-DBFA-4c32-B178-C2F568A703B2")
JUCE_COMCLASS(IAudioClient2, "726778CD-F60A-4eda-82DE-E47610CD78AA") JUCE_COMCLASS(IAudioClient3, "1CB9AD4C-DBFA-4c32-B178-C2F568A703B2") juce::JUCE_IUNKNOWNCLASS (IAudioCaptureClient, "C8ADBD64-E71E-48a0-A4DE-185C395CD317")
 juce::JUCE_IUNKNOWNCLASS (IAudioRenderClient, "F294ACFC-3146-4483-A7BF-ADDCA7C260E2")
 juce::JUCE_IUNKNOWNCLASS (IAudioEndpointVolume, "5CDF2C82-841E-4546-9722-0CF74078229A")
 juce::JUCE_IUNKNOWNCLASS (IAudioSessionEvents, "24918ACC-64B3-37C1-8CA9-74A66E9957A8")
 juce::JUCE_IUNKNOWNCLASS (IAudioSessionControl, "F4B1A599-7266-4319-A8CA-E70ACB11E8CD")
static String juce::WasapiClasses::getDeviceID (IMMDevice *device)
static EDataFlow juce::WasapiClasses::getDataFlow (const ComSmartPtr< IMMDevice > &device)
static int juce::WasapiClasses::refTimeToSamples (const REFERENCE_TIME &t, double sampleRate) noexcept
static REFERENCE_TIME juce::WasapiClasses::samplesToRefTime (int numSamples, double sampleRate) noexcept
static void juce::WasapiClasses::copyWavFormat (WAVEFORMATEXTENSIBLE &dest, const WAVEFORMATEX *src) noexcept
static bool juce::WasapiClasses::isExclusiveMode (WASAPIDeviceMode deviceMode) noexcept
static bool juce::WasapiClasses::isLowLatencyMode (WASAPIDeviceMode deviceMode) noexcept
static bool juce::WasapiClasses::supportsSampleRateConversion (WASAPIDeviceMode deviceMode) noexcept

Macro Definition Documentation

◆ JUCE_SYSTEMAUDIOVOL_IMPLEMENTED

#define JUCE_SYSTEMAUDIOVOL_IMPLEMENTED   1

◆ JUCE_WASAPI_LOGGING

#define JUCE_WASAPI_LOGGING   0

◆ KSDATAFORMAT_SUBTYPE_IEEE_FLOAT

#define KSDATAFORMAT_SUBTYPE_IEEE_FLOAT   uuidFromString ("00000003-0000-0010-8000-00aa00389b71")

◆ KSDATAFORMAT_SUBTYPE_PCM

#define KSDATAFORMAT_SUBTYPE_PCM   uuidFromString ("00000001-0000-0010-8000-00aa00389b71")