Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plugin not working with Ableton Link #1

Closed
hellocatfood opened this issue Dec 27, 2020 · 10 comments
Closed

Plugin not working with Ableton Link #1

hellocatfood opened this issue Dec 27, 2020 · 10 comments

Comments

@hellocatfood
Copy link

I'm trying to use this plugin in the Carla and Modep hosts to control a Korg Volca device.

When the host is using internal sync and the plugin is set to host sync I can start and stop the Volca easily using the plugin. But when I set the host to use Ableton Link sync mode the start/stop commands don’t work and tempo changes aren’t sent.

I can't work out if the problem is the plugin, Carla/Modep (and possibly by extension Mod devices) or the Ableton Link sync mode.

@MarkusTratschitt
Copy link

You need the iPhone App SyncKontrol for Monotribe. With that app u turn ur Volca into a mobile device. Link is designed to sync Live with Mobiles. u need to connect microphone from the phone to the sync in of the volca then press play on the volca and then activate link in the app on the phone. Now start Ableton, press Link-Button and then u can control the bpm via the iPhone app. and ur devices stay in sync. this only works on iOS/MacOS.
Thats the way I get my equipment in sync. Maybe that can help u to figure out the problem. I am new in programming, so I just can tell, what I do.

@x42
Copy link
Owner

x42 commented Feb 18, 2021

The plugin either produces free-rolling MIDI-clock, or uses host-provided clock (LV2 time information).

The plugin itself is ignorant about Abelton Link, or JACK transport or LTC or any other means that the host might use for its internal clock.

@falkTX It seems that Carla does not (correctly) translate Abeton Link to LV2 BBT. Can you comment on that?

@falkTX
Copy link

falkTX commented Feb 18, 2021

I used it this just a few days ago, so Carla works afaik.

@x42
Copy link
Owner

x42 commented Feb 18, 2021

@hellocatfood : which version of Carla are you using?

@hellocatfood
Copy link
Author

hellocatfood commented Feb 18, 2021

I just updated earlier to carla to 2.2.0 and carla-git to 2.3.0-RC1 after seeing the announcement from falkTX's blog.

Sadly it's still not working in either 2.2.0 or 2.3.0. I recorded a video today of the problem

yt5s.com-lv2_ableton.clock.mp4

Sorry for all of the background noise, I just wanted to capture the sound of the synth so you could tell when it's working.

Hopefully the video shows that the midi clock plugin is only sending play/stop/transport information when not using ableton link.

@falkTX
Copy link

falkTX commented Feb 18, 2021

yeah. so a little extra tests would be useful.

  1. if you put a midi monitor (like sherlock) after the mclk-out, does it show any data when link is enabled?
  2. load step-sequencer and enable host-sync for it. does it play with link off and not play with link on as well?

@hellocatfood
Copy link
Author

Putting the Sherlock midi inspector after mclk-out shows the following when I press play:
+000 F2 03 03 SongPosition 387 3
And nothing else. When I press stop it shows:

+0000 FC            Stop
+0000 F2 F26 04 Song Position    550
+0000 F2 F26 04 Song Position    550

I loaded the x42 step sequencer and it plays when I have it set to host-sync and have link both on and off. I didn't have it connected to mclk

@gtrainavicius
Copy link

This issue was raised in our community, so I looked into this, and I think I spotted the cause of the problem. The self->mclk_last_tick that's based on the current bar and beat assumes that it is going to be close to the frame number of the audio sample, however, when Ableton Link is used, the bar and beat can be quite large when the transport is started, and the sample number would be quite low, so if (next_tick_offset >= n_samples) break; prevents the plugin from generating any clock messages. While using internal syncing, these values are close to each other, so the clock messages are generated.

As an attempt to fix it, I've modified this line:

https://github.com/x42/mclk.lv2/blob/master/src/mclk.c#L489

To look like this:

double tmp;
self->mclk_last_tick = sample_position - modf(bb, &tmp) * samples_per_beat;

I assumed 'self->mclk_last_tick' is supposed to be the sample frame number that aligned with the last beat, but correct me if that's a wrong assumption. :)

Anyway, with this workaround, the clock messages are getting generated at the correct rate when in Ableton Link sync mode, and the BPM is matched. I didn't test however whether the beats themselves occur at the correct moment everywhere.

@hellocatfood
Copy link
Author

@x42 any word on when/if @gtrainavicius edits will be implemented?

I've tried it myself and it seems to work

@x42
Copy link
Owner

x42 commented Nov 24, 2021

This is not an mclk.lv2 issue and needs to be fixed in the host.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants