summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2020-11-29Fix build on MacOSDavid Robillard1-1/+2
2020-11-29Simplify refreshingDavid Robillard2-39/+31
2020-11-29Reduce preprocessor gunkDavid Robillard2-11/+6
Now that the ALSA driver is only used through the base class, the pointer can always be there, even if AlsaDriver isn't actually compiled in.
2020-11-29Replace attached and detached signals with eventsDavid Robillard10-80/+105
2020-11-29Remove redundant loggingDavid Robillard2-4/+1
2020-11-28Remove unused fieldDavid Robillard2-6/+4
2020-11-28Use auto for iteratorsDavid Robillard2-3/+2
2020-11-28Clean up Jack driver codeDavid Robillard1-93/+81
2020-11-28Log all events to message paneDavid Robillard2-5/+3
This is maybe a bit much, or they need to be cleaned up a bit to be more presentable, but I like the transparency.
2020-11-28Add missing includeDavid Robillard1-0/+1
2020-11-28Reduce use of raw new and deleteDavid Robillard6-63/+58
2020-11-28Use AlsaDriver only through base class interfaceDavid Robillard2-11/+8
2020-11-28Clean up includesDavid Robillard12-21/+15
2020-11-28Avoid using atoiDavid Robillard1-1/+1
2020-11-28Avoid copying port IDsDavid Robillard7-14/+18
2020-11-28Remove more dead codeDavid Robillard3-15/+3
2020-11-28Remove Jack header dependency from DBus driverDavid Robillard4-14/+16
2020-11-28Remove Jack session supportDavid Robillard6-186/+6
2020-11-28Remove dead codeDavid Robillard4-63/+0
2020-11-28Abstract out sending of eventsDavid Robillard9-102/+74
This removes the details of how events are handled from drivers, so the owner can set them up to do anything. For example, a driver could be run in the GUI thread and have its events simply dispatched immediately, but here everything is enqueued to the same queue which is drained later for simplicity.
2020-11-28Refresh by emitting eventsDavid Robillard11-831/+303
This decouples drivers from the rest of the application, in particular the horrible situation where they were working with the canvas directly, by having them always communicate changes by emitting events.
2020-11-28Use anonymous namespaces instead of staticDavid Robillard1-4/+12
2020-11-28Remove dead codeDavid Robillard1-5/+0
2020-11-28Add separate store for client and port metadataDavid Robillard5-1/+135
2020-11-28Print metadata about creation eventsDavid Robillard1-2/+42
2020-11-28Factor out getting client and port metadata and send it with eventsDavid Robillard7-49/+206
2020-11-28Clean up order of ALSA event handlingDavid Robillard1-19/+26
2020-11-28Fix Jack metadata when session management is not enabledDavid Robillard1-9/+11
2020-11-28Move PortType to its own headerDavid Robillard7-9/+35
2020-11-28Move SignalDirection to its own headerDavid Robillard8-8/+36
2020-11-28Add utilities for printing eventsDavid Robillard3-0/+114
2020-11-28Remove NoopEventDavid Robillard2-7/+1
2020-11-28Remove alternative USE_FULL_REFRESH Jack DBus codeDavid Robillard2-58/+2
2020-11-28Fix sample rate with Jack DBusDavid Robillard2-5/+6
2020-11-28Rename ModuleType to SignalDirectionDavid Robillard11-66/+70
2020-11-28Move handle_event() to separate filesDavid Robillard9-9/+39
2020-11-28Index clients and ports by IDDavid Robillard12-111/+162
2020-11-28Factor out ClientTypeDavid Robillard3-10/+33
2020-11-28Remove null port IDsDavid Robillard2-18/+6
This statically ensures that a PortID is always valid.
2020-11-28Make PatchageEvent a variantDavid Robillard7-119/+133
2020-11-28Remove useless doc commentsDavid Robillard7-33/+4
2020-11-28Factor out Connector from PatchageCanvasDavid Robillard8-82/+169
This finally breaks the dependency of the canvas on the entire application, and fixes the confusing situation where it wasn't clear whether connect/disconnect methods made/broke connections on the canvas or on the system.
2020-11-28Simplify driver connection interfaceDavid Robillard10-157/+91
2020-11-28Always index Jack ports and refer to them by nameDavid Robillard9-186/+176
The Jack API annoyingly doesn't provide a way to get an ID from a port name. Since notification callbacks apparently don't have to worry about realtime concerns anymore, simply use the full name string as an ID everywhere. This means that every Jack port has a non-null ID, and all ports are always indexed, so the kludges for this in the canvas can be removed.
2020-11-28Remove Queue and use std::queue in JackDriverDavid Robillard3-141/+2
Jack notification handlers do not need to be realtime safe.
2020-11-28Log attachment message for Jack DBusDavid Robillard1-0/+2
2020-11-28Normalize NEWS fileDavid Robillard1-1/+1
2020-11-28Fix connections with Jack DBusDavid Robillard2-2/+8
2020-11-28Clean up error messages in Jack DBus driverDavid Robillard1-3/+3
2020-11-27Fix spelling error in AlsaDriver.cppDennis Braun1-1/+1