Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2024-11-24 | Cleanly separate backends from the rest of the application | David Robillard | 1 | -6/+17 | |
Finally hitting some concrete refactoring paydirt, with this, backend code doesn't have access to the application as a whole whatsoever. If some day the backends become loadable modules that need a more stable API, something will need to be done about jalv_backend_open(), probably move the parameters into some struct to make the interface extensible. For now though, being explicit and fine-grained is fine (good, even), if a bit verbose. | |||||
2024-11-24 | Cleanly separate audio thread from the rest of the application | David Robillard | 1 | -148/+103 | |
2024-11-24 | Move process thread setup code to a separate file | David Robillard | 1 | -32/+1 | |
Towards more cleanly separating the audio thread code from the rest of the application. | |||||
2024-11-24 | Factor out "settings" that affect the execution process | David Robillard | 1 | -85/+42 | |
2024-11-24 | Simplify port buffer allocation | David Robillard | 1 | -14/+14 | |
2024-11-24 | Move ring size calculation into a function with other similar ones | David Robillard | 1 | -9/+9 | |
2024-11-24 | Rename jalv_internal.h to jalv.h | David Robillard | 1 | -1/+2 | |
The "internal" name never made much sense to begin with (since this is a program, not a library), but now this header only describes the "main" Jalv struct and functions directly associated with it (the top-level interface of the application), so name it accordingly. This also makes include-what-you-use actually check this header, which it wasn't before for some mysterious reason. | |||||
2024-11-24 | Use angle brackets for library includes | David Robillard | 1 | -21/+21 | |
2024-11-24 | Move main() and related code to a separate file | David Robillard | 1 | -59/+0 | |
2024-11-24 | Clean up backend allocation and setup | David Robillard | 1 | -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-24 | Move control port printing to console client | David Robillard | 1 | -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-24 | Move general model query functions to a separate file | David Robillard | 1 | -50/+7 | |
2024-11-24 | Remove questionable use of exit() | David Robillard | 1 | -15/+19 | |
2024-11-24 | Factor out jalv_activate() and jalv_deactivate() | David Robillard | 1 | -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-24 | Clean up worker interface | David Robillard | 1 | -0/+2 | |
2024-11-24 | Replace misleading function name and documentation | David Robillard | 1 | -2/+2 | |
Also clean up the frees in jalv_worker_new() to be in stack order while we're at it. | |||||
2024-11-24 | Factor out atom dumper | David Robillard | 1 | -53/+11 | |
2024-11-24 | Factor out jalv_free_nodes() | David Robillard | 1 | -3/+1 | |
2024-11-24 | Separate URI map implementation from application | David Robillard | 1 | -41/+24 | |
2024-11-24 | Simplify env initialization | David Robillard | 1 | -10/+13 | |
2024-11-24 | Add state_threadSafeRestore to nodes cache | David Robillard | 1 | -6/+2 | |
2024-11-24 | Factor out initial_state() | David Robillard | 1 | -21/+31 | |
2024-11-24 | Factor out free_control() | David Robillard | 1 | -9/+1 | |
2024-11-24 | Make jalv_open() caller responsible for calling jalv_close() | David Robillard | 1 | -10/+1 | |
2024-11-24 | Move control port buffers to a separate array | David Robillard | 1 | -15/+12 | |
2024-11-24 | Use message mechanism to pause plugin execution | David Robillard | 1 | -2/+2 | |
2024-11-24 | Only send control messages to designated lv2:control ports | David Robillard | 1 | -16/+13 | |
2024-11-24 | Move utility macros to a separate file | David Robillard | 1 | -12/+1 | |
2024-11-24 | Add cached URIDs for atom:Chunk and atom:Sequence | David Robillard | 1 | -6/+3 | |
2024-11-24 | Move URID and node initialization to a separate file | David Robillard | 1 | -94/+0 | |
2024-11-24 | Use a typedef for ports like other structs | David Robillard | 1 | -15/+15 | |
2024-11-24 | Move process thread code to a separate file | David Robillard | 1 | -81/+4 | |
2024-11-24 | Fix Jack latency recomputation when plugin latency changes | David Robillard | 1 | -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-24 | Generalize audio/main thread communication | David Robillard | 1 | -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-24 | Allocate message buffers with the necessary size during setup | David Robillard | 1 | -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-24 | Rename ambiguous "buffer_size" field to "ring_size" | David Robillard | 1 | -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-24 | Add support for control outputs with lv2:latency designation | David Robillard | 1 | -2/+28 | |
2024-11-24 | Avoid querying the lilv model in the process callback | David Robillard | 1 | -0/+8 | |
2024-11-24 | Move jalv_send_to_plugin() to avoid the need for a prototype | David Robillard | 1 | -55/+48 | |
2024-11-24 | Simplify jalv_send_to_plugin() | David Robillard | 1 | -43/+19 | |
2024-11-24 | Move low-level event sending functions to a separate file | David Robillard | 1 | -50/+1 | |
Takes advantage of the dependency trimming of the previous commit to work towards separating things more cleanly. | |||||
2024-11-24 | Move ring error handling and logging to a higher level | David Robillard | 1 | -36/+42 | |
This removes the dependency on the "global" Jalv object from the low-level message sending functions. | |||||
2024-11-17 | Rename UI port event function and move it to the appropriate header | David Robillard | 1 | -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-17 | Move string utilities to a separate compilation unit | David Robillard | 1 | -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-17 | Use portable zix filesystem API | David Robillard | 1 | -21/+20 | |
2024-11-14 | Add brief comments for undocumented "public" functions | David Robillard | 1 | -1/+0 | |
2024-11-14 | Remove unused prototypes and make functions static where possible | David Robillard | 1 | -5/+12 | |
2024-10-12 | Add missing const qualifiers | David Robillard | 1 | -9/+9 | |
2024-10-12 | Factor frontend command-line arguments into a struct | David Robillard | 1 | -7/+10 | |
2024-10-12 | Remove useless conditions | David Robillard | 1 | -5/+3 | |