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

Better JACK support #1467

Open
2 of 13 tasks
tresf opened this issue Dec 19, 2014 · 22 comments
Open
2 of 13 tasks

Better JACK support #1467

tresf opened this issue Dec 19, 2014 · 22 comments

Comments

@tresf
Copy link
Member

tresf commented Dec 19, 2014

This is a placeholder to consolidate JACK related issues and requests. If a new JACK bug is reported on the tracker, close it out and mark it as a duplicate of this bug, #1467


Enhancements:

Bugs:

Related:

@Umcaruje
Copy link
Member

Umcaruje commented Mar 2, 2015

This should be turned into a task list so its easier to mark fixed issues.

@tresf
Copy link
Member Author

tresf commented Mar 2, 2015

This should be turned into a task list so its easier to mark fixed issues.

:)

@simonvanderveldt
Copy link
Contributor

FYI Initial JACK midi support is in #2038

@unfa
Copy link
Contributor

unfa commented Nov 4, 2016

Does anyone know what is the status of JACK transport support?

It'd really kick ass to have this, even in a simplest form (like - no tempo changes supported).

@letsdig
Copy link

letsdig commented Oct 30, 2017

I've checked out on this http://jackaudio.org/files/docs/html/transport-design.html#transportcontrol
seems to be possible implement that when the play and stop buttons are played...

@gi0e5b06
Copy link

@matt-bel gi0e5b06@d8fb40c
lmms as a client, basic transport.

@Umcaruje
Copy link
Member

@gi0e5b06 here's how you make a Pull Request out of that commit:

First, you add an upstream remote (ignore if you did this)

$ git remote add upstream https://github.com/LMMS/lmms.git

You need to check out a new branch:

$ git checkout -b basicJackTransport

Next, we need to hard reset that branch to the current master:

$ git fetch upstream
$ git reset --hard upstream/master

Then you want to cherry pick your commit on the new branch:

$ git cherry-pick d8fb40cdb4943e4c0589281f8c3a4ad2f4a2dc0c

After that you can push your branch:

git push --set-upstream origin basicJackTransport

Then on the github UI on the website, when you go to https://github.com/LMMS/lmms, you'll see this:
image
Click the green button to make a pull request.

And boom, your change gets reviewed and can safely get tested and merged.

@letsdig
Copy link

letsdig commented Oct 31, 2017

@gi0e5b06 i've tryed to compile with it but that patch is not working, are you planning to debug and
get it done out or just abandoned?

@gi0e5b06
Copy link

gi0e5b06 commented Nov 1, 2017

The first patch was adding the slave mode (qjackctl controlling lmms).
The new patch (WiP) gi0e5b06@45ccdc9 adds the client mode (making the play/stop buttons in lmms working again) and introduces the ITransport interface.
I'm planning to add full client mode, however it is a bigger task because of the actual bad design/spaghetti code.
I don't plan to add master mode soon.

@gi0e5b06
Copy link

gi0e5b06 commented Nov 4, 2017

@zonkmachine About the crash on exit (if you're using Jack), this is fixed by gi0e5b06@b21a9cf . Jack was still processing in the destructor.

@matt-bel About the sync: both Jack and LMMS being fully digital, they should stay synchronized (at the frame level). So that's something that can be fixed somehow. I put the transportQuery() call at the end of the processing. Let me know if it is better or worse.

@letsdig
Copy link

letsdig commented Nov 4, 2017

@gi0e5b06 just tested it and tried to sync with ardour metronome (only jack transport) + hydrogen kick and snare (ardour is perfectly in sync to hydro) with slave master and client option, still not perfectly in sync, there's like a some milliseconds delay, tested the other day (not this build but would be the same result) with jack transport + midi clock = https://www.youtube.com/watch?v=2PYt4hJUA9o, perfect because the midi delay control
maybe a regolable controller on the midi delay may help!?
transport not working if song editor loops are used in any case

@zonkmachine
Copy link
Member

zonkmachine commented Nov 5, 2017

@gi0e5b06 Thanks! I've bumped #devtalk on Discord.

@tresf tresf mentioned this issue Jan 28, 2018
@ycollet
Copy link
Contributor

ycollet commented Apr 14, 2018

I vote for this one. Required to allow lmms to control xjadeo

@zicklag
Copy link

zicklag commented Aug 9, 2020

Sorry for the ping if commenting like this is discouraged, but I would love to have Jack transport support. ( just tell me and I won't do it again ;) ) I sync up MuseScore with Ardour to add digital instruments to my recordings, but LMMS has a lot more features from an effects and automation standpoint so it would give me a lot more powers if I could sync LMMS with Ardour.

@trebmuh
Copy link
Contributor

trebmuh commented Aug 9, 2020

@tresf : what about adding #5456 in #1467 (comment)?

@Spekular
Copy link
Member

@trebmuh done!

@Spekular Spekular removed this from the 1.3 milestone Mar 12, 2021
@Spekular Spekular added this to the 1.3+ milestone Mar 12, 2021
@lorenzosu
Copy link

Hi, I think by also reading other comments that Jack Transport is rather high on the list... I've commented on the specific issue which was closed (#523). Wondering if this is still being considered and what other users think.

@ycollet
Copy link
Contributor

ycollet commented Apr 17, 2023

For me the issue with Jack is to be able to sync jack time between lmms and xjadeo to be able to compose music for the image.
Xjadeo is using this as sync source:
Sync sources:

@tresf
Copy link
Member Author

tresf commented Apr 17, 2023

Hi, I think by also reading other comments that Jack Transport is rather high on the list... I've commented on the specific issue which was closed (#523). Wondering if this is still being considered and what other users think.

We'd be happy to reopen any closed or consolidated bug reports if people want to start working on them.

@letsdig
Copy link

letsdig commented Apr 18, 2023

For me the issue with Jack is to be able to sync jack time between lmms and xjadeo to be able to compose music for the image. Xjadeo is using this as sync source: Sync sources:

This comment will not fit as issue answer and its maybe OT but as being requested from long time, this can be 'temporary(?) solved' in kinda couple ways:

  • Use carla as plugin (latest version), unblock extra features in carla preferences then go for the 'extra' tab and find the option to make the 'add jack app' tab appear.
    Now try to load xjadeo from the new tab 'Add jack application' , if everything works fine all should be synced with lmms.
    Didn't tried it with xjadeo but i usually load jack apps into lmms->carla this way, using pulse for out in lmms, carla as plugin should virtualize a synced jack environment .

  • Second way "i solved" this at this time is compiling/patchin from this fork: https://github.com/firewall1110/lmms/tree/jackdexsync
    Found that from this pull req: https://github.com/LMMS/lmms/pull/6066/commits/878a14ed64bf7d7d2c5c4dbafbea5c943cfc9892
    Then:
    https://github.com/LMMS/lmms/pull/6066
    Now.. i dont remember if i've just compiled this or just patched a master branch version cause i have the patched archive saved in my local storage and also i've compiled my own appimage from it long ago, you should just try and just in case maybe dig a little bit.
    It may have some minor bugs but to me its working.
    In the pull thread the author was syncing with xjadeo as example.

Regards.

@Snowiiii
Copy link
Contributor

Hey we updated jack to latest in 3f5ac80 does it may have improved the situation?

@letsdig
Copy link

letsdig commented Mar 20, 2024

why this would improve something never actually done?

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

No branches or pull requests