x42 / xjadeo

X JAck viDEo mOnitor: a tool that displays a video clip in sync with an external time source (jack-transport, LTC and MTC). Applications include: soundtrack composition/editing, video monitoring and -installations.
http://xjadeo.sf.net/
GNU General Public License v2.0
41 stars 7 forks source link

deleted issue? xjadeo doesn't follow transport timecode on OSX #6

Closed x42 closed 9 years ago

x42 commented 9 years ago

There was a report about not being able to seek backwards with xjadeo when using Jadeo on OSX with Bitwig (#5) using ProRes or h264 files..

Gone..odd, it should not be possible to delete issues.

I can't reproduce. Jadeo 0.8.2 , OSX 10.10.4. JACK 1.9.11 (JackPilot)

(1) Got the Bitwig Demo, v1.1.9 but on OSX the only option is CoreAudio, JACK is not avail.

(2) Tried ProRes and h264 QT generated files. Can seek with JACK just fine. Also disconnecting from JACK and manually seeking (press 'x' -> use slider) works.

lehtiniemi commented 9 years ago

This forum marked me as a boy and removed my post. I mailed the moderator already. Dunno why.

Jack is built-in in current Bitwig 1.2 beta that isn't out yet officially. That supports jack transport as well.

Is there any information I could provide to help track the issue or try at this end? or should we wait for the official 1.2? It's probably some months away yet.

lehtiniemi commented 9 years ago
lehtiniemi commented 9 years ago

It's back now: https://github.com/x42/xjadeo/issues/5

lehtiniemi commented 9 years ago

I tested this now: scrubbing works fine when disconnected as you said. Also, xjadeo follows Jack transport when I control it from the qjackctl. But when Bitwig is controlling the transport, qjackctl follows Bitwig transport but xjadeo doesn't follow what happens in qjackctl. Or it follows play and pause, but doesn't rewind the position but just continues from where it was paused. If I enable the xjadeo time code, I can also see there that the time code doesn't rewind while it does rewind in qjackctl.

What could cause this?

x42 commented 9 years ago

That is very mysterious. Does Bitwig just use portaudio's jack wrapper maybe?

Can you check with an Ardour Demo version http://nightly.ardour.org/ if Ardour + Bitwig are in sync? Ardour + Jadeo work here (both via JACK as well as Ardour directly controlling it).

Is the Bitwig 1.2 beta publicly available?

Since you have qjackctl, I assume you use homebrew, one explanation would be that you have two versions of libjack installed one from homebrew one from jackaudio.org. or maybe bitwig wrongly ships one, too. Different .dylibs could explain the issue. There must only ever be one libjack.dylib on the whole system.

You could try to run
/Applications/Jadeo.app/Contents/MacOS/Jadeo-bin --verbose which prints jack polled timecode. Other than that, I have no idea.

lehtiniemi commented 9 years ago

Thank you for the tips, I'll check this out. Meanwhile - how do I check the dynlib-issue - if I have duplicate, which one to keep and how to delete the extra one?

Bitwig beta isn't out yet as public but if I can backtrace it to them, I can report it as bug since I'm testing the beta.

Robin Gareus notifications@github.com kirjoitti 16.7.2015 kello 23.06:

That is very mysterious. Does Bitwig just use portaudio's jack wrapper maybe?

Can you check with an Ardour Demo version http://nightly.ardour.org/ if Ardour + Bitwig are in sync? Ardour + Jadeo work here (both via JACK as well as Ardour directly controlling it).

Is the Bitwig 1.2 beta publicly available?

Since you have qjackctl, I assume you use homebrew, one explanation would be that you have two versions of libjack installed one from homebrew one from jackaudio.org. or maybe bitwig wrongly ships one, too. Different .dylibs could explain the issue. There must only ever be one libjack.dylib on the whole system.

You could try to run

/Applications/Jadeo.app/Contents/MacOS/Jadeo-bin --verbose which prints jack polled timecode. Other than that, I have no idea.

— Reply to this email directly or view it on GitHub.

lehtiniemi commented 9 years ago

Hi!

How I did further researching. I misread the qjackctl-transport - the Transport BBT is in sync with Bitwig, but the TIMECODE is in sync with xjadeo and doesn't reset. So xjadeo seems to be running correctly with qjackctl transport. How can the time code and BBT be separate? Shouldn't they run alongside each other automatically? Is this something Bitwig is doing wrong in their code?

Robin Gareus notifications@github.com kirjoitti 16.7.2015 kello 23.06:

That is very mysterious. Does Bitwig just use portaudio's jack wrapper maybe?

Can you check with an Ardour Demo version http://nightly.ardour.org/ http://nightly.ardour.org/ if Ardour + Bitwig are in sync? Ardour + Jadeo work here (both via JACK as well as Ardour directly controlling it).

Is the Bitwig 1.2 beta publicly available?

Since you have qjackctl, I assume you use homebrew, one explanation would be that you have two versions of libjack installed one from homebrew one from jackaudio.org. or maybe bitwig wrongly ships one, too. Different .dylibs could explain the issue. There must only ever be one libjack.dylib on the whole system.

You could try to run

/Applications/Jadeo.app/Contents/MacOS/Jadeo-bin --verbose which prints jack polled timecode. Other than that, I have no idea.

— Reply to this email directly or view it on GitHub https://github.com/x42/xjadeo/issues/6#issuecomment-122072779.

x42 commented 9 years ago

Is the timecode HH:MM:SS:FF (not BBT display) in sync with bitwig, qjackctl, xjadeo?

If not, an educated guess is that it's a bigwig bug/feature. Let me explain.

Jack-transport is only a state (play, stop) & absolute position in samples (timecode).

Then there can be at most one application that acts as "jack timebase-master" (first one wins). That applications is responsible to translate the current absolute timecode to Bar/Beat/Tick.

JACK itself cannot do that because the tempo and metrum can change anytime and it may also depend on the location in the song.

Jack transport (timecode) cannot varispeed (it always progresses at the rate of the soundcard when playing). All apps are "slaved" to it. A user can only control it: Play now, Stop now, Locate to XX next cycle. But jack always plays at speed 1.0 (samplerate) or is stopped.

One explanation would be that since Bitwig does a lot of varispeeding, it simply does not care about the absolute timecode. It just uses the state (play/stop) and forces its current BBT to jack regardless of the timecode.

lehtiniemi commented 9 years ago

Ah, thanks! qjackctl, xjadeo and Bitwig are in sync with the BBT, but Bitwig's timecode is out of sync with Jack timecode. So I think it's something Bitwig ignores. I've written a beta report about this and I hope they consider changing this. It would give video features to Bitwig if it's fixed so I would think there's some meaning. JACK is a new feature in the beta so I think it's still a work in progress.

Thank you so much for your help, now I know where the problem lies. I'll get back to you if Bitwig changes in this regards or should something else pop up. Thank you so much once more for your through answers. :)

Meanwhile, I can sync video with Bitwig by manually rewinding the scene each time. So it's really nice to have this, at least. And I hope they fix the time code sync eventually.

Robin Gareus notifications@github.com kirjoitti 17.7.2015 kello 15.20:

Is the timecode HH:MM:SS:FF (not BBT display) in sync with bitwig, qjackctl, xjadeo?

If not an educated guess is that it's a bigwig bug/feature. Let me explain.

Jack-transport is only a state (play, stop) & absolute position in samples (timecode).

Then there can be at most one application that acts as "jack timebase-master" (first one wins). That applications is responsible to translate the current absolute timecode to Bar/Beat/Tick.

JACK itself cannot do that because the tempo and metrum can change anytime and it may also depend on the location in the song.

Jack transport (timecode) cannot varispeed (it always progresses at the rate of the soundcard when playing). All apps are "slaved" to it. A user can only control it: Play now, Stop now, Locate to XX next cycle. But jack always plays at speed 1.0 (samplerate) or is stopped.

One explanation would be that since Bitwig does a lot of varispeeding, it simply does not care about the absolute timecode. It just uses the state (play/stop) and forces its current BBT to jack regardless of the timecode.

— Reply to this email directly or view it on GitHub https://github.com/x42/xjadeo/issues/6#issuecomment-122259116.

x42 commented 9 years ago

PS. one solution for the vari-speed case is MTC (midi time code) generated by Bitwig. xjadeo can also take that as sync-source.. or LTC (linear timecode, encoded as audio).

But musical time (Midi-clock or BBT) is not suitable for A/V sync.

I'll close this issue since it's not a xjadeo problem.

lehtiniemi commented 9 years ago

Hi!

Oh, Bitwig doesn't support MTC yet, unfortunately… but I'm sure it'll come eventually.

Thank you once again!

Robin Gareus notifications@github.com kirjoitti 17.7.2015 kello 15.31:

PS. one solution for the vari-speed case is MTC (midi time code) generated by Bitwig. xjadeo can also take that as sync-source.. or LTC (linear timecode, encoded as audio).

But musical time (Midi-clock or BBT) is not suitable for A/V sync.

I'll close this issue since it's not a xjadeo problem.

— Reply to this email directly or view it on GitHub https://github.com/x42/xjadeo/issues/6#issuecomment-122261267.

stephankellermayr commented 9 years ago

just for info: i have the same problem on Ubuntu 14.04 with Bitwig Studio 1.2 (stable) and xjadeo 0.7.6. with Ardour3 it is working without problems.

lehtiniemi commented 9 years ago

I reported this to Bitwig and they said they'll be able to fix this. I'll try to poke the issue so they don't forget.

Juhana Lehtiniemi
Film composer
www.juhanalehtiniemi.com

sonority notifications@github.com kirjoitti 7.10.2015 kello 17.06:

just for info: i have the same problem on Ubuntu 14.04 with Bitwig Studio 1.2 (stable) and xjadeo 0.7.6. with Ardour3 it is working without problems.

— Reply to this email directly or view it on GitHub.

stephankellermayr commented 7 years ago

...nothing changed with bitwig studio 2.0. BBT is always in sync between BWS and qjackctl, but if you stop/play/loop in BWS, qjackctl does not reset the timecode and xjadeo starts playing from where it has been stopped. The option "Act as transport sync master" in BWS settings does not really change this behaviour. Communication between qjackctl and xjadeo seems to work correctly and if you reset the transport in qjackctl, xjadeo also resets the video to the beginning. so it's still a bitwig bug... (?)

x42 commented 7 years ago

I've heard that Bitwig 2.0 support MTC, maybe that's an option?