Ardour  9.0-pre0-582-g084a23a80d
ARDOUR::MidiClockTicker Class Reference

#include <ticker.h>

Public Member Functions

 MidiClockTicker (Session &)
 
 MidiClockTicker (const MidiClockTicker &)=delete
 
MidiClockTickeroperator= (const MidiClockTicker &)=delete
 
virtual ~MidiClockTicker ()
 
void tick (samplepos_t, samplepos_t, pframes_t, samplecnt_t)
 

Private Member Functions

void reset ()
 
void resync_latency (bool)
 
double one_ppqn_in_samples (samplepos_t transport_position) const
 
void send_midi_clock_event (pframes_t offset, pframes_t nframes)
 
void send_start_event (pframes_t offset, pframes_t nframes)
 
void send_continue_event (pframes_t offset, pframes_t nframes)
 
void send_stop_event (pframes_t offset, pframes_t nframes)
 
void send_position_event (uint32_t midi_clocks, pframes_t offset, pframes_t nframes)
 

Private Attributes

ARDOUR::Session_session
 
std::shared_ptr< MidiPort_midi_port
 
bool _rolling
 
samplepos_t _next_tick
 
uint32_t _beat_pos
 
uint32_t _clock_cnt
 
samplepos_t _transport_pos
 
LatencyRange _mclk_out_latency
 
PBD::ScopedConnection _latency_connection
 

Detailed Description

Definition at line 36 of file ticker.h.

Constructor & Destructor Documentation

◆ MidiClockTicker() [1/2]

ARDOUR::MidiClockTicker::MidiClockTicker ( Session )

◆ MidiClockTicker() [2/2]

ARDOUR::MidiClockTicker::MidiClockTicker ( const MidiClockTicker )
delete

◆ ~MidiClockTicker()

virtual ARDOUR::MidiClockTicker::~MidiClockTicker ( )
virtual

Member Function Documentation

◆ one_ppqn_in_samples()

double ARDOUR::MidiClockTicker::one_ppqn_in_samples ( samplepos_t  transport_position) const
private

◆ operator=()

MidiClockTicker& ARDOUR::MidiClockTicker::operator= ( const MidiClockTicker )
delete

◆ reset()

void ARDOUR::MidiClockTicker::reset ( )
private

◆ resync_latency()

void ARDOUR::MidiClockTicker::resync_latency ( bool  )
private

◆ send_continue_event()

void ARDOUR::MidiClockTicker::send_continue_event ( pframes_t  offset,
pframes_t  nframes 
)
private

◆ send_midi_clock_event()

void ARDOUR::MidiClockTicker::send_midi_clock_event ( pframes_t  offset,
pframes_t  nframes 
)
private

◆ send_position_event()

void ARDOUR::MidiClockTicker::send_position_event ( uint32_t  midi_clocks,
pframes_t  offset,
pframes_t  nframes 
)
private

◆ send_start_event()

void ARDOUR::MidiClockTicker::send_start_event ( pframes_t  offset,
pframes_t  nframes 
)
private

◆ send_stop_event()

void ARDOUR::MidiClockTicker::send_stop_event ( pframes_t  offset,
pframes_t  nframes 
)
private

◆ tick()

void ARDOUR::MidiClockTicker::tick ( samplepos_t  ,
samplepos_t  ,
pframes_t  ,
samplecnt_t   
)

Member Data Documentation

◆ _beat_pos

uint32_t ARDOUR::MidiClockTicker::_beat_pos
private

Definition at line 51 of file ticker.h.

◆ _clock_cnt

uint32_t ARDOUR::MidiClockTicker::_clock_cnt
private

Definition at line 52 of file ticker.h.

◆ _latency_connection

PBD::ScopedConnection ARDOUR::MidiClockTicker::_latency_connection
private

Definition at line 55 of file ticker.h.

◆ _mclk_out_latency

LatencyRange ARDOUR::MidiClockTicker::_mclk_out_latency
private

Definition at line 54 of file ticker.h.

◆ _midi_port

std::shared_ptr<MidiPort> ARDOUR::MidiClockTicker::_midi_port
private

Definition at line 48 of file ticker.h.

◆ _next_tick

samplepos_t ARDOUR::MidiClockTicker::_next_tick
private

Definition at line 50 of file ticker.h.

◆ _rolling

bool ARDOUR::MidiClockTicker::_rolling
private

Definition at line 49 of file ticker.h.

◆ _session

ARDOUR::Session& ARDOUR::MidiClockTicker::_session
private

Definition at line 47 of file ticker.h.

◆ _transport_pos

samplepos_t ARDOUR::MidiClockTicker::_transport_pos
private

Definition at line 53 of file ticker.h.


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