Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
inspector_track.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: © 2019-2020 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
9
10#ifndef __GUI_WIDGETS_INSPECTOR_TRACK_H__
11#define __GUI_WIDGETS_INSPECTOR_TRACK_H__
12
13#include "common/utils/types.h"
14#include "gui/backend/backend/tracklist_selections.h"
15#include "gui/backend/gtk_widgets/gtk_wrapper.h"
16
17#define INSPECTOR_TRACK_WIDGET_TYPE (inspector_track_widget_get_type ())
18G_DECLARE_FINAL_TYPE (
20 inspector_track_widget,
21 Z,
22 INSPECTOR_TRACK_WIDGET,
23 GtkWidget)
24
25class TracklistSelections;
26TYPEDEF_STRUCT_UNDERSCORED (TrackPropertiesExpanderWidget);
27TYPEDEF_STRUCT_UNDERSCORED (PortsExpanderWidget);
28TYPEDEF_STRUCT_UNDERSCORED (TrackInputExpanderWidget);
29TYPEDEF_STRUCT_UNDERSCORED (PluginStripExpanderWidget);
30TYPEDEF_STRUCT_UNDERSCORED (FaderControlsExpanderWidget);
31TYPEDEF_STRUCT_UNDERSCORED (TextExpanderWidget);
32TYPEDEF_STRUCT_UNDERSCORED (ColorAreaWidget);
33TYPEDEF_STRUCT_UNDERSCORED (ChannelSendsExpanderWidget);
34
40
41#define MW_TRACK_INSPECTOR MW_LEFT_DOCK_EDGE->track_inspector
42
46using InspectorTrackWidget = struct _InspectorTrackWidget
47{
48 GtkWidget parent_instance;
50
51 TrackInputExpanderWidget * inputs;
52
54
55 PortsExpanderWidget * outputs;
56
58 PortsExpanderWidget * controls;
59
61
63
65 TextExpanderWidget * comment;
66
67 ColorAreaWidget * color;
68};
69
77ATTR_NONNULL void
80 SimpleTracklistSelections * tls,
81 bool set_notebook_page);
82
86void
89 SimpleTracklistSelections * tls);
90
92inspector_track_widget_new (void);
93
97void
99
103
104#endif
struct _FaderControlsExpanderWidget { ExpanderBoxWidget parent_instance; FaderControlsGridWidget *grid; ChannelTrack *track;} FaderControlsExpanderWidget
A TwoColExpanderBoxWidget for showing the ports in the InspectorWidget.
struct _PluginStripExpanderWidget { ExpanderBoxWidget parent_instance; zrythm::plugins::PluginSlotType slot_type; PluginStripExpanderPosition position; GtkScrolledWindow *scroll; GtkViewport * viewport; GtkBox *box; GtkBox *strip_boxes[STRIP_SIZE]; ChannelSlotWidget *slots[STRIP_SIZE]; ChannelTrack *track;} PluginStripExpanderWidget
A TwoColExpanderBoxWidget for showing the ports in the InspectorWidget.
void inspector_track_widget_tear_down(InspectorTrackWidget *self)
Prepare for finalization.
struct _ChannelSendsExpanderWidget { ExpanderBoxWidget parent_instance; ChannelSendsExpanderPosition position; GtkScrolledWindow *scroll; GtkViewport * viewport; GtkBox *box; std::vector< GtkBox * > strip_boxes; std::vector< ChannelSendWidget * > slots; Track *track;} ChannelSendsExpanderWidget
A TwoColExpanderBoxWidget for showing the ports in the InspectorWidget.
ATTR_NONNULL void inspector_track_widget_show_tracks(InspectorTrackWidget *self, SimpleTracklistSelections *tls, bool set_notebook_page)
Shows the inspector page for the given tracklist selection.
void inspector_track_widget_setup(InspectorTrackWidget *self, SimpleTracklistSelections *tls)
Sets up the inspector track widget for the first time.
struct _TextExpanderWidget { ExpanderBoxWidget parent_instance; GenericStringGetter getter; GenericStringSetter setter; void *obj; GtkScrolledWindow *scroll; GtkViewport * viewport; GtkTextView *editor; GtkTextBuffer *buffer; GtkLabel *label; GtkMenuButton *edit_btn; GtkPopover *popover; bool has_focus;} TextExpanderWidget
A TwoColExpanderBoxWidget for showing the ports in the InspectorWidget.
struct _InspectorTrackWidget { GtkWidget parent_instance; TrackPropertiesExpanderWidget *track_info; TrackInputExpanderWidget *inputs; ChannelSendsExpanderWidget *sends; PortsExpanderWidget *outputs; PortsExpanderWidget *controls; PluginStripExpanderWidget *inserts; PluginStripExpanderWidget *midi_fx; FaderControlsExpanderWidget *fader; TextExpanderWidget * comment; ColorAreaWidget *color;} InspectorTrackWidget
Inspector section for tracks.
A TwoColExpanderBoxWidget for showing the ports in the InspectorWidget.