aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/backend.h37
-rw-r--r--src/jack.c2
-rw-r--r--src/jalv.c1
-rw-r--r--src/jalv_internal.h16
-rw-r--r--src/portaudio.c2
5 files changed, 42 insertions, 16 deletions
diff --git a/src/backend.h b/src/backend.h
new file mode 100644
index 0000000..f05d687
--- /dev/null
+++ b/src/backend.h
@@ -0,0 +1,37 @@
+// Copyright 2007-2022 David Robillard <d@drobilla.net>
+// SPDX-License-Identifier: ISC
+
+#ifndef JALV_BACKEND_H
+#define JALV_BACKEND_H
+
+#include "jalv_internal.h"
+
+#include <stdint.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+// Audio/MIDI I/O backend interface
+
+JalvBackend*
+jalv_backend_init(Jalv* jalv);
+
+void
+jalv_backend_activate(Jalv* jalv);
+
+void
+jalv_backend_deactivate(Jalv* jalv);
+
+void
+jalv_backend_close(Jalv* jalv);
+
+/// Expose a port to the system (if applicable) and connect it to its buffer
+void
+jalv_backend_activate_port(Jalv* jalv, uint32_t port_index);
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif // JALV_BACKEND_H
diff --git a/src/jack.c b/src/jack.c
index 95b6b1d..fecfb83 100644
--- a/src/jack.c
+++ b/src/jack.c
@@ -1,6 +1,8 @@
// Copyright 2007-2022 David Robillard <d@drobilla.net>
// SPDX-License-Identifier: ISC
+#include "backend.h"
+
#include "jalv_config.h"
#include "jalv_internal.h"
#include "log.h"
diff --git a/src/jalv.c b/src/jalv.c
index 6a923b2..43b7451 100644
--- a/src/jalv.c
+++ b/src/jalv.c
@@ -5,6 +5,7 @@
#define _XOPEN_SOURCE 600 // for S_IFMT and S_IFDIF
#define _DARWIN_C_SOURCE // for mkdtemp on Darwin
+#include "backend.h"
#include "jalv_config.h"
#include "jalv_internal.h"
#include "log.h"
diff --git a/src/jalv_internal.h b/src/jalv_internal.h
index 250b3d8..6b242a6 100644
--- a/src/jalv_internal.h
+++ b/src/jalv_internal.h
@@ -328,22 +328,6 @@ jalv_init(int* argc, char*** argv, JalvOptions* opts);
int
jalv_close(Jalv* jalv);
-JalvBackend*
-jalv_backend_init(Jalv* jalv);
-
-void
-jalv_backend_activate(Jalv* jalv);
-
-void
-jalv_backend_deactivate(Jalv* jalv);
-
-void
-jalv_backend_close(Jalv* jalv);
-
-/// Expose a port to the system (if applicable) and connect it to its buffer
-void
-jalv_backend_activate_port(Jalv* jalv, uint32_t port_index);
-
void
jalv_create_ports(Jalv* jalv);
diff --git a/src/portaudio.c b/src/portaudio.c
index 87c9df9..403002c 100644
--- a/src/portaudio.c
+++ b/src/portaudio.c
@@ -1,6 +1,8 @@
// Copyright 2007-2022 David Robillard <d@drobilla.net>
// SPDX-License-Identifier: ISC
+#include "backend.h"
+
#include "jalv_internal.h"
#include "worker.h"