LMMS
Loading...
Searching...
No Matches
juce::Win32MidiService::MidiInCollector Struct Reference
Inheritance diagram for juce::Win32MidiService::MidiInCollector:
juce::ReferenceCountedObject

Classes

struct  MidiHeader

Public Types

using Ptr = ReferenceCountedObjectPtr<MidiInCollector>

Public Member Functions

 MidiInCollector (Win32MidiService &s, MidiDeviceInfo d)
 ~MidiInCollector ()
void addClient (Win32InputWrapper *c)
void removeClient (Win32InputWrapper *c)
void handleMessage (const uint8 *bytes, uint32 timeStamp)
void handleSysEx (MIDIHDR *hdr, uint32 timeStamp)
void startOrStop ()
void start ()
void stop ()
Public Member Functions inherited from juce::ReferenceCountedObject
void incReferenceCount () noexcept
void decReferenceCount () noexcept
bool decReferenceCountWithoutDeleting () noexcept
int getReferenceCount () const noexcept

Static Public Member Functions

static void CALLBACK midiInCallback (HMIDIIN, UINT uMsg, DWORD_PTR dwInstance, DWORD_PTR midiMessage, DWORD_PTR timeStamp)

Public Attributes

MidiDeviceInfo deviceInfo
HMIDIIN deviceHandle = nullptr

Private Types

enum  { numHeaders = 32 }

Private Member Functions

int countRunningClients () const
void writeFinishedBlocks ()
void unprepareAllHeaders ()
double convertTimeStamp (uint32 timeStamp)

Private Attributes

Win32MidiServicemidiService
CriticalSection clientLock
Array< Win32InputWrapper * > clients
std::atomic< bool > isStarted { false }
double startTime = 0
MidiHeader headers [numHeaders]

Static Private Attributes

static Array< MidiInCollector *, CriticalSectionactiveMidiCollectors

Additional Inherited Members

Protected Member Functions inherited from juce::ReferenceCountedObject
 ReferenceCountedObject ()=default
 ReferenceCountedObject (const ReferenceCountedObject &) noexcept
 ReferenceCountedObject (ReferenceCountedObject &&) noexcept
ReferenceCountedObjectoperator= (const ReferenceCountedObject &) noexcept
ReferenceCountedObjectoperator= (ReferenceCountedObject &&) noexcept
virtual ~ReferenceCountedObject ()
void resetReferenceCount () noexcept

Member Typedef Documentation

◆ Ptr

using juce::Win32MidiService::MidiInCollector::Ptr = ReferenceCountedObjectPtr<MidiInCollector>

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private
Enumerator
numHeaders 

Constructor & Destructor Documentation

◆ MidiInCollector()

juce::Win32MidiService::MidiInCollector::MidiInCollector ( Win32MidiService & s,
MidiDeviceInfo d )
inline

◆ ~MidiInCollector()

juce::Win32MidiService::MidiInCollector::~MidiInCollector ( )
inline

Member Function Documentation

◆ addClient()

void juce::Win32MidiService::MidiInCollector::addClient ( Win32InputWrapper * c)
inline

◆ convertTimeStamp()

double juce::Win32MidiService::MidiInCollector::convertTimeStamp ( uint32 timeStamp)
inlineprivate

◆ countRunningClients()

int juce::Win32MidiService::MidiInCollector::countRunningClients ( ) const
inlineprivate

◆ handleMessage()

void juce::Win32MidiService::MidiInCollector::handleMessage ( const uint8 * bytes,
uint32 timeStamp )
inline

◆ handleSysEx()

void juce::Win32MidiService::MidiInCollector::handleSysEx ( MIDIHDR * hdr,
uint32 timeStamp )
inline

◆ midiInCallback()

void CALLBACK juce::Win32MidiService::MidiInCollector::midiInCallback ( HMIDIIN ,
UINT uMsg,
DWORD_PTR dwInstance,
DWORD_PTR midiMessage,
DWORD_PTR timeStamp )
inlinestatic

◆ removeClient()

void juce::Win32MidiService::MidiInCollector::removeClient ( Win32InputWrapper * c)
inline

◆ start()

void juce::Win32MidiService::MidiInCollector::start ( )
inline

◆ startOrStop()

void juce::Win32MidiService::MidiInCollector::startOrStop ( )
inline

◆ stop()

void juce::Win32MidiService::MidiInCollector::stop ( )
inline

◆ unprepareAllHeaders()

void juce::Win32MidiService::MidiInCollector::unprepareAllHeaders ( )
inlineprivate

◆ writeFinishedBlocks()

void juce::Win32MidiService::MidiInCollector::writeFinishedBlocks ( )
inlineprivate

Member Data Documentation

◆ activeMidiCollectors

Array< Win32MidiService::MidiInCollector *, CriticalSection > juce::Win32MidiService::MidiInCollector::activeMidiCollectors
staticprivate

◆ clientLock

CriticalSection juce::Win32MidiService::MidiInCollector::clientLock
private

◆ clients

Array<Win32InputWrapper*> juce::Win32MidiService::MidiInCollector::clients
private

◆ deviceHandle

HMIDIIN juce::Win32MidiService::MidiInCollector::deviceHandle = nullptr

◆ deviceInfo

MidiDeviceInfo juce::Win32MidiService::MidiInCollector::deviceInfo

◆ headers

MidiHeader juce::Win32MidiService::MidiInCollector::headers[numHeaders]
private

◆ isStarted

std::atomic<bool> juce::Win32MidiService::MidiInCollector::isStarted { false }
private

◆ midiService

Win32MidiService& juce::Win32MidiService::MidiInCollector::midiService
private

◆ startTime

double juce::Win32MidiService::MidiInCollector::startTime = 0
private

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