gui/widgets/arranger.h file

Contents

Arranger base widget.

Classes

struct _ArrangerWidget
The arranger widget is a canvas that draws all the arranger objects it contains.

Enums

enum ArrangerCursor { ARRANGER_CURSOR_NONE, ARRANGER_CURSOR_SELECT, ARRANGER_CURSOR_EDIT, ARRANGER_CURSOR_AUTOFILL, ARRANGER_CURSOR_CUT, ARRANGER_CURSOR_ERASER, ARRANGER_CURSOR_AUDITION, ARRANGER_CURSOR_RAMP, ARRANGER_CURSOR_GRAB, ARRANGER_CURSOR_GRABBING, ARRANGER_CURSOR_RESIZING_L, ARRANGER_CURSOR_STRETCHING_L, ARRANGER_CURSOR_RESIZING_L_LOOP, ARRANGER_CURSOR_RESIZING_R, ARRANGER_CURSOR_STRETCHING_R, ARRANGER_CURSOR_RESIZING_R_LOOP, ARRANGER_CURSOR_RESIZING_UP, ARRANGER_CURSOR_RESIZING_UP_FADE_IN, ARRANGER_CURSOR_RESIZING_UP_FADE_OUT, ARRANGER_CURSOR_GRABBING_COPY, ARRANGER_CURSOR_GRABBING_LINK, ARRANGER_CURSOR_RANGE, ARRANGER_CURSOR_FADE_IN, ARRANGER_CURSOR_FADE_OUT, ARRANGER_CURSOR_RENAME }
enum ArrangerWidgetType { ARRANGER_WIDGET_TYPE_TIMELINE, ARRANGER_WIDGET_TYPE_MIDI, ARRANGER_WIDGET_TYPE_MIDI_MODIFIER, ARRANGER_WIDGET_TYPE_AUDIO, ARRANGER_WIDGET_TYPE_CHORD, ARRANGER_WIDGET_TYPE_AUTOMATION }
Type of arranger.

Typedefs

using ArrangerWidgetType = enum ArrangerWidgetType
Type of arranger.
using ArrangerWidget = struct _ArrangerWidget
The arranger widget is a canvas that draws all the arranger objects it contains.

Functions

void arranger_widget_setup(ArrangerWidget* self, ArrangerWidgetType type, SnapGrid* snap_grid)
Creates a timeline widget using the given timeline data.
void arranger_widget_set_cursor(ArrangerWidget* self, ArrangerCursor cursor)
Sets the cursor on the arranger and all of its children.
auto arranger_widget_pos_to_px(ArrangerWidget* self, Position* pos, int use_padding) -> int
Wrapper of the UI functions based on the arranger type.
void arranger_widget_refresh_cursor(ArrangerWidget* self)
Figures out which cursor should be used based on the current state and then sets it.
auto arranger_widget_get_scrolled_window(ArrangerWidget* self) -> GtkScrolledWindow*
Sets transient object and actual object visibility for every ArrangerObject in the ArrangerWidget based on the current action.
void arranger_widget_get_all_objects(ArrangerWidget* self, ArrangerObject** objs, int* size)
Get all objects currently present in the arranger.
void arranger_widget_px_to_pos(ArrangerWidget* self, double px, Position* pos, int has_padding)
Wrapper for ui_px_to_pos depending on the arranger type.
void arranger_widget_get_visible_rect(ArrangerWidget* self, GdkRectangle* rect)
Returns the current visible rectangle.
void arranger_widget_get_hit_objects_at_point(ArrangerWidget* self, ArrangerObjectType type, double x, double y, ArrangerObject** array, int* array_size)
Fills in the given array with the ArrangerObject's of the given type that appear in the given ranger.
void arranger_widget_get_hit_objects_in_rect(ArrangerWidget* self, ArrangerObjectType type, GdkRectangle* rect, ArrangerObject** array, int* array_size)
Fills in the given array with the ArrangerObject's of the given type that appear in the given ranger.
auto arranger_widget_get_hit_arranger_object(ArrangerWidget* self, ArrangerObjectType type, const double x, const double y) -> ArrangerObject*
Returns the ArrangerObject of the given type at (x,y).
auto arranger_widget_is_in_moving_operation(ArrangerWidget* self) -> bool
Returns if the arranger is in a moving-related operation or starting a moving-related operation.
auto arranger_widget_get_selections(ArrangerWidget* self) -> ArrangerSelections*
Returns the ArrangerSelections for this ArrangerWidget.
void arranger_widget_redraw_whole(ArrangerWidget* self)
Queues a redraw of the whole visible arranger.
void arranger_widget_redraw_playhead(ArrangerWidget* self)
Only redraws the playhead part.
void arranger_widget_redraw_rectangle(ArrangerWidget* self, GdkRectangle* rect)
Only redraws the given rectangle.
auto arranger_widget_on_key_action(GtkWidget* widget, GdkEventKey* event, ArrangerWidget* self) -> gboolean
Called from MainWindowWidget because some events don't reach here.
void arranger_widget_scroll_until_obj(ArrangerWidget* self, ArrangerObject* obj, int horizontal, int up, int left, double padding)
Scroll until the given object is visible.
void arranger_widget_toggle_selections_muted(ArrangerWidget* self, ArrangerObject* clicked_object)
Toggles the mute status of the selection, based on the mute status of the selected object.
void arranger_widget_get_min_possible_position(ArrangerWidget* self, Position* pos)
Returns the earliest possible position allowed in this arranger (eg, 1.1.0.0 for timeline).
void arranger_widget_set_highlight_rect(ArrangerWidget* self, GdkRectangle* rect)
Sets the highlight rectangle.
auto arranger_widget_get_editor_settings(ArrangerWidget* self) -> EditorSettings*
Returns the EditorSettings corresponding to the given arranger.