aboutsummaryrefslogtreecommitdiffstats
path: root/src/types.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/types.h')
-rw-r--r--src/types.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/types.h b/src/types.h
new file mode 100644
index 0000000..4f25301
--- /dev/null
+++ b/src/types.h
@@ -0,0 +1,38 @@
+// Copyright 2007-2024 David Robillard <d@drobilla.net>
+// SPDX-License-Identifier: ISC
+
+#ifndef JALV_TYPES_H
+#define JALV_TYPES_H
+
+#include "attributes.h"
+
+// Basic internal type declarations
+JALV_BEGIN_DECLS
+
+/// Process thread running state
+typedef enum {
+ JALV_RUNNING, ///< Active and running the plugin
+ JALV_PAUSED, ///< Active but bypassing the plugin (silent)
+} JalvRunState;
+
+/// "Global" application state
+typedef struct JalvImpl Jalv;
+
+/// Audio/MIDI backend
+typedef struct JalvBackendImpl JalvBackend;
+
+/// Plugin port "direction"
+typedef enum { FLOW_UNKNOWN, FLOW_INPUT, FLOW_OUTPUT } PortFlow;
+
+/// Plugin port type
+typedef enum {
+ TYPE_UNKNOWN,
+ TYPE_CONTROL,
+ TYPE_AUDIO,
+ TYPE_EVENT,
+ TYPE_CV
+} PortType;
+
+JALV_END_DECLS
+
+#endif // JALV_TYPES_H