Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
chord_arranger.h
1// clang-format off
2// SPDX-FileCopyrightText: © 2018-2019, 2022 Alexandros Theodotou <alex@zrythm.org>
3// SPDX-License-Identifier: LicenseRef-ZrythmLicense
4// clang-format on
5
6#ifndef __GUI_WIDGETS_CHORD_ARRANGER_H__
7#define __GUI_WIDGETS_CHORD_ARRANGER_H__
8
9#include "dsp/position.h"
10#include "gui/backend/tool.h"
12#include "gui/widgets/main_window.h"
13
14#include "gtk_wrapper.h"
15
16#define MW_CHORD_ARRANGER MW_CHORD_EDITOR_SPACE->arranger
17
18typedef struct ChordObject ChordObject;
19typedef struct _ChordObjectWidget ChordObjectWidget;
20typedef struct SnapGrid SnapGrid;
21typedef struct AutomationPoint AutomationPoint;
22typedef struct Region ChordRegion;
23typedef struct Channel Channel;
24
34int
36
43 ArrangerWidget * self,
44 const Position * pos,
45 int chord_index,
46 Region * region);
47
53int
55
60#endif
Arranger base widget.
int chord_arranger_calc_deltamax_for_chord_movement(int y_delta)
Called on move items_y setup.
int chord_arranger_widget_get_chord_at_y(double y)
Returns the chord index at y.
ChordObject * chord_arranger_widget_create_chord(ArrangerWidget *self, const Position *pos, int chord_index, Region *region)
Called on drag begin in parent when background is double clicked (i.e., a note is created).
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 Channel is part of a Track (excluding Tracks that don't have Channels) and contains information rel...
Definition channel.h:57
A ChordObject to be shown in the TimelineArrangerWidget.
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