Skip to content

A program that facilitates parallelism in serial jack graphs by introducing latency

Notifications You must be signed in to change notification settings

fps/jack2_split

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 

Repository files navigation

jack2_split

A program that facilitates parallelism in serial jack graphs by introducing latency. Only useful for jack2/jackdmp - it does nothing but add latency in jack1 setups.

What?

If you have a jack processsing graph that looks like this:

capture -> A -> B -> playback

where A and B are jack clients, then A and B must be scheduled in series due to the linear dependency.

Running A and B serially might produce xruns (i.e. violate the scheduling deadline imposed by jackd) while running only A or only B might not.

jack2_split can be used to remedy the situation by using the following graph:

capture -> A -> jack2_split -> B -> playback

jack2_split breaks the serial dependency by registering two jack clients which respectively only have terminal input and output ports. It copies the buffers from its inputs to its outputs after the current process cycle. This introduces one additional period of latency into the graph, but allows jack2/jackdmp to schedule A and B in parallel (e.g. on two cores).

The resulting two independent graphs then look like this:

capture -> A -> jack2_split

jack2_split -> B -> playback

About

A program that facilitates parallelism in serial jack graphs by introducing latency

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published