Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
engine_jack.h
1// clang-format off
2// SPDX-FileCopyrightText: © 2018-2019, 2022 Alexandros Theodotou <alex@zrythm.org>
3// SPDX-License-Identifier: LicenseRef-ZrythmLicense
4// clang-format on
5
6#ifndef __AUDIO_ENGINE_JACK_H__
7#define __AUDIO_ENGINE_JACK_H__
8
9#include "zrythm-config.h"
10
11#ifdef HAVE_JACK
12
13# include <stdlib.h>
14
15# define JACK_PORT_T(exp) ((jack_port_t *) exp)
16
17TYPEDEF_STRUCT (AudioEngine);
18TYPEDEF_ENUM (AudioEngineJackTransportType);
19
28int
29engine_jack_test (GtkWindow * win);
30
34void
35engine_jack_rescan_ports (AudioEngine * self);
36
43bool
44engine_jack_reconnect_monitor (AudioEngine * self, bool left, GError ** error);
45
46void
47engine_jack_handle_position_change (AudioEngine * self);
48
49void
50engine_jack_handle_start (AudioEngine * self);
51
52void
53engine_jack_handle_stop (AudioEngine * self);
54
55void
56engine_jack_handle_buf_size_change (AudioEngine * self, uint32_t frames);
57
58void
59engine_jack_handle_sample_rate_change (AudioEngine * self, uint32_t samplerate);
60
66void
67engine_jack_prepare_process (AudioEngine * self);
68
72void
73engine_jack_set_transport_type (
74 AudioEngine * self,
75 AudioEngineJackTransportType type);
76
80void
81engine_jack_fill_out_bufs (AudioEngine * self, const nframes_t nframes);
82
88int
89engine_jack_midi_setup (AudioEngine * self);
90
96int
97engine_jack_setup (AudioEngine * self);
102void
103engine_jack_get_error_message (jack_status_t status, char * msg);
104
105void
106engine_jack_tear_down (AudioEngine * self);
107
108int
109engine_jack_activate (AudioEngine * self, bool activate);
110
114CONST
115const char *
116engine_jack_get_jack_type (ZPortType type);
117
119int
120engine_jack_buffer_size_cb (uint32_t nframes, AudioEngine * self);
121
125bool
126engine_jack_is_pipewire (AudioEngine * self);
127
128#endif /* HAVE_JACK */
129#endif /* header guard */
ZPortType
Type of signals the Port handles.
uint32_t nframes_t
Frame count.
Definition types.h:35
The audio engine.
Definition engine.h:358