diff options
author | Robin Gareus <robin@gareus.org> | 2014-05-16 18:13:08 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2014-05-16 18:13:08 +0200 |
commit | 4ece16be8ea0b9862d05886eaecdf4108b345c53 (patch) | |
tree | 5599a1a4129610ff7c483f816bc771e4fbe2b48d | |
parent | 51d0792f147a8695e9f93fbbb61238fd16f320e2 (diff) |
replace gettimeofday() with g_get_monotonic_time()
-rw-r--r-- | gtk2_ardour/linux_vst_gui_support.cc | 14 | ||||
-rw-r--r-- | libs/backends/dummy/dummy_audiobackend.cc | 12 |
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; |