Audacity  3.0.3
Public Member Functions | List of all members
MidiThread Class Referencefinal
Inheritance diagram for MidiThread:
[legend]
Collaboration diagram for MidiThread:
[legend]

Public Member Functions

ExitCode Entry () override
 
- Public Member Functions inherited from AudioThread
 AudioThread ()
 
ExitCode Entry () override
 

Detailed Description

Definition at line 898 of file AudioIO.cpp.

Member Function Documentation

◆ Entry()

MidiThread::ExitCode MidiThread::Entry ( )
override

Definition at line 2632 of file AudioIO.cpp.

2633 {
2634  AudioIO *gAudioIO;
2635  while( !TestDestroy() &&
2636  nullptr != ( gAudioIO = AudioIO::Get() ) )
2637  {
2638  // Set LoopActive outside the tests to avoid race condition
2639  gAudioIO->mMidiThreadFillBuffersLoopActive = true;
2640  if( gAudioIO->mMidiThreadFillBuffersLoopRunning &&
2641  // mNumFrames signals at least one callback, needed for MidiTime()
2642  gAudioIO->mNumFrames > 0)
2643  {
2644  gAudioIO->FillMidiBuffers();
2645  }
2646  gAudioIO->mMidiThreadFillBuffersLoopActive = false;
2647  Sleep(MIDI_SLEEP);
2648  }
2649  return 0;
2650 }

References AudioIoCallback::FillMidiBuffers(), AudioIO::Get(), MIDI_SLEEP, AudioIoCallback::mMidiThreadFillBuffersLoopActive, AudioIoCallback::mMidiThreadFillBuffersLoopRunning, and AudioIoCallback::mNumFrames.

Here is the call graph for this function:

The documentation for this class was generated from the following file:
MIDI_SLEEP
#define MIDI_SLEEP
Definition: AudioIO.cpp:481
AudioIoCallback::mNumFrames
volatile long mNumFrames
Number of frames output, including pauses.
Definition: AudioIO.h:377
AudioIoCallback::FillMidiBuffers
void FillMidiBuffers()
Definition: AudioIO.cpp:3292
AudioIoCallback::mMidiThreadFillBuffersLoopRunning
volatile bool mMidiThreadFillBuffersLoopRunning
Definition: AudioIO.h:497
AudioIoCallback::mMidiThreadFillBuffersLoopActive
volatile bool mMidiThreadFillBuffersLoopActive
Definition: AudioIO.h:498
AudioIO
AudioIO uses the PortAudio library to play and record sound.
Definition: AudioIO.h:589
AudioIO::Get
static AudioIO * Get()
Definition: AudioIO.cpp:505