Git Product home page Git Product logo

Comments (9)

sjaehn avatar sjaehn commented on August 23, 2024 1

I'm closing this issue here as it looks like a host-related problem and @drobilla already opened an issue there: drobilla/jalv#49.

from bschaffl.

sjaehn avatar sjaehn commented on August 23, 2024

I can't reproduce it on Ubuntu 20.04. It looks like your system doesn't like any live change in latency. But then, the host behaviour is odd.

I'm a bit surprised about calling jalv with sudo. And I also wonder where the error messages come from. Jalv or jackd? I've got jackd2 (1.9.12) running without any problems.

from bschaffl.

yurivict avatar yurivict commented on August 23, 2024

I'm a bit surprised about calling jalv with sudo

This was just to make sure permissions aren't a problem. It runs fine without sudo.

And I also wonder where the error messages come from. Jalv or jackd? I've got jackd2 (1.9.12) running without any problems.

jackd2 doesn't yet run on FreeBSD. People are working on making it compatible.

from bschaffl.

sjaehn avatar sjaehn commented on August 23, 2024

It runs fine without sudo.

Do you mean "it runs in the same way" (I guess you mean this) or do you mean "it runs without any errors" ? And do you see the same problem with other hosts (like Carla, Ardour, ...)?

I think it has something to do with jalv and the jack/jack2 problem. And it is somehow related to sjaehn/BChoppr#12. The error messages look like jack.

The only maybe "evil" thing that B.Schaffl does is dynamicly changing the latency value by re-calculating

void BSchaffl::recalculateLatency ()
and writing to the LV2 latency output port
*controllerPtrs[LATENCY] = latencyFr;
which is defined there:

BSchaffl/BSchaffl.ttl

Lines 729 to 737 in cf507cc

a lv2:OutputPort , lv2:ControlPort ;
lv2:index 76 ;
lv2:symbol "latency" ;
lv2:name "latency";
lv2:minimum 0 ;
lv2:maximum 192000 ;
# lv2:designation lv2:latency ;
lv2:portProperty lv2:reportsLatency , lv2:integer, pprops:notOnGUI ;
units:unit units:frame ;
That's all for the plugin. It doesn't do anything else with latency. And it doesn't have got any direct access to jack.

It's the hosts task to handle the latency value reported by the plugin. Maybe @drobilla (who made jalv and the most of the LV2 tools) knows a bit more.

from bschaffl.

drobilla avatar drobilla commented on August 23, 2024

No idea, sorry, I'd have to look in to it. Jalv does attempt to report changed latency to JACK. I have no idea off the top of my head whether how/when/etc it does so is correct, though. Maybe @x42 who originally wrote that code and generally understands JACK latency far better will have some idea.

from bschaffl.

x42 avatar x42 commented on August 23, 2024

Last I check (3-4 years ago) jalv did not notify jack when the plugin's latency changes.
However. changing jack port connections triggers a latency-callback, and jalv will use the current value.
check with jack_lsp -l

from bschaffl.

drobilla avatar drobilla commented on August 23, 2024

drobilla/jalv@cebeaf2

from bschaffl.

x42 avatar x42 commented on August 23, 2024

@drobilla so the patch calls jack_recompute_total_latencies() whenever the plugin's latency changes from the process-callback. -- No idea if that works with jack1, ask some JACK threading expert.

The rest of the code reads fine.

from bschaffl.

pauldavisthefirst avatar pauldavisthefirst commented on August 23, 2024

jack_recompute_total_latencies() is a server call. It is not legal to make server calls from within a server callback (like the process callback).

from bschaffl.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.