Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
channel_send.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: © 2020-2022 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
10#ifndef __GUI_WIDGETS_CHANNEL_SEND_H__
11#define __GUI_WIDGETS_CHANNEL_SEND_H__
12
13#include <gtk/gtk.h>
14
15#define CHANNEL_SEND_WIDGET_TYPE (channel_send_widget_get_type ())
16G_DECLARE_FINAL_TYPE (
18 channel_send_widget,
19 Z,
20 CHANNEL_SEND_WIDGET,
21 GtkWidget)
22
23typedef struct ChannelSend ChannelSend;
24typedef struct _ChannelSendSelectorWidget ChannelSendSelectorWidget;
25
32typedef struct _ChannelSendWidget
33{
34 GtkWidget parent_instance;
35
38
39 GtkGestureClick * click;
40 GtkGestureDrag * drag;
41
42 double start_x;
43 double last_offset_x;
44
45 float send_amount_at_start;
46
49
50 GtkGestureClick * right_mouse_mp;
51
54
55 PangoLayout * txt_layout;
56
60
62 GtkPopoverMenu * popover_menu;
63
64 ChannelSendSelectorWidget * selector_popover;
66
73
78#endif
ChannelSendWidget * channel_send_widget_new(ChannelSend *send)
Creates a new ChannelSend widget and binds it to the given value.
bool was_empty
Flag used for adding/removing .empty CSS class.
int n_press
For multipress.
ChannelSend * send
Owner.
char * cache_tooltip
Cache tooltip string.
GtkPopoverMenu * popover_menu
Popover to be reused for context menus.
Channel send.