Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
automation_arranger.h
Go to the documentation of this file.
1// clang-format off
2// SPDX-FileCopyrightText: © 2018-2020, 2022 Alexandros Theodotou <alex@zrythm.org>
3// SPDX-License-Identifier: LicenseRef-ZrythmLicense
4// clang-format on
5
12#ifndef __GUI_WIDGETS_AUTOMATION_ARRANGER_H__
13#define __GUI_WIDGETS_AUTOMATION_ARRANGER_H__
14
15#include "dsp/position.h"
17#include "gui/backend/tool.h"
19#include "gui/widgets/main_window.h"
20
21#include "gtk_wrapper.h"
22
23TYPEDEF_STRUCT (AutomationPoint);
24TYPEDEF_STRUCT (AutomationCurve);
25TYPEDEF_STRUCT_UNDERSCORED (AutomationPointWidget);
26TYPEDEF_STRUCT_UNDERSCORED (AutomationCurveWidget);
27TYPEDEF_STRUCT (SnapGrid);
28TYPEDEF_STRUCT (AutomationTrack);
29TYPEDEF_STRUCT_UNDERSCORED (RegionWidget);
30
37#define MW_AUTOMATION_ARRANGER MW_AUTOMATION_EDITOR_SPACE->arranger
38
41#define AUTOMATION_ARRANGER_VPADDING 4
42
49void
51 ArrangerWidget * self,
52 const Position * pos,
53 const double start_y,
54 Region * region,
55 bool autofilling);
56
60void
62
70GMenu *
72 ArrangerWidget * self,
73 GMenu * menu,
74 double x,
75 double y);
76
82bool
84
89#endif
Arranger base widget.
API for selections in the AutomationArrangerWidget.
GMenu * automation_arranger_widget_gen_context_menu(ArrangerWidget *self, GMenu *menu, double x, double y)
Generate a context menu at x, y.
void automation_arranger_widget_resize_curves(ArrangerWidget *self, double offset_y)
Change curviness of selected curves.
void automation_arranger_widget_create_ap(ArrangerWidget *self, const Position *pos, const double start_y, Region *region, bool autofilling)
Create an AutomationPointat the given Position in the given Track's AutomationTrack.
bool automation_arranger_move_hit_aps(ArrangerWidget *self, double x, double y)
Called when using the edit tool.
Position struct and API.
The arranger widget is a canvas that draws all the arranger objects it contains.
Definition arranger.h:108
An automation point inside an AutomationTrack.
A Position is made up of bars.beats.sixteenths.ticks.
Definition position.h:124
A region (clip) is an object on the timeline that contains either MidiNote's or AudioClip's.
Definition region.h:72