aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2024-11-24Fix typos and improve documentationDavid Robillard1-7/+4
2024-11-24Fix unused parameter warning in release builds without suilDavid Robillard1-0/+2
2024-11-24Make help and version commands exit successfullyDavid Robillard3-7/+11
2024-11-24Cleanly separate backends from the rest of the applicationDavid Robillard5-93/+124
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 Robillard12-373/+587
2024-11-24Fix misleading function namesDavid Robillard2-23/+25
These are all static so it shouldn't really matter, but best to not pollute the namespace of libraries anyway.
2024-11-24Move process thread setup code to a separate fileDavid Robillard5-40/+71
Towards more cleanly separating the audio thread code from the rest of the application.
2024-11-24Factor out "settings" that affect the execution processDavid Robillard10-119/+176
2024-11-24Simplify port buffer allocationDavid Robillard4-18/+24
2024-11-24Factor out URIDs pointer for brevityDavid Robillard1-7/+8
Mostly to reduce the number of changes in refactoring commits to follow.
2024-11-24Move ring size calculation into a function with other similar onesDavid Robillard1-9/+9
2024-11-24Move Jack internal client to a separate compilation unitDavid Robillard3-99/+133
Aside from keeping things tidy and independent, this removes this unused code from the program builds, instead only including it in the Jack internal module.
2024-11-24Rename jalv_internal.h to jalv.hDavid Robillard10-12/+13
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-24Move features struct to a separate fileDavid Robillard2-26/+43
2024-11-24Clean up include pathsDavid Robillard5-0/+7
Removes the source directory from the include path flags passed to the compiler, so that quoted includes always refer to files relative to the one they're in, and angled includes never refer to anything in the source tree. This fixes potential clashes between the name of headers here and on the system.
2024-11-24Use angle brackets for library includesDavid Robillard34-146/+148
2024-11-24Move main() and related code to a separate fileDavid Robillard2-59/+76
2024-11-24Fix PortAudio backend deactivation and cleanupDavid Robillard1-8/+16
2024-11-24Clean up backend allocation and setupDavid Robillard4-44/+66
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 Robillard5-42/+31
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 Robillard6-56/+95
2024-11-24Remove questionable use of exit()David Robillard1-15/+19
2024-11-24Factor out jalv_activate() and jalv_deactivate()David Robillard3-16/+47
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 Robillard3-63/+79
2024-11-24Replace misleading function name and documentationDavid Robillard3-11/+12
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 Robillard5-68/+135
2024-11-24Factor out jalv_free_nodes()David Robillard3-3/+12
2024-11-24Separate URI map implementation from applicationDavid Robillard7-62/+183
2024-11-24Remove unused prototypesDavid Robillard1-12/+0
2024-11-24Improve header documentationDavid Robillard15-14/+15
2024-11-24Simplify env initializationDavid Robillard1-10/+13
2024-11-24Add state_threadSafeRestore to nodes cacheDavid Robillard3-46/+45
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 Robillard4-22/+19
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 Robillard5-94/+127
2024-11-24Use a typedef for port flow and type like other enumsDavid Robillard2-6/+12