21 #include "JackDummyDriver.h"
22 #include "JackDriverLoader.h"
23 #include "JackThreadedDriver.h"
24 #include "JackCompilerDeps.h"
40 desc = jack_driver_descriptor_construct(
"dummy", JackDriverMaster,
"Timer based backend", &filler);
43 jack_driver_descriptor_add_parameter(desc, &filler,
"capture",
'C', JackDriverParamUInt, &value, NULL,
"Number of capture ports", NULL);
44 jack_driver_descriptor_add_parameter(desc, &filler,
"playback",
'P', JackDriverParamUInt, &value, NULL,
"Number of playback ports", NULL);
47 jack_driver_descriptor_add_parameter(desc, &filler,
"rate",
'r', JackDriverParamUInt, &value, NULL,
"Sample rate", NULL);
50 jack_driver_descriptor_add_parameter(desc, &filler,
"monitor",
'm', JackDriverParamBool, &value, NULL,
"Provide monitor ports for the output", NULL);
53 jack_driver_descriptor_add_parameter(desc, &filler,
"period",
'p', JackDriverParamUInt, &value, NULL,
"Frames per period", NULL);
56 jack_driver_descriptor_add_parameter(desc, &filler,
"wait",
'w', JackDriverParamUInt, &value, NULL,
"Number of usecs to wait between engine processes", NULL);
62 jack_nframes_t sample_rate = 48000;
63 jack_nframes_t buffer_size = 1024;
64 unsigned int capture_ports = 2;
65 unsigned int playback_ports = 2;
71 for (node = params; node; node = jack_slist_next (node)) {
74 switch (param->character) {
77 capture_ports = param->value.ui;
81 playback_ports = param->value.ui;
85 sample_rate = param->value.ui;
89 buffer_size = param->value.ui;
93 wait_time = param->value.ui;
97 monitor = param->value.i;
103 buffer_size = lroundf((wait_time * sample_rate) / 1000000.0f);
104 if (buffer_size > BUFFER_SIZE_MAX) {
105 buffer_size = BUFFER_SIZE_MAX;
106 jack_error(
"Buffer size set to %d", BUFFER_SIZE_MAX);
111 if (driver->Open(buffer_size, sample_rate, 1, 1, capture_ports, playback_ports, monitor,
"dummy",
"dummy", 0, 0) == 0) {
The base class for threaded drivers using a "decorator" pattern. Threaded drivers are used with block...
Inter process synchronization using using Mach semaphore.
Locked Engine, access to methods is serialized using a mutex.
SERVER_EXPORT void jack_error(const char *fmt,...)
The base interface for drivers clients.