Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
fader.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: © 2018-2023 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
10#ifndef __GUI_WIDGETS_FADER_H__
11#define __GUI_WIDGETS_FADER_H__
12
13#include <gtk/gtk.h>
14
15#define FADER_WIDGET_TYPE (fader_widget_get_type ())
16G_DECLARE_FINAL_TYPE (FaderWidget, fader_widget, Z, FADER_WIDGET, GtkWidget)
17
18typedef struct Fader Fader;
19
28typedef struct _FaderWidget
29{
30 GtkWidget parent_instance;
31 GtkGestureDrag * drag;
32 Fader * fader;
33 double last_x;
34 double last_y;
35 bool hover;
36 bool dragging;
37 GdkRGBA end_color;
38
41
43 PangoLayout * layout;
44
46 GtkPopoverMenu * popover_menu;
47
48 /* --- accessibility --- */
49
53
57void
58fader_widget_setup (FaderWidget * self, Fader * fader, int height);
59
64#endif
void fader_widget_setup(FaderWidget *self, Fader *fader, int height)
Creates a new Fader widget and binds it to the given Fader.
A FaderWidget reflects a Fader object's state.
Definition fader.h:29
float amp_at_start
Value at start.
Definition fader.h:40
PangoLayout * layout
Layout for text.
Definition fader.h:43
GtkPopoverMenu * popover_menu
Popover to be reused for context menus.
Definition fader.h:46
double last_reported_amp
Last reported amplitude to the accessibility layer.
Definition fader.h:51
A Fader is a processor that is used for volume controls and pan.
Definition fader.h:102