clock-drivers.h File Reference

#include "types.h"
#include "period-type.h"
#include "player-core.h"
Include dependency graph for clock-drivers.h:
This graph shows which files directly or indirectly include this file:

Classes

class  clock_driver

Functions

signed8 x_normalise (signed8 y)
signed8 y_normalise (signed8 x)

Variables

quad_period_type targetperiod
quad_period_type currentperiod
quad_period_type normalperiod
signed8 x
signed8 y
clock_drivermetronome

Function Documentation

signed8 x_normalise ( signed8  y  ) 

converts the y position (samples given the current tempo) to x (playing position in the raw file)

Referenced by cue_set(), and map_set().

signed8 y_normalise ( signed8  x  ) 

converts the x position (samples in the raw file) to a position given the current tempo.

Referenced by jumpto(), loop_jump(), map_active(), map_stop(), and Player::timerTick().


Variable Documentation

This variable denotes the period of 1 measure (4 beats) in the native song. This is thus the reciprocal of the native tempo To modify the tempo, one should go through the metronome.

Referenced by RhythmAnalyzer::calculateRhythmPattern2(), Player::changeTempo(), core_meta_init(), Player::loop(), Player::mapStart(), Player::normalTempo(), Player::nudgeCueBack8M(), Player::nudgeCueForward8M(), Player::Player(), WritingFinished::run(), BeatGraphAnalyzer::setTempo(), ActiveSomBeatGraph::start(), BpmAnalyzerDialog::tap(), Player::targetStep(), and Player::timerTick().

This variable denotes the target period, which is the length of 1 measure (=4 beats) at the command line requested playing speed

Referenced by core_meta_init(), BeatGraphAnalyzer::setTempo(), and Player::targetTempo().

signed8 x
signed8 y

y is the position in the playing file (thus at target tempo) So if a song is 4 minutes and we play it at 50% of the normal speed then we have a total length of 8 minutes, which means that the position halfway the song will be at samplerate*4 and the last position in the song is at samplerate*8. If the song would play at double the speed then the last position in the song is at samplerate*4/8 (or samplerate/2) In other words. this is a tricky variable which is afterward transformed to the proper playing position x during the streaming. The advantage of this setup is that y can simply be incremented.

Referenced by Player::breakLfo(), RhythmAnalyzer::calculateRhythmPattern2(), clock_driver::changetempo(), SongMetriek::composition_dist(), cue_set(), QSong::data(), BeatGraphLabel::drawCueText(), Player::fastPan(), Player::fastRevSaw(), Player::fastSaw(), SpectrumAnalyzer::fetchSpectrum_normal(), SpectrumAnalyzer::fetchSpectrum_wavelet(), findMatchWithVolumeAccounting(), SongMetriek::histogram_dist(), jumpto(), lfo_break(), lfo_metronome(), lfo_pan(), lfo_revsaw(), lfo_saw(), lfo_set(), loop_jump(), main(), map_active(), map_set(), map_stop(), Player::metronome(), Player::mouseMoveEvent(), Player::mousePressEvent(), Player::mouseReleaseEvent(), Player::normalLfo(), Player::restart(), SongMetriek::rhythm_dist(), clock_driver::set_normalperiod(), clock_driver::shift(), Player::slowPan(), Player::slowRevSaw(), Player::slowSaw(), dsp_driver::start(), ActiveSomBeatGraph::start(), SpawnWhenActivated::start(), Analyzer::start(), and Player::timerTick().

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated by  doxygen 1.6.2