aboutsummaryrefslogtreecommitdiffstats
path: root/src/jack.c
AgeCommit message (Collapse)AuthorFilesLines
2024-11-24Use message mechanism to request plugin state updatesDavid Robillard1-6/+0
Replaces highly questionable cross-thread use of the request_update flag.
2024-11-24Only send control messages to designated lv2:control portsDavid Robillard1-4/+4
2024-11-24Factor out process_transport() from Jack process callbackDavid Robillard1-20/+31
2024-11-24Factor out process_silent() from Jack process callbackDavid Robillard1-12/+20
2024-11-24Factor out jalv_write_get_message() from process callbacksDavid Robillard1-5/+1
2024-11-24Factor out forging a position from Jack transportDavid Robillard1-26/+35
2024-11-24Use a typedef for port flow and type like other enumsDavid Robillard1-2/+2
2024-11-24Use a typedef for ports like other structsDavid Robillard1-6/+6
2024-11-24Fix inconsistent case in information messageDavid Robillard1-1/+1
2024-11-24Move process thread code to a separate fileDavid Robillard1-0/+1
2024-11-24Fix Jack latency recomputation when plugin latency changesDavid Robillard1-4/+23
Paul Davis says "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)."
2024-11-24Improve const-correctness of Jack latency callbackDavid Robillard1-4/+4
2024-11-24Generalize audio/main thread communicationDavid Robillard1-6/+1
Defines a more general message structure that can also accommodate internal use (not just as a channel for plugin/UI message), and cleans up the ring reading/writing code to prepare for such use.
2024-11-24Remove transport position dumping from Jack process callbackDavid Robillard1-2/+0
This is handy at times, but prints in the process callback which is obviously not realtime safe. The communication dumping is, though, and both are controlled by the same option, so there wasn't a way to enable that without introducing a pretty severe performance issue in the audio thread. So, simply remove it for now. If transport dumping is really needed, it can be implemented by sending the information to the main thread for printing there, which will be easier after the upcoming work to improve the communication facilities.
2024-11-24Avoid querying the lilv model in the process callbackDavid Robillard1-2/+1
2024-11-24Move low-level event sending functions to a separate fileDavid Robillard1-0/+1
Takes advantage of the dependency trimming of the previous commit to work towards separating things more cleanly.
2024-11-24Move ring error handling and logging to a higher levelDavid Robillard1-2/+7
This removes the dependency on the "global" Jalv object from the low-level message sending functions.
2024-11-17Move string utilities to a separate compilation unitDavid Robillard1-0/+1
These don't really have anything to do with logging. Also replace a call to the non-standard strdup() in the process.
2024-10-12Merge duplicate branchesDavid Robillard1-7/+1
2024-10-12Remove useless conditionsDavid Robillard1-8/+4
2024-10-12Handle allocation failure in jack_initialize()David Robillard1-4/+10
2024-10-12Return distinct error codes from jack_initialize()David Robillard1-3/+13
2024-10-12Initialize bufferDavid Robillard1-2/+2
2024-10-12Use exhaustive switch statements everywhereDavid Robillard1-4/+4
2023-09-22Clean up includesDavid Robillard1-3/+0
2022-08-17Use logging API for almost all console outputDavid Robillard1-1/+1
Towards being smarter about this and maintaining distinction between kinds of output, so the console interface can grow into a more solid language/protocol.
2022-08-17Factor out jalv_write_event()David Robillard1-2/+3
2022-08-17Factor out jalv_write_control()David Robillard1-11/+1
2022-08-17Relax unnecessarily narrow typesDavid Robillard1-13/+5
2022-08-17Clean up log messages for consistencyDavid Robillard1-1/+1
2022-08-17Clean up atom dumping codeDavid Robillard1-15/+1
2022-08-17Fix spurious transport messagesDavid Robillard1-3/+4
The beats_per_minute from JACK is only valid if JackPositionBBT is set. On some JACK implementations (at least pipewire), this value is otherwise garbage, which causes a lot of transport message spam.
2022-08-17Use clearer names for communication ringsDavid Robillard1-1/+1
2022-08-17Switch to meson build systemDavid Robillard1-6/+6
2022-08-17Avoid snprintf()David Robillard1-1/+2
2022-08-17Use a consistent interface for error/warning/debug loggingDavid Robillard1-3/+3
Towards the ability to hook the log into other things (for display in a UI, for example). The implementation still just prints to stderr, although now with consistent formatting.
2022-08-17Move REALTIME definition to jack.cDavid Robillard1-0/+6
2022-08-17Reduce dependence on jalv_internal.hDavid Robillard1-1/+2
2022-08-17Move Port definition to its own headerDavid Robillard1-0/+1
2022-08-17Separate options.h from jalv_internal.hDavid Robillard1-0/+1
2022-08-17Move control-related type definitions to control.hDavid Robillard1-0/+1
2022-08-17Move JalvURIDs and JalvNodes to their own headersDavid Robillard1-0/+2
2022-08-17Clearly separate frontends from common internalsDavid Robillard1-1/+2
2022-08-17Separate backend.h from jalv_internal.hDavid Robillard1-0/+2
2022-08-17Separate log.h from jalv_internal.hDavid Robillard1-0/+1
2022-08-17Adopt REUSE machine-readable licensing standardDavid Robillard1-15/+2
2022-05-30Remove use of VLAsDavid Robillard1-1/+1
2022-05-27Use consistent comment stylesDavid Robillard1-38/+38
2022-05-27Format all code with clang-formatDavid Robillard1-423/+440
2021-01-02Use email address instead of website for attributionDavid Robillard1-1/+1