Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
automatable_selector_popover.h
1// SPDX-FileCopyrightText: © 2019, 2023 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
4#ifndef __GUI_WIDGETS_AUTOMATABLE_SELECTOR_POPOVER_H__
5#define __GUI_WIDGETS_AUTOMATABLE_SELECTOR_POPOVER_H__
6
7#include "utils/types.h"
8
9#include <gtk/gtk.h>
10
11#define AUTOMATABLE_SELECTOR_POPOVER_WIDGET_TYPE \
12 (automatable_selector_popover_widget_get_type ())
13G_DECLARE_FINAL_TYPE (
15 automatable_selector_popover_widget,
16 Z,
17 AUTOMATABLE_SELECTOR_POPOVER_WIDGET,
18 GtkPopover);
19
20TYPEDEF_STRUCT (ItemFactory);
21
34{
37 AS_TYPE_MIDI_CH2,
38 AS_TYPE_MIDI_CH3,
39 AS_TYPE_MIDI_CH4,
40 AS_TYPE_MIDI_CH5,
41 AS_TYPE_MIDI_CH6,
42 AS_TYPE_MIDI_CH7,
43 AS_TYPE_MIDI_CH8,
44 AS_TYPE_MIDI_CH9,
45 AS_TYPE_MIDI_CH10,
46 AS_TYPE_MIDI_CH11,
47 AS_TYPE_MIDI_CH12,
48 AS_TYPE_MIDI_CH13,
49 AS_TYPE_MIDI_CH14,
50 AS_TYPE_MIDI_CH15,
51 AS_TYPE_MIDI_CH16,
52
55
58
61
64
67
70
74
79typedef struct _AutomatableSelectorPopoverWidget
80{
81 GtkPopover parent_instance;
82
85
86 GtkListView * type_listview;
87 GtkListView * port_listview;
88
89 ItemFactory * port_factory;
90
91 GtkLabel * info;
92
93 GtkSearchEntry * port_search_entry;
94
102
108
113#endif
AutomatableSelectorPopoverWidget * automatable_selector_popover_widget_new(AutomationTrack *owner)
Creates the popover.
AutomatableSelectorType
Automatable type.
@ AS_TYPE_TEMPO
Tempo track ports.
@ AS_TYPE_CHANNEL
Channel.
@ AS_TYPE_MODULATOR
Modulator plugin.
@ AS_TYPE_MACRO
Modulator macros.
@ AS_TYPE_INSTRUMENT
Instrument plugin.
@ AS_TYPE_INSERT
Insert plugin.
@ AS_TYPE_MIDI_FX
Plugin at Track MIDI fx slot.
@ AS_TYPE_MIDI_CH1
Midi automatable (modwheel etc.).
A popover for selecting the automation track to automate.
AutomationTrack * owner
The owner button.
Port * selected_port
The selected Port will be stored here and passed to the button when closing so that it can hide the c...
Item factory for column views.
Must ONLY be created via port_new()
Definition port.h:139
Custom types.