Ardour  9.0-pre0-582-g084a23a80d
ArdourWaveView::WaveViewThreads Class Reference

#include <wave_view_private.h>

Static Public Member Functions

static void initialize ()
 
static void deinitialize ()
 
static bool enabled ()
 
static void enqueue_draw_request (std::shared_ptr< WaveViewDrawRequest > &)
 

Private Types

typedef std::vector< std::shared_ptr< WaveViewDrawingThread > > WaveViewThreadList
 
typedef std::deque< std::shared_ptr< WaveViewDrawRequest > > DrawRequestQueueType
 

Private Member Functions

 WaveViewThreads ()
 
 ~WaveViewThreads ()
 
std::shared_ptr< WaveViewDrawRequest_dequeue_draw_request ()
 
void _enqueue_draw_request (std::shared_ptr< WaveViewDrawRequest > &)
 
void _thread_proc ()
 
void start_threads ()
 
void stop_threads ()
 

Static Private Member Functions

static std::shared_ptr< WaveViewDrawRequestdequeue_draw_request ()
 
static void thread_proc ()
 

Private Attributes

bool _quit
 
WaveViewThreadList _threads
 
Glib::Threads::Mutex _queue_mutex
 
Glib::Threads::Cond _cond
 
DrawRequestQueueType _queue
 

Static Private Attributes

static uint32_t init_count
 
static WaveViewThreadsinstance
 

Friends

class WaveViewDrawingThread
 

Detailed Description

Definition at line 305 of file wave_view_private.h.

Member Typedef Documentation

◆ DrawRequestQueueType

typedef std::deque<std::shared_ptr<WaveViewDrawRequest> > ArdourWaveView::WaveViewThreads::DrawRequestQueueType
private

Definition at line 346 of file wave_view_private.h.

◆ WaveViewThreadList

typedef std::vector<std::shared_ptr<WaveViewDrawingThread> > ArdourWaveView::WaveViewThreads::WaveViewThreadList
private

Definition at line 337 of file wave_view_private.h.

Constructor & Destructor Documentation

◆ WaveViewThreads()

ArdourWaveView::WaveViewThreads::WaveViewThreads ( )
private

◆ ~WaveViewThreads()

ArdourWaveView::WaveViewThreads::~WaveViewThreads ( )
private

Member Function Documentation

◆ _dequeue_draw_request()

std::shared_ptr<WaveViewDrawRequest> ArdourWaveView::WaveViewThreads::_dequeue_draw_request ( )
private

◆ _enqueue_draw_request()

void ArdourWaveView::WaveViewThreads::_enqueue_draw_request ( std::shared_ptr< WaveViewDrawRequest > &  )
private

◆ _thread_proc()

void ArdourWaveView::WaveViewThreads::_thread_proc ( )
private

◆ deinitialize()

static void ArdourWaveView::WaveViewThreads::deinitialize ( )
static

◆ dequeue_draw_request()

static std::shared_ptr<WaveViewDrawRequest> ArdourWaveView::WaveViewThreads::dequeue_draw_request ( )
staticprivate

◆ enabled()

static bool ArdourWaveView::WaveViewThreads::enabled ( void  )
inlinestatic

Definition at line 314 of file wave_view_private.h.

◆ enqueue_draw_request()

static void ArdourWaveView::WaveViewThreads::enqueue_draw_request ( std::shared_ptr< WaveViewDrawRequest > &  )
static

◆ initialize()

static void ArdourWaveView::WaveViewThreads::initialize ( )
static

◆ start_threads()

void ArdourWaveView::WaveViewThreads::start_threads ( )
private

◆ stop_threads()

void ArdourWaveView::WaveViewThreads::stop_threads ( )
private

◆ thread_proc()

static void ArdourWaveView::WaveViewThreads::thread_proc ( )
staticprivate

Friends And Related Function Documentation

◆ WaveViewDrawingThread

friend class WaveViewDrawingThread
friend

Definition at line 319 of file wave_view_private.h.

Member Data Documentation

◆ _cond

Glib::Threads::Cond ArdourWaveView::WaveViewThreads::_cond
private

Definition at line 344 of file wave_view_private.h.

◆ _queue

DrawRequestQueueType ArdourWaveView::WaveViewThreads::_queue
private

Definition at line 347 of file wave_view_private.h.

◆ _queue_mutex

Glib::Threads::Mutex ArdourWaveView::WaveViewThreads::_queue_mutex
mutableprivate

Definition at line 343 of file wave_view_private.h.

◆ _quit

bool ArdourWaveView::WaveViewThreads::_quit
private

Definition at line 339 of file wave_view_private.h.

◆ _threads

WaveViewThreadList ArdourWaveView::WaveViewThreads::_threads
private

Definition at line 340 of file wave_view_private.h.

◆ init_count

uint32_t ArdourWaveView::WaveViewThreads::init_count
staticprivate

Definition at line 333 of file wave_view_private.h.

◆ instance

WaveViewThreads* ArdourWaveView::WaveViewThreads::instance
staticprivate

Definition at line 334 of file wave_view_private.h.


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