Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
event_viewer.h
Go to the documentation of this file.
1// clang-format off
2// SPDX-FileCopyrightText: © 2019, 2021-2022 Alexandros Theodotou <alex@zrythm.org>
3// SPDX-License-Identifier: LicenseRef-ZrythmLicense
4// clang-format on
5
12#ifndef __GUI_WIDGETS_EVENT_VIEWER_H__
13#define __GUI_WIDGETS_EVENT_VIEWER_H__
14
16
17#include <gtk/gtk.h>
18
19#define EVENT_VIEWER_WIDGET_TYPE (event_viewer_widget_get_type ())
20G_DECLARE_FINAL_TYPE (
22 event_viewer_widget,
23 Z,
24 EVENT_VIEWER_WIDGET,
25 GtkBox)
26
27typedef struct _ArrangerWidget ArrangerWidget;
29
36#define MW_TIMELINE_EVENT_VIEWER MW_MAIN_NOTEBOOK->event_viewer
37#define MW_EDITOR_EVENT_VIEWER_STACK MW_BOT_DOCK_EDGE->event_viewer_stack
38#define MW_MIDI_EVENT_VIEWER MW_BOT_DOCK_EDGE->event_viewer_midi
39#define MW_CHORD_EVENT_VIEWER MW_BOT_DOCK_EDGE->event_viewer_chord
40#define MW_AUDIO_EVENT_VIEWER MW_BOT_DOCK_EDGE->event_viewer_audio
41#define MW_AUTOMATION_EVENT_VIEWER MW_BOT_DOCK_EDGE->event_viewer_automation
42
43typedef enum EventViewerType
44{
45 EVENT_VIEWER_TYPE_TIMELINE,
46 EVENT_VIEWER_TYPE_CHORD,
47 EVENT_VIEWER_TYPE_MIDI,
48 EVENT_VIEWER_TYPE_AUDIO,
49 EVENT_VIEWER_TYPE_AUTOMATION,
50} EventViewerType;
51
52typedef struct _EventViewerWidget
53{
54 GtkBox parent_instance;
55
57 GtkColumnView * column_view;
58
61 GPtrArray * item_factories;
62
64 EventViewerType type;
65
69
72
76
84void
85event_viewer_widget_refresh (EventViewerWidget * self, bool selections_only);
86
90void
92
100void
102 const ArrangerWidget * arranger,
103 bool selections_only);
104
106event_viewer_widget_new (void);
107
111void
112event_viewer_widget_setup (EventViewerWidget * self, EventViewerType type);
113
118#endif
RegionType
Type of Region.
void event_viewer_widget_refresh_for_selections(ArrangerSelections *sel)
Convenience function.
void event_viewer_widget_refresh(EventViewerWidget *self, bool selections_only)
Called to update the models/selections.
void event_viewer_widget_refresh_for_arranger(const ArrangerWidget *arranger, bool selections_only)
Convenience function.
void event_viewer_widget_setup(EventViewerWidget *self, EventViewerType type)
Sets up the event viewer.
Region identifier.
The arranger widget is a canvas that draws all the arranger objects it contains.
Definition arranger.h:108
ArrangerSelections * last_selections
Clone of last selections used.
GPtrArray * item_factories
Array of ItemFactory pointers for each column.
GtkColumnView * column_view
The tree view.
RegionType region_type
Used by the editor EV to check if it should readd the columns.
EventViewerType type
Type.
bool marking_selected_objs
Temporary flag.