Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
mixer.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: © 2018-2021 Alexandros Theodotou <alex@zrythm.org>
3 *
4 * SPDX-License-Identifier: LicenseRef-ZrythmLicense
5 */
6
12
13#ifndef __GUI_WIDGETS_MIXER_H__
14#define __GUI_WIDGETS_MIXER_H__
15
16#include "gui/backend/gtk_widgets/gtk_wrapper.h"
17#include "gui/backend/gtk_widgets/main_window.h"
18
19typedef struct _DragDestBoxWidget DragDestBoxWidget;
20class Channel;
21typedef struct _ChannelSlotWidget ChannelSlotWidget;
22class Track;
23typedef struct _AddTrackMenuButtonWidget AddTrackMenuButtonWidget;
24
30
31#define MIXER_WIDGET_TYPE (mixer_widget_get_type ())
32G_DECLARE_FINAL_TYPE (MixerWidget, mixer_widget, Z, MIXER_WIDGET, GtkBox)
33
34#define MW_MIXER MW_BOT_DOCK_EDGE->mixer
35
36typedef struct _MixerWidget
37{
38 GtkBox parent_instance;
39
41 DragDestBoxWidget * ddbox;
42
46 GtkBox * channels_box;
47
55
56 AddTrackMenuButtonWidget * channels_add;
57 GtkBox * master_box;
58
63 ChannelSlotWidget * paste_slot;
64
65 bool setup;
67
71void
72mixer_widget_setup (MixerWidget * self, Channel * master);
73
79void
81
85void
87
89mixer_widget_new (void);
90
94
95#endif
void mixer_widget_setup(MixerWidget *self, Channel *master)
To be called once.
void mixer_widget_hard_refresh(MixerWidget *self)
Deletes and readds all channels.
void mixer_widget_soft_refresh(MixerWidget *self)
Calls refresh on each channel.
DnD destination box used by mixer and tracklist widgets.
GtkBox * channels_box
Box containing all channels except master.
Definition mixer.h:46
Track * start_drag_track
The track where dnd originated from.
Definition mixer.h:54
DragDestBoxWidget * ddbox
Drag n drop dest box.
Definition mixer.h:41
ChannelSlotWidget * paste_slot
Selected slot to paste selections (when copy-pasting plugins).
Definition mixer.h:63