Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
audio_arranger.h
1/*
2 * SPDX-FileCopyrightText: © 2020-2022 Alexandros Theodotou <alex@zrythm.org>
3 *
4 * SPDX-License-Identifier: LicenseRef-ZrythmLicense
5 */
6
7#ifndef __GUI_WIDGETS_AUDIO_ARRANGER_H__
8#define __GUI_WIDGETS_AUDIO_ARRANGER_H__
9
10#include "dsp/position.h"
11#include "gui/backend/tool.h"
13#include "gui/widgets/main_window.h"
14
15#include <gtk/gtk.h>
16
23#define MW_AUDIO_ARRANGER MW_AUDIO_EDITOR_SPACE->arranger
24
25void
26audio_arranger_widget_snap_range_r (ArrangerWidget * self, Position * pos);
27
38bool
40 ArrangerWidget * self,
41 double x,
42 double y,
43 bool fade_in,
44 bool resize);
45
49bool
51
53audio_arranger_widget_get_action_on_drag_begin (ArrangerWidget * self);
54
58void
60 ArrangerWidget * self,
61 double offset_y,
62 bool fade_in);
63
64void
65audio_arranger_widget_update_gain (ArrangerWidget * self, double offset_y);
66
79int
81 ArrangerWidget * self,
82 Position * pos,
83 bool fade_in,
84 bool dry_run);
85
90#endif
Arranger base widget.
UiOverlayAction
Various overlay actions to be shared.
Definition ui.h:247
bool audio_arranger_widget_is_cursor_gain(ArrangerWidget *self, double x, double y)
Returns whether the cursor touches the gain line.
bool audio_arranger_widget_is_cursor_in_fade(ArrangerWidget *self, double x, double y, bool fade_in, bool resize)
Returns whether the cursor is inside a fade area.
void audio_arranger_widget_fade_up(ArrangerWidget *self, double offset_y, bool fade_in)
Handle fade in/out curviness drag.
int audio_arranger_widget_snap_fade(ArrangerWidget *self, Position *pos, bool fade_in, bool dry_run)
Updates the fade position during drag update.
Position struct and API.
The arranger widget is a canvas that draws all the arranger objects it contains.
Definition arranger.h:108
A Position is made up of bars.beats.sixteenths.ticks.
Definition position.h:126