Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
live_waveform.h
Go to the documentation of this file.
1// clang-format off
2// SPDX-FileCopyrightText: © 2019, 2023-2024 Alexandros Theodotou <alex@zrythm.org>
3// SPDX-License-Identifier: LicenseRef-ZrythmLicense
4// clang-format on
5
6#ifndef __GUI_WIDGETS_LIVE_WAVEFORM_H__
7#define __GUI_WIDGETS_LIVE_WAVEFORM_H__
8
15#include "gtk_wrapper.h"
16
17#define LIVE_WAVEFORM_WIDGET_TYPE (live_waveform_widget_get_type ())
18G_DECLARE_FINAL_TYPE (
20 live_waveform_widget,
21 Z,
22 LIVE_WAVEFORM_WIDGET,
23 GtkDrawingArea)
24
25typedef struct Port Port;
26
33enum class LiveWaveformType
34{
35 LIVE_WAVEFORM_ENGINE,
36 LIVE_WAVEFORM_PORT,
37};
38
39typedef struct _LiveWaveformWidget
40{
41 GtkDrawingArea parent_instance;
42
43 LiveWaveformType type;
44
47
48 float * bufs[2];
49
51 size_t buf_sz[2];
52
55
57
61void
63
69
74#endif
LiveWaveformWidget * live_waveform_widget_new_port(Port *port)
Creates a LiveWaveformWidget for a port.
void live_waveform_widget_setup_engine(LiveWaveformWidget *self)
Creates a LiveWaveformWidget for the AudioEngine.
Port * port
Port, if port.
int draw_border
Draw border or not.
Must ONLY be created via port_new()
Definition port.h:136