Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
chord_arranger.h
1// SPDX-FileCopyrightText: © 2018-2019, 2022 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
4#ifndef __GUI_WIDGETS_CHORD_ARRANGER_H__
5#define __GUI_WIDGETS_CHORD_ARRANGER_H__
6
7#include "dsp/position.h"
8#include "gui/backend/tool.h"
10#include "gui/widgets/main_window.h"
11
12#include <gtk/gtk.h>
13
14#define MW_CHORD_ARRANGER MW_CHORD_EDITOR_SPACE->arranger
15
16typedef struct ChordObject ChordObject;
17typedef struct _ChordObjectWidget ChordObjectWidget;
18typedef struct SnapGrid SnapGrid;
19typedef struct AutomationPoint AutomationPoint;
20typedef struct ZRegion ChordRegion;
21typedef struct Channel Channel;
22
32int
34
41 ArrangerWidget * self,
42 const Position * pos,
43 int chord_index,
44 ZRegion * region);
45
51int
53
58#endif
Arranger base widget.
int chord_arranger_calc_deltamax_for_chord_movement(int y_delta)
Called on move items_y setup.
ChordObject * chord_arranger_widget_create_chord(ArrangerWidget *self, const Position *pos, int chord_index, ZRegion *region)
Called on drag begin in parent when background is double clicked (i.e., a note is created).
int chord_arranger_widget_get_chord_at_y(double y)
Returns the chord index at y.
Position struct and API.
The arranger widget is a canvas that draws all the arranger objects it contains.
Definition arranger.h:113
An automation point inside an AutomationTrack.
A Channel is part of a Track (excluding Tracks that don't have Channels) and contains information rel...
Definition channel.h:63
A ChordObject to be shown in the TimelineArrangerWidget.
A Position is made up of bars.beats.sixteenths.ticks.
Definition position.h:137
A region (clip) is an object on the timeline that contains either MidiNote's or AudioClip's.
Definition region.h:78