Entropy Piano Tuner  1.1.3 (documentation not yet complete)
An open-source experimental software for piano tuning by entropy minimization
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
timer.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright 2015 Haye Hinrichsen, Christoph Wick
3  *
4  * This file is part of Entropy Piano Tuner.
5  *
6  * Entropy Piano Tuner is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by the
8  * Free Software Foundation, either version 3 of the License, or (at your
9  * option) any later version.
10  *
11  * Entropy Piano Tuner is distributed in the hope that it will be useful, but
12  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13  * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
14  * more details.
15  *
16  * You should have received a copy of the GNU General Public License along with
17  * Entropy Piano Tuner. If not, see http://www.gnu.org/licenses/.
18  *****************************************************************************/
19 
20 //=============================================================================
21 // Timer
22 //=============================================================================
23 
24 #ifndef TIMER_H
25 #define TIMER_H
26 
27 #include <chrono>
28 
38 
39 class Timer
40 {
41 public:
42  Timer();
43  ~Timer() {}
44 
45  void reset ();
46  int64_t getMilliseconds();
47  void wait (int milliseconds);
48  bool timeout (int64_t milliseconds);
49  void waitUntil (int64_t milliseconds, int interval_ms=5);
50 
51 private:
52  std::chrono::time_point<std::chrono::system_clock> mStart;
53 };
54 
55 #endif // TIMER_H
std::chrono::time_point< std::chrono::system_clock > mStart
Definition: timer.h:52
Timer()
Constructor, resets the timer.
Definition: timer.cpp:36
Versatile timer for the entropy tuner.
Definition: timer.h:39
bool timeout(int64_t milliseconds)
Check for timeout.
Definition: timer.cpp:94
void waitUntil(int64_t milliseconds, int interval_ms=5)
Wait in idle mode for a certain minimum time span since last reset.
Definition: timer.cpp:112
void wait(int milliseconds)
Wait in idle mode without consuming CPU time.
Definition: timer.cpp:67
int64_t getMilliseconds()
Definition: timer.cpp:77
void reset()
Reset the timer and remember the current time locally.
Definition: timer.cpp:50
~Timer()
Definition: timer.h:43