Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
ports_expander.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: © 2019-2021 Alexandros Theodotou <alex@zrythm.org>
3 *
4 * SPDX-License-Identifier: LicenseRef-ZrythmLicense
5 */
6
12
13#ifndef __GUI_WIDGETS_PORTS_EXPANDER_H__
14#define __GUI_WIDGETS_PORTS_EXPANDER_H__
15
16#include "common/dsp/port.h"
17#include "gui/backend/gtk_widgets/gtk_wrapper.h"
18#include "gui/backend/gtk_widgets/two_col_expander_box.h"
19
20typedef struct _EditableLabelWidget EditableLabelWidget;
21class Track;
22class Plugin;
23
24#define PORTS_EXPANDER_WIDGET_TYPE (ports_expander_widget_get_type ())
25G_DECLARE_FINAL_TYPE (
27 ports_expander_widget,
28 Z,
29 PORTS_EXPANDER_WIDGET,
30 TwoColExpanderBoxWidget);
31
37
42{
43 PE_TRACK_PORT_TYPE_CONTROLS,
44 PE_TRACK_PORT_TYPE_SENDS,
45 PE_TRACK_PORT_TYPE_STEREO_IN,
46 PE_TRACK_PORT_TYPE_MIDI_IN,
47 PE_TRACK_PORT_TYPE_MIDI_OUT,
48};
49
54typedef struct _PortsExpanderWidget
55{
56 TwoColExpanderBoxWidget parent_instance;
57
58 PortFlow flow;
59 PortType type;
60 PortIdentifier::OwnerType owner_type;
61
64
66 Track * track;
68
72void
74
78void
81 PortFlow flow,
82 PortType type,
84
90void
93 Track * tr,
95
99
100#endif
DSP processing plugin.
Definition plugin.h:30
void ports_expander_widget_refresh(PortsExpanderWidget *self)
Refreshes each field.
PortsExpanderTrackPortType
Used for Track's.
void ports_expander_widget_setup_track(PortsExpanderWidget *self, Track *tr, PortsExpanderTrackPortType type)
Sets up the PortsExpanderWidget for Track ports.
void ports_expander_widget_setup_plugin(PortsExpanderWidget *self, PortFlow flow, PortType type, zrythm::plugins::Plugin *pl)
Sets up the PortsExpanderWidget for a Plugin.
A TwoColExpanderBoxWidget for showing the ports in the InspectorWidget.
Track * track
Track, in case of owner type Track.
zrythm::plugins::Plugin * plugin
Plugin, in case of owner type Plugin.