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());
- }
- }
- };
|