Zrythm
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
13#ifndef __GUI_WIDGETS_MIXER_H__
14#define __GUI_WIDGETS_MIXER_H__
15
16#include "gui/widgets/main_window.h"
17
18#include "gtk_wrapper.h"
19
20typedef struct _DragDestBoxWidget DragDestBoxWidget;
21typedef struct Channel Channel;
22typedef struct _ChannelSlotWidget ChannelSlotWidget;
23typedef struct Track Track;
24typedef struct _AddTrackMenuButtonWidget AddTrackMenuButtonWidget;
25
32#define MIXER_WIDGET_TYPE (mixer_widget_get_type ())
33G_DECLARE_FINAL_TYPE (MixerWidget, mixer_widget, Z, MIXER_WIDGET, GtkBox)
34
35#define MW_MIXER MW_BOT_DOCK_EDGE->mixer
36
37typedef struct _MixerWidget
38{
39 GtkBox parent_instance;
40
43
47 GtkBox * channels_box;
48
56
57 AddTrackMenuButtonWidget * channels_add;
58 GtkBox * master_box;
59
65
66 bool setup;
68
72void
74
80void
82
86void
88
90mixer_widget_new (void);
91
96#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.
A Channel is part of a Track (excluding Tracks that don't have Channels) and contains information rel...
Definition channel.h:57
DnD destination box used by mixer and tracklist widgets.
GtkBox * channels_box
Box containing all channels except master.
Definition mixer.h:47
Track * start_drag_track
The track where dnd originated from.
Definition mixer.h:55
DragDestBoxWidget * ddbox
Drag n drop dest box.
Definition mixer.h:42
ChannelSlotWidget * paste_slot
Selected slot to paste selections (when copy-pasting plugins).
Definition mixer.h:64
Track to be inserted into the Project's Tracklist.
Definition track.h:177