summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-05-16 18:13:08 +0200
committerRobin Gareus <robin@gareus.org>2014-05-16 18:13:08 +0200
commit4ece16be8ea0b9862d05886eaecdf4108b345c53 (patch)
tree5599a1a4129610ff7c483f816bc771e4fbe2b48d
parent51d0792f147a8695e9f93fbbb61238fd16f320e2 (diff)
replace gettimeofday() with g_get_monotonic_time()
-rw-r--r--gtk2_ardour/linux_vst_gui_support.cc14
-rw-r--r--libs/backends/dummy/dummy_audiobackend.cc12
2 files changed, 13 insertions, 13 deletions
diff --git a/gtk2_ardour/linux_vst_gui_support.cc b/gtk2_ardour/linux_vst_gui_support.cc
index 469246f517..5eaf485c75 100644
--- a/gtk2_ardour/linux_vst_gui_support.cc
+++ b/gtk2_ardour/linux_vst_gui_support.cc
@@ -336,9 +336,9 @@ void* gui_event_loop (void* ptr)
VSTState* vstfx;
int LXVST_sched_timer_interval = 40; //ms, 25fps
XEvent event;
- struct timeval clock1, clock2;
+ uint64_t clock1, clock2;
- gettimeofday(&clock1, NULL);
+ clock1 = g_get_monotonic_time();
/*The 'Forever' loop - runs the plugin UIs etc - based on the FST gui event loop*/
while (!gui_quit)
@@ -382,12 +382,12 @@ void* gui_event_loop (void* ptr)
/*See if its time for us to do a scheduled event pass on all the plugins*/
- gettimeofday(&clock2, NULL);
- const int elapsed_time = (clock2.tv_sec - clock1.tv_sec) * 1000 + (clock2.tv_usec - clock1.tv_usec) / 1000;
+ clock2 = g_get_monotonic_time();
+ const int64_t elapsed_time_ms = (clock2 - clock1) / 1000;
- if((LXVST_sched_timer_interval != 0) && elapsed_time >= LXVST_sched_timer_interval)
+ if((LXVST_sched_timer_interval != 0) && elapsed_time_ms >= LXVST_sched_timer_interval)
{
- //printf("elapsed %d ms ^= %.2f Hz\n", elapsed_time, 1000.0/(double)elapsed_time); // DEBUG
+ //printf("elapsed %d ms ^= %.2f Hz\n", elapsed_time_ms, 1000.0/(double)elapsed_time_ms); // DEBUG
pthread_mutex_lock (&plugin_mutex);
again:
@@ -463,7 +463,7 @@ again:
}
pthread_mutex_unlock (&plugin_mutex);
- gettimeofday(&clock1, NULL);
+ clock1 = g_get_monotonic_time();
}
}
diff --git a/libs/backends/dummy/dummy_audiobackend.cc b/libs/backends/dummy/dummy_audiobackend.cc
index 67aa695972..5f72c93519 100644
--- a/libs/backends/dummy/dummy_audiobackend.cc
+++ b/libs/backends/dummy/dummy_audiobackend.cc
@@ -1001,17 +1001,17 @@ DummyAudioBackend::main_process_thread ()
_running = true;
_processed_samples = 0;
- struct timeval clock1, clock2;
- ::gettimeofday (&clock1, NULL);
+ uint64_t clock1, clock2;
+ clock1 = g_get_monotonic_time();
while (_running) {
if (engine.process_callback (_samples_per_period)) {
return 0;
}
_processed_samples += _samples_per_period;
if (!_freewheeling) {
- ::gettimeofday (&clock2, NULL);
- const int elapsed_time = (clock2.tv_sec - clock1.tv_sec) * 1000000 + (clock2.tv_usec - clock1.tv_usec);
- const int nomial_time = 1000000 * _samples_per_period / _samplerate;
+ clock2 = g_get_monotonic_time();
+ const int64_t elapsed_time = clock2 - clock1;
+ const int64_t nomial_time = 1e6 * _samples_per_period / _samplerate;
_dsp_load = elapsed_time / (float) nomial_time;
if (elapsed_time < nomial_time) {
::usleep (nomial_time - elapsed_time);
@@ -1022,7 +1022,7 @@ DummyAudioBackend::main_process_thread ()
_dsp_load = 1.0;
::usleep (100); // don't hog cpu
}
- ::gettimeofday (&clock1, NULL);
+ clock1 = g_get_monotonic_time();
}
_running = false;
return 0;