1# Copyright (C) 2019-2021 Alexandros Theodotou <alex at zrythm dot org>
2#
3# This file is part of Zrythm
4#
5# Zrythm is free software: you can redistribute it and/or modify
6# it under the terms of the GNU Affero General Public License as published by
7# the Free Software Foundation, either version 3 of the License, or
8# (at your option) any later version.
9#
10# Zrythm is distributed in the hope that it will be useful,
11# but WITHOUT ANY WARRANTY; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13# GNU Affero General Public License for more details.
14#
15# You should have received a copy of the GNU Affero General Public License
16# along with Zrythm.  If not, see <https://www.gnu.org/licenses/>.
17
18widget_srcs = files([
19  'active_hardware_mb.c',
20  'active_hardware_popover.c',
21  'arranger.c',
22  'arranger_draw.c',
23  'arranger_object.c',
24  'audio_editor_space.c',
25  'audio_arranger.c',
26  'automatable_selector_popover.c',
27  'automation_arranger.c',
28  'automation_editor_legend.c',
29  'automation_editor_space.c',
30  'automation_mode.c',
31  'automation_point.c',
32  'balance_control.c',
33  'bar_slider.c',
34  'bot_bar.c',
35  'bot_dock_edge.c',
36  'bounce_step_selector.c',
37  'button_with_menu.c',
38  'cc_bindings.c',
39  'cc_bindings_tree.c',
40  'center_dock.c',
41  'channel.c',
42  'channel_send.c',
43  'channel_send_selector.c',
44  'channel_sends_expander.c',
45  'channel_slot.c',
46  'chord.c',
47  'chord_arranger.c',
48  'chord_button.c',
49  'chord_editor_space.c',
50  'chord_key.c',
51  'chord_object.c',
52  'chord_region.c',
53  'chord_pad.c',
54  'chord_selector_window.c',
55  'clip_editor.c',
56  'clip_editor_inner.c',
57  'color_area.c',
58  'cpu.c',
59  'custom_button.c',
60  'digital_meter.c',
61  'drag_dest_box.c',
62  'editable_label.c',
63  'editor_ruler.c',
64  'editor_toolbar.c',
65  #'editor_selection_info.c',
66  'event_viewer.c',
67  'expander_box.c',
68  'fader.c',
69  'fader_buttons.c',
70  'fader_controls_expander.c',
71  'fader_controls_grid.c',
72  'file_auditioner_controls.c',
73  'file_browser.c',
74  'file_browser_filters.c',
75  'file_browser_window.c',
76  'first_run_assistant.c',
77  'foldable_notebook.c',
78  'folder_channel.c',
79  'header.c',
80  'help_toolbar.c',
81  'home_toolbar.c',
82  'inspector_ap.c',
83  'inspector_chord.c',
84  'inspector_editor.c',
85  'inspector_midi.c',
86  'inspector_plugin.c',
87  'inspector_port.c',
88  'inspector_track.c',
89  'knob.c',
90  'knob_with_name.c',
91  'left_dock_edge.c',
92  'live_waveform.c',
93  'log_viewer.c',
94  'main_notebook.c',
95  'main_window.c',
96  'marker.c',
97  'meter.c',
98  'midi_activity_bar.c',
99  'midi_arranger.c',
100  'monitor_section.c',
101  'midi_editor_space.c',
102  'midi_modifier_arranger.c',
103  'midi_note.c',
104  'mixer.c',
105  'modulator.c',
106  'modulator_inner.c',
107  'modulator_macro.c',
108  'modulator_view.c',
109  'panel_file_browser.c',
110  'piano_keyboard.c',
111  'piano_roll_keys.c',
112  'playhead_scroll_buttons.c',
113  'plugin_browser.c',
114  'plugin_properties_expander.c',
115  'plugin_strip_expander.c',
116  'port_connection_row.c',
117  'port_connections.c',
118  'port_connections_popover.c',
119  'port_connections_tree.c',
120  'port_selector_popover.c',
121  'ports_expander.c',
122  'preferences.c',
123  'preroll_count_selector.c',
124  'project_assistant.c',
125  'project_toolbar.c',
126  'range_action_buttons.c',
127  'quantize_box.c',
128  'region.c',
129  'right_dock_edge.c',
130  'route_target_selector.c',
131  'route_target_selector_popover.c',
132  'ruler.c',
133  'scale_object.c',
134  'scale_selector_window.c',
135  'scripting_window.c',
136  'selection_info.c',
137  'slider_bar.c',
138  'snap_box.c',
139  'snap_grid.c',
140  'snap_grid_popover.c',
141  'splash.c',
142  'text_expander.c',
143  'timeline_arranger.c',
144  'timeline_bot_box.c',
145  'timeline_minimap_bg.c',
146  'timeline_minimap.c',
147  'timeline_minimap_selection.c',
148  'timeline_panel.c',
149  'timeline_ruler.c',
150  'timeline_toolbar.c',
151  #'timeline_selection_info.c',
152  'toolbox.c',
153  'top_bar.c',
154  'track.c',
155  'track_input_expander.c',
156  'track_properties_expander.c',
157  'track_visibility_tree.c',
158  'tracklist.c',
159  'tracklist_header.c',
160  'track_top_grid.c',
161  'transport_controls.c',
162  'two_col_expander_box.c',
163  'velocity.c',
164  'view_toolbar.c',
165  'visibility.c',
166  'volume.c',
167  ])
168
169subdir ('dialogs')
170
171widgets_lib = static_library (
172  'zrythm-widgets-lib',
173  sources: widget_srcs,
174  dependencies: zrythm_deps,
175  include_directories: all_inc,
176  c_args: [ common_cflags, strict_cflags ],
177  )
178