Lmms: Better JACK support

Created on 19 Dec 2014  路  16Comments  路  Source: LMMS/lmms

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:

  • [ ] JACK support on Windows (#2136) and MacOS
  • [ ] JACK transport support #523
  • [ ] JACK MIDI support #2038
  • [ ] JACK inputs (for recording, eventually) #908
  • [ ] JACK outputs #908
  • [ ] JACK sends #524
  • [ ] JACK freewheeling #908
  • [ ] JACK samplerate should be default for exports #2211
  • [ ] Support Jack v1 and Jack v2 in our AppImages #3719
  • [ ] Choosing how many outputs with JACK #5456

Bugs:

  • [ ] JACK output/rendering issues #1162
  • [ ] JACK reconnection issues #1240

Related:

  • [ ] ALSA to JACK bridge distortion #276
bug enhancement meta

Most helpful comment

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

All 16 comments

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

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

:)

FYI Initial JACK midi support is in #2038

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).

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 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.

@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?

The first patch was adding the slave mode (qjackctl controlling lmms).
The new patch (WiP) https://github.com/gi0e5b06/lmms/commit/45ccdc9e5b73c5ba9d38ea5890907d4e862837b9 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.

@zonkmachine About the crash on exit (if you're using Jack), this is fixed by https://github.com/gi0e5b06/lmms/commit/b21a9cf3e03f49091cd064c6afde38708198f45f . 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.

@gi0e5b06 just tested it and tryed 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

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

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

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.

@tresf : what about adding #5456 in https://github.com/LMMS/lmms/issues/1467#issue-52483742?

@trebmuh done!

Was this page helpful?
0 / 5 - 0 ratings