Better Cakewalk Timing Fix [message #107989] |
Sun, 08 December 2013 05:56 ![Go to next message Go to previous message](/theme/PARIS_Forum_Template/images/down.png) |
mikeaudet
![CANADA CANADA](/images/flags/ca.png) Messages: 476 Registered: February 2009 Location: Canada
|
Senior Member |
|
|
Hi Guys,
I'm not sure how many of you use Cakewalk Pro Audio 9 for your MIDI needs, but I found that every Cakewalk update after Pro Audio 9 only addressed audio tracks and virtual instruments, neither of which I care about. So, I've kept using version 9.
There is one problem that Pro Audio 9 has: it was written before a command was introduced that switches Windows into a low-latency mode. The tricky part about this fix was that it isn't enough to just switch Windows into the low latency mode; only applications that specifically call for a low latency mode are affected by the change. All other apps get the same 16ms clock intervals.
I got about half of this fix done a while ago, but I wasn't really happy with it. The old fix required changing the registry, and every app that loaded would load cakewalkfix.dll, and if it was Cakewalk calling, timeBeginPeriod(1) would be called. This new way doesn't require a registry change, and nor other applications are affected.
This approach uses a small application that:
1) Loads cakewalk, but suspends the main thread.
2) Injects the cakewalkFix.dll into the cakewalk process.
3) Cakewalk fix calls timeBeginPeriod(1), setting the timers to 1 ms resolution for cakewalk
4) The main thread in cakewalk is released, and cakewalk loads as usual.
All you have to do to install this fix is copy the two attached files to the cakewalk folder (the one that has cwpa.exe in it) and change your cakewalk shortcut to point to startCakewalk.exe instead of cwpa.exe. You'll see a dos box open for a second, but otherwise, Cakewalk will open as usual.
I hope this helps someone else get better MIDI timing. When synching Cakewalk to PARIS via MTC, I get 1 ms variance in MIDI timing vs. 16 ms without this fix.
I put the same fix into the PARIS application via a change to the PSCL in the last release of the driver.
Cheers!
Mike
|
|
|