This project has moved. For the latest updates, please go here.

Getting the groove (shuffle) amount

Oct 23, 2008 at 11:57 AM

First of all, congratulations to your work, very high quality code indeed.

My problem is the following: I am working on a tempo-based effect plugin and it would be very useful if I could get the exact tempo along with the amount of the groove (or shuffle, the terminology is not uniform), so that I could slice the flow of samples into, let's say, 16th's. Obviously, if the groove amount is high, there is a notable difference between the length of neighboring 16th's, so if the currently processed block of samples contains the end of the previous 16th and the beginning of the next 16th, finding their boundary requires the knowledge of the groove amount.

Currently I use the IVstHostSequencer.GetTime to get the current song position, the tempo, the time signature etc. but could not find any clue of the groove amount. If getting the groove amount is not possible by using the VstTimeInfo struct, could you suggest any workaround? I hope that this problem can be solved because most hosts support some kind of groove amount.

By the way, I have discovered a bug, which is easy to fix, fortunatelly. It is in the ToTimeInfo function in TypeConverter.h, the problem is with the following two lines:
        timeInfo->CycleStartPosition = pTimeInfo->cycleEndPos;
        timeInfo->CysleEndPosition = pTimeInfo->cycleStartPos;
Finding the bug is up to you, I won't help you any further.. :D
(Just being fusspot: the name of CysleEndPosition is mistyped.)

I hope that my question was clear enough and you can suggest a solution. Thanks in advance and keep up the good work!

Oct 26, 2008 at 1:18 PM
Hi Phaphus,

I'm not aware of any groove information being exposed by the VST interface standard.
I propose you ask you're question on the kvr audio DSP/plugin forum.

Thanks for the bug report. I'll fix it right away.