summaryrefslogtreecommitdiff
path: root/opl/opl_queue.c
diff options
context:
space:
mode:
Diffstat (limited to 'opl/opl_queue.c')
-rw-r--r--opl/opl_queue.c13
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>