kmatheussen / radium

A graphical music editor. A next generation tracker.
http://users.notam02.no/~kjetism/radium/
GNU General Public License v2.0
842 stars 36 forks source link

Timing not working in AU plugins #715

Closed Lykdraft closed 7 years ago

Lykdraft commented 7 years ago

Here you see a Gate Sequencer. At the beginning (Radium is in stop) it runs smoothly 1-32 like it should. As soon as I hit play, the sequencer jumps arkwardly to beat-steps.

This is however very unusual. I didn't notice that before with other plugins. I guess the whole Sinevibes series (and other AU plugins that I have) rely on a more "correct" position/finer clock or something.

Not sure if there's anything that can be done about that. I will send this .gif to the Sievibes Dev as well. (However, I tested all the plugs in other AU hosts and they are working fine there. This arkward behaviour is only present in Radium)

Best, tL. seqtimeshrott

kmatheussen commented 7 years ago

Have you noticed anything like this in VST plugins? From Radium's part, timing code is similar both for VST plugins and AU plugins. It could be that this problem is fixed automatically when the JUCE library is upgraded (seems like AU had just been added in the version used in Radium).

Lykdraft commented 7 years ago

No, I didn't notice anything like that before with any VST plugins. I am still waiting to see what the DEV from Sinevibes has to say about this. Funny thing is, that when the Sinevibes Plugins are "bridged" (meaning, I use BlueCat Patchwork or DDMF Metaplugin like I did before Radium supported AU Plugins) this problem DOESNT exist.... Only when I insert them natively directly in Radium. (!)

kmatheussen commented 7 years ago

Unless the bridge plugins does not bridge timing information, it doesn't seem like a Sinevibes problem at least. Sounds more like a JUCE problem, or possibly a Radium problem.

Lykdraft commented 7 years ago

Okay. JUCE might be a strong possibility here, given the fact that AU in that version has just being added. Would also explain why this problem is so far AU only.

Lykdraft commented 7 years ago

Got an answer from Artemiy (Sinevibes). Looks like (and hopefully) this issue seems to be related to JUCE and should be gone with the 4.2.4 JUCE upgrade.

Hi Tobias!

In earlier version of the JUCE framework, there might have been incomplete support for passing transport details to the AU plugins. I think we recall one other DAW that had this issue a couple years ago. JUCE uses PPQ tick values while AU uses sample values, and an incorrect conversion pretty much “quantizes” the location value to beats.

Let’s see if they indeed solve this issue as they rebuild against the newer framework.

Artemiy, Sinevibes

Lykdraft commented 7 years ago

Ah, unfortunatley it is not solved with the JUCE upgrade in the latest 4.2.2. Behaviour is still the same.

kmatheussen commented 7 years ago

Alright, I'll look at the code. I presume it's this plugin you are running? http://www.sinevib.es/switch/

On Sat, Oct 29, 2016 at 4:40 PM, Lykdraft notifications@github.com wrote:

Ah, unfortunatley it is not solved with the JUCE upgrade in the latest 4.2.2. Behaviour is still the same.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/kmatheussen/radium/issues/715#issuecomment-257095123, or mute the thread https://github.com/notifications/unsubscribe-auth/ABF9p59JxPUiJuKH2TLp3xQK4YaMBLdFks5q41rQgaJpZM4KhxJr .

Lykdraft commented 7 years ago

Yes, you can check with Switch or Sequenctial. Most of the Sinevibes plugins are sequencer based, I own all of them and most of them have the same problem. (Exceptions being the Synths for some reason....)

kmatheussen commented 7 years ago

I can't reproduce it. The steps are smooth whether I play or not. I'm using the demo version of switch 2.0.0. Perhaps you can provide a .rad file?

Lykdraft commented 7 years ago

Hm. Arkward. Okay, here is a rad file. sinefail.zip

And here is how it looks on my system: sinefail

Lykdraft commented 7 years ago

Okay, I installed the 2.0.0 Demo and it does indeed work. I will go back to Artemiy from Sinevibes, as this is on him it seems. (As the 2.0.1 paid version does not)

Lykdraft commented 7 years ago

So I am out of ideas and option. Artemiy build for me a specific exclusive Switch 2.0.2 build which resolves the problem. However, when I asked him if it might be possible to go through the whole Sinevibes series, (which obviously is a lot of work, because it's a lot of plugins) I got the answer below.. Now if this is true, something is indeed odd on Radiums end. No idea what that could be though...

Hi Tobias!

The sync scheme that we switched to for you is something that we used earlier but it gave us trouble in Ableton Live. We need to test this to make sure that Live no longer has an issue with it.

To be more precise - we get in trouble if a host causes the plugin to re-sync continuously. The issue is some hosts do this with one formula and some with the other :-) And the formula we use more recently was actually recommended by Apple and Ableton engineers...

Artemiy

Now what I could do is: I could send you a (licensed) version that has this problem, but because this is basically not allowed (breach of License Term obviousy, because this is licensed to me) I'll have to ask him, if thats okay.

Best, tL.

kmatheussen commented 7 years ago

It might work in 2.4.2.

Lykdraft commented 7 years ago

What is 2.4.2.?

kmatheussen commented 7 years ago

Sorry, 4.2.4. :-)

On Fri, Nov 4, 2016 at 1:01 PM, Lykdraft notifications@github.com wrote:

What is 2.4.2.?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/kmatheussen/radium/issues/715#issuecomment-258414054, or mute the thread https://github.com/notifications/unsubscribe-auth/ABF9p1af1J8QZtQD0uZjgrnLsPSHyNafks5q6x6sgaJpZM4KhxJr .

Lykdraft commented 7 years ago

Ah, okay. :)

Lykdraft commented 7 years ago

Yeah, it works now. Just read "temporary" fix? Is this to change again?

kmatheussen commented 7 years ago

Hopefully it will be replaced by a proper fix. It's not working perfectly.

On Fri, Nov 4, 2016 at 1:30 PM, Lykdraft notifications@github.com wrote:

Yeah, it works now. Just read "temporary" fix? Is this to change again?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/kmatheussen/radium/issues/715#issuecomment-258419070, or mute the thread https://github.com/notifications/unsubscribe-auth/ABF9pxS7zvV-EotZxJyWNT_HcjPyyh0zks5q6yV9gaJpZM4KhxJr .

Lykdraft commented 7 years ago

I see. In that case, shall I leave this open for now?

kmatheussen commented 7 years ago

It can be closed. I've made a separate issue for implementing a proper fix: https://github.com/kmatheussen/radium/issues/732

On Fri, Nov 4, 2016 at 1:34 PM, Lykdraft notifications@github.com wrote:

I see. In that case, shall I leave this open for now?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/kmatheussen/radium/issues/715#issuecomment-258419703, or mute the thread https://github.com/notifications/unsubscribe-auth/ABF9p9wmszBxXC3jjuc4PMwcMlpPaJ--ks5q6yZLgaJpZM4KhxJr .

Lykdraft commented 7 years ago

Alright.