| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 | 
							- #include "CallbackClock.h"
 
- namespace midi {
 
- CallbackClock::CallbackClock()
 
-     : CallbackClock(0, 0)
 
- {
 
- }
 
- CallbackClock::CallbackClock(TickCallback tickCallback)
 
-     : CallbackClock(tickCallback, 0)
 
- {
 
- }
 
- CallbackClock::CallbackClock(TickCallback callback, void* callbackData)
 
-     : tickCallback(callback), tickCallbackData(callbackData)
 
- {
 
- }
 
- CallbackClock::TickCallback CallbackClock::getTickCallback()
 
- {
 
-     tickCallback_mutex.lock();
 
-     TickCallback c = tickCallback;
 
-     tickCallback_mutex.unlock();
 
-     return c;
 
- }
 
- void CallbackClock::setTickCallback(TickCallback c)
 
- {
 
-     tickCallback_mutex.lock();
 
-     tickCallback = c;
 
-     tickCallback_mutex.unlock();
 
- }
 
- void* CallbackClock::getTickCallbackData()
 
- {
 
-     tickCallbackData_mutex.lock();
 
-     void* d = tickCallbackData;
 
-     tickCallbackData_mutex.unlock();
 
-     return d;
 
- }
 
- void CallbackClock::setTickCallbackData(void* d)
 
- {
 
-     tickCallbackData_mutex.lock();
 
-     tickCallbackData = d;
 
-     tickCallbackData_mutex.unlock();
 
- }
 
- void CallbackClock::tick()
 
- {
 
-     TickCallback c = getTickCallback();
 
-     if(c) {
 
-         c(getTickCallbackData());
 
-     }
 
- }
 
- };
 
 
  |