aboutsummaryrefslogtreecommitdiffstats
path: root/src/portaudio.c
AgeCommit message (Collapse)AuthorFilesLines
2024-11-24Cleanly separate backends from the rest of the applicationDavid Robillard1-23/+31
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-24Cleanly separate audio thread from the rest of the applicationDavid Robillard1-19/+20
2024-11-24Fix misleading function namesDavid Robillard1-12/+12
These are all static so it shouldn't really matter, but best to not pollute the namespace of libraries anyway.
2024-11-24Factor out "settings" that affect the execution processDavid Robillard1-3/+3
2024-11-24Rename jalv_internal.h to jalv.hDavid Robillard1-1/+1
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-24Use angle brackets for library includesDavid Robillard1-2/+2
2024-11-24Fix PortAudio backend deactivation and cleanupDavid Robillard1-8/+16
2024-11-24Clean up backend allocation and setupDavid Robillard1-10/+18
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 buffers to a separate arrayDavid Robillard1-2/+3
2024-11-24Use message mechanism to pause plugin executionDavid Robillard1-1/+19
2024-11-24Use message mechanism to request plugin state updatesDavid Robillard1-10/+1
Replaces highly questionable cross-thread use of the request_update flag.
2024-11-24Only send control messages to designated lv2:control portsDavid Robillard1-2/+1
2024-11-24Factor out jalv_write_get_message() from process callbacksDavid Robillard1-6/+1
2024-11-24Use a typedef for ports like other structsDavid Robillard1-3/+3
2024-11-24Move process thread code to a separate fileDavid Robillard1-0/+1
2024-11-24Fix Jack latency recomputation when plugin latency changesDavid Robillard1-0/+5
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-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-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-10-12Clean up portaudio driverDavid Robillard1-6/+19
2024-10-12Use exhaustive switch statements everywhereDavid Robillard1-5/+2
2022-08-17Factor out jalv_write_event()David Robillard1-1/+1
2022-08-17Factor out jalv_write_control()David Robillard1-9/+1
2022-08-17Relax unnecessarily narrow typesDavid Robillard1-7/+3
2022-08-17Use clearer names for communication ringsDavid Robillard1-1/+1
2022-08-17Switch to meson build systemDavid Robillard1-0/+1
2022-08-17Add missing includeDavid Robillard1-0/+1
2022-08-17Use a consistent interface for error/warning/debug loggingDavid Robillard1-6/+6
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-17Reduce dependence on jalv_internal.hDavid Robillard1-1/+1
2022-08-17Separate backend.h from jalv_internal.hDavid Robillard1-0/+2
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-6/+6
2022-05-27Format all code with clang-formatDavid Robillard1-159/+163
2021-01-02Use email address instead of website for attributionDavid Robillard1-14/+14
2019-10-17Clean up includesDavid Robillard1-3/+3
2018-09-23Remove support for deprecated event and uri-map extensionsDavid Robillard1-1/+1
2016-10-05Add PortAudio backendDavid Robillard1-0/+223