summaryrefslogtreecommitdiff
path: root/libs/backends
diff options
context:
space:
mode:
authorTim Mayberry <mojofunk@gmail.com>2015-09-12 12:34:10 +1000
committerTim Mayberry <mojofunk@gmail.com>2015-09-16 11:22:16 +1000
commit4330db1aa77b71f7b3071f6b72f24f4a1e64aef3 (patch)
tree2fe5bf180fe73b9c375f3d34b07f26deb52728d4 /libs/backends
parent08e18a0cb47d862aaa42909fe92e554350dfe302 (diff)
Update timestamp types in CycleTimer class to be signed
Diffstat (limited to 'libs/backends')
-rw-r--r--libs/backends/portaudio/cycle_timer.h21
1 files changed, 11 insertions, 10 deletions
diff --git a/libs/backends/portaudio/cycle_timer.h b/libs/backends/portaudio/cycle_timer.h
index 95811ae1ca..6fe665568c 100644
--- a/libs/backends/portaudio/cycle_timer.h
+++ b/libs/backends/portaudio/cycle_timer.h
@@ -55,7 +55,7 @@ public:
// rint?? that may round to sample outside of cycle?
// max(0, value)?
- uint32_t samples_since_cycle_start (uint64_t timer_val) const
+ uint32_t samples_since_cycle_start (int64_t timer_val) const
{
if (timer_val < m_cycle_start) {
return 0;
@@ -63,38 +63,39 @@ public:
return std::max((double)0, (timer_val - get_start ()) / get_sample_length_us ());
}
- uint64_t timestamp_from_sample_offset (uint32_t sample_offset)
+ int64_t timestamp_from_sample_offset (uint32_t sample_offset)
{
return m_cycle_start + get_sample_length_us () * sample_offset;
}
bool valid () const { return m_samples_per_cycle && m_samplerate; }
- bool in_cycle (uint64_t timer_value_us) const
- { return (timer_value_us >= get_start()) && (timer_value_us < get_next_start());
+ bool in_cycle(int64_t timer_value_us) const
+ {
+ return (timer_value_us >= get_start()) && (timer_value_us < get_next_start());
}
- void reset_start (uint64_t timestamp) { m_cycle_start = timestamp; }
+ void reset_start (int64_t timestamp) { m_cycle_start = timestamp; }
- uint64_t get_start () const { return m_cycle_start; }
+ int64_t get_start () const { return m_cycle_start; }
- uint64_t microseconds_since_start (uint64_t timestamp) const
+ int64_t microseconds_since_start (int64_t timestamp) const
{
return timestamp - m_cycle_start;
}
- uint64_t microseconds_since_start (uint32_t samples) const
+ int64_t microseconds_since_start (uint32_t samples) const
{
return m_cycle_start + samples * get_sample_length_us ();
}
- uint64_t get_next_start () const
+ int64_t get_next_start () const
{
return m_cycle_start + rint (get_length_us ());
}
private:
- uint64_t m_cycle_start;
+ int64_t m_cycle_start;
uint32_t m_samplerate;
uint32_t m_samples_per_cycle;