diff options
Diffstat (limited to 'opl/opl_queue.c')
-rw-r--r-- | opl/opl_queue.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/opl/opl_queue.c b/opl/opl_queue.c index d05cc6a1..ee87a19b 100644 --- a/opl/opl_queue.c +++ b/opl/opl_queue.c @@ -201,6 +201,19 @@ unsigned int OPL_Queue_Peek(opl_callback_queue_t *queue) } } +void OPL_Queue_AdjustCallbacks(opl_callback_queue_t *queue, + unsigned int time, float factor) +{ + int offset; + int i; + + for (i = 0; i < queue->num_entries; ++i) + { + offset = queue->entries[i].time - time; + queue->entries[i].time = time + (int) (offset * factor); + } +} + #ifdef TEST #include <assert.h> |