LMMS
Loading...
Searching...
No Matches
juce::DeviceChangeDetector Class Referenceabstract

#include <juce_win32_HiddenMessageWindow.h>

Inheritance diagram for juce::DeviceChangeDetector:
juce::Timer juce::DSoundAudioIODeviceType juce::MountedVolumeListChangeDetector::Pimpl juce::WasapiClasses::WASAPIAudioIODeviceType

Public Member Functions

 DeviceChangeDetector (const wchar_t *const name)
virtual void systemDeviceChanged ()=0
void triggerAsyncDeviceChangeCallback ()

Private Member Functions

void timerCallback () override
Private Member Functions inherited from juce::Timer
virtual ~Timer ()
void startTimer (int intervalInMilliseconds) noexcept
void startTimerHz (int timerFrequencyHz) noexcept
void stopTimer () noexcept
bool isTimerRunning () const noexcept
int getTimerInterval () const noexcept
 Timer () noexcept
 Timer (const Timer &) noexcept

Static Private Member Functions

static LRESULT CALLBACK deviceChangeEventCallback (HWND h, const UINT message, const WPARAM wParam, const LPARAM lParam)
Static Private Member Functions inherited from juce::Timer
static void JUCE_CALLTYPE callAfterDelay (int milliseconds, std::function< void()> functionToCall)
static void JUCE_CALLTYPE callPendingTimersSynchronously ()

Private Attributes

HiddenMessageWindow messageWindow

Constructor & Destructor Documentation

◆ DeviceChangeDetector()

juce::DeviceChangeDetector::DeviceChangeDetector ( const wchar_t *const name)
inline

Member Function Documentation

◆ deviceChangeEventCallback()

LRESULT CALLBACK juce::DeviceChangeDetector::deviceChangeEventCallback ( HWND h,
const UINT message,
const WPARAM wParam,
const LPARAM lParam )
inlinestaticprivate

◆ systemDeviceChanged()

virtual void juce::DeviceChangeDetector::systemDeviceChanged ( )
pure virtual

◆ timerCallback()

void juce::DeviceChangeDetector::timerCallback ( )
inlineoverrideprivatevirtual

The user-defined callback routine that actually gets called periodically.

It's perfectly ok to call startTimer() or stopTimer() from within this callback to change the subsequent intervals.

Implements juce::Timer.

◆ triggerAsyncDeviceChangeCallback()

void juce::DeviceChangeDetector::triggerAsyncDeviceChangeCallback ( )
inline

Member Data Documentation

◆ messageWindow

HiddenMessageWindow juce::DeviceChangeDetector::messageWindow
private

The documentation for this class was generated from the following file: