Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
track_properties_expander.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: © 2019 Alexandros Theodotou <alex@zrythm.org>
3 *
4 * SPDX-License-Identifier: LicenseRef-ZrythmLicense
5 */
6
12
13#ifndef __GUI_WIDGETS_TRACK_PROPERTIES_EXPANDER_H__
14#define __GUI_WIDGETS_TRACK_PROPERTIES_EXPANDER_H__
15
16#include "gui/backend/gtk_widgets/gtk_wrapper.h"
17#include "gui/backend/gtk_widgets/two_col_expander_box.h"
18
19#define TRACK_PROPERTIES_EXPANDER_WIDGET_TYPE \
20 (track_properties_expander_widget_get_type ())
21G_DECLARE_FINAL_TYPE (
23 track_properties_expander_widget,
24 Z,
25 TRACK_PROPERTIES_EXPANDER_WIDGET,
26 TwoColExpanderBoxWidget);
27
28typedef struct _EditableLabelWidget EditableLabelWidget;
29class Track;
30typedef struct _RouteTargetSelectorWidget RouteTargetSelectorWidget;
31typedef struct _ChannelSlotWidget ChannelSlotWidget;
32
38
39typedef struct _TrackPropertiesExpanderWidget
40{
41 TwoColExpanderBoxWidget parent_instance;
42
48 EditableLabelWidget * name;
49
50 RouteTargetSelectorWidget * direct_out;
51
53 ChannelSlotWidget * instrument_slot;
54
55 GtkLabel * instrument_label;
56
57 /* TODO midi inputs, etc. See Instrument Track
58 * Inspector from cubase manual. */
59
62 Track * track;
64
68void
71 Track * track);
72
76void
79 Track * track);
80
84
85#endif
void track_properties_expander_widget_refresh(TrackPropertiesExpanderWidget *self, Track *track)
Refreshes each field.
void track_properties_expander_widget_setup(TrackPropertiesExpanderWidget *self, Track *track)
Sets up the TrackPropertiesExpanderWidget.
struct _RouteTargetSelectorWidget { AdwBin parent_instance; GtkDropDown *dropdown; ChannelTrack *track;} RouteTargetSelectorWidget
Dropdown to select the direct output of a track.
EditableLabelWidget * name
Editable label for displaying the name.
ChannelSlotWidget * instrument_slot
Instrument slot, for instrument tracks.
Track * track
Track the TrackPropertiesExpanderWidget is associated with.