aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2024-11-24Factor out initial_state()David Robillard1-21/+31
2024-11-24Factor out free_control()David Robillard3-9/+18
2024-11-24Make jalv_open() caller responsible for calling jalv_close()David Robillard2-11/+2
2024-11-24Move control port buffers to a separate arrayDavid Robillard10-37/+37
2024-11-24Move PortFlow and PortType definitions to types.hDavid Robillard2-10/+13
2024-11-24Use message mechanism to pause plugin executionDavid Robillard9-27/+98
2024-11-24Use message mechanism to request plugin state updatesDavid Robillard7-43/+21
Replaces highly questionable cross-thread use of the request_update flag.
2024-11-24Only send control messages to designated lv2:control portsDavid Robillard5-22/+20
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 Robillard4-11/+26
2024-11-24Use a consistent naming scheme for class members in Qt frontendDavid Robillard2-91/+92
2024-11-24Move utility macros to a separate fileDavid Robillard2-12/+20
2024-11-24Reuse jalv_port_by_symbol() and eliminate duplicated codeDavid Robillard1-9/+1
2024-11-24Factor out forging a position from Jack transportDavid Robillard1-26/+35
2024-11-24Add cached URIDs for atom:Chunk and atom:SequenceDavid Robillard3-6/+7
2024-11-24Move URID and node initialization to a separate fileDavid Robillard6-94/+129
2024-11-24Use a typedef for port flow and type like other enumsDavid Robillard2-6/+12
2024-11-24Use a typedef for ports like other structsDavid Robillard13-50/+47
2024-11-24Fix inconsistent case in information messageDavid Robillard1-1/+1
2024-11-24Move process thread code to a separate fileDavid Robillard7-85/+141
2024-11-24Remove redundant conditionDavid Robillard1-24/+26
Reduce nesting in the implementation by ensuring that state is non-null at the caller.
2024-11-24Fix Jack latency recomputation when plugin latency changesDavid Robillard6-5/+47
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 Robillard6-75/+127
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-24Allocate message buffers with the necessary size during setupDavid Robillard3-34/+23
Remove static limits and instead allocate large enough buffers for any message sent by the plugin. These buffers only need to hold one message at a time, so they can't be any larger than the largest port buffer (since the plugin couldn't possibly write anything larger). Also replaces some crude hammering on realloc() with reuse of one of these known-large-enough buffers.
2024-11-24Rename ambiguous "buffer_size" field to "ring_size"David Robillard4-15/+13
There's already a lot of "buffer" sizes, and there's about to be even more, so rename this to "ring" size to be obviously about the communication rings.
2024-11-24Remove transport position dumping from Jack process callbackDavid Robillard2-3/+2
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-24Add support for control outputs with lv2:latency designationDavid Robillard3-3/+32
2024-11-24Avoid querying the lilv model in the process callbackDavid Robillard4-12/+21
2024-11-24Move jalv_send_to_plugin() to avoid the need for a prototypeDavid Robillard1-55/+48
2024-11-24Simplify jalv_send_to_plugin()David Robillard1-43/+19
2024-11-24Move low-level event sending functions to a separate fileDavid Robillard8-86/+140
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 Robillard6-53/+72
This removes the dependency on the "global" Jalv object from the low-level message sending functions.
2024-11-17Rename UI port event function and move it to the appropriate headerDavid Robillard6-25/+26
This isn't a "global" internal function like the others in jalv_internal.h, but rather the prototype of a function that must be implemented by frontends.
2024-11-17Use fewer platform-specific APIsDavid Robillard3-35/+4
The previous few commits replaced the use of various platform-specific things, leaving mostly only POSIX, so clean up the configuration defines to require only what's needed.
2024-11-17Use nanosleep() instead of usleep()David Robillard1-2/+3
The old usleep() was declared obsolete by POSIX.1-2001, and removed in POSIX.1-2008.
2024-11-17Move string utilities to a separate compilation unitDavid Robillard10-35/+58
These don't really have anything to do with logging. Also replace a call to the non-standard strdup() in the process.
2024-11-17Use portable zix filesystem APIDavid Robillard2-22/+22
2024-11-17Update clang-format configurationDavid Robillard3-10/+14
2024-11-14Add brief comments for undocumented "public" functionsDavid Robillard4-1/+24
2024-11-14Remove unused prototypes and make functions static where possibleDavid Robillard6-34/+16
2024-11-13Move warning suppression flags to main meson fileDavid Robillard3-178/+162
2024-10-12Remove redundant default values for meson optionsDavid Robillard1-9/+9
2024-10-12Avoid static downcastsDavid Robillard2-13/+17
2024-10-12Merge duplicate branchesDavid Robillard2-8/+1
2024-10-12Use anonymous namespacesDavid Robillard3-45/+53
2024-10-12Remove more old-style casts in C++David Robillard1-1/+2
2024-10-12Remove unused constructorDavid Robillard1-10/+0
It looks like this has always been dead code.
2024-10-12Add missing const qualifiersDavid Robillard13-55/+54