MuseScore Studio

Hello Olli, I have been looking at VST3 support in MuseScore and I noticed on Github you raised an issue with them last year, so you may be interested in this. They recently made a change so they now send to plugins mProcessContext.projectTimeSamples. Unfortunately they don’t maintain any of the other useful stuff to go into timeInfo.

I noticed something in iPlug2 which I think may be a mistake. I see in IPlugVST3ProcessorBase::PrepareProcessContext:

if (mProcessContext.state & ProcessContext::kProjectTimeMusicValid)
timeInfo.mSamplePos = (double) mProcessContext.projectTimeSamples;

Looking at the comments in ivstprocesscontext.h I think the status kProjectTimeMusicValid is intended to flag use of parameter projectTimeMusic (PPQPos). According to the header comments projectTimeSamples should always be valid.

Not a big deal really as every conventional DAW will be maintaining PPQPos and will set kProjectTimeMusicValid. However, currently MuseScore does not, so iPlug2 plugins get zero timeInfo.mSamplePos.

Regards, hope that is useful.