Widgets module
Custom GUI elements that reflect the backend.
Classes
- struct _AudioEditorSpaceWidget
- The piano roll widget is the whole space inside the clip editor tab when a AUDIO region is selected.
- struct _AutomationEditorSpaceWidget
- The piano roll widget is the whole space inside the clip editor tab when a AUTOMATION region is selected.
- struct _BarSliderWidget
- Draggable slider to adjust an amount (such as a percentage).
- struct _CenterDockWidget
- Center dock.
- struct _ChordEditorSpaceWidget
- The piano roll widget is the whole space inside the clip editor tab when a CHORD region is selected.
- struct _ChordSelectorWindowWidget
- A GtkPopover to create a ChordDescriptor for use in the ChordTrack's ChordObject's.
- struct _ClipEditorInnerWidget
- The piano roll widget is the whole space inside the clip editor tab when a MIDI region is selected.
- struct _ExportProgressDialogWidget
- The export dialog.
- struct _FileBrowserWindowWidget
- The file browser window.
- struct _FoldableNotebookWidget
- A GtkNotebook that shows or hides itself when the same page tab is clicked.
- struct _InspectorPortWidget
- A Port to show in the inspector for Plugin's.
- struct _InstrumentTrackWidget
- Top is the track part and bot is the automation part.
- struct _MainWindowWidget
- The main window of Zrythm.
- struct _MarkerDialogWidget
- A dialog to edit a Marker's name.
- struct _MidiEditorSpaceWidget
- The piano roll widget is the whole space inside the clip editor tab when a MIDI region is selected.
- struct _MidiTrackWidget
- Top is the track part and bot is the automation part.
- struct _PinnedTracklistWidget
- The PinnedTracklistWidget contains special tracks (chord, marker, etc.) as thin boxes above the normal tracklist.
- struct _PluginBrowserWidget
- The plugin browser allows to browse and filter available Plugin's on the system.
- struct _PortSelectorPopoverWidget
- A GtkPopover to select Port's.
- struct _PortsExpanderWidget
- A TwoColExpanderBoxWidget for showing the ports in the InspectorWidget.
- struct _ProjectAssistantWidget
- A widget that allows selecting a project to load or create.
- struct _ScaleSelectorWindowWidget
- A GtkPopover to create a ScaleDescriptor for use in the ScaleTrack's ScaleObject's.
- struct _TimelineToolbarWidget
- The Timeline toolbar in the top.
- struct _TrackWidget
- The TrackWidget is split into 3 parts.
- struct _TrackTopGridWidget
- Top is the track part and bot is the automation part.
- struct _TracklistWidget
- The TracklistWidget holds all the Track's in the Project.
- struct UiColors
- Commonly used UI colors.
- struct UiCursor
- Specification for a cursor.
- struct UiCaches
- Caches.
Enums
- enum BarSliderType { BAR_SLIDER_TYPE_NORMAL, BAR_SLIDER_TYPE_PORT_MULTIPLIER }
- Type of slider.
- enum BarSliderUpdateMode { BAR_SLIDER_UPDATE_MODE_RELATIVE, BAR_SLIDER_UPDATE_MODE_CURSOR }
- Defines how drag_update will work.
- enum MidiActivityBarAnimation { MAB_ANIMATION_BAR, MAB_ANIMATION_FLASH }
- enum PortsExpanderTrackPortType { PE_TRACK_PORT_TYPE_SENDS, PE_TRACK_PORT_TYPE_STEREO_IN, PE_TRACK_PORT_TYPE_MIDI_IN, PE_TRACK_PORT_TYPE_MIDI_OUT }
- Used for Track's.
- enum RWTarget { RW_TARGET_PLAYHEAD, RW_TARGET_LOOP_START, RW_TARGET_LOOP_END, RW_TARGET_CLIP_START, RW_TARGET_RANGE }
- The ruler widget target acting upon.
- enum TimelineMinimapAction { TIMELINE_MINIMAP_ACTION_NONE, TIMELINE_MINIMAP_ACTION_RESIZING_L, TIMELINE_MINIMAP_ACTION_RESIZING_R, TIMELINE_MINIMAP_ACTION_STARTING_MOVING, TIMELINE_MINIMAP_ACTION_MOVING }
- enum TrackWidgetResizeTarget { TRACK_WIDGET_RESIZE_TARGET_TRACK, TRACK_WIDGET_RESIZE_TARGET_AT, TRACK_WIDGET_RESIZE_TARGET_LANE }
- Resize target.
- enum UiCursorState { UI_CURSOR_STATE_DEFAULT, UI_CURSOR_STATE_RESIZE_L, UI_CURSOR_STATE_REPEAT_L, UI_CURSOR_STATE_RESIZE_R, UI_CURSOR_STATE_REPEAT_R, UI_CURSOR_STATE_RESIZE_UP }
- Various cursor states to be shared.
- enum UiOverlayAction { UI_OVERLAY_ACTION_NONE, UI_OVERLAY_ACTION_CREATING_RESIZING_R, UI_OVERLAY_ACTION_CREATING_MOVING, UI_OVERLAY_ACTION_RESIZING_L, UI_OVERLAY_ACTION_RESIZING_L_LOOP, UI_OVERLAY_ACTION_RESIZING_R, UI_OVERLAY_ACTION_RESIZING_R_LOOP, UI_OVERLAY_ACTION_RESIZING_UP, UI_OVERLAY_ACTION_STRETCHING_L, UI_OVERLAY_ACTION_STRETCHING_R, UI_OVERLAY_ACTION_AUDITIONING, UI_OVERLAY_ACTION_AUTOFILLING, UI_OVERLAY_ACTION_ERASING, UI_OVERLAY_ACTION_STARTING_MOVING, UI_OVERLAY_ACTION_STARTING_MOVING_COPY, UI_OVERLAY_ACTION_STARTING_MOVING_LINK, UI_OVERLAY_ACTION_MOVING, UI_OVERLAY_ACTION_MOVING_COPY, UI_OVERLAY_ACTION_MOVING_LINK, UI_OVERLAY_ACTION_STARTING_CHANGING_CURVE, UI_OVERLAY_ACTION_CHANGING_CURVE, UI_OVERLAY_ACTION_STARTING_SELECTION, UI_OVERLAY_ACTION_SELECTING, UI_OVERLAY_ACTION_STARTING_DELETE_SELECTION, UI_OVERLAY_ACTION_DELETE_SELECTING, UI_OVERLAY_ACTION_STARTING_RAMP, UI_OVERLAY_ACTION_RAMPING, UI_OVERLAY_ACTION_CUTTING }
- Various overlay actions to be shared.
Typedefs
-
using AudioEditorSpaceWidget = struct _
AudioEditorSpaceWidget - The piano roll widget is the whole space inside the clip editor tab when a AUDIO region is selected.
-
using AutomationEditorSpaceWidget = struct _
AutomationEditorSpaceWidget - The piano roll widget is the whole space inside the clip editor tab when a AUTOMATION region is selected.
- using BarSliderType = enum BarSliderType
- Type of slider.
- using BarSliderUpdateMode = enum BarSliderUpdateMode
- Defines how drag_update will work.
-
using BarSliderWidget = struct _
BarSliderWidget - Draggable slider to adjust an amount (such as a percentage).
-
using CenterDockWidget = struct _
CenterDockWidget - Center dock.
-
using ChordEditorSpaceWidget = struct _
ChordEditorSpaceWidget - The piano roll widget is the whole space inside the clip editor tab when a CHORD region is selected.
-
using ChordSelectorWindowWidget = struct _
ChordSelectorWindowWidget - A GtkPopover to create a ChordDescriptor for use in the ChordTrack's ChordObject's.
-
using ClipEditorInnerWidget = struct _
ClipEditorInnerWidget - The piano roll widget is the whole space inside the clip editor tab when a MIDI region is selected.
-
using ExportProgressDialogWidget = struct _
ExportProgressDialogWidget - The export dialog.
-
using FileBrowserWindowWidget = struct _
FileBrowserWindowWidget - The file browser window.
-
using FoldableNotebookWidget = struct _
FoldableNotebookWidget - A GtkNotebook that shows or hides itself when the same page tab is clicked.
-
using InspectorPortWidget = struct _
InspectorPortWidget - A Port to show in the inspector for Plugin's.
-
using InstrumentTrackWidget = struct _
InstrumentTrackWidget - Top is the track part and bot is the automation part.
-
using MainWindowWidget = struct _
MainWindowWidget - The main window of Zrythm.
-
using MarkerDialogWidget = struct _
MarkerDialogWidget - A dialog to edit a Marker's name.
-
using MidiEditorSpaceWidget = struct _
MidiEditorSpaceWidget - The piano roll widget is the whole space inside the clip editor tab when a MIDI region is selected.
-
using MidiTrackWidget = struct _
MidiTrackWidget - Top is the track part and bot is the automation part.
-
using PinnedTracklistWidget = struct _
PinnedTracklistWidget - The PinnedTracklistWidget contains special tracks (chord, marker, etc.) as thin boxes above the normal tracklist.
-
using PluginBrowserWidget = struct _
PluginBrowserWidget - The plugin browser allows to browse and filter available Plugin's on the system.
-
using PortSelectorPopoverWidget = struct _
PortSelectorPopoverWidget - A GtkPopover to select Port's.
- using PortsExpanderTrackPortType = enum PortsExpanderTrackPortType
- Used for Track's.
-
using PortsExpanderWidget = struct _
PortsExpanderWidget - A TwoColExpanderBoxWidget for showing the ports in the InspectorWidget.
-
using ProjectAssistantWidget = struct _
ProjectAssistantWidget - A widget that allows selecting a project to load or create.
- using RWTarget = enum RWTarget
- The ruler widget target acting upon.
-
using ScaleSelectorWindowWidget = struct _
ScaleSelectorWindowWidget - A GtkPopover to create a ScaleDescriptor for use in the ScaleTrack's ScaleObject's.
-
using TimelineToolbarWidget = struct _
TimelineToolbarWidget - The Timeline toolbar in the top.
- using TrackWidgetResizeTarget = enum TrackWidgetResizeTarget
- Resize target.
-
using TrackWidget = struct _
TrackWidget - The TrackWidget is split into 3 parts.
-
using TrackTopGridWidget = struct _
TrackTopGridWidget - Top is the track part and bot is the automation part.
-
using TracklistWidget = struct _
TracklistWidget - The TracklistWidget holds all the Track's in the Project.
- using UiColors = struct UiColors
- Commonly used UI colors.
- using UiCursor = struct UiCursor
- Specification for a cursor.
- using UiCaches = struct UiCaches
- Caches.
- using UiCursorState = enum UiCursorState
- Various cursor states to be shared.
- using UiOverlayAction = enum UiOverlayAction
- Various overlay actions to be shared.
-
using KnobWithNameWidget = struct _
KnobWithNameWidget - A vertical box with a knob at the top and a name at the bottom.
Functions
- auto about_dialog_widget_new(GtkWindow* parent) -> GtkAboutDialog*
- Creates and displays the about dialog.
- auto arranger_object_is_resize_l(ArrangerObject* self, const int x) -> int
- Returns if the current position is for resizing L.
- auto arranger_object_is_resize_r(ArrangerObject* self, const int x) -> int
- Returns if the current position is for resizing R.
- auto arranger_object_is_resize_up(ArrangerObject* self, const int x, const int y) -> int
- Returns if the current position is for resizing up (eg, Velocity).
- auto arranger_object_is_resize_loop(ArrangerObject* self, const int y) -> int
- Returns if the current position is for resizing loop.
- auto arranger_object_should_show_cut_lines(ArrangerObject* self, int alt_pressed) -> int
- Returns if arranger_object widgets should show cut lines.
- auto arranger_object_get_draw_rectangle(ArrangerObject* self, GdkRectangle* parent_rect, GdkRectangle* full_rect, GdkRectangle* draw_rect) -> int
- Gets the draw rectangle based on the given full rectangle of the arranger object.
- void arranger_object_draw(ArrangerObject* self, ArrangerWidget* arranger, cairo_t* cr, GdkRectangle* rect)
- Draws the given object.
- void arranger_object_queue_redraw(ArrangerObject* self)
- Queues a redraw in the area covered by this object.
- void audio_editor_space_widget_update_size_group(AudioEditorSpaceWidget* self, int visible)
- See CLIP_EDITOR_INNER_WIDGET_ADD_TO_SIZEGROUP.
- void automatable_selector_button_set_automatable(AutomatableSelectorButtonWidget* self, Automatable* a)
- Sets the Automatable for this automation track lane.
- void automation_arranger_widget_create_ap(ArrangerWidget* self, const Position* pos, const double start_y, Region* region)
- Create an AutomationPointat the given Position in the given Track's AutomationTrack.
- void automation_arranger_widget_resize_curves(ArrangerWidget* self, double offset_y)
- Change curviness of selected curves.
- void automation_editor_space_widget_update_size_group(AutomationEditorSpaceWidget* self, int visible)
- See CLIP_EDITOR_INNER_WIDGET_ADD_TO_SIZEGROUP.
- void automation_point_draw(AutomationPoint* self, cairo_t* cr, GdkRectangle* rect)
- Draws the AutomationPoint in the given cairo context in absolute coordinates.
- auto _bar_slider_widget_new(BarSliderType type, float(*)(void*) get_val, void(*)(void*, float) set_val, void* object, Port* dest, float min, float max, int w, int h, float zero, int convert_to_percentage, int decimals, BarSliderUpdateMode mode, const char* prefix, const char* suffix) -> BarSliderWidget*
- Creates a bar slider widget for floats.
- auto bind_cc_dialog_widget_new(void) -> BindCcDialogWidget*
- Creates an bind_cc dialog widget and displays it.
- G_DECLARE_FINAL_TYPE(BotBarWidget, bot_bar_widget, Z, BOT_BAR_WIDGET, GtkBox) typedef struct _BotBarWidget
- void bot_bar_widget_update_status(BotBarWidget* self)
- Updates the content of the status bar.
- void bot_bar_widget_setup(BotBarWidget* self)
- Sets up the bot bar.
- auto chord_arranger_widget_get_chord_at_y(double y) -> int
- Returns the chord index at y.
- void 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).
- void chord_editor_space_widget_update_size_group(ChordEditorSpaceWidget* self, int visible)
- See CLIP_EDITOR_INNER_WIDGET_ADD_TO_SIZEGROUP.
- void chord_object_recreate_pango_layouts(ChordObject* self)
- Recreates the pango layouts for drawing.
- void chord_object_draw(ChordObject* self, cairo_t* cr, GdkRectangle* rect)
- void chord_region_recreate_pango_layouts(Region* self)
- Recreates the pango layout for drawing chord names inside the region.
- auto chord_selector_window_widget_new(ChordDescriptor* descr) -> ChordSelectorWindowWidget*
- Creates the popover.
- auto control_room_widget_new(ControlRoom* control_room) -> ControlRoomWidget*
- Creates a ControlRoomWidget.
- G_DECLARE_FINAL_TYPE(CpuWidget, cpu_widget, Z, CPU_WIDGET, GtkDrawingArea) typedef struct _CpuWidget
- void cpu_widget_setup(CpuWidget* self)
- Starts drawing the CPU usage.
- auto digital_meter_widget_new(DigitalMeterType type, NoteLength* note_length, NoteType* note_type, const char* caption) -> DigitalMeterWidget*
- Creates a digital meter with the given type ( bpm or position).
- auto _digital_meter_widget_new_for_position(void* obj, void(*)(void*) drag_begin, void(*)(void*, Position*) get_val, void(*)(void*, Position*) set_val, void(*)(void*) drag_end, const char* caption) -> DigitalMeterWidget*
- Creates a digital meter for an arbitrary position.
- void editor_ruler_widget_draw_markers(RulerWidget* self)
- Called from RulerWidget to draw the markers specific to the editor, such as region loop points.
- void editor_ruler_on_drag_begin_no_marker_hit(RulerWidget* self, gdouble start_x, gdouble start_y)
- Called from ruler drag begin.
- void event_viewer_widget_refresh(EventViewerWidget* self)
- Called to update the models.
- void event_viewer_widget_refresh_for_arranger(ArrangerWidget* arranger)
- Convenience function.
- void event_viewer_widget_setup(EventViewerWidget* self, EventViewerType type)
- Sets up the event viewer.
- auto export_dialog_widget_new(void) -> ExportDialogWidget*
- Creates an export dialog widget and displays it.
- auto export_progress_dialog_widget_new(ExportSettings* info) -> ExportProgressDialogWidget*
- Creates an export dialog widget and displays it.
- G_DECLARE_FINAL_TYPE(FaderWidget, fader_widget, Z, FADER_WIDGET, GtkDrawingArea) typedef struct _FaderWidget
- A FaderWidget reflects a Fader object's state.
- void fader_widget_setup(FaderWidget* self, Fader* fader, int width)
- Creates a new Fader widget and binds it to the given Fader.
- auto file_browser_widget_new(void) -> FileBrowserWidget*
- Creates a new FileBrowserWidget.
- auto file_browser_window_widget_new(void) -> FileBrowserWindowWidget*
- Creates a new FileBrowserWindowWidget.
- auto foldable_notebook_widget_new(void) -> FoldableNotebookWidget*
- Creates a FoldableNotebookWidget.
- void foldable_notebook_widget_set_visibility(FoldableNotebookWidget* self, int new_visibility)
- Sets the folded space visible or not.
- void foldable_notebook_widget_setup(FoldableNotebookWidget* self, GtkPaned* paned, DzlDockRevealer* dock_revealer, GtkPositionType pos_in_paned)
- Sets up an existing FoldableNotebookWidget.
- auto inspector_widget_new(void) -> InspectorWidget*
- Creates the inspector widget.
- void inspector_widget_setup(InspectorWidget* self)
- Sets up the inspector widget.
- void inspector_widget_refresh(InspectorWidget* self)
- Refreshes the inspector widget (shows current selections.
- auto inspector_port_widget_new(Port* port) -> InspectorPortWidget*
- Creates a new widget.
- void inspector_track_widget_setup(InspectorTrackWidget* self, TracklistSelections* tls)
- Sets up the inspector track widget for the first time.
- auto instrument_track_widget_new(Track* track) -> InstrumentTrackWidget*
- Creates a new track widget from the given track.
- void instrument_track_widget_on_plugin_delete_event(GtkWidget* window, GdkEventKey* e, gpointer data)
- Updates ui_active state if instrument window is closed.
- void instrument_track_widget_refresh(InstrumentTrackWidget* self)
- Updates changes in the backend to the ui.
- auto _knob_widget_new(float(*)(void*) get_val, void(*)(void*, float) set_val, void* object, KnobType type, Port* dest, float min, float max, int size, float zero) -> KnobWidget*
- Creates a knob widget with the given options and binds it to the given value.
- void live_waveform_widget_setup_engine(LiveWaveformWidget* self)
- Creates a LiveWaveformWidget for the AudioEngine.
- auto main_window_widget_new(ZrythmApp* app) -> MainWindowWidget*
- Creates a main_window widget using the given app data.
- void main_window_widget_refresh(MainWindowWidget* self)
- Refreshes the state of the main window.
- void main_window_widget_open(MainWindowWidget* win, GFile* file)
- TODO.
- void marker_recreate_pango_layouts(Marker* self)
- Recreates the pango layouts for drawing.
- void marker_draw(Marker* self, cairo_t* cr, GdkRectangle* rect)
- auto marker_dialog_widget_new(Marker* owner) -> MarkerDialogWidget*
- Creates the dialog.
- void midi_activity_bar_widget_setup_track(MidiActivityBarWidget* self, Track* track)
- Creates a MidiActivityBarWidget for use inside TrackWidget implementations.
- void midi_activity_bar_widget_set_animation(MidiActivityBarWidget* self, MidiActivityBarAnimation animation)
- Sets the animation.
- void midi_activity_bar_widget_setup_engine(MidiActivityBarWidget* self)
- Creates a MidiActivityBarWidget for the AudioEngine.
- auto midi_arranger_widget_get_note_at_y(double y) -> int
- Returns the note value (0-127) at y.
- void midi_arranger_widget_create_note(ArrangerWidget* self, Position* pos, int note, MidiRegion* region)
- Called on drag begin in parent when background is double clicked (i.e., a note is created).
- auto midi_arranger_widget_snap_midi_notes_l(ArrangerWidget* self, Position* pos, int dry_run) -> int
- Called during drag_update in the parent when resizing the selection.
- auto midi_arranger_widget_snap_midi_notes_r(ArrangerWidget* self, Position* pos, int dry_run) -> int
- Called during drag_update in the parent when resizing the selection.
- void midi_arranger_widget_set_hovered_note(ArrangerWidget* self, int pitch)
- Sets the currently hovered note and queues a redraw if it changed.
- void midi_arranger_widget_reset_transients(ArrangerWidget* self)
- Resets the transient of each note in the arranger.
- auto midi_arranger_calc_deltamax_for_note_movement(int y_delta) -> int
- Called on move items_y setup.
- void midi_editor_space_widget_update_size_group(MidiEditorSpaceWidget* self, int visible)
- See CLIP_EDITOR_INNER_WIDGET_ADD_TO_SIZEGROUP.
- void midi_editor_space_widget_refresh_labels(MidiEditorSpaceWidget* self, int hard_refresh)
- Refresh the labels only (for highlighting).
- auto midi_editor_space_widget_get_key_for_label(MidiEditorSpaceWidget* self, PianoRollKeyLabelWidget* label) -> PianoRollKeyWidget*
- Gets the PianoRollKeyWidget corresponding to the given PianoRollKeyLabelWidget.
- void midi_modifier_arranger_widget_ramp(ArrangerWidget* self, double offset_x, double offset_y)
- Draws a ramp from the start coordinates to the given coordinates.
- void midi_note_draw(MidiNote* self, cairo_t* cr, GdkRectangle* rect)
- auto midi_track_widget_new(Track* track) -> MidiTrackWidget*
- Creates a new track widget from the given track.
- void midi_track_widget_refresh(MidiTrackWidget* self)
- Updates changes in the backend to the ui.
- auto pinned_tracklist_widget_get_hit_track(PinnedTracklistWidget* self, double x, double y) -> TrackWidget*
- Gets TrackWidget hit at the given coordinates.
- void pinned_tracklist_widget_hard_refresh(PinnedTracklistWidget* self)
- Removes and readds the tracks.
- void pinned_tracklist_widget_setup(PinnedTracklistWidget* self, Tracklist* tracklist)
- Sets up the PinnedTracklistWidget.
- auto plugin_browser_widget_new(void) -> PluginBrowserWidget*
- Instantiates a new PluginBrowserWidget.
- auto port_selector_popover_widget_new(PortConnectionsPopoverWidget* owner, Port* port) -> PortSelectorPopoverWidget*
- Creates the popover.
- void ports_expander_widget_refresh(PortsExpanderWidget* self)
- Refreshes each field.
- void ports_expander_widget_setup_plugin(PortsExpanderWidget* self, PortFlow flow, PortType type, Plugin* pl)
- Sets up the PortsExpanderWidget for a Plugin.
- void ports_expander_widget_setup_track(PortsExpanderWidget* self, Track* tr, PortsExpanderTrackPortType type)
- Sets up the PortsExpanderWidget for Track ports.
- auto project_assistant_widget_new(GtkWindow* parent, int show_create_new_project) -> ProjectAssistantWidget*
- Creates a ProjectAssistantWidget.
- void quantize_box_widget_setup(QuantizeBoxWidget* self, QuantizeOptions* q_opts)
- Sets up the QuantizeBoxWidget.
- auto quantize_dialog_widget_new(QuantizeOptions* opts) -> QuantizeDialogWidget*
- Creates an quantize dialog widget and displays it.
- void region_get_lane_full_rect(Region* self, GdkRectangle* rect)
- Returns the lane rectangle for the region.
- void region_draw(Region* self, cairo_t* cr, GdkRectangle* rect)
- Draws the Region in the given cairo context in relative coordinates.
- void right_dock_edge_widget_setup(RightDockEdgeWidget* self)
- Sets up the widget.
- auto ruler_widget_set_zoom_level(RulerWidget* self, double zoom_level) -> int
- Sets zoom level and disables/enables buttons accordingly.
- auto ruler_widget_get_beat_interval(RulerWidget* self) -> int
- Returns the beat interval for drawing vertical lines.
- auto ruler_widget_get_sixteenth_interval(RulerWidget* self) -> int
- Returns the sixteenth interval for drawing vertical lines.
- void ruler_widget_redraw_whole(RulerWidget* self)
- Queues a redraw of the whole visible ruler.
- void ruler_widget_redraw_playhead(RulerWidget* self)
- Only redraws the playhead part.
- void scale_object_recreate_pango_layouts(ScaleObject* self)
- Recreates the pango layouts for drawing.
- void scale_object_draw(ScaleObject* self, cairo_t* cr, GdkRectangle* rect)
- auto scale_selector_window_widget_new(ScaleObject* owner) -> ScaleSelectorWindowWidget*
- Creates the popover.
- auto _slider_bar_widget_new(float(*)(void*) get_val, void(*)(void*, float) set_val, void* object, float min, float max, int width, int height, float zero, const char* text) -> SliderBarWidget*
- Creates a new SliderBarWidget.
- void snap_box_widget_refresh(SnapBoxWidget* self, SnapGrid* sg)
- Sets the snap_box toggled states after deactivating the callbacks.
- auto timeline_arranger_widget_get_track_lane_at_y(ArrangerWidget* self, double y) -> TrackLane*
- Gets hit TrackLane at y.
- auto timeline_arranger_widget_get_track_at_y(ArrangerWidget* self, double y) -> Track*
- Gets the Track at y.
- auto timeline_arranger_widget_get_at_at_y(ArrangerWidget* self, double y) -> AutomationTrack*
- Returns the hit AutomationTrack at y.
- void timeline_arranger_widget_set_select_type(ArrangerWidget* self, double y)
- Determines the selection time (objects/range) and sets it.
- void timeline_arranger_widget_create_region(ArrangerWidget* self, const RegionType type, Track* track, TrackLane* lane, AutomationTrack* at, const Position* pos)
- Create a Region at the given Position in the given Track's given TrackLane.
- void timeline_arranger_widget_create_chord_or_scale(ArrangerWidget* self, Track* track, double y, const Position* pos)
- Wrapper for timeline_arranger_widget_create_chord() or timeline_
arranger_ widget_ create_ scale(). - void timeline_arranger_widget_create_scale(ArrangerWidget* self, Track* track, const Position* pos)
- Create a ScaleObject at the given Position in the given Track.
- void timeline_arranger_widget_create_marker(ArrangerWidget* self, Track* track, const Position* pos)
- Create a Marker at the given Position in the given Track.
- auto timeline_arranger_widget_snap_regions_l(ArrangerWidget* self, Position* pos, int dry_run) -> int
- Snaps both the transients (to show in the GUI) and the actual regions.
- auto timeline_arranger_widget_snap_regions_r(ArrangerWidget* self, Position* pos, int dry_run) -> int
- Snaps both the transients (to show in the GUI) and the actual regions.
- void timeline_arranger_widget_scroll_to(ArrangerWidget* self, Position* pos)
- Scroll to the given position.
- auto timeline_arranger_move_regions_to_new_tracks(ArrangerWidget* self, const int vis_track_diff) -> int
- Move the selected Regions to the new Track.
- auto timeline_arranger_move_regions_to_new_lanes(ArrangerWidget* self, const int diff) -> int
- Move the selected Regions to new Lanes.
- void timeline_arranger_widget_set_cut_lines_visible(ArrangerWidget* self)
- Hides the cut dashed line from hovered regions and redraws them.
- void timeline_arranger_widget_remove_children(ArrangerWidget* self)
- To be called when pinning/unpinning.
- void timeline_minimap_widget_px_to_pos(TimelineMinimapWidget* self, Position* pos, int px)
- Taken from arranger.c.
- void timeline_minimap_widget_refresh(TimelineMinimapWidget* self)
- Causes reallocation.
- void timeline_ruler_on_drag_begin_no_marker_hit(RulerWidget* self, gdouble start_x, gdouble start_y, int height)
- Called from ruler drag begin.
- void timeline_ruler_on_drag_end(RulerWidget* self)
- Called from ruler drag end.
- void timeline_ruler_on_drag_update(RulerWidget* self, gdouble offset_x, gdouble offset_y)
- Called from ruler drag update.
- void toolbox_widget_refresh(ToolboxWidget* self)
- Sets the toolbox toggled states after deactivating the callbacks.
- auto track_widget_new(Track* track) -> TrackWidget*
- Sets up the track widget.
- void track_widget_set_name(TrackWidget* self, const char* name)
- Sets the Track name on the TrackWidget.
- void track_widget_on_mute_toggled(TrackWidget* self)
- General handler for tracks that have mute buttons.
- void track_widget_force_redraw(TrackWidget* self)
- Blocks all signal handlers.
- void track_widget_on_show_automation_toggled(TrackWidget* self)
- Wrapper to refresh mute button only.
- void track_widget_on_show_lanes_toggled(TrackWidget* self)
- Callback when automation button is toggled.
- void track_widget_on_record_toggled(TrackWidget* self)
- Callback when record button is toggled.
- auto track_widget_is_cursor_in_top_half(TrackWidget* self, double y) -> int
- Returns if cursor is in top half of the track.
- void track_widget_update_size(TrackWidget* self)
- Updates the full track size and redraws the track.
- void track_widget_do_highlight(TrackWidget* self, gint x, gint y, const int highlight)
- Highlights/unhighlights the Tracks appropriately.
- auto track_widget_get_local_y(TrackWidget* self, ArrangerWidget* arranger, int arranger_y) -> int
- Converts Y from the arranger coordinates to the track coordinates.
- void track_widget_redraw_meters(TrackWidget* self)
- Causes a redraw of the meters only.
- void track_properties_expander_widget_refresh(TrackPropertiesExpanderWidget* self, Track* track)
- Refreshes each field.
- void track_properties_expander_widget_setup(TrackPropertiesExpanderWidget* self, Track* track)
- Sets up the TrackPropertiesExpanderWidget.
- void track_visibility_tree_widget_refresh(TrackVisibilityTreeWidget* self)
- Refreshes the tree model.
- auto track_visibility_tree_widget_new(void) -> TrackVisibilityTreeWidget*
- Instantiates a new TrackVisibilityTreeWidget.
- void tracklist_widget_setup(TracklistWidget* self, Tracklist* tracklist)
- Sets up the TracklistWidget.
- void tracklist_widget_update_track_visibility(TracklistWidget* self)
- Makes sure all the tracks for channels marked as visible are visible.
- auto tracklist_widget_get_hit_track(TracklistWidget* self, double x, double y) -> TrackWidget*
- Gets hit TrackWidget and the given coordinates.
- void tracklist_widget_hard_refresh(TracklistWidget* self)
- Deletes all tracks and re-adds them.
- void velocity_draw(Velocity* self, cairo_t* cr, GdkRectangle* rect)
- Draws the Velocity in the given cairo context in relative coordinates.
- auto visibility_widget_new(void) -> VisibilityWidget*
- Creates the visibility widget.
- void visibility_widget_refresh(VisibilityWidget* self)
- Refreshes the visibility widget (shows current selections.
- auto ui_get_state_mask(GtkGesture* gesture) -> GdkModifierType
- Used in handlers to get the state mask.
- void ui_set_cursor_from_icon_name(GtkWidget* widget, const char* name, int offset_x, int offset_y)
- Sets cursor from icon name.
- void ui_set_cursor_from_name(GtkWidget* widget, const char* name)
- Sets cursor from standard cursor name.
- void ui_show_message_full(GtkWindow* parent_window, GtkMessageType type, const char* message)
- Shows a popup message of the given type with the given message.
- auto ui_is_child_hit(GtkWidget* parent, GtkWidget* child, const int check_x, const int check_y, const double x, const double y, const double x_padding, const double y_padding) -> int
- Returns if the child is hit or not by the coordinates in parent.
- auto ui_get_hit_child(GtkContainer* parent, double x, double y, GType type) -> GtkWidget*
- Returns the matching hit child, or NULL.
- void ui_px_to_pos_timeline(double px, Position* pos, int has_padding)
- Converts from pixels to position.
- auto ui_px_to_frames_timeline(double px, int has_padding) -> long
- Converts from pixels to frames.
- auto ui_px_to_frames_editor(double px, int has_padding) -> long
- Converts from pixels to frames.
- auto ui_pos_to_px_timeline(Position* pos, int use_padding) -> int
- Converts position to px, optionally adding the ruler padding.
- auto ui_pos_to_px_editor(Position* pos, int use_padding) -> int
- Converts position to px, optionally adding the ruler padding.
- void ui_px_to_pos_editor(double px, Position* pos, int has_padding)
- Converts from pixels to position.
- void ui_show_notification(const char* msg)
- Shows a notification in the revealer.
- auto ui_show_notification_idle_func(char* msg) -> int
- Show notification from non-GTK threads.
- void ui_get_modifier_type_from_gesture(GtkGestureSingle* gesture, GdkModifierType* state_mask)
- Returns the modifier type (state mask) from the given gesture.
- void ui_setup_language_combo_box(GtkComboBox* language)
- Sets up a combo box to have a selection of languages.
- void ui_setup_audio_backends_combo_box(GtkComboBox* cb)
- Sets up an audio backends combo box.
- void ui_setup_midi_backends_combo_box(GtkComboBox* cb)
- Sets up a MIDI backends combo box.
- void ui_setup_pan_algo_combo_box(GtkComboBox* cb)
- Sets up a pan algorithm combo box.
- void ui_setup_pan_law_combo_box(GtkComboBox* cb)
- Sets up a pan law combo box.
- void ui_get_contrast_color(GdkRGBA* src, GdkRGBA* dest)
- Returns the contrasting color (variation of black or white) based on if the given color is dark enough or not.
- void ui_get_mid_color(GdkRGBA* dest, const GdkRGBA* c1, const GdkRGBA* c2, const double transition)
- Returns the color in-between two colors.
- auto ui_is_color_bright(GdkRGBA* src) -> int
- Returns if the color is bright or not.
- auto ui_is_color_very_bright(GdkRGBA* src) -> int
- Returns if the color is very bright or not.
- auto ui_rectangle_overlap(GdkRectangle* rect1, GdkRectangle* rect2) -> int
- Returns if the 2 rectangles overlay.
- void ui_get_arranger_object_color(GdkRGBA* color, const int is_hovered, const int is_selected, const int is_transient)
- Gets the color the widget should be.
Variables
- GtkToolbar* left_of_main_knob_toolbar
- Toolbar on the left.
- GtkBox* main_knob_placeholder
- Output knob.
- GtkToggleToolButton* dim_output
- For temporarily dimming the output.
- GtkBox* listen_dim_slider_placeholder
- Listen dim slider.
- GtkBox* main_meter_placeholder
- Meter of output.
- ControlRoom* control_room
- Pointer to backend.
- KnobType
- Type of knob.
- float(* getter
- Getter.
- void(* setter
- Setter.
- void* object
- Object to call get/set with.
- int size
- size in px
- int hover
- used to detect if hovering or not
- float zero
- zero point 0.0-1.0 */
- int arc
- draw arc around the knob or not
- int bevel
- bevel
- int flat
- flat or 3D
- float min
- min value (eg. 1)
- float max
- max value (eg. 180)
- GdkRGBA start_color
- color away from zero point
- GdkRGBA end_color
- color close to zero point
- GtkGestureDrag* drag
- used for drag gesture
- double last_x
- used in gesture drag
- double last_y
- used in gesture drag
- int dest_index
- Destination index for the destination multipliers of the port.
- Plugin* plugin
- Plugin, in case of owner type Plugin.
- Track* track
- Track, in case of owner type Track.
- ProjectInfo
- Project file information.
Defines
- #define bar_slider_widget_new(getter, setter, obj, min, max, w, h, zero, dec, mode, suffix)
- Helper to create a bar slider widget.
- #define CLIP_EDITOR_INNER_WIDGET_ADD_TO_SIZEGROUP(wname)
- Adds or removes widgets from the left_of_ruler_size_group depending on if the current editor space is visible or not.
- #define DEFAULT_PX_PER_TICK
- Pixels to draw between each beat, before being adjusted for zoom.
- #define SPACE_BEFORE_START
- Pixels to put before 1st bar.
- #define UI_RESIZE_CURSOR_SPACE
- Space on the edges to show resize cursors.
- #define TARGET_ENTRY_PLUGIN_DESCR
- Plugin descriptor, used to instantiate plugins.
- #define TARGET_ENTRY_PLUGIN
- Plugin ID, used to move/copy plugins.
- #define TARGET_ENTRY_URI_LIST
- URI list.
- #define TARGET_ENTRY_TRACK
- Track target entry.
- #define ui_show_notification_idle(msg)
- Shows the notification when idle.
- #define ui_show_error_message(win, msg)
- Wrapper to show error message so that no casting of the window is needed on the caller side.
Enum documentation
enum BarSliderType
#include <gui/widgets/bar_slider.h>
Type of slider.
enum BarSliderUpdateMode
#include <gui/widgets/bar_slider.h>
Defines how drag_update will work.
Enumerators | |
---|---|
BAR_SLIDER_UPDATE_MODE_RELATIVE |
Update the value relative from where the drag was started. |
BAR_SLIDER_UPDATE_MODE_CURSOR |
Update the value to wherever the cursor is. |
enum MidiActivityBarAnimation
#include <gui/widgets/midi_activity_bar.h>
Enumerators | |
---|---|
MAB_ANIMATION_BAR |
Shows a bars that decreases over time. |
MAB_ANIMATION_FLASH |
Shows a flash that fades out over time. |
enum PortsExpanderTrackPortType
#include <gui/widgets/ports_expander.h>
Used for Track's.
enum RWTarget
The ruler widget target acting upon.
Enumerators | |
---|---|
RW_TARGET_PLAYHEAD | |
RW_TARGET_LOOP_START | |
RW_TARGET_LOOP_END | |
RW_TARGET_CLIP_START | |
RW_TARGET_RANGE |
for timeline only |
enum TimelineMinimapAction
#include <gui/widgets/timeline_minimap.h>
Enumerators | |
---|---|
TIMELINE_MINIMAP_ACTION_NONE | |
TIMELINE_MINIMAP_ACTION_RESIZING_L | |
TIMELINE_MINIMAP_ACTION_RESIZING_R | |
TIMELINE_MINIMAP_ACTION_STARTING_MOVING |
in drag_start |
TIMELINE_MINIMAP_ACTION_MOVING |
in drag start, also for dragging up/down bitwig style |
enum TrackWidgetResizeTarget
#include <gui/widgets/track.h>
Resize target.
enum UiCursorState
#include <utils/ui.h>
Various cursor states to be shared.
enum UiOverlayAction
#include <utils/ui.h>
Various overlay actions to be shared.
Typedef documentation
typedef struct _ AudioEditorSpaceWidget AudioEditorSpaceWidget
#include <gui/widgets/audio_editor_space.h>
The piano roll widget is the whole space inside the clip editor tab when a AUDIO region is selected.
typedef struct _ AutomationEditorSpaceWidget AutomationEditorSpaceWidget
The piano roll widget is the whole space inside the clip editor tab when a AUTOMATION region is selected.
typedef enum BarSliderType BarSliderType
#include <gui/widgets/bar_slider.h>
Type of slider.
typedef enum BarSliderUpdateMode BarSliderUpdateMode
#include <gui/widgets/bar_slider.h>
Defines how drag_update will work.
typedef struct _ BarSliderWidget BarSliderWidget
#include <gui/widgets/bar_slider.h>
Draggable slider to adjust an amount (such as a percentage).
It displays the value in the background as a progress bar.
typedef struct _ CenterDockWidget CenterDockWidget
#include <gui/widgets/center_dock.h>
Center dock.
typedef struct _ ChordEditorSpaceWidget ChordEditorSpaceWidget
#include <gui/widgets/chord_editor_space.h>
The piano roll widget is the whole space inside the clip editor tab when a CHORD region is selected.
typedef struct _ ChordSelectorWindowWidget ChordSelectorWindowWidget
A GtkPopover to create a ChordDescriptor for use in the ChordTrack's ChordObject's.
typedef struct _ ClipEditorInnerWidget ClipEditorInnerWidget
#include <gui/widgets/clip_editor_inner.h>
The piano roll widget is the whole space inside the clip editor tab when a MIDI region is selected.
typedef struct _ ExportProgressDialogWidget ExportProgressDialogWidget
The export dialog.
typedef struct _ FileBrowserWindowWidget FileBrowserWindowWidget
#include <gui/widgets/file_browser_window.h>
The file browser window.
typedef struct _ FoldableNotebookWidget FoldableNotebookWidget
#include <gui/widgets/foldable_notebook.h>
A GtkNotebook that shows or hides itself when the same page tab is clicked.
It assumes that each page is wrapped in a GtkBox. The reason is that Gtk automatically hides the tab widget too if you hide the main child of a page, so we hide the box's child instead.
typedef struct _ InspectorPortWidget InspectorPortWidget
#include <gui/widgets/inspector_port.h>
typedef struct _ InstrumentTrackWidget InstrumentTrackWidget
#include <gui/widgets/instrument_track.h>
Top is the track part and bot is the automation part.
typedef struct _ MainWindowWidget MainWindowWidget
The main window of Zrythm.
Inherits from GtkApplicationWindow, meaning that it is the parent of all other sub-windows of Zrythm.
typedef struct _ MarkerDialogWidget MarkerDialogWidget
#include <gui/widgets/marker_dialog.h>
A dialog to edit a Marker's name.
typedef struct _ MidiEditorSpaceWidget MidiEditorSpaceWidget
#include <gui/widgets/midi_editor_space.h>
The piano roll widget is the whole space inside the clip editor tab when a MIDI region is selected.
typedef struct _ MidiTrackWidget MidiTrackWidget
#include <gui/widgets/midi_track.h>
Top is the track part and bot is the automation part.
typedef struct _ PinnedTracklistWidget PinnedTracklistWidget
#include <gui/widgets/pinned_tracklist.h>
The PinnedTracklistWidget contains special tracks (chord, marker, etc.) as thin boxes above the normal tracklist.
The contents of each track will be shown in the PinnedTracklistArrangerWidget.
typedef struct _ PluginBrowserWidget PluginBrowserWidget
#include <gui/widgets/plugin_browser.h>
The plugin browser allows to browse and filter available Plugin's on the system.
It contains references to PluginDescriptor's, which it uses to initialize Plugin's on row activation or drag-n-drop.
typedef struct _ PortSelectorPopoverWidget PortSelectorPopoverWidget
A GtkPopover to select Port's.
typedef enum PortsExpanderTrackPortType PortsExpanderTrackPortType
#include <gui/widgets/ports_expander.h>
Used for Track's.
typedef struct _ PortsExpanderWidget PortsExpanderWidget
#include <gui/widgets/ports_expander.h>
A TwoColExpanderBoxWidget for showing the ports in the InspectorWidget.
typedef struct _ ProjectAssistantWidget ProjectAssistantWidget
#include <gui/widgets/project_assistant.h>
A widget that allows selecting a project to load or create.
typedef struct _ ScaleSelectorWindowWidget ScaleSelectorWindowWidget
A GtkPopover to create a ScaleDescriptor for use in the ScaleTrack's ScaleObject's.
typedef struct _ TimelineToolbarWidget TimelineToolbarWidget
#include <gui/widgets/timeline_toolbar.h>
The Timeline toolbar in the top.
typedef enum TrackWidgetResizeTarget TrackWidgetResizeTarget
#include <gui/widgets/track.h>
Resize target.
typedef struct _ TrackWidget TrackWidget
#include <gui/widgets/track.h>
The TrackWidget is split into 3 parts.
- 1. Top part contains the "main" view.
- 2. Lane part contains each lane.
- 3. Automation tracklist part contains each automation track.
typedef struct _ TrackTopGridWidget TrackTopGridWidget
#include <gui/widgets/track_top_grid.h>
Top is the track part and bot is the automation part.
typedef struct _ TracklistWidget TracklistWidget
The TracklistWidget holds all the Track's in the Project.
It is a box with all the pinned tracks, plus a scrolled window at the end containing unpinned tracks and the DragDestBoxWidget at the end.
typedef struct UiColors UiColors
#include <utils/ui.h>
Commonly used UI colors.
typedef struct UiCursor UiCursor
#include <utils/ui.h>
Specification for a cursor.
Used for caching.
typedef struct UiCaches UiCaches
#include <utils/ui.h>
Caches.
typedef enum UiCursorState UiCursorState
#include <utils/ui.h>
Various cursor states to be shared.
typedef enum UiOverlayAction UiOverlayAction
#include <utils/ui.h>
Various overlay actions to be shared.
Function documentation
GtkAboutDialog* about_dialog_widget_new(GtkWindow* parent)
#include <gui/widgets/about_dialog.h>
Creates and displays the about dialog.
int arranger_object_is_resize_l(ArrangerObject* self,
const int x)
#include <gui/widgets/arranger_object.h>
Returns if the current position is for resizing L.
Parameters | |
---|---|
self | |
x | X in local coordinates. |
int arranger_object_is_resize_r(ArrangerObject* self,
const int x)
#include <gui/widgets/arranger_object.h>
Returns if the current position is for resizing R.
Parameters | |
---|---|
self | |
x | X in local coordinates. |
int arranger_object_is_resize_up(ArrangerObject* self,
const int x,
const int y)
#include <gui/widgets/arranger_object.h>
Returns if the current position is for resizing up (eg, Velocity).
Parameters | |
---|---|
self | |
x | X in local coordinates. |
y | Y in local coordinates. |
int arranger_object_is_resize_loop(ArrangerObject* self,
const int y)
#include <gui/widgets/arranger_object.h>
Returns if the current position is for resizing loop.
Parameters | |
---|---|
self | |
y | Y in local coordinates. |
int arranger_object_should_show_cut_lines(ArrangerObject* self,
int alt_pressed)
#include <gui/widgets/arranger_object.h>
Returns if arranger_object widgets should show cut lines.
Parameters | |
---|---|
self | |
alt_pressed | Whether alt is currently pressed. |
To be used to set the arranger_object's "show_cut".
int arranger_object_get_draw_rectangle(ArrangerObject* self,
GdkRectangle* parent_rect,
GdkRectangle* full_rect,
GdkRectangle* draw_rect)
#include <gui/widgets/arranger_object.h>
Gets the draw rectangle based on the given full rectangle of the arranger object.
Parameters | |
---|---|
self | |
parent_rect | The current arranger rectangle. |
full_rect | The object's full rectangle. This will usually be ArrangerObject->full_rect, unless drawing in a lane (for Region's). |
draw_rect | The rectangle will be set here. |
Returns | Whether the draw rect is visible. |
void arranger_object_draw(ArrangerObject* self,
ArrangerWidget* arranger,
cairo_t* cr,
GdkRectangle* rect)
#include <gui/widgets/arranger_object.h>
Draws the given object.
Parameters | |
---|---|
self | |
arranger | |
cr | Cairo context of the arranger. |
rect | Rectangle in the arranger. |
To be called from the arranger's draw callback.
void arranger_object_queue_redraw(ArrangerObject* self)
#include <gui/widgets/arranger_object.h>
Queues a redraw in the area covered by this object.
void audio_editor_space_widget_update_size_group(AudioEditorSpaceWidget* self,
int visible)
#include <gui/widgets/audio_editor_space.h>
See CLIP_EDITOR_INNER_WIDGET_ADD_TO_SIZEGROUP.
void automatable_selector_button_set_automatable(AutomatableSelectorButtonWidget* self, Automatable* a)
Sets the Automatable for this automation track lane.
If different from the current one, it will hide the current AutomationTrack and show the one corresponding to this Automatable.
void automation_arranger_widget_create_ap(ArrangerWidget* self,
const Position* pos,
const double start_y,
Region* region)
#include <gui/widgets/automation_arranger.h>
Create an AutomationPointat the given Position in the given Track's AutomationTrack.
Parameters | |
---|---|
self | |
pos | The pre-snapped position. |
start_y | |
region |
Create an AutomationPointat the given Position in the given Track's AutomationTrack.
To be called from get_child_position in parent widget.
Used to allocate the overlay children.Returns the appropriate cursor based on the current hover_x and y.Create an AutomationPointat the given Position in the given Track's AutomationTrack.
void automation_arranger_widget_resize_curves(ArrangerWidget* self,
double offset_y)
#include <gui/widgets/automation_arranger.h>
Change curviness of selected curves.
Change curviness of selected curves.
FIXME not really needed, can use automation_selections_get_start_pos and the arranger's earliest_obj_start_pos.Change curviness of selected curves.
void automation_editor_space_widget_update_size_group(AutomationEditorSpaceWidget* self, int visible)
See CLIP_EDITOR_INNER_WIDGET_ADD_TO_SIZEGROUP.
void automation_point_draw(AutomationPoint* self,
cairo_t* cr,
GdkRectangle* rect)
#include <gui/widgets/automation_point.h>
Draws the AutomationPoint in the given cairo context in absolute coordinates.
Parameters | |
---|---|
self | |
cr | The cairo context of the arranger. |
rect | Arranger rectangle. |
BarSliderWidget* _bar_slider_widget_new(BarSliderType type,
float(*)(void*) get_val,
void(*)(void*, float) set_val,
void* object,
Port* dest,
float min,
float max,
int w,
int h,
float zero,
int convert_to_percentage,
int decimals,
BarSliderUpdateMode mode,
const char* prefix,
const char* suffix)
#include <gui/widgets/bar_slider.h>
Creates a bar slider widget for floats.
Parameters | |
---|---|
type | |
get_val | |
set_val | |
object | |
dest | Port destination, if this is a port to port connection slider. |
min | |
max | |
w | |
h | |
zero | |
convert_to_percentage | Multiply the value by 100 when showing it. |
decimals | |
mode | |
prefix | |
suffix |
BindCcDialogWidget* bind_cc_dialog_widget_new(void)
#include <gui/widgets/bind_cc_dialog.h>
Creates an bind_cc dialog widget and displays it.
Creates an bind_cc dialog widget and displays it.
G_DECLARE_FINAL_TYPE(BotBarWidget,
bot_bar_widget,
Z,
BOT_BAR_WIDGET,
GtkBox) typedef struct _BotBarWidget
#include <gui/widgets/bot_bar.h>
New label replacing the original status bar label.
Status bar context id.
void bot_bar_widget_update_status(BotBarWidget* self)
#include <gui/widgets/bot_bar.h>
Updates the content of the status bar.
void bot_bar_widget_setup(BotBarWidget* self)
#include <gui/widgets/bot_bar.h>
Sets up the bot bar.
void 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).
Parameters | |
---|---|
self | |
pos | The pre-snapped position. |
chord_index | |
region |
Called on drag begin in parent when background is double clicked (i.e., a note is created).
void chord_editor_space_widget_update_size_group(ChordEditorSpaceWidget* self,
int visible)
#include <gui/widgets/chord_editor_space.h>
See CLIP_EDITOR_INNER_WIDGET_ADD_TO_SIZEGROUP.
void chord_object_recreate_pango_layouts(ChordObject* self)
#include <gui/widgets/chord_object.h>
Recreates the pango layouts for drawing.
void chord_object_draw(ChordObject* self,
cairo_t* cr,
GdkRectangle* rect)
#include <gui/widgets/chord_object.h>
Parameters | |
---|---|
self | |
cr | Cairo context of the arranger. |
rect | Rectangle in the arranger. |
void chord_region_recreate_pango_layouts(Region* self)
#include <gui/widgets/chord_region.h>
Recreates the pango layout for drawing chord names inside the region.
ChordSelectorWindowWidget* chord_selector_window_widget_new(ChordDescriptor* descr)
Creates the popover.
ControlRoomWidget* control_room_widget_new(ControlRoom* control_room)
#include <gui/widgets/control_room.h>
Creates a ControlRoomWidget.
G_DECLARE_FINAL_TYPE(CpuWidget,
cpu_widget,
Z,
CPU_WIDGET,
GtkDrawingArea) typedef struct _CpuWidget
#include <gui/widgets/cpu.h>
CPU load (0-100).
DSP load (0-100).
Source func IDs.
void cpu_widget_setup(CpuWidget* self)
#include <gui/widgets/cpu.h>
Starts drawing the CPU usage.
Starts drawing the CPU usage.
DigitalMeterWidget* digital_meter_widget_new(DigitalMeterType type,
NoteLength* note_length,
NoteType* note_type,
const char* caption)
#include <gui/widgets/digital_meter.h>
Creates a digital meter with the given type ( bpm or position).
Creates a digital meter with the given type ( bpm or position).
DigitalMeterWidget* _digital_meter_widget_new_for_position(void* obj,
void(*)(void*) drag_begin,
void(*)(void*, Position*) get_val,
void(*)(void*, Position*) set_val,
void(*)(void*) drag_end,
const char* caption)
#include <gui/widgets/digital_meter.h>
Creates a digital meter for an arbitrary position.
Parameters | |
---|---|
obj | The object to call the get/setters with. |
drag_begin | Function to call when starting the action. @parram drag_end Function to call when ending the action. |
get_val | The getter func to get the position, passing the obj and the position to save to. |
set_val | The setter function to set the position. |
drag_end | |
caption |
void editor_ruler_widget_draw_markers(RulerWidget* self)
#include <gui/widgets/editor_ruler.h>
Called from RulerWidget to draw the markers specific to the editor, such as region loop points.
void editor_ruler_on_drag_begin_no_marker_hit(RulerWidget* self,
gdouble start_x,
gdouble start_y)
#include <gui/widgets/editor_ruler.h>
Called from ruler drag begin.
void event_viewer_widget_refresh(EventViewerWidget* self)
#include <gui/widgets/event_viewer.h>
Called to update the models.
void event_viewer_widget_refresh_for_arranger(ArrangerWidget* arranger)
#include <gui/widgets/event_viewer.h>
Convenience function.
void event_viewer_widget_setup(EventViewerWidget* self,
EventViewerType type)
#include <gui/widgets/event_viewer.h>
Sets up the event viewer.
ExportDialogWidget* export_dialog_widget_new(void)
#include <gui/widgets/export_dialog.h>
Creates an export dialog widget and displays it.
Creates an export dialog widget and displays it.
ExportProgressDialogWidget* export_progress_dialog_widget_new(ExportSettings* info)
Creates an export dialog widget and displays it.
Creates an export dialog widget and displays it.
G_DECLARE_FINAL_TYPE(FaderWidget,
fader_widget,
Z,
FADER_WIDGET,
GtkDrawingArea) typedef struct _FaderWidget
#include <gui/widgets/fader.h>
A FaderWidget reflects a Fader object's state.
void fader_widget_setup(FaderWidget* self,
Fader* fader,
int width)
#include <gui/widgets/fader.h>
FileBrowserWidget* file_browser_widget_new(void)
#include <gui/widgets/file_browser.h>
Creates a new FileBrowserWidget.
FileBrowserWindowWidget* file_browser_window_widget_new(void)
#include <gui/widgets/file_browser_window.h>
Creates a new FileBrowserWindowWidget.
FoldableNotebookWidget* foldable_notebook_widget_new(void)
#include <gui/widgets/foldable_notebook.h>
Creates a FoldableNotebookWidget.
void foldable_notebook_widget_set_visibility(FoldableNotebookWidget* self,
int new_visibility)
#include <gui/widgets/foldable_notebook.h>
Sets the folded space visible or not.
void foldable_notebook_widget_setup(FoldableNotebookWidget* self,
GtkPaned* paned,
DzlDockRevealer* dock_revealer,
GtkPositionType pos_in_paned)
#include <gui/widgets/foldable_notebook.h>
Sets up an existing FoldableNotebookWidget.
void inspector_widget_refresh(InspectorWidget* self)
Refreshes the inspector widget (shows current selections.
Uses Project->last_selection to decide which stack to show.
InspectorPortWidget* inspector_port_widget_new(Port* port)
#include <gui/widgets/inspector_port.h>
Creates a new widget.
void inspector_track_widget_setup(InspectorTrackWidget* self,
TracklistSelections* tls)
#include <gui/widgets/inspector_track.h>
Sets up the inspector track widget for the first time.
InstrumentTrackWidget* instrument_track_widget_new(Track* track)
#include <gui/widgets/instrument_track.h>
Creates a new track widget from the given track.
Creates a new track widget from the given track.
1 track has 1 track widget. The track widget must always have at least 1 automation track in the automation paned.
void instrument_track_widget_on_plugin_delete_event(GtkWidget* window,
GdkEventKey* e,
gpointer data)
#include <gui/widgets/instrument_track.h>
Updates ui_active state if instrument window is closed.
void instrument_track_widget_refresh(InstrumentTrackWidget* self)
#include <gui/widgets/instrument_track.h>
Updates changes in the backend to the ui.
KnobWidget* _knob_widget_new(float(*)(void*) get_val,
void(*)(void*, float) set_val,
void* object,
KnobType type,
Port* dest,
float min,
float max,
int size,
float zero)
#include <gui/widgets/knob.h>
Creates a knob widget with the given options and binds it to the given value.
Parameters | |
---|---|
get_val | Getter function. |
set_val | Setter function. |
object | Object to call get/set with. |
type | |
dest | Port destination multiplier index, if type is Port, otherwise ignored. |
min | |
max | |
size | |
zero |
void live_waveform_widget_setup_engine(LiveWaveformWidget* self)
#include <gui/widgets/live_waveform.h>
Creates a LiveWaveformWidget for the AudioEngine.
void marker_recreate_pango_layouts(Marker* self)
#include <gui/widgets/marker.h>
Recreates the pango layouts for drawing.
void marker_draw(Marker* self,
cairo_t* cr,
GdkRectangle* rect)
#include <gui/widgets/marker.h>
Parameters | |
---|---|
self | |
cr | Cairo context of the arranger. |
rect | Rectangle in the arranger. |
MarkerDialogWidget* marker_dialog_widget_new(Marker* owner)
#include <gui/widgets/marker_dialog.h>
Creates the dialog.
Creates the dialog.
void midi_activity_bar_widget_setup_track(MidiActivityBarWidget* self,
Track* track)
#include <gui/widgets/midi_activity_bar.h>
Creates a MidiActivityBarWidget for use inside TrackWidget implementations.
void midi_activity_bar_widget_set_animation(MidiActivityBarWidget* self,
MidiActivityBarAnimation animation)
#include <gui/widgets/midi_activity_bar.h>
Sets the animation.
void midi_activity_bar_widget_setup_engine(MidiActivityBarWidget* self)
#include <gui/widgets/midi_activity_bar.h>
Creates a MidiActivityBarWidget for the AudioEngine.
void midi_arranger_widget_create_note(ArrangerWidget* self, Position* pos, int note, MidiRegion* region)
Called on drag begin in parent when background is double clicked (i.e., a note is created).
Parameters | |
---|---|
self | |
pos | The absolute position in the piano roll. |
note | |
region |
int midi_arranger_widget_snap_midi_notes_l(ArrangerWidget* self, Position* pos, int dry_run)
Called during drag_update in the parent when resizing the selection.
Parameters | |
---|---|
self | |
pos | Absolute position in the arrranger. @parram dry_run Don't resize notes; just check if the resize is allowed (check if invalid resizes will happen) |
dry_run | |
Returns | 0 if the operation was successful, nonzero otherwise. |
It sets the start Position of the selected MidiNote's.
Called during drag_update in the parent when resizing the selection.
Called by arranger widget during drag_update to find and select the midi notes enclosed in the selection area.
int midi_arranger_widget_snap_midi_notes_r(ArrangerWidget* self, Position* pos, int dry_run)
Called during drag_update in the parent when resizing the selection.
Parameters | |
---|---|
self | |
pos | Absolute position in the arrranger. @parram dry_run Don't resize notes; just check if the resize is allowed (check if invalid resizes will happen) |
dry_run | |
Returns | 0 if the operation was successful, nonzero otherwise. |
It sets the end Position of the selected MidiNote's.
Called during drag_update in the parent when resizing the selection.
It sets the end Position of the selected MIDI notes.
void midi_arranger_widget_set_hovered_note(ArrangerWidget* self, int pitch)
Sets the currently hovered note and queues a redraw if it changed.
Parameters | |
---|---|
self | |
pitch | The note pitch, or -1 for no note. |
int midi_arranger_calc_deltamax_for_note_movement(int y_delta)
Called on move items_y setup.
calculates the max possible y movement
void midi_editor_space_widget_update_size_group(MidiEditorSpaceWidget* self,
int visible)
#include <gui/widgets/midi_editor_space.h>
See CLIP_EDITOR_INNER_WIDGET_ADD_TO_SIZEGROUP.
void midi_editor_space_widget_refresh_labels(MidiEditorSpaceWidget* self,
int hard_refresh)
#include <gui/widgets/midi_editor_space.h>
Refresh the labels only (for highlighting).
Parameters | |
---|---|
self | |
hard_refresh | Removes and radds the labels, otherwise just calls refresh on them. |
PianoRollKeyWidget* midi_editor_space_widget_get_key_for_label(MidiEditorSpaceWidget* self,
PianoRollKeyLabelWidget* label)
#include <gui/widgets/midi_editor_space.h>
Gets the PianoRollKeyWidget corresponding to the given PianoRollKeyLabelWidget.
void midi_modifier_arranger_widget_ramp(ArrangerWidget* self, double offset_x, double offset_y)
Draws a ramp from the start coordinates to the given coordinates.
Draws a ramp from the start coordinates to the given coordinates.
Used to allocate the overlay children.Called when in selection mode.
Called by arranger widget during drag_update to find and select the midi notes enclosed in the selection area.
void midi_note_draw(MidiNote* self,
cairo_t* cr,
GdkRectangle* rect)
#include <gui/widgets/midi_note.h>
Parameters | |
---|---|
self | |
cr | Arranger's cairo context. |
rect | Arranger's rectangle. |
MidiTrackWidget* midi_track_widget_new(Track* track)
#include <gui/widgets/midi_track.h>
Creates a new track widget from the given track.
Creates a new track widget from the given track.
1 track has 1 track widget. The track widget must always have at least 1 automation track in the automation paned.
void midi_track_widget_refresh(MidiTrackWidget* self)
#include <gui/widgets/midi_track.h>
Updates changes in the backend to the ui.
TrackWidget* pinned_tracklist_widget_get_hit_track(PinnedTracklistWidget* self,
double x,
double y)
#include <gui/widgets/pinned_tracklist.h>
Gets TrackWidget hit at the given coordinates.
void pinned_tracklist_widget_hard_refresh(PinnedTracklistWidget* self)
#include <gui/widgets/pinned_tracklist.h>
Removes and readds the tracks.
void pinned_tracklist_widget_setup(PinnedTracklistWidget* self,
Tracklist* tracklist)
#include <gui/widgets/pinned_tracklist.h>
Sets up the PinnedTracklistWidget.
PluginBrowserWidget* plugin_browser_widget_new(void)
#include <gui/widgets/plugin_browser.h>
Instantiates a new PluginBrowserWidget.
PortSelectorPopoverWidget* port_selector_popover_widget_new(PortConnectionsPopoverWidget* owner, Port* port)
Creates the popover.
void ports_expander_widget_refresh(PortsExpanderWidget* self)
#include <gui/widgets/ports_expander.h>
Refreshes each field.
void ports_expander_widget_setup_plugin(PortsExpanderWidget* self,
PortFlow flow,
PortType type,
Plugin* pl)
#include <gui/widgets/ports_expander.h>
Sets up the PortsExpanderWidget for a Plugin.
void ports_expander_widget_setup_track(PortsExpanderWidget* self,
Track* tr,
PortsExpanderTrackPortType type)
#include <gui/widgets/ports_expander.h>
Sets up the PortsExpanderWidget for Track ports.
Parameters | |
---|---|
self | |
tr | |
type | The type of ports to include. |
ProjectAssistantWidget* project_assistant_widget_new(GtkWindow* parent,
int show_create_new_project)
#include <gui/widgets/project_assistant.h>
Creates a ProjectAssistantWidget.
QuantizeDialogWidget* quantize_dialog_widget_new(QuantizeOptions* opts)
#include <gui/widgets/quantize_dialog.h>
Creates an quantize dialog widget and displays it.
Creates an quantize dialog widget and displays it.
void region_get_lane_full_rect(Region* self,
GdkRectangle* rect)
#include <gui/widgets/region.h>
Returns the lane rectangle for the region.
void region_draw(Region* self,
cairo_t* cr,
GdkRectangle* rect)
#include <gui/widgets/region.h>
Draws the Region in the given cairo context in relative coordinates.
Parameters | |
---|---|
self | |
cr | The cairo context in the region's drawable coordinates. |
rect | Arranger rectangle. |
void right_dock_edge_widget_setup(RightDockEdgeWidget* self)
#include <gui/widgets/right_dock_edge.h>
Sets up the widget.
int ruler_widget_set_zoom_level(RulerWidget* self, double zoom_level)
Sets zoom level and disables/enables buttons accordingly.
Returns if the zoom level was set or not.
Sets zoom level and disables/enables buttons accordingly.
Sets zoom level and disables/enables buttons accordingly.
Returns if the zoom level was set or not.
void scale_object_recreate_pango_layouts(ScaleObject* self)
#include <gui/widgets/scale_object.h>
Recreates the pango layouts for drawing.
void scale_object_draw(ScaleObject* self,
cairo_t* cr,
GdkRectangle* rect)
#include <gui/widgets/scale_object.h>
Parameters | |
---|---|
self | |
cr | Cairo context of the arranger. |
rect | Rectangle in the arranger. |
ScaleSelectorWindowWidget* scale_selector_window_widget_new(ScaleObject* owner)
Creates the popover.
SliderBarWidget* _slider_bar_widget_new(float(*)(void*) get_val,
void(*)(void*, float) set_val,
void* object,
float min,
float max,
int width,
int height,
float zero,
const char* text)
#include <gui/widgets/slider_bar.h>
Creates a new SliderBarWidget.
Parameters | |
---|---|
get_val | |
set_val | |
object | |
min | |
max | |
width | -1 if not fixed. |
height | -1 if not fixed. |
zero | |
text |
TrackLane* timeline_arranger_widget_get_track_lane_at_y(ArrangerWidget* self,
double y)
#include <gui/widgets/timeline_arranger.h>
Gets hit TrackLane at y.
Track* timeline_arranger_widget_get_track_at_y(ArrangerWidget* self,
double y)
#include <gui/widgets/timeline_arranger.h>
Gets the Track at y.
AutomationTrack* timeline_arranger_widget_get_at_at_y(ArrangerWidget* self,
double y)
#include <gui/widgets/timeline_arranger.h>
Returns the hit AutomationTrack at y.
void timeline_arranger_widget_set_select_type(ArrangerWidget* self,
double y)
#include <gui/widgets/timeline_arranger.h>
Determines the selection time (objects/range) and sets it.
void timeline_arranger_widget_create_region(ArrangerWidget* self,
const RegionType type,
Track* track,
TrackLane* lane,
AutomationTrack* at,
const Position* pos)
#include <gui/widgets/timeline_arranger.h>
Create a Region at the given Position in the given Track's given TrackLane.
Parameters | |
---|---|
self | |
type | The type of region to create. |
track | Track, if non-automation. |
lane | TrackLane, if midi/audio region. |
at | AutomationTrack, if automation Region. |
pos | The pre-snapped position. |
void timeline_arranger_widget_create_chord_or_scale(ArrangerWidget* self,
Track* track,
double y,
const Position* pos)
#include <gui/widgets/timeline_arranger.h>
Wrapper for timeline_arranger_widget_create_chord() or timeline_
Parameters | |
---|---|
self | |
track | |
y | the y relative to the ArrangerWidget. |
pos |
void timeline_arranger_widget_create_scale(ArrangerWidget* self,
Track* track,
const Position* pos)
#include <gui/widgets/timeline_arranger.h>
Create a ScaleObject at the given Position in the given Track.
Parameters | |
---|---|
self | |
track | |
pos | The pre-snapped position. |
void timeline_arranger_widget_create_marker(ArrangerWidget* self,
Track* track,
const Position* pos)
#include <gui/widgets/timeline_arranger.h>
Create a Marker at the given Position in the given Track.
Parameters | |
---|---|
self | |
track | |
pos | The pre-snapped position. |
int timeline_arranger_widget_snap_regions_l(ArrangerWidget* self,
Position* pos,
int dry_run)
#include <gui/widgets/timeline_arranger.h>
Snaps both the transients (to show in the GUI) and the actual regions.
Parameters | |
---|---|
self | |
pos | Absolute position in the timeline. @parram dry_run Don't resize notes; just check if the resize is allowed (check if invalid resizes will happen) |
dry_run | |
Returns | 0 if the operation was successful, nonzero otherwise. |
int timeline_arranger_widget_snap_regions_r(ArrangerWidget* self,
Position* pos,
int dry_run)
#include <gui/widgets/timeline_arranger.h>
Snaps both the transients (to show in the GUI) and the actual regions.
Parameters | |
---|---|
self | |
pos | Absolute position in the timeline. @parram dry_run Don't resize notes; just check if the resize is allowed (check if invalid resizes will happen) |
dry_run | |
Returns | 0 if the operation was successful, nonzero otherwise. |
void timeline_arranger_widget_scroll_to(ArrangerWidget* self,
Position* pos)
#include <gui/widgets/timeline_arranger.h>
Scroll to the given position.
FIXME move to parent?
int timeline_arranger_move_regions_to_new_tracks(ArrangerWidget* self,
const int vis_track_diff)
#include <gui/widgets/timeline_arranger.h>
Move the selected Regions to the new Track.
Returns | 1 if moved. |
---|
int timeline_arranger_move_regions_to_new_lanes(ArrangerWidget* self,
const int diff)
#include <gui/widgets/timeline_arranger.h>
Move the selected Regions to new Lanes.
Parameters | |
---|---|
self | |
diff | The delta to move the Tracks. |
Returns | 1 if moved. |
Move the selected Regions to new Lanes.
GTK_IS_WIDGET (MAIN_WINDOW)) To be called once at init time.Move the selected Regions to new Lanes.
void timeline_arranger_widget_set_cut_lines_visible(ArrangerWidget* self)
#include <gui/widgets/timeline_arranger.h>
Hides the cut dashed line from hovered regions and redraws them.
Used when alt was unpressed.
Hides the cut dashed line from hovered regions and redraws them.
Used to allocate the overlay children.Returns the appropriate cursor based on the current hover_x and y.Hides the cut dashed line from hovered regions and redraws them.
Used when alt was unpressed.
void timeline_arranger_widget_remove_children(ArrangerWidget* self)
#include <gui/widgets/timeline_arranger.h>
To be called when pinning/unpinning.
void timeline_minimap_widget_px_to_pos(TimelineMinimapWidget* self,
Position* pos,
int px)
#include <gui/widgets/timeline_minimap.h>
Taken from arranger.c.
void timeline_minimap_widget_refresh(TimelineMinimapWidget* self)
#include <gui/widgets/timeline_minimap.h>
Causes reallocation.
void timeline_ruler_on_drag_begin_no_marker_hit(RulerWidget* self,
gdouble start_x,
gdouble start_y,
int height)
#include <gui/widgets/timeline_ruler.h>
Called from ruler drag begin.
void timeline_ruler_on_drag_end(RulerWidget* self)
#include <gui/widgets/timeline_ruler.h>
Called from ruler drag end.
void timeline_ruler_on_drag_update(RulerWidget* self,
gdouble offset_x,
gdouble offset_y)
#include <gui/widgets/timeline_ruler.h>
Called from ruler drag update.
TrackWidget* track_widget_new(Track* track)
#include <gui/widgets/track.h>
Sets up the track widget.
Sets color, draw callback, etc.
Sets up the track widget.
Sets color, draw callback, etc.
void track_widget_set_name(TrackWidget* self,
const char* name)
#include <gui/widgets/track.h>
Sets the Track name on the TrackWidget.
void track_widget_on_mute_toggled(TrackWidget* self)
#include <gui/widgets/track.h>
General handler for tracks that have mute buttons.
void track_widget_force_redraw(TrackWidget* self)
#include <gui/widgets/track.h>
Blocks all signal handlers.
Unblocks all signal handlers.Wrapper.
Blocks all signal handlers.
void track_widget_on_show_automation_toggled(TrackWidget* self)
#include <gui/widgets/track.h>
Wrapper to refresh mute button only.
Callback when automation button is toggled.
void track_widget_on_show_lanes_toggled(TrackWidget* self)
#include <gui/widgets/track.h>
Callback when automation button is toggled.
Callback when automation button is toggled.
void track_widget_on_record_toggled(TrackWidget* self)
#include <gui/widgets/track.h>
Callback when record button is toggled.
int track_widget_is_cursor_in_top_half(TrackWidget* self,
double y)
#include <gui/widgets/track.h>
Returns if cursor is in top half of the track.
Used by timeline to determine if it will select objects or range.
void track_widget_update_size(TrackWidget* self)
#include <gui/widgets/track.h>
Updates the full track size and redraws the track.
void track_widget_do_highlight(TrackWidget* self,
gint x,
gint y,
const int highlight)
#include <gui/widgets/track.h>
Highlights/unhighlights the Tracks appropriately.
Parameters | |
---|---|
self | |
x | |
y | |
highlight | 1 to highlight top or bottom, 0 to unhighlight all. |
int track_widget_get_local_y(TrackWidget* self,
ArrangerWidget* arranger,
int arranger_y)
#include <gui/widgets/track.h>
Converts Y from the arranger coordinates to the track coordinates.
void track_widget_redraw_meters(TrackWidget* self)
#include <gui/widgets/track.h>
Causes a redraw of the meters only.
void track_properties_expander_widget_refresh(TrackPropertiesExpanderWidget* self, Track* track)
Refreshes each field.
void track_properties_expander_widget_setup(TrackPropertiesExpanderWidget* self, Track* track)
Sets up the TrackPropertiesExpanderWidget.
void track_visibility_tree_widget_refresh(TrackVisibilityTreeWidget* self)
Refreshes the tree model.
TrackVisibilityTreeWidget* track_visibility_tree_widget_new(void)
Instantiates a new TrackVisibilityTreeWidget.
void tracklist_widget_hard_refresh(TracklistWidget* self)
Deletes all tracks and re-adds them.
add pinned tracks
void velocity_draw(Velocity* self,
cairo_t* cr,
GdkRectangle* rect)
#include <gui/widgets/velocity.h>
Draws the Velocity in the given cairo context in relative coordinates.
Parameters | |
---|---|
self | |
cr | The arranger cairo context. |
rect | Arranger rectangle. |
void visibility_widget_refresh(VisibilityWidget* self)
Refreshes the visibility widget (shows current selections.
Uses Project->last_selection to decide which stack to show.
GdkModifierType ui_get_state_mask(GtkGesture* gesture)
#include <utils/ui.h>
Used in handlers to get the state mask.
void ui_set_cursor_from_icon_name(GtkWidget* widget,
const char* name,
int offset_x,
int offset_y)
#include <utils/ui.h>
Sets cursor from icon name.
void ui_set_cursor_from_name(GtkWidget* widget,
const char* name)
#include <utils/ui.h>
Sets cursor from standard cursor name.
void ui_show_message_full(GtkWindow* parent_window,
GtkMessageType type,
const char* message)
#include <utils/ui.h>
Shows a popup message of the given type with the given message.
int ui_is_child_hit(GtkWidget* parent,
GtkWidget* child,
const int check_x,
const int check_y,
const double x,
const double y,
const double x_padding,
const double y_padding)
#include <utils/ui.h>
Returns if the child is hit or not by the coordinates in parent.
Parameters | |
---|---|
parent | |
child | |
check_x | Check x-axis for match. |
check_y | Check y-axis for match. |
x | x in parent space. |
y | y in parent space. |
x_padding | Padding to add to the x of the object when checking if hit. The bigger the padding the more space the child will have to get hit. |
y_padding | Padding to add to the y of the object when checking if hit. The bigger the padding the more space the child will have to get hit. |
GtkWidget* ui_get_hit_child(GtkContainer* parent,
double x,
double y,
GType type)
#include <utils/ui.h>
Returns the matching hit child, or NULL.
type to look for
void ui_px_to_pos_timeline(double px,
Position* pos,
int has_padding)
#include <utils/ui.h>
Converts from pixels to position.
Parameters | |
---|---|
px | |
pos | |
has_padding | Whether the given px contain padding. |
Only works with positive numbers. Negatives will be clamped at 0. If a negative is needed, pass the abs to this function and then change the sign.
long ui_px_to_frames_timeline(double px,
int has_padding)
#include <utils/ui.h>
Converts from pixels to frames.
Parameters | |
---|---|
px | |
has_padding | Whether then given px contains padding. |
Returns the frames.
long ui_px_to_frames_editor(double px,
int has_padding)
#include <utils/ui.h>
Converts from pixels to frames.
Parameters | |
---|---|
px | |
has_padding | Whether then given px contains padding. |
Returns the frames.
int ui_pos_to_px_timeline(Position* pos,
int use_padding)
#include <utils/ui.h>
Converts position to px, optionally adding the ruler padding.
Converts position to px, optionally adding the ruler padding.
int ui_pos_to_px_editor(Position* pos,
int use_padding)
#include <utils/ui.h>
Converts position to px, optionally adding the ruler padding.
Converts position to px, optionally adding the ruler padding.
void ui_px_to_pos_editor(double px,
Position* pos,
int has_padding)
#include <utils/ui.h>
Converts from pixels to position.
whether the given px contain padding
Only works with positive numbers. Negatives will be clamped at 0. If a negative is needed, pass the abs to this function and then change the sign.
void ui_show_notification(const char* msg)
#include <utils/ui.h>
Shows a notification in the revealer.
int ui_show_notification_idle_func(char* msg)
#include <utils/ui.h>
Show notification from non-GTK threads.
This should be used internally. Use the ui_show_notification_idle macro instead.
void ui_get_modifier_type_from_gesture(GtkGestureSingle* gesture,
GdkModifierType* state_mask)
#include <utils/ui.h>
Returns the modifier type (state mask) from the given gesture.
return value
void ui_setup_language_combo_box(GtkComboBox* language)
#include <utils/ui.h>
Sets up a combo box to have a selection of languages.
void ui_setup_audio_backends_combo_box(GtkComboBox* cb)
#include <utils/ui.h>
Sets up an audio backends combo box.
void ui_setup_midi_backends_combo_box(GtkComboBox* cb)
#include <utils/ui.h>
Sets up a MIDI backends combo box.
void ui_setup_pan_algo_combo_box(GtkComboBox* cb)
#include <utils/ui.h>
Sets up a pan algorithm combo box.
void ui_setup_pan_law_combo_box(GtkComboBox* cb)
#include <utils/ui.h>
Sets up a pan law combo box.
void ui_get_contrast_color(GdkRGBA* src,
GdkRGBA* dest)
#include <utils/ui.h>
Returns the contrasting color (variation of black or white) based on if the given color is dark enough or not.
Parameters | |
---|---|
src | The source color. |
dest | The desination color to write to. |
void ui_get_mid_color(GdkRGBA* dest,
const GdkRGBA* c1,
const GdkRGBA* c2,
const double transition)
#include <utils/ui.h>
Returns the color in-between two colors.
Parameters | |
---|---|
dest | |
c1 | |
c2 | |
transition | How far to transition (0.5 for half). |
int ui_is_color_bright(GdkRGBA* src)
#include <utils/ui.h>
Returns if the color is bright or not.
int ui_is_color_very_bright(GdkRGBA* src)
#include <utils/ui.h>
Returns if the color is very bright or not.
int ui_rectangle_overlap(GdkRectangle* rect1,
GdkRectangle* rect2)
#include <utils/ui.h>
Returns if the 2 rectangles overlay.
void ui_get_arranger_object_color(GdkRGBA* color,
const int is_hovered,
const int is_selected,
const int is_transient)
#include <utils/ui.h>
Gets the color the widget should be.
Parameters | |
---|---|
color | The original color. |
is_hovered | |
is_selected | Whether the widget is supposed to be selected or not. |
is_transient |
Variable documentation
GtkToolbar* left_of_main_knob_toolbar
#include <gui/widgets/control_room.h>
Toolbar on the left.
GtkBox* main_knob_placeholder
#include <gui/widgets/control_room.h>
Output knob.
GtkToggleToolButton* dim_output
#include <gui/widgets/control_room.h>
For temporarily dimming the output.
GtkBox* listen_dim_slider_placeholder
#include <gui/widgets/control_room.h>
Listen dim slider.
GtkBox* main_meter_placeholder
#include <gui/widgets/control_room.h>
Meter of output.
ControlRoom* control_room
#include <gui/widgets/control_room.h>
Pointer to backend.
KnobType
#include <gui/widgets/knob.h>
Type of knob.
float(* getter
#include <gui/widgets/knob.h>
Getter.
void(* setter
#include <gui/widgets/knob.h>
Setter.
void* object
#include <gui/widgets/knob.h>
Object to call get/set with.
int size
#include <gui/widgets/knob.h>
size in px
int hover
#include <gui/widgets/knob.h>
used to detect if hovering or not
float zero
#include <gui/widgets/knob.h>
zero point 0.0-1.0 */
int arc
#include <gui/widgets/knob.h>
draw arc around the knob or not
int bevel
#include <gui/widgets/knob.h>
bevel
int flat
#include <gui/widgets/knob.h>
flat or 3D
float min
#include <gui/widgets/knob.h>
min value (eg. 1)
float max
#include <gui/widgets/knob.h>
max value (eg. 180)
GdkRGBA start_color
#include <gui/widgets/knob.h>
color away from zero point
GdkRGBA end_color
#include <gui/widgets/knob.h>
color close to zero point
GtkGestureDrag* drag
#include <gui/widgets/knob.h>
used for drag gesture
double last_x
#include <gui/widgets/knob.h>
used in gesture drag
double last_y
#include <gui/widgets/knob.h>
used in gesture drag
int dest_index
#include <gui/widgets/knob.h>
Destination index for the destination multipliers of the port.
Plugin* plugin
#include <gui/widgets/ports_expander.h>
Track* track
#include <gui/widgets/ports_expander.h>
Define documentation
#define bar_slider_widget_new(getter,
setter,
obj,
min,
max,
w,
h,
zero,
dec,
mode,
suffix)
#include <gui/widgets/bar_slider.h>
Helper to create a bar slider widget.
#define CLIP_EDITOR_INNER_WIDGET_ADD_TO_SIZEGROUP(wname)
#include <gui/widgets/clip_editor_inner.h>
Adds or removes widgets from the left_of_ruler_size_group depending on if the current editor space is visible or not.
Parameters | |
---|---|
wname | The name of the widget. |
To be used by each editor space.
#define DEFAULT_PX_PER_TICK
Pixels to draw between each beat, before being adjusted for zoom.
Used by the ruler and timeline.
#define UI_RESIZE_CURSOR_SPACE
#include <utils/ui.h>
Space on the edges to show resize cursors.
#define TARGET_ENTRY_PLUGIN_DESCR
#include <utils/ui.h>
Plugin descriptor, used to instantiate plugins.
#define TARGET_ENTRY_PLUGIN
#include <utils/ui.h>
Plugin ID, used to move/copy plugins.
#define TARGET_ENTRY_URI_LIST
#include <utils/ui.h>
URI list.
#define TARGET_ENTRY_TRACK
#include <utils/ui.h>
Track target entry.
This is just the identifier. The TracklistSelections will be used.
#define ui_show_notification_idle(msg)
#include <utils/ui.h>
Shows the notification when idle.
This should be called from threads other than GTK main thread.
#define ui_show_error_message(win,
msg)
#include <utils/ui.h>
Wrapper to show error message so that no casting of the window is needed on the caller side.