aboutsummaryrefslogtreecommitdiffstats
path: root/src/jalv.c
AgeCommit message (Collapse)AuthorFilesLines
2024-11-24Use angle brackets for library includesDavid Robillard1-21/+21
2024-11-24Move main() and related code to a separate fileDavid Robillard1-59/+0
2024-11-24Clean up backend allocation and setupDavid Robillard1-5/+10
Separate the concerns of backend allocation and initialization, and always handle allocation at the top level. This avoids multiple confusing paths of backend allocation and configuration in the internal Jack backend.
2024-11-24Move control port printing to console clientDavid Robillard1-12/+0
This functionality was spammed across the codebase and kind of half-implemented for graphical clients, but only really makes sense for the console one. So, isolate it there.
2024-11-24Move general model query functions to a separate fileDavid Robillard1-50/+7
2024-11-24Remove questionable use of exit()David Robillard1-15/+19
2024-11-24Factor out jalv_activate() and jalv_deactivate()David Robillard1-15/+35
Further breaks up the monster jalv_open() and adds symmetric activate/deactivate functions that can be used to repeatedly start and stop audio processing (although this ability isn't currently used).
2024-11-24Clean up worker interfaceDavid Robillard1-0/+2
2024-11-24Replace misleading function name and documentationDavid Robillard1-2/+2
Also clean up the frees in jalv_worker_new() to be in stack order while we're at it.
2024-11-24Factor out atom dumperDavid Robillard1-53/+11
2024-11-24Factor out jalv_free_nodes()David Robillard1-3/+1
2024-11-24Separate URI map implementation from applicationDavid Robillard1-41/+24
2024-11-24Simplify env initializationDavid Robillard1-10/+13
2024-11-24Add state_threadSafeRestore to nodes cacheDavid Robillard1-6/+2
2024-11-24Factor out initial_state()David Robillard1-21/+31
2024-11-24Factor out free_control()David Robillard1-9/+1
2024-11-24Make jalv_open() caller responsible for calling jalv_close()David Robillard1-10/+1
2024-11-24Move control port buffers to a separate arrayDavid Robillard1-15/+12
2024-11-24Use message mechanism to pause plugin executionDavid Robillard1-2/+2
2024-11-24Only send control messages to designated lv2:control portsDavid Robillard1-16/+13
2024-11-24Move utility macros to a separate fileDavid Robillard1-12/+1
2024-11-24Add cached URIDs for atom:Chunk and atom:SequenceDavid Robillard1-6/+3
2024-11-24Move URID and node initialization to a separate fileDavid Robillard1-94/+0
2024-11-24Use a typedef for ports like other structsDavid Robillard1-15/+15
2024-11-24Move process thread code to a separate fileDavid Robillard1-81/+4
2024-11-24Fix Jack latency recomputation when plugin latency changesDavid Robillard1-0/+2
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-24Generalize audio/main thread communicationDavid Robillard1-42/+69
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 Robillard1-32/+18
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 Robillard1-12/+10
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-24Add support for control outputs with lv2:latency designationDavid Robillard1-2/+28
2024-11-24Avoid querying the lilv model in the process callbackDavid Robillard1-0/+8
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 Robillard1-50/+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-36/+42
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 Robillard1-2/+3
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-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-11-17Use portable zix filesystem APIDavid Robillard1-21/+20
2024-11-14Add brief comments for undocumented "public" functionsDavid Robillard1-1/+0
2024-11-14Remove unused prototypes and make functions static where possibleDavid Robillard1-5/+12
2024-10-12Add missing const qualifiersDavid Robillard1-9/+9
2024-10-12Factor frontend command-line arguments into a structDavid Robillard1-7/+10
2024-10-12Remove useless conditionsDavid Robillard1-5/+3
2024-10-12Add field width to scanf pattern to protect against huge inputsDavid Robillard1-3/+3
Ultimately this needs to be replaced with something more serious, but for now, 240 characters ought to be enough for anybody.
2024-10-12Handle realloc failure everywhereDavid Robillard1-2/+6
2024-10-12Remove unused preprocessor symbolsDavid Robillard1-6/+1
2024-10-12Enable unused parameter warningsDavid Robillard1-0/+4
These were fixed earlier (and the clang-tidy warning enabled), but the compiler flags were't strengthened.
2024-07-12Remove dead codeDavid Robillard1-3/+0
2024-07-12Fix minor memory leaksDavid Robillard1-0/+1
2023-09-22Clean up includesDavid Robillard1-1/+0