Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
Widgets

Data Structures

struct  WrappedObjectWithChangeSignal
 A GObject-ified normal C object with a signal that interested parties can listen to for changes. More...
 
struct  ActiveHardwareMbWidget
 A menu button that allows selecting active hardware ports. More...
 
struct  ArrangerWidget
 The arranger widget is a canvas that draws all the arranger objects it contains. More...
 
struct  ArrangerMinimapWidget
 
struct  ArrangerWrapperWidget
 Wraps the arranger widget in a box with scrollbars. More...
 
struct  AudioEditorSpaceWidget
 The piano roll widget is the whole space inside the clip editor tab when a AUDIO region is selected. More...
 
struct  AutomationEditorSpaceWidget
 The piano roll widget is the whole space inside the clip editor tab when a AUTOMATION region is selected. More...
 
struct  AutomationModeWidget
 Custom button group to be drawn inside drawing areas. More...
 
struct  BarSliderWidget
 Draggable slider to adjust an amount (such as a percentage). More...
 
struct  BotBarWidget
 Bot bar. More...
 
struct  BotDockEdgeWidget
 Bot dock widget. More...
 
struct  CenterDockWidget
 Center dock. More...
 
struct  ChannelSendWidget
 
struct  ChannelSendSelectorWidget
 
struct  ChannelSendsExpanderWidget
 A TwoColExpanderBoxWidget for showing the ports in the InspectorWidget. More...
 
struct  ChannelSlotWidget
 
struct  ChannelSlotActivateButtonWidget
 
struct  ChordEditorSpaceWidget
 The piano roll widget is the whole space inside the clip editor tab when a CHORD region is selected. More...
 
struct  ChordKeyWidget
 Piano roll note widget to be shown on the left side of the piano roll (128 of these). More...
 
struct  ChordSelectorWindowWidget
 A GtkPopover to create a ChordDescriptor for use in the ChordTrack's ChordObject's. More...
 
struct  ClipEditorInnerWidget
 The piano roll widget is the whole space inside the clip editor tab when a MIDI region is selected. More...
 
struct  CpuWidget
 
struct  CustomButtonWidget
 Custom button to be drawn inside drawing areas. More...
 
struct  AddTracksToGroupDialogWidget
 The add_tracks_to_group dialog. More...
 
struct  ArrangerObjectInfoDialogWidget
 The arranger_object_info dialog. More...
 
struct  BounceDialogWidget
 The export dialog. More...
 
struct  ExportDialogWidget
 The export dialog. More...
 
struct  ExportProgressDialogWidget
 The export dialog. More...
 
struct  FileImportProgressDialogWidget
 A progress dialog for file import. More...
 
struct  GenericProgressDialogButton
 
struct  GenericProgressDialogWidgetPrivate
 A generic progress dialog. More...
 
struct  GenericProgressDialogWidgetClass
 
struct  MidiFunctionDialogWidget
 The midi_function dialog. More...
 
struct  PortInfoDialogWidget
 The port_info dialog. More...
 
struct  PortSelectorDialogWidget
 A GtkPopover to select Port's. More...
 
struct  QuantizeDialogWidget
 
struct  StringEntryDialogWidget
 A dialog to edit a string. More...
 
struct  TrackIconChooserDialogWidget
 Dialog for choosing colors of objects like tracks and regions. More...
 
struct  DigitalMeterWidget
 
struct  DragDestBoxWidget
 DnD destination box used by mixer and tracklist widgets. More...
 
struct  EventViewerWidget
 
struct  ExpanderBoxWidgetPrivate
 An expander box is a base widget with a button that when clicked expands the contents. More...
 
struct  ExpanderBoxWidgetClass
 
struct  FaderWidget
 A FaderWidget reflects a Fader object's state. More...
 
struct  FaderButtonsWidget
 
struct  FaderControlsExpanderWidget
 A TwoColExpanderBoxWidget for showing the ports in the InspectorWidget. More...
 
struct  FaderControlsGridWidget
 
struct  FileAuditionerControlsWidget
 File auditioner controls used in file browsers. More...
 
struct  FileBrowserFiltersWidget
 File auditioner controls used in file browsers. More...
 
struct  FoldableNotebookWidget
 A GtkNotebook that shows or hides itself when the same page tab is clicked. More...
 
struct  FolderChannelWidget
 
struct  ProjectInfo
 Project file information. More...
 
struct  GreeterWidget
 This widget handles the UI part of the initialization of Zrythm and presents a project selector when ready so that a project can be opened. More...
 
struct  InspectorPluginWidget
 
struct  InspectorPortWidget
 A Port to show in the inspector for Plugin's. More...
 
struct  InspectorTrackWidget
 Inspector section for tracks. More...
 
struct  ItemFactory
 Item factory for column views. More...
 
struct  KnobWidget
 
struct  LeftDockEdgeWidget
 Left dock widget. More...
 
struct  LiveWaveformWidget
 
struct  MainNotebookWidget
 
struct  MainWindowWidget
 The main window of Zrythm. More...
 
struct  MidiActivityBarWidget
 
struct  MidiEditorSpaceWidget
 The piano roll widget is the whole space inside the clip editor tab when a MIDI region is selected. More...
 
struct  MixerWidget
 
struct  ModulatorViewWidget
 The ModulatorViewWidget contains the ModulatorWidgets for the selected Track. More...
 
struct  MonitorSectionWidget
 
struct  MultiSelectionWidget
 A menu button that allows selecting active hardware ports. More...
 
struct  PanelFileBrowserWidget
 
struct  PianoKeyboardWidget
 Piano Keyboard widget. More...
 
struct  PinnedTracklistWidget
 The PinnedTracklistWidget contains special tracks (chord, marker, etc.) as thin boxes above the normal tracklist. More...
 
struct  PluginBrowserWidget
 The plugin browser allows to browse and filter available Plugin's on the system. More...
 
struct  PluginPropertiesExpanderWidget
 A widget for selecting plugin_properties in the plugin inspector. More...
 
struct  PluginStripExpanderWidget
 A TwoColExpanderBoxWidget for showing the ports in the InspectorWidget. More...
 
struct  AutomatableSelectorPopoverWidget
 A popover for selecting the automation track to automate. More...
 
struct  PortConnectionsPopoverWidget
 
struct  PortsExpanderWidget
 A TwoColExpanderBoxWidget for showing the ports in the InspectorWidget. More...
 
struct  SubgroupInfo
 
struct  PreferencesWidget
 Preferences widget. More...
 
struct  PrerollCountSelectorWidget
 
struct  QuantizeBoxWidget
 
struct  RangeActionButtonsWidget
 
struct  RightDockEdgeWidget
 
struct  RouteTargetSelectorWidget
 Dropdown to select the direct output of a track. More...
 
struct  RulerWidget
 
struct  ScaleSelectorWindowWidget
 A GtkPopover to create a ScaleDescriptor for use in the ScaleTrack's ScaleObject's. More...
 
struct  TextExpanderWidget
 A TwoColExpanderBoxWidget for showing the ports in the InspectorWidget. More...
 
struct  TimelinePanelWidget
 
struct  TimelineToolbarWidget
 The Timeline toolbar in the top. More...
 
struct  ToolboxWidget
 
struct  TrackWidget
 The TrackWidget is split into 3 parts. More...
 
struct  TrackInputExpanderWidget
 
struct  TrackPropertiesExpanderWidget
 
struct  TracklistWidget
 The TracklistWidget holds all the Track's in the Project. More...
 
struct  TransportControlsWidget
 Transport controls. More...
 
struct  VolumeWidget
 

Macros

#define ARRANGER_WIDGET_GET_ACTION(arr, actn)    (arr->action == UI_OVERLAY_ACTION_##actn)
 
#define arranger_widget_print_action(self)    g_debug ("action: %s", ui_overlay_strings[self->action])
 
#define MW_TIMELINE_MINIMAP   (MW_TIMELINE_PANEL->timeline_wrapper->minimap)
 
#define ARRANGER_MINIMAP_SELECTION_WIDGET_TYPE    (arranger_minimap_selection_widget_get_type ())
 
#define ARRANGER_OBJECT_FADE_POINT_WIDTH   12
 
#define ARRANGER_OBJECT_FADE_POINT_HALFWIDTH   6
 
#define arranger_object_is_fade_in(self, x, y, only_handle, only_outer)
 
#define arranger_object_is_fade_out(self, x, y, only_handle, only_outer)
 
#define MW_AUDIO_ARRANGER   MW_AUDIO_EDITOR_SPACE->arranger
 
#define MW_AUDIO_EDITOR_SPACE   MW_CLIP_EDITOR_INNER->audio_editor_space
 
#define MW_AUTOMATION_ARRANGER   MW_AUTOMATION_EDITOR_SPACE->arranger
 
#define AUTOMATION_ARRANGER_VPADDING   4
 Padding to leave before and after the usable vertical range for automation.
 
#define MW_AUTOMATION_EDITOR_SPACE   MW_CLIP_EDITOR_INNER->automation_editor_space
 
#define AUTOMATION_MODE_HPADDING   3
 
#define AUTOMATION_MODE_HSEPARATOR_SIZE   1
 
#define AP_WIDGET_POINT_SIZE   6
 
#define bar_slider_widget_new(getter, setter, obj, min, max, w, h, zero, dec, mode, suffix)
 Helper to create a bar slider widget.
 
#define bar_slider_widget_new_port_connection(conn, prefix)
 Wrapper.
 
#define BOT_BAR_WIDGET_TYPE   (bot_bar_widget_get_type ())
 
#define MW_BOT_BAR   MW->bot_bar
 
#define MW_DIGITAL_TRANSPORT   MW_BOT_BAR->digital_transport
 
#define MW_DIGITAL_BPM   MW_BOT_BAR->digital_bpm
 
#define MW_DIGITAL_TIME_SIG   MW_BOT_BAR->digital_timesig
 
#define CC_BINDINGS_WIDGET_TYPE   (cc_bindings_widget_get_type ())
 
#define MW_CENTER_DOCK   MAIN_WINDOW->center_dock
 
#define MW_CHORD_EDITOR_SPACE   MW_CLIP_EDITOR_INNER->chord_editor_space
 
#define CHORD_OBJECT_WIDGET_TRIANGLE_W   10
 
#define CHORD_OBJECT_NAME_FONT   "Bold 8"
 
#define CHORD_OBJECT_NAME_PADDING   2
 
#define CHORD_PACK_BROWSER_WIDGET_TYPE   (chord_pack_browser_widget_get_type ())
 
#define CHORD_PAD_WIDGET_TYPE   (chord_pad_widget_get_type ())
 
#define CHORD_PAD_PANEL_WIDGET_TYPE   (chord_pad_panel_widget_get_type ())
 
#define MW_CLIP_EDITOR_INNER   MW_CLIP_EDITOR->clip_editor_inner
 
#define MW_CPU   (MW_BOT_BAR->cpu_load)
 
#define CPU_WIDGET_TYPE   (cpu_widget_get_type ())
 
#define CUSTOM_BUTTON_WIDGET_MAX_TRANSITION_FRAMES   9
 
#define BUG_REPORT_DIALOG_WIDGET_TYPE   (bug_report_dialog_widget_get_type ())
 
#define digital_meter_widget_new_for_position(obj, drag_begin, getter, setter, drag_end, caption)
 
#define DRAG_DEST_BOX_WIDGET_TYPE   (drag_dest_box_widget_get_type ())
 
#define EDITOR_RULER   MW_CLIP_EDITOR_INNER->ruler
 
#define MW_TIMELINE_EVENT_VIEWER   MW_MAIN_NOTEBOOK->event_viewer
 
#define MW_EDITOR_EVENT_VIEWER_STACK   MW_BOT_DOCK_EDGE->event_viewer_stack
 
#define MW_MIDI_EVENT_VIEWER   MW_BOT_DOCK_EDGE->event_viewer_midi
 
#define MW_CHORD_EVENT_VIEWER   MW_BOT_DOCK_EDGE->event_viewer_chord
 
#define MW_AUDIO_EVENT_VIEWER   MW_BOT_DOCK_EDGE->event_viewer_audio
 
#define MW_AUTOMATION_EVENT_VIEWER   MW_BOT_DOCK_EDGE->event_viewer_automation
 
#define MW_BOT_FOLDABLE_NOTEBOOK   MW_BOT_DOCK_EDGE->bot_notebook
 
#define MW_TRACK_INSPECTOR   MW_LEFT_DOCK_EDGE->track_inspector
 
#define knob_widget_new_simple(getter, default_getter, setter, obj, min, max, size, zero)
 
#define knob_widget_new_port(conn, size)
 
#define LEFT_DOCK_EDGE_WIDGET_TYPE   (left_dock_edge_widget_get_type ())
 
#define MW_MAIN_NOTEBOOK   MW_CENTER_DOCK->main_notebook
 
#define MAIN_WINDOW   zrythm_app->main_window
 
#define MW   MAIN_WINDOW
 
#define MARKER_NAME_FONT   "Bold 8"
 
#define MARKER_NAME_PADDING   2
 
#define MW_MIDI_ARRANGER   (MW_MIDI_EDITOR_SPACE->arranger_wrapper->child)
 
#define MW_MIDI_EDITOR_SPACE   MW_CLIP_EDITOR_INNER->midi_editor_space
 
#define MIXER_WIDGET_TYPE   (mixer_widget_get_type ())
 
#define MW_MIXER   MW_BOT_DOCK_EDGE->mixer
 
#define MODULATOR_WIDGET_TYPE   (modulator_widget_get_type ())
 
#define MODULATOR_MACRO_WIDGET_TYPE   (modulator_macro_widget_get_type ())
 
#define MW_MODULATOR_VIEW   MW_BOT_DOCK_EDGE->modulator_view
 
#define SHOW_MODULATOR_VIEW    gtk_notebook_set_current_page (MW_MODULATOR_VIEW->bot_notebook, 2)
 Brings up the ModulatorViewWidget in the notebook.
 
#define PANEL_FILE_BROWSER_WIDGET_TYPE   (panel_file_browser_widget_get_type ())
 
#define MW_PANEL_FILE_BROWSER   MW_RIGHT_DOCK_EDGE->file_browser
 
#define MW_PINNED_TRACKLIST   MW_TIMELINE_PANEL->pinned_tracklist
 
#define PLAYHEAD_SCROLL_BUTTONS_WIDGET_TYPE    (playhead_scroll_buttons_widget_get_type ())
 
#define MW_PLUGIN_BROWSER   MW_RIGHT_DOCK_EDGE->plugin_browser
 
#define SNAP_GRID_POPOVER_WIDGET_TYPE   (snap_grid_popover_widget_get_type ())
 
#define PORT_CONNECTIONS_WIDGET_TYPE   (port_connections_widget_get_type ())
 
#define MW_PREFERENCES   ZRYTHM->preferences
 
#define QUANTIZE_BOX_WIDGET_TYPE   (quantize_box_widget_get_type ())
 
#define RANGE_ACTION_BUTTONS_WIDGET_TYPE    (range_action_buttons_widget_get_type ())
 
#define REGION_NAME_FONT_NO_SIZE   "Bold"
 
#define REGION_NAME_FONT   REGION_NAME_FONT_NO_SIZE " 8"
 
#define REGION_NAME_PADDING_R   5
 
#define REGION_NAME_BOX_PADDING   2
 
#define REGION_NAME_BOX_CURVINESS   4.0
 
#define DEFAULT_PX_PER_TICK   0.03
 Pixels to draw between each beat, before being adjusted for zoom.
 
#define SPACE_BEFORE_START   10
 Pixels to put before 1st bar.
 
#define SPACE_BEFORE_START_F   10.f
 
#define SPACE_BEFORE_START_D   10.0
 
#define RULER_ZOOM_LEVEL_MULTIPLIER   1.28
 Multiplier when zooming in/out.
 
#define MIN_ZOOM_LEVEL   0.04
 
#define MAX_ZOOM_LEVEL   1800.
 
#define SCALE_OBJECT_WIDGET_TRIANGLE_W   10
 
#define SCALE_OBJECT_NAME_FONT   "Sans SemiBold 8"
 
#define SCALE_OBJECT_NAME_PADDING   2
 
#define SPECTRUM_ANALYZER_WIDGET_TYPE   (spectrum_analyzer_widget_get_type ())
 
#define MW_TIMELINE   (MW_TIMELINE_PANEL->timeline)
 
#define MW_PINNED_TIMELINE   (MW_TIMELINE_PANEL->pinned_timeline)
 
#define MW_TIMELINE_PANEL   (MW_MAIN_NOTEBOOK->timeline_panel)
 
#define MW_TRACKLIST_SCROLL   (MW_TIMELINE_PANEL->tracklist_scroll)
 
#define MW_RULER   MW_TIMELINE_PANEL->ruler
 
#define MW_TIMELINE_TOOLBAR   MW_TIMELINE_PANEL->timeline_toolbar
 
#define TOOLBOX_WIDGET_TYPE   (toolbox_widget_get_type ())
 
#define MW_TOOLBOX   MAIN_WINDOW->toolbox
 
#define TRACK_BUTTON_SIZE   18
 
#define TRACK_BUTTON_PADDING   6
 Padding between each button.
 
#define TRACK_BUTTON_PADDING_FROM_EDGE   3
 Padding between the track edges and the buttons.
 
#define TRACK_BOT_BUTTONS_SHOULD_BE_VISIBLE(height)
 
#define TRACK_COLOR_AREA_WIDTH   18
 
#define TRACK_ICON_NAME_MONO_COMPAT   "mono"
 
#define TRACK_ICON_NAME_SWAP_PHASE   "phase"
 
#define TRACK_ICON_NAME_RECORD   "media-record"
 
#define TRACK_ICON_NAME_SOLO   "solo"
 
#define TRACK_ICON_NAME_MUTE   "mute"
 
#define TRACK_ICON_NAME_LISTEN   "gnome-icon-library-headphones-symbolic"
 
#define TRACK_ICON_NAME_SHOW_UI   "jam-icons-screen"
 
#define TRACK_ICON_NAME_SHOW_AUTOMATION_LANES   "automation-4p"
 
#define TRACK_ICON_NAME_SHOW_TRACK_LANES   "untitled-ui-rows-03"
 
#define TRACK_ICON_NAME_LOCK   "gnome-icon-library-padlock2-symbolic"
 
#define TRACK_ICON_NAME_UNLOCK   "gnome-icon-library-padlock2-open-symbolic"
 
#define TRACK_ICON_NAME_FREEZE   "fork-awesome-snowflake-o"
 
#define TRACK_ICON_NAME_PLUS   "add"
 
#define TRACK_ICON_NAME_MINUS   "remove"
 
#define TRACK_ICON_NAME_BUS   "effect"
 
#define TRACK_ICON_NAME_CHORDS   "minuet-chords"
 
#define TRACK_ICON_NAME_SHOW_MARKERS    "gnome-icon-library-flag-outline-thick-symbolic"
 
#define TRACK_ICON_NAME_MIDI   "instrument"
 
#define TRACK_ICON_NAME_TEMPO   "filename-bpm-amarok"
 
#define TRACK_ICON_NAME_MODULATOR   "gnome-icon-library-encoder-knob-symbolic"
 
#define TRACK_ICON_NAME_FOLD   "fluentui-folder-regular"
 
#define TRACK_ICON_NAME_FOLD_OPEN   "fluentui-folder-open-regular"
 
#define TRACK_ICON_NAME_MONITOR_AUDIO   "audition"
 
#define TRACK_ICON_IS(x, name)   (string_is_equal (x, TRACK_ICON_NAME_##name))
 
#define TRACK_CB_ICON_IS(name)   TRACK_ICON_IS (cb->icon_name, name)
 
#define MW_TRACKLIST   MW_TIMELINE_PANEL->tracklist
 
#define MW_TRANSPORT_CONTROLS   MW_BOT_BAR->transport_controls
 
#define VELOCITY_WIDTH   8
 
#define VELOCITY_LINE_WIDTH   4
 
#define VELOCITY_RESIZE_THRESHOLD   16
 
#define VELOCITY_SETTINGS_WIDGET_TYPE   (velocity_settings_widget_get_type ())
 
#define VOLUME_WIDGET_TYPE   (volume_widget_get_type ())
 

Typedefs

typedef void(* ArrangerWidgetForeachFunc) (ArrangerWidget *arranger)
 
typedef void(* ExportProgressDialogCloseCallback) (ExportData *data)
 
typedef struct _PortConnectionsPopoverWidget PortConnectionsPopoverWidget
 
typedef void(* ExpanderBoxRevealFunc) (ExpanderBoxWidget *expander_box, bool revealed, void *user_data)
 Reveal callback prototype.
 
typedef WrappedObjectWithChangeSignal *(* SelectedFileGetter) (GtkWidget *widget)
 
typedef struct _PluginPropertiesExpanderWidget PluginPropertiesExpanderWidget
 
typedef struct _ColorAreaWidget ColorAreaWidget
 
typedef struct _SliderBarWidget SliderBarWidget
 
typedef struct _MeterWidget MeterWidget
 
typedef struct _ActiveHardwareMbWidget ActiveHardwareMbWidget
 
typedef struct _TrackWidget TrackWidget
 
typedef struct _FileBrowserWidget FileBrowserWidget
 
typedef struct _MonitorSectionWidget MonitorSectionWidget
 
typedef struct _FoldableNotebookWidget FoldableNotebookWidget
 
typedef struct _PanelFileBrowserWidget PanelFileBrowserWidget
 
typedef struct _ChordPackBrowserWidget ChordPackBrowserWidget
 
typedef const char *(* StringListItemFactoryEnumStringGetter) (int val)
 
typedef struct _TrackWidget TrackWidget
 
typedef struct _DragDestBoxWidget DragDestBoxWidget
 
typedef struct _ChordTrackWidget ChordTrackWidget
 
typedef struct _AddTrackMenuButtonWidget AddTrackMenuButtonWidget
 

Enumerations

enum  ArrangerCursor {
  ARRANGER_CURSOR_NONE , ARRANGER_CURSOR_SELECT , ARRANGER_CURSOR_SELECT_STRETCH , 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_RESIZING_L_FADE , ARRANGER_CURSOR_STRETCHING_L , ARRANGER_CURSOR_RESIZING_L_LOOP , ARRANGER_CURSOR_RESIZING_R ,
  ARRANGER_CURSOR_RESIZING_R_FADE , 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 ,
  ARRANGER_CURSOR_PANNING
}
 
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. More...
 
enum  ArrangerMinimapAction {
  ARRANGER_MINIMAP_ACTION_NONE , ARRANGER_MINIMAP_ACTION_RESIZING_L , ARRANGER_MINIMAP_ACTION_RESIZING_R , ARRANGER_MINIMAP_ACTION_STARTING_MOVING ,
  ARRANGER_MINIMAP_ACTION_MOVING
}
 
enum  ArrangerMinimapType { ARRANGER_MINIMAP_TYPE_TIMELINE , ARRANGER_MINIMAP_TYPE_CLIP_EDITOR }
 
enum  BarSliderType { BAR_SLIDER_TYPE_NORMAL , BAR_SLIDER_TYPE_PORT_MULTIPLIER , BAR_SLIDER_TYPE_CONTROL_PORT }
 Type of slider. More...
 
enum  ChannelSendsExpanderPosition { CSE_POSITION_CHANNEL , CSE_POSITION_INSPECTOR }
 
enum  CustomButtonWidgetState {
  CUSTOM_BUTTON_WIDGET_STATE_NORMAL , CUSTOM_BUTTON_WIDGET_STATE_HOVERED , CUSTOM_BUTTON_WIDGET_STATE_ACTIVE , CUSTOM_BUTTON_WIDGET_STATE_TOGGLED ,
  CUSTOM_BUTTON_WIDGET_STATE_SEMI_TOGGLED
}
 
enum  CustomButtonWidgetOwner { CUSTOM_BUTTON_WIDGET_OWNER_TRACK , CUSTOM_BUTTON_WIDGET_OWNER_LANE , CUSTOM_BUTTON_WIDGET_OWNER_AT }
 
enum  BounceDialogWidgetType { BOUNCE_DIALOG_REGIONS , BOUNCE_DIALOG_TRACKS }
 Type of bounce. More...
 
enum  ExportFilenamePattern { EFP_APPEND_FORMAT , EFP_PREPEND_DATE_APPEND_FORMAT }
 
enum  DigitalMeterType {
  DIGITAL_METER_TYPE_BPM , DIGITAL_METER_TYPE_POSITION , DIGITAL_METER_TYPE_TIMESIG , DIGITAL_METER_TYPE_NOTE_TYPE ,
  DIGITAL_METER_TYPE_NOTE_LENGTH
}
 
enum  EventViewerType {
  EVENT_VIEWER_TYPE_TIMELINE , EVENT_VIEWER_TYPE_CHORD , EVENT_VIEWER_TYPE_MIDI , EVENT_VIEWER_TYPE_AUDIO ,
  EVENT_VIEWER_TYPE_AUTOMATION
}
 
enum  ItemFactoryType {
  ITEM_FACTORY_TOGGLE , ITEM_FACTORY_TEXT , ITEM_FACTORY_INTEGER , ITEM_FACTORY_ICON ,
  ITEM_FACTORY_ICON_AND_TEXT , ITEM_FACTORY_POSITION , ITEM_FACTORY_COLOR
}
 Item factory column type. More...
 
enum  KnobType { KNOB_TYPE_NORMAL , KNOB_TYPE_PORT_MULTIPLIER }
 Type of knob. More...
 
enum  LiveWaveformType { LIVE_WAVEFORM_ENGINE , LIVE_WAVEFORM_PORT }
 
enum  MidiActivityBarType { MAB_TYPE_TRACK , MAB_TYPE_ENGINE }
 
enum  MidiActivityBarAnimation { MAB_ANIMATION_BAR , MAB_ANIMATION_FLASH }
 
enum  PluginBrowserTab { PLUGIN_BROWSER_TAB_COLLECTION , PLUGIN_BROWSER_TAB_AUTHOR , PLUGIN_BROWSER_TAB_CATEGORY , PLUGIN_BROWSER_TAB_PROTOCOL }
 
enum  PluginBrowserFilter {
  PLUGIN_BROWSER_FILTER_NONE , PLUGIN_BROWSER_FILTER_INSTRUMENT , PLUGIN_BROWSER_FILTER_EFFECT , PLUGIN_BROWSER_FILTER_MODULATOR ,
  PLUGIN_BROWSER_FILTER_MIDI_EFFECT
}
 
enum  PluginBrowserSortStyle { PLUGIN_BROWSER_SORT_ALPHA , PLUGIN_BROWSER_SORT_LAST_USED , PLUGIN_BROWSER_SORT_MOST_USED }
 
enum  PluginStripExpanderPosition { PSE_POSITION_CHANNEL , PSE_POSITION_INSPECTOR }
 
enum  AutomatableSelectorType {
  AS_TYPE_MIDI_CH1 , AS_TYPE_MIDI_CH2 , AS_TYPE_MIDI_CH3 , AS_TYPE_MIDI_CH4 ,
  AS_TYPE_MIDI_CH5 , AS_TYPE_MIDI_CH6 , AS_TYPE_MIDI_CH7 , AS_TYPE_MIDI_CH8 ,
  AS_TYPE_MIDI_CH9 , AS_TYPE_MIDI_CH10 , AS_TYPE_MIDI_CH11 , AS_TYPE_MIDI_CH12 ,
  AS_TYPE_MIDI_CH13 , AS_TYPE_MIDI_CH14 , AS_TYPE_MIDI_CH15 , AS_TYPE_MIDI_CH16 ,
  AS_TYPE_CHANNEL , AS_TYPE_MIDI_FX , AS_TYPE_INSTRUMENT , AS_TYPE_INSERT ,
  AS_TYPE_MODULATOR , AS_TYPE_TEMPO , AS_TYPE_MACRO
}
 Automatable type. More...
 
enum  PortsExpanderTrackPortType {
  PE_TRACK_PORT_TYPE_CONTROLS , 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. More...
 
enum  RWTarget {
  RW_TARGET_PLAYHEAD , RW_TARGET_LOOP_START , RW_TARGET_LOOP_END , RW_TARGET_PUNCH_IN ,
  RW_TARGET_PUNCH_OUT , RW_TARGET_CLIP_START , RW_TARGET_RANGE , RW_TARGET_LOOP_RANGE
}
 The ruler widget target acting upon. More...
 
enum  RulerWidgetType { RULER_WIDGET_TYPE_TIMELINE , RULER_WIDGET_TYPE_EDITOR }
 
enum  RulerWidgetRangeType { RW_RANGE_START , RW_RANGE_FULL , RW_RANGE_END }
 Range type. More...
 
enum  TrackWidgetHighlight { TRACK_WIDGET_HIGHLIGHT_NONE , TRACK_WIDGET_HIGHLIGHT_TOP , TRACK_WIDGET_HIGHLIGHT_BOTTOM , TRACK_WIDGET_HIGHLIGHT_INSIDE }
 Highlight location. More...
 
enum  TrackWidgetResizeTarget { TRACK_WIDGET_RESIZE_TARGET_TRACK , TRACK_WIDGET_RESIZE_TARGET_AT , TRACK_WIDGET_RESIZE_TARGET_LANE }
 Resize target. More...
 

Functions

char * wrapped_object_with_change_signal_get_display_name (void *data)
 Returns a display name for the given object, intended to be used where the object should be displayed (eg, a dropdown).
 
WrappedObjectWithChangeSignalwrapped_object_with_change_signal_new (void *obj, WrappedObjectType type)
 Instantiates a new WrappedObjectWithChangeSignal.
 
WrappedObjectWithChangeSignalwrapped_object_with_change_signal_new_with_free_func (void *obj, WrappedObjectType type, ObjectFreeFunc free_func)
 If this function is not used, the internal object will not be free'd.
 
void active_hardware_mb_widget_setup (ActiveHardwareMbWidget *self, bool is_input, bool is_midi, GSettings *settings, const char *key)
 
void active_hardware_mb_widget_save_settings (ActiveHardwareMbWidget *self)
 Called from PreferencesWidget to save the settings.
 
void active_hardware_mb_widget_refresh (ActiveHardwareMbWidget *self)
 
ActiveHardwareMbWidgetactive_hardware_mb_widget_new (void)
 
AddTrackMenuButtonWidget * add_track_menu_button_widget_new (void)
 
PURE const char * arranger_widget_get_type_str (ArrangerWidgetType type)
 
bool arranger_widget_can_scroll_vertically (ArrangerWidget *self)
 Returns if the arranger can scroll vertically.
 
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.
 
int arranger_widget_pos_to_px (ArrangerWidget *self, Position *pos, int use_padding)
 Wrapper of the UI functions based on the arranger type.
 
ArrangerCursor arranger_widget_get_cursor (ArrangerWidget *self)
 Gets the cursor based on the current hover position.
 
void arranger_widget_refresh_cursor (ArrangerWidget *self)
 Figures out which cursor should be used based on the current state and then sets it.
 
void arranger_widget_get_all_objects (ArrangerWidget *self, GPtrArray *objs_arr)
 Get all objects currently present in the arranger.
 
void arranger_widget_px_to_pos (ArrangerWidget *self, double px, Position *pos, bool 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, GPtrArray *arr)
 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, GPtrArray *arr)
 Fills in the given array with the ArrangerObject's of the given type that appear in the given ranger.
 
ArrangerObjectarranger_widget_get_hit_arranger_object (ArrangerWidget *self, ArrangerObjectType type, const double x, const double y)
 Returns the ArrangerObject of the given type at (x,y).
 
void arranger_widget_select_all (ArrangerWidget *self, bool select, bool fire_events)
 
NONNULL PURE bool arranger_widget_is_in_moving_operation (ArrangerWidget *self)
 Returns if the arranger is in a moving-related operation or starting a moving-related operation.
 
RETURNS_NONNULL ArrangerSelectionsarranger_widget_get_selections (ArrangerWidget *self)
 Returns the ArrangerSelections for this ArrangerWidget.
 
void arranger_widget_redraw_playhead (ArrangerWidget *self)
 Only redraws the playhead part.
 
SnapGridarranger_widget_get_snap_grid (ArrangerWidget *self)
 
gboolean arranger_widget_on_key_press (GtkEventControllerKey *key_controller, guint keyval, guint keycode, GdkModifierType state, ArrangerWidget *self)
 Called from MainWindowWidget because some events don't reach here.
 
void arranger_widget_on_key_release (GtkEventControllerKey *key_controller, guint keyval, guint keycode, GdkModifierType state, ArrangerWidget *self)
 
NONNULL void arranger_widget_scroll_until_obj (ArrangerWidget *self, ArrangerObject *obj, int horizontal, int up, int left, int 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.
 
EditorSettingsarranger_widget_get_editor_settings (ArrangerWidget *self)
 Returns the EditorSettings corresponding to the given arranger.
 
EditorSettings arranger_widget_get_editor_setting_values (ArrangerWidget *self)
 Get just the values, adjusted properly for special cases (like pinned timeline).
 
bool arranger_widget_is_playhead_visible (ArrangerWidget *self)
 
NONNULL void arranger_widget_handle_playhead_auto_scroll (ArrangerWidget *self, bool force)
 
NONNULL void arranger_widget_foreach (ArrangerWidgetForeachFunc func)
 Runs the given function for each arranger.
 
NONNULL PURE RulerWidgetarranger_widget_get_ruler (ArrangerWidget *self)
 
bool arranger_widget_any_doing_action (void)
 Returns whether any arranger is in the middle of an action.
 
int arranger_widget_get_playhead_px (ArrangerWidget *self)
 Returns the playhead's x coordinate in absolute coordinates.
 
bool arranger_widget_get_drum_mode_enabled (ArrangerWidget *self)
 Returns true if MIDI arranger and track mode is enabled.
 
NONNULL void arranger_widget_create_item (ArrangerWidget *self, double start_x, double start_y, bool autofilling)
 Called when an item needs to be created at the given position.
 
NONNULL bool arranger_widget_finish_creating_item_from_action (ArrangerWidget *self, double x, double y)
 To be called after using arranger_widget_create_item() in an action (ie, not from click + drag interaction with the arranger) to finish the action.
 
int arranger_widget_get_total_height (ArrangerWidget *self)
 Returns the total height (including off-screen).
 
void arranger_snapshot (GtkWidget *widget, GtkSnapshot *snapshot)
 
void arranger_minimap_widget_px_to_pos (ArrangerMinimapWidget *self, Position *pos, int px)
 Taken from arranger.c.
 
void arranger_minimap_widget_refresh (ArrangerMinimapWidget *self)
 Causes reallocation.
 
 G_DECLARE_FINAL_TYPE (ArrangerMinimapSelectionWidget, arranger_minimap_selection_widget, Z, ARRANGER_MINIMAP_SELECTION_WIDGET, GtkWidget) typedef struct _ArrangerMinimapSelectionWidget
 
ArrangerMinimapSelectionWidget * arranger_minimap_selection_widget_new (ArrangerMinimapWidget *parent)
 
bool arranger_object_is_fade (ArrangerObject *self, bool in, const int x, int y, bool only_handle, bool only_outer, bool check_lane)
 Returns if the current position is for moving the fade in/out mark (timeline only).
 
NONNULL PURE bool arranger_object_is_resize_l (ArrangerObject *self, const int x)
 Returns if the current position is for resizing L.
 
NONNULL bool arranger_object_is_resize_r (ArrangerObject *self, const int x)
 Returns if the current position is for resizing R.
 
bool arranger_object_is_resize_up (ArrangerObject *self, const int x, const int y)
 Returns if the current position is for resizing up (eg, Velocity).
 
bool arranger_object_is_resize_loop (ArrangerObject *self, const int y, bool ctrl_pressed)
 Returns if the current position is for resizing loop.
 
NONNULL bool arranger_object_is_rename (ArrangerObject *self, const int x, const int y)
 Returns if the current position is for renaming the object.
 
bool arranger_object_should_show_cut_lines (ArrangerObject *self, bool alt_pressed)
 Returns if arranger_object widgets should show cut lines.
 
int arranger_object_get_full_rect_x_for_region_child (ArrangerObject *self, ZRegion *region, GdkRectangle *full_rect)
 Gets the full rectangle for a linked object.
 
void arranger_object_set_full_rectangle (ArrangerObject *self, ArrangerWidget *arranger)
 
int arranger_object_get_draw_rectangle (ArrangerObject *self, GdkRectangle *parent_rect, GdkRectangle *full_rect, GdkRectangle *draw_rect)
 Gets the draw rectangle based on the given full rectangle of the arranger object.
 
void arranger_object_draw (ArrangerObject *self, ArrangerWidget *arranger, GtkSnapshot *snapshot, GdkRectangle *rect)
 Draws the given object.
 
OPTIMIZE_O3 bool arranger_object_should_orig_be_visible (ArrangerObject *self, ArrangerWidget *arranger)
 Returns if the cached object should be visible, ie, while copy- moving (ctrl+drag) we want to show both the object at its original position and the current object.
 
bool arranger_object_is_hovered (ArrangerObject *self, ArrangerWidget *arranger)
 Whether the object is currently hovered.
 
bool arranger_object_is_hovered_or_start_object (ArrangerObject *self, ArrangerWidget *arranger)
 Whether hovered or the start object of the current action in the arranger.
 
void arranger_wrapper_widget_setup (ArrangerWrapperWidget *self, ArrangerWidgetType type, SnapGrid *snap_grid)
 
void audio_arranger_widget_snap_range_r (ArrangerWidget *self, Position *pos)
 
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.
 
bool audio_arranger_widget_is_cursor_gain (ArrangerWidget *self, double x, double y)
 Returns whether the cursor touches the gain line.
 
UiOverlayAction audio_arranger_widget_get_action_on_drag_begin (ArrangerWidget *self)
 
void audio_arranger_widget_fade_up (ArrangerWidget *self, double offset_y, bool fade_in)
 Handle fade in/out curviness drag.
 
void audio_arranger_widget_update_gain (ArrangerWidget *self, double offset_y)
 
int audio_arranger_widget_snap_fade (ArrangerWidget *self, Position *pos, bool fade_in, bool dry_run)
 Updates the fade position during drag update.
 
void audio_editor_space_widget_setup (AudioEditorSpaceWidget *self)
 
void audio_editor_space_widget_update_size_group (AudioEditorSpaceWidget *self, int visible)
 See CLIP_EDITOR_INNER_WIDGET_ADD_TO_SIZEGROUP.
 
void audio_editor_space_widget_refresh (AudioEditorSpaceWidget *self)
 
void automation_arranger_widget_create_ap (ArrangerWidget *self, const Position *pos, const double start_y, ZRegion *region, bool autofilling)
 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.
 
GMenu * automation_arranger_widget_gen_context_menu (ArrangerWidget *self, GMenu *menu, double x, double y)
 Generate a context menu at x, y.
 
bool automation_arranger_move_hit_aps (ArrangerWidget *self, double x, double y)
 Called when using the edit tool.
 
void automation_editor_space_widget_setup (AutomationEditorSpaceWidget *self)
 
void automation_editor_space_widget_update_size_group (AutomationEditorSpaceWidget *self, int visible)
 See CLIP_EDITOR_INNER_WIDGET_ADD_TO_SIZEGROUP.
 
void automation_editor_space_widget_refresh (AutomationEditorSpaceWidget *self)
 
AutomationModeWidgetautomation_mode_widget_new (int height, PangoLayout *layout, AutomationTrack *owner)
 Creates a new track widget from the given track.
 
void automation_mode_widget_init (AutomationModeWidget *self)
 
void automation_mode_widget_draw (AutomationModeWidget *self, GtkSnapshot *snapshot, double x, double y, double x_cursor, CustomButtonWidgetState state)
 
void automation_mode_widget_free (AutomationModeWidget *self)
 
bool automation_point_is_point_hit (AutomationPoint *self, double x, double y)
 Returns if the automation point (circle) is hit.
 
bool automation_point_is_curve_hit (AutomationPoint *self, double x, double y, double delta_from_curve)
 Returns if the automation curve is hit.
 
bool automation_point_settings_changed (const AutomationPoint *self, const GdkRectangle *draw_rect, bool timeline)
 Returns whether the cached render node for self needs to be invalidated.
 
void automation_point_draw (AutomationPoint *ap, GtkSnapshot *snapshot, GdkRectangle *rect, PangoLayout *layout)
 Draws the AutomationPoint in the given cairo context in absolute coordinates.
 
BarSliderWidget_bar_slider_widget_new (BarSliderType type, float(*get_val)(void *), void(*set_val)(void *, float), void *object, float min, float max, int w, int h, float zero, int convert_to_percentage, int decimals, UiDragMode mode, const char *prefix, const char *suffix)
 Creates a bar slider widget for floats.
 
void bot_bar_widget_refresh (BotBarWidget *self)
 
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.
 
void bot_dock_edge_widget_setup (BotDockEdgeWidget *self)
 
void bot_dock_edge_widget_update_event_viewer_stack_page (BotDockEdgeWidget *self)
 Sets the appropriate stack page.
 
void bot_dock_edge_widget_show_clip_editor (BotDockEdgeWidget *self, bool navigate_to_region_start)
 Brings up the clip editor.
 
BounceStepSelectorWidget * bounce_step_selector_widget_new (void)
 Creates a BounceStepSelectorWidget.
 
void button_with_menu_widget_set_menu_model (ButtonWithMenuWidget *self, GMenuModel *gmenu_model)
 
void button_with_menu_widget_set_popover (ButtonWithMenuWidget *self, GtkPopover *popover)
 Set a custom popover instead of a menu model.
 
void button_with_menu_widget_setup (ButtonWithMenuWidget *self, GtkButton *btn, GMenuModel *gmenu_model, bool downward_arrow, int height, const char *btn_tooltip_text, const char *menu_tooltip_text)
 This must only be called once to set up the widget.
 
ButtonWithMenuWidget * button_with_menu_widget_new (void)
 
 G_DECLARE_FINAL_TYPE (CcBindingsWidget, cc_bindings_widget, Z, CC_BINDINGS_WIDGET, GtkBox) typedef struct _CcBindingsWidget
 Left dock widget.
 
CcBindingsWidget * cc_bindings_widget_new (void)
 
void cc_bindings_widget_refresh (CcBindingsWidget *self)
 
void cc_bindings_tree_widget_refresh (CcBindingsTreeWidget *self)
 Refreshes the tree model.
 
CcBindingsTreeWidget * cc_bindings_tree_widget_new (void)
 Instantiates a new CcBindingsTreeWidget.
 
void center_dock_widget_setup (CenterDockWidget *self)
 
void center_dock_widget_tear_down (CenterDockWidget *self)
 Prepare for finalization.
 
ChannelSendWidgetchannel_send_widget_new (ChannelSend *send)
 Creates a new ChannelSend widget and binds it to the given value.
 
ChannelSendSelectorWidgetchannel_send_selector_widget_new (ChannelSendWidget *send)
 
void channel_send_selector_widget_setup (ChannelSendSelectorWidget *self)
 
void channel_sends_expander_widget_refresh (ChannelSendsExpanderWidget *self)
 Refreshes each field.
 
void channel_sends_expander_widget_setup (ChannelSendsExpanderWidget *self, ChannelSendsExpanderPosition position, Track *track)
 Sets up the ChannelSendsExpanderWidget.
 
ChannelSlotWidgetchannel_slot_widget_new_instrument (void)
 Creates a new ChannelSlot widget whose track and plugin can change.
 
ChannelSlotWidgetchannel_slot_widget_new (int slot_index, Track *track, PluginSlotType type, bool open_plugin_inspector_on_click)
 Creates a new ChannelSlot widget and binds it to the given value.
 
void channel_slot_widget_set_instrument (ChannelSlotWidget *self, Track *track)
 
Pluginchannel_slot_widget_get_plugin (ChannelSlotWidget *self)
 
ChannelSlotActivateButtonWidgetchannel_slot_activate_button_widget_new (ChannelSlotWidget *owner)
 Creates a new ChannelSlotActivateButton widget.
 
int chord_arranger_widget_get_chord_at_y (double y)
 Returns the chord index at y.
 
ChordObjectchord_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_calc_deltamax_for_chord_movement (int y_delta)
 Called on move items_y setup.
 
int chord_editor_space_widget_get_chord_height (ChordEditorSpaceWidget *self)
 
int chord_editor_space_widget_get_all_chords_height (ChordEditorSpaceWidget *self)
 
void chord_editor_space_widget_setup (ChordEditorSpaceWidget *self)
 
void chord_editor_space_widget_update_size_group (ChordEditorSpaceWidget *self, int visible)
 See CLIP_EDITOR_INNER_WIDGET_ADD_TO_SIZEGROUP.
 
void chord_editor_space_widget_set_chord_keys_scroll_start_y (ChordEditorSpaceWidget *self, int y)
 
void chord_editor_space_widget_refresh (ChordEditorSpaceWidget *self)
 
void chord_editor_space_widget_refresh_chords (ChordEditorSpaceWidget *self)
 
void chord_key_widget_refresh (ChordKeyWidget *self)
 
ChordKeyWidgetchord_key_widget_new (int idx)
 Creates a ChordKeyWidget for the given MIDI note descriptor.
 
void chord_object_recreate_pango_layouts (ChordObject *self)
 Recreates the pango layouts for drawing.
 
void chord_object_draw (ChordObject *self, GtkSnapshot *snapshot)
 Draws the given chord object.
 
 G_DECLARE_FINAL_TYPE (ChordPackBrowserWidget, chord_pack_browser_widget, Z, CHORD_PACK_BROWSER_WIDGET, GtkBox) typedef struct _ChordPackBrowserWidget
 
void chord_pack_browser_widget_refresh_packs (ChordPackBrowserWidget *self)
 
void chord_pack_browser_widget_refresh_presets (ChordPackBrowserWidget *self)
 
ChordPackBrowserWidget * chord_pack_browser_widget_new (void)
 
 G_DECLARE_FINAL_TYPE (ChordPadWidget, chord_pad_widget, Z, CHORD_PAD_WIDGET, GtkWidget) typedef struct _ChordPadWidget
 Single chord pad.
 
ChordPadWidget * chord_pad_widget_new (void)
 Creates a chord widget.
 
void chord_pad_widget_refresh (ChordPadWidget *self, int idx)
 Sets the chord index on the chord widget.
 
 G_DECLARE_FINAL_TYPE (ChordPadPanelWidget, chord_pad_panel_widget, Z, CHORD_PAD_PANEL_WIDGET, GtkGrid) typedef struct _ChordPadPanelWidget
 Brings up the ChordPadPanelWidget in the notebook.
 
void chord_pad_panel_widget_setup (ChordPadPanelWidget *self)
 
void chord_pad_panel_widget_refresh_load_preset_menu (ChordPadPanelWidget *self)
 
void chord_pad_panel_widget_refresh (ChordPadPanelWidget *self)
 
ChordPadPanelWidget * chord_pad_panel_widget_new (void)
 
void chord_region_recreate_pango_layouts (ZRegion *self)
 Recreates the pango layout for drawing chord names inside the region.
 
void chord_selector_window_widget_present (const int chord_idx, GtkWidget *parent)
 Creates the popover.
 
void clip_editor_inner_widget_add_to_left_of_ruler_sizegroup (ClipEditorInnerWidget *self, GtkWidget *widget, bool add)
 Adds or remove the widget from the "left of ruler" size group.
 
void clip_editor_inner_widget_setup (ClipEditorInnerWidget *self)
 
void clip_editor_inner_widget_refresh (ClipEditorInnerWidget *self)
 
ArrangerWidgetclip_editor_inner_widget_get_visible_arranger (ClipEditorInnerWidget *self)
 
CustomButtonWidgetcustom_button_widget_new (const char *icon_name, int size)
 Creates a new track widget from the given track.
 
void custom_button_widget_draw (CustomButtonWidget *self, GtkSnapshot *snapshot, double x, double y, CustomButtonWidgetState state)
 
void custom_button_widget_draw_with_text (CustomButtonWidget *self, GtkSnapshot *snapshot, double x, double y, double width, CustomButtonWidgetState state)
 
void custom_button_widget_set_text (CustomButtonWidget *self, PangoLayout *layout, char *text, const char *font_descr)
 Sets the text and layout to draw the text width.
 
void custom_button_widget_free (CustomButtonWidget *self)
 
void custom_image_widget_set_texture (CustomImageWidget *self, GdkTexture *texture)
 
GtkWindow * about_dialog_widget_new (GtkWindow *parent)
 Creates and displays the about dialog.
 
Trackadd_tracks_to_group_dialog_widget_get_track (TracklistSelections *sel)
 Creates an add_tracks_to_group dialog widget and displays it.
 
ArrangerObjectInfoDialogWidgetarranger_object_info_dialog_widget_new (ArrangerObject *object)
 Creates an arranger_object_info dialog widget and displays it.
 
BindCcDialogWidget * bind_cc_dialog_widget_new (Port *port, bool perform_action)
 Creates an bind_cc dialog widget and displays it.
 
BounceDialogWidgetbounce_dialog_widget_new (BounceDialogWidgetType type, const char *bounce_name)
 Creates a bounce dialog.
 
 G_DECLARE_FINAL_TYPE (BugReportDialogWidget, bug_report_dialog_widget, Z, BUG_REPORT_DIALOG_WIDGET, AdwAlertDialog) typedef struct _BugReportDialogWidget
 
BugReportDialogWidget * bug_report_dialog_new (GtkWidget *parent, const char *msg_prefix, const char *backtrace, bool fatal)
 Creates and displays the about dialog.
 
ExportDialogWidgetexport_dialog_widget_new (void)
 Creates an export dialog widget and displays it.
 
ExportProgressDialogWidgetexport_progress_dialog_widget_new (ExportData *data, bool autoclose, ExportProgressDialogCloseCallback close_callback, bool show_open_dir_btn, bool cancelable)
 Creates an export dialog widget and displays it.
 
FileImportProgressDialog * file_import_progress_dialog_new (const char **filepaths, FileImportInfo *import_info, TracksReadyCallback tracks_ready_cb, GtkWidget *parent)
 Creates an instance of FileImportProgressDialog for the given array of filepaths (NULL-delimited).
 
void file_import_progress_dialog_run (FileImportProgressDialog *self)
 Runs the dialog and imports each file asynchronously while presenting progress info.
 
void generic_progress_dialog_widget_setup (GenericProgressDialogWidget *self, const char *title, ProgressInfo *progress_info, const char *initial_label, bool autoclose, GenericCallback close_callback, void *close_callback_object, bool cancelable)
 Sets up a progress dialog widget.
 
void generic_progress_dialog_add_response (GenericProgressDialogWidget *self, const char *response, const char *response_label, GenericCallback callback, void *callback_object, bool only_on_finish)
 Adds a response to the dialog.
 
GenericProgressDialogWidget * generic_progress_dialog_widget_new (void)
 
void midi_function_dialog_widget_get_opts (MidiFunctionDialogWidget *self, MidiFunctionOpts *opts)
 Fills in opts with the current options in the dialog (fetched from gsettings).
 
MidiFunctionDialogWidgetmidi_function_dialog_widget_new (GtkWindow *parent, MidiFunctionType type)
 Creates a MIDI function dialog for the given type and pre-fills the values from GSettings.
 
bool object_color_chooser_dialog_widget_run (GtkWindow *parent, Track *track, TracklistSelections *sel, ZRegion *region)
 Runs the widget and processes the result, then closes the dialog.
 
PortInfoDialogWidgetport_info_dialog_widget_new (Port *port)
 Creates an port_info dialog widget and displays it.
 
void port_selector_dialog_widget_refresh (PortSelectorDialogWidget *self, Port *port)
 
PortSelectorDialogWidgetport_selector_dialog_widget_new (PortConnectionsPopoverWidget *owner)
 Creates the popover.
 
QuantizeDialogWidgetquantize_dialog_widget_new (QuantizeOptions *opts)
 Creates an quantize dialog widget and displays it.
 
SaveChordPresetDialogWidget * save_chord_preset_dialog_widget_new (GtkWindow *parent_window)
 Creates a dialog widget and displays it.
 
StringEntryDialogWidgetstring_entry_dialog_widget_new (const char *label, void *obj, GenericStringGetter getter, GenericStringSetter setter)
 Creates the dialog.
 
TrackIconChooserDialogWidgettrack_icon_chooser_dialog_widget_new (Track *track)
 Creates a new dialog.
 
bool track_icon_chooser_dialog_widget_run (TrackIconChooserDialogWidget *self)
 Runs the widget and processes the result, then closes the dialog.
 
AdwMessageDialog * welcome_message_dialog_new (GtkWindow *parent)
 Creates and returns the welcome dialog.
 
DigitalMeterWidgetdigital_meter_widget_new (DigitalMeterType type, NoteLength *note_length, NoteType *note_type, const char *caption)
 Creates a digital meter with the given type ( bpm or position).
 
DigitalMeterWidget_digital_meter_widget_new_for_position (void *obj, void(*drag_begin)(void *), void(*get_val)(void *, Position *), void(*set_val)(void *, Position *), void(*drag_end)(void *), const char *caption)
 Creates a digital meter for an arbitrary position.
 
void digital_meter_set_draw_line (DigitalMeterWidget *self, int draw_line)
 
void digital_meter_show_context_menu (DigitalMeterWidget *self, GMenu *menu)
 Shows the widgets popover menu with the provided content.
 
 G_DECLARE_FINAL_TYPE (DragDestBoxWidget, drag_dest_box_widget, Z, DRAG_DEST_BOX_WIDGET, GtkBox) typedef enum DragDestBoxType
 
DragDestBoxWidgetdrag_dest_box_widget_new (GtkOrientation orientation, int spacing, DragDestBoxType type)
 Creates a drag destination box widget.
 
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 editor_ruler_on_drag_update (RulerWidget *self, gdouble offset_x, gdouble offset_y)
 
void editor_ruler_on_drag_end (RulerWidget *self)
 
int editor_ruler_get_regions_in_range (RulerWidget *self, double x_start, double x_end, ZRegion **regions)
 
void event_viewer_widget_refresh (EventViewerWidget *self, bool selections_only)
 Called to update the models/selections.
 
void event_viewer_widget_refresh_for_selections (ArrangerSelections *sel)
 Convenience function.
 
void event_viewer_widget_refresh_for_arranger (const ArrangerWidget *arranger, bool selections_only)
 Convenience function.
 
EventViewerWidgetevent_viewer_widget_new (void)
 
void event_viewer_widget_setup (EventViewerWidget *self, EventViewerType type)
 Sets up the event viewer.
 
ExpanderBoxWidgetPrivateexpander_box_widget_get_private (ExpanderBoxWidget *self)
 Gets the private.
 
void expander_box_widget_set_label (ExpanderBoxWidget *self, const char *label)
 Sets the label to show.
 
void expander_box_widget_set_icon_name (ExpanderBoxWidget *self, const char *icon_name)
 Sets the icon name to show.
 
void expander_box_widget_add_content (ExpanderBoxWidget *self, GtkWidget *content)
 
void expander_box_widget_set_reveal (ExpanderBoxWidget *self, int reveal)
 Reveals or hides the expander box's contents.
 
void expander_box_widget_set_reveal_callback (ExpanderBoxWidget *self, ExpanderBoxRevealFunc cb, void *user_data)
 
void expander_box_widget_set_orientation (ExpanderBoxWidget *self, GtkOrientation orientation)
 
void expander_box_widget_set_vexpand (ExpanderBoxWidget *self, bool expand)
 
ExpanderBoxWidget * expander_box_widget_new (const char *label, const char *icon_name, GtkOrientation orientation)
 
void ext_input_selection_dropdown_widget_refresh (GtkDropDown *self, Track *track, bool left)
 Recreates the internal model(s) on the given dropdown.
 
void fader_widget_setup (FaderWidget *self, Fader *fader, int height)
 Creates a new Fader widget and binds it to the given Fader.
 
void fader_buttons_widget_block_signal_handlers (FaderButtonsWidget *self)
 
void fader_buttons_widget_unblock_signal_handlers (FaderButtonsWidget *self)
 
void fader_buttons_widget_refresh (FaderButtonsWidget *self, Track *track)
 
FaderButtonsWidgetfader_buttons_widget_new (Track *track)
 
void fader_controls_expander_widget_refresh (FaderControlsExpanderWidget *self)
 Refreshes each field.
 
void fader_controls_expander_widget_setup (FaderControlsExpanderWidget *self, Track *track)
 Sets up the FaderControlsExpanderWidget.
 
void fader_controls_expander_widget_tear_down (FaderControlsExpanderWidget *self)
 Prepare for finalization.
 
void fader_controls_grid_widget_setup (FaderControlsGridWidget *self, Track *track)
 
void fader_controls_grid_widget_tear_down (FaderControlsGridWidget *self)
 Prepare for finalization.
 
FaderControlsGridWidgetfader_controls_grid_widget_new (void)
 
void file_auditioner_controls_widget_setup (FileAuditionerControlsWidget *self, GtkWidget *owner, bool for_files, SelectedFileGetter selected_file_getter, GenericCallback refilter_files_cb)
 Sets up a FileAuditionerControlsWidget.
 
void file_browser_filters_widget_setup (FileBrowserFiltersWidget *self, GtkWidget *owner, GenericCallback refilter_files_cb)
 Sets up a FileBrowserFiltersWidget.
 
void file_chooser_button_widget_setup (FileChooserButtonWidget *self, GtkWindow *parent, const char *title, GtkFileChooserAction action)
 
void file_chooser_button_widget_std_response (FileChooserButtonWidget *self, GtkNativeDialog *dialog, gint response_id)
 This must be called at the end of the user-provided response callback.
 
void file_chooser_button_widget_set_response_callback (FileChooserButtonWidget *self, GCallback callback, gpointer user_data, GClosureNotify destroy_notify)
 
void file_chooser_button_widget_set_current_dir (FileChooserButtonWidget *self, const char *dir)
 
void file_chooser_button_widget_set_path (FileChooserButtonWidget *self, const char *path)
 
FileChooserButtonWidget * file_chooser_button_widget_new (GtkWindow *parent, const char *title, GtkFileChooserAction action)
 
FoldableNotebookWidgetfoldable_notebook_widget_new (GtkPositionType pos_in_paned, bool with_text)
 Creates a FoldableNotebookWidget.
 
GtkWidget * foldable_notebook_widget_get_widget_at_page (FoldableNotebookWidget *self, int page)
 Get the widget at the given page.
 
GtkWidget * foldable_notebook_widget_get_current_widget (FoldableNotebookWidget *self)
 Get the widget currently visible.
 
void foldable_notebook_widget_set_visibility (FoldableNotebookWidget *self, bool new_visibility)
 Sets the folded space visible or not.
 
int foldable_notebook_widget_is_content_visible (FoldableNotebookWidget *self)
 Returns if the content of the foldable notebook is visible.
 
GtkNotebook * foldable_notebook_widget_get_notebook (FoldableNotebookWidget *self)
 Gets the internal notebook.
 
void foldable_notebook_widget_set_current_page (FoldableNotebookWidget *self, int page_num, bool block_signals)
 
int foldable_notebook_widget_get_current_page (FoldableNotebookWidget *self)
 
void foldable_notebook_widget_add_page (FoldableNotebookWidget *self, GtkWidget *child, const char *tab_icon_name, const char *tab_label, const char *tooltip)
 
void foldable_notebook_widget_toggle_visibility (FoldableNotebookWidget *self)
 Combines the above.
 
void foldable_notebook_widget_setup (FoldableNotebookWidget *self, GtkPaned *paned, GtkPositionType pos_in_paned, bool with_text)
 Sets up an existing FoldableNotebookWidget.
 
FolderChannelWidgetfolder_channel_widget_new (Track *track)
 Creates a folder_channel widget using the given folder_channel data.
 
void folder_channel_widget_tear_down (FolderChannelWidget *self)
 
void folder_channel_widget_refresh (FolderChannelWidget *self)
 Updates everything on the widget.
 
void folder_channel_widget_show (FolderChannelWidget *self)
 Displays the widget.
 
GreeterWidgetgreeter_widget_new (ZrythmApp *app, GtkWindow *parent, bool is_startup, bool is_for_new_project)
 Creates a greeter widget.
 
void greeter_widget_set_progress_and_status (GreeterWidget *self, const char *title, const char *description, const double perc)
 Sets the current status and progress percentage.
 
void greeter_widget_select_project (GreeterWidget *self, bool zrythm_already_running, bool is_for_new_project, const char *template_to_use)
 Proceed to the project selection screen.
 
void inspector_plugin_widget_show (InspectorPluginWidget *self, MixerSelections *ms, bool set_notebook_page)
 Shows the inspector page for the given mixer selection (plugin).
 
InspectorPluginWidgetinspector_plugin_widget_new (void)
 
void inspector_port_widget_refresh (InspectorPortWidget *self)
 
InspectorPortWidgetinspector_port_widget_new (Port *port)
 Creates a new widget.
 
NONNULL void inspector_track_widget_show_tracks (InspectorTrackWidget *self, TracklistSelections *tls, bool set_notebook_page)
 Shows the inspector page for the given tracklist selection.
 
void inspector_track_widget_setup (InspectorTrackWidget *self, TracklistSelections *tls)
 Sets up the inspector track widget for the first time.
 
InspectorTrackWidgetinspector_track_widget_new (void)
 
void inspector_track_widget_tear_down (InspectorTrackWidget *self)
 Prepare for finalization.
 
ItemFactoryitem_factory_new (ItemFactoryType type, bool editable, const char *column_name)
 Creates a new item factory.
 
ItemFactoryitem_factory_generate_and_append_column (GtkColumnView *column_view, GPtrArray *item_factories, ItemFactoryType type, bool editable, bool resizable, GtkSorter *sorter, const char *column_name)
 Shorthand to generate and append a column to a column view.
 
void item_factory_free (ItemFactory *self)
 
void item_factory_free_func (void *self)
 
KnobWidget_knob_widget_new (GenericFloatGetter get_val, GenericFloatGetter get_default_val, GenericFloatSetter set_val, void *object, KnobType type, float min, float max, int size, float zero)
 Creates a knob widget with the given options and binds it to the given value.
 
 G_DECLARE_FINAL_TYPE (LeftDockEdgeWidget, left_dock_edge_widget, Z, LEFT_DOCK_EDGE_WIDGET, GtkWidget) typedef enum LeftDockEdgeTab
 Left panel tabs.
 
void left_dock_edge_widget_refresh (LeftDockEdgeWidget *self)
 
void left_dock_edge_widget_refresh_with_page (LeftDockEdgeWidget *self, LeftDockEdgeTab page)
 Refreshes the widget and switches to the given page.
 
void left_dock_edge_widget_setup (LeftDockEdgeWidget *self)
 
void left_dock_edge_widget_tear_down (LeftDockEdgeWidget *self)
 Prepare for finalization.
 
void live_waveform_widget_setup_engine (LiveWaveformWidget *self)
 Creates a LiveWaveformWidget for the AudioEngine.
 
LiveWaveformWidgetlive_waveform_widget_new_port (Port *port)
 Creates a LiveWaveformWidget for a port.
 
LogViewerWidget * log_viewer_widget_new (void)
 Creates a log viewer widget.
 
void main_notebook_widget_setup (MainNotebookWidget *self)
 
void main_notebook_widget_refresh (MainNotebookWidget *self)
 
void main_notebook_widget_tear_down (MainNotebookWidget *self)
 Prepare for finalization.
 
MainWindowWidgetmain_window_widget_new (ZrythmApp *app)
 Creates a main_window widget using the given app data.
 
void main_window_widget_refresh_undo_redo_buttons (MainWindowWidget *self)
 
void main_window_widget_setup (MainWindowWidget *self)
 Refreshes the state of the main window.
 
void main_window_widget_set_project_title (MainWindowWidget *self, Project *prj)
 Updates the project name at the top of the window.
 
void main_window_widget_tear_down (MainWindowWidget *self)
 Prepare for finalization.
 
void main_window_widget_quit (MainWindowWidget *self)
 
void marker_recreate_pango_layouts (Marker *self)
 Recreates the pango layouts for drawing.
 
void marker_draw (Marker *self, GtkSnapshot *snapshot)
 Draws the given marker.
 
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.
 
void midi_arranger_widget_create_note (ArrangerWidget *self, Position *pos, int note, ZRegion *region)
 Called on drag begin in parent when background is double clicked (i.e., a note is created).
 
int midi_arranger_widget_snap_midi_notes_l (ArrangerWidget *self, Position *pos, bool dry_run)
 Called during drag_update in the parent when resizing the selection.
 
int midi_arranger_widget_snap_midi_notes_r (ArrangerWidget *self, Position *pos, bool dry_run)
 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.
 
int midi_arranger_calc_deltamax_for_note_movement (int y_delta)
 Called on move items_y setup.
 
gboolean midi_arranger_unlisten_notes_source_func (gpointer user_data)
 To be used as a source function to unlisten notes.
 
void midi_arranger_listen_notes (ArrangerWidget *self, bool listen)
 Listen to the currently selected notes.
 
GMenu * midi_arranger_widget_gen_context_menu (ArrangerWidget *self, GMenu *menu, double x, double y)
 Generate a context menu at x, y.
 
void midi_arranger_handle_vertical_zoom_action (ArrangerWidget *self, bool zoom_in)
 
void midi_arranger_handle_vertical_zoom_scroll (ArrangerWidget *self, GtkEventControllerScroll *scroll_controller, double dy)
 Handle ctrl+shift+scroll.
 
void midi_channel_selection_dropdown_widget_refresh (GtkDropDown *self, Track *track)
 Recreates the internal model(s) on the given dropdown.
 
void midi_editor_space_widget_setup (MidiEditorSpaceWidget *self)
 
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_set_piano_keys_scroll_start_y (MidiEditorSpaceWidget *self, int y)
 Updates the scroll adjustment.
 
gboolean midi_editor_space_widget_scroll_to_middle (MidiEditorSpaceWidget *self)
 To be used as a source func when first showing a MIDI region.
 
void midi_editor_space_widget_refresh (MidiEditorSpaceWidget *self)
 
void midi_modifier_arranger_widget_set_start_vel (ArrangerWidget *self)
 Sets the start velocities of all velocities in the current region.
 
void midi_modifier_arranger_widget_select_vels_in_range (ArrangerWidget *self, double offset_x)
 
void midi_modifier_arranger_widget_resize_velocities (ArrangerWidget *self, double offset_y)
 
void midi_modifier_arranger_set_hit_velocity_vals (ArrangerWidget *self, double x, double y, bool append_to_selections)
 Sets the value of each velocity hit at x to the value corresponding to y.
 
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.
 
NONNULL void midi_note_draw (MidiNote *self, GtkSnapshot *snapshot)
 
NONNULL void midi_note_get_adjusted_color (MidiNote *self, GdkRGBA *color)
 
void mixer_widget_setup (MixerWidget *self, Channel *master)
 To be called once.
 
void mixer_widget_hard_refresh (MixerWidget *self)
 Deletes and readds all channels.
 
void mixer_widget_soft_refresh (MixerWidget *self)
 Calls refresh on each channel.
 
MixerWidgetmixer_widget_new (void)
 
 G_DECLARE_FINAL_TYPE (ModulatorWidget, modulator_widget, Z, MODULATOR_WIDGET, TwoColExpanderBoxWidget) typedef struct _ModulatorWidget
 Modulator.
 
void modulator_widget_refresh (ModulatorWidget *self)
 
ModulatorWidget * modulator_widget_new (Plugin *modulator)
 
 G_DECLARE_FINAL_TYPE (ModulatorMacroWidget, modulator_macro_widget, Z, MODULATOR_MACRO_WIDGET, GtkWidget) typedef struct _ModulatorMacroWidget
 ModulatorMacro.
 
void modulator_macro_widget_refresh (ModulatorMacroWidget *self)
 
ModulatorMacroWidget * modulator_macro_widget_new (int modulator_macro_index)
 
void modulator_view_widget_refresh (ModulatorViewWidget *self, Track *track)
 
ModulatorViewWidgetmodulator_view_widget_new (void)
 
void monitor_section_widget_refresh (MonitorSectionWidget *self)
 
void monitor_section_widget_setup (MonitorSectionWidget *self, ControlRoom *control_room)
 
MonitorSectionWidgetmonitor_section_widget_new (void)
 Creates a MonitorSectionWidget.
 
void multi_selection_widget_setup (MultiSelectionWidget *self, const char **strings, const cyaml_strval_t *cyaml_strings, const int num_items, MultiSelectionChangedCallback sel_changed_cb, const guint *selections, const int num_selections, void *object)
 
MultiSelectionWidgetmulti_selection_widget_new (void)
 
 G_DECLARE_FINAL_TYPE (PanelFileBrowserWidget, panel_file_browser_widget, Z, PANEL_FILE_BROWSER_WIDGET, GtkWidget)
 
void panel_file_browser_refresh_bookmarks (PanelFileBrowserWidget *self)
 
FileBrowserLocationpanel_file_browser_widget_get_selected_bookmark (PanelFileBrowserWidget *self)
 
PanelFileBrowserWidgetpanel_file_browser_widget_new (void)
 
PianoKeyboardWidgetpiano_keyboard_widget_new (GtkOrientation orientation)
 Creates a piano keyboard widget.
 
void piano_keyboard_widget_refresh (PianoKeyboardWidget *self)
 
PianoKeyboardWidgetpiano_keyboard_widget_new_for_chord_key (const int chord_idx)
 Creates a piano keyboard widget.
 
int piano_roll_keys_widget_get_font_size (PianoRollKeysWidget *self)
 Returns the appropriate font size based on the current pixels (height) per key.
 
void piano_roll_keys_widget_refresh (PianoRollKeysWidget *self)
 
void piano_roll_keys_widget_redraw_note (PianoRollKeysWidget *self, int note)
 
void piano_roll_keys_widget_redraw_full (PianoRollKeysWidget *self)
 
void piano_roll_keys_widget_setup (PianoRollKeysWidget *self)
 
int piano_roll_keys_widget_get_key_from_y (PianoRollKeysWidget *self, double y)
 
TrackWidgetpinned_tracklist_widget_get_hit_track (PinnedTracklistWidget *self, double x, double y)
 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.
 
 G_DECLARE_FINAL_TYPE (PlayheadScrollButtonsWidget, playhead_scroll_buttons_widget, Z, PLAYHEAD_SCROLL_BUTTONS_WIDGET, GtkWidget) typedef struct _PlayheadScrollButtonsWidget
 
PluginBrowserWidgetplugin_browser_widget_new (void)
 Instantiates a new PluginBrowserWidget.
 
void plugin_browser_widget_refresh_collections (PluginBrowserWidget *self)
 
void plugin_properties_expander_widget_refresh (PluginPropertiesExpanderWidget *self, Plugin *pl)
 Refreshes each field.
 
void plugin_properties_expander_widget_setup (PluginPropertiesExpanderWidget *self, Plugin *pl)
 Sets up the PluginPropertiesExpanderWidget for a Plugin.
 
void plugin_strip_expander_widget_redraw_slot (PluginStripExpanderWidget *self, int slot)
 Queues a redraw of the given slot.
 
void plugin_strip_expander_widget_refresh (PluginStripExpanderWidget *self)
 Refreshes each field.
 
void plugin_strip_expander_widget_setup (PluginStripExpanderWidget *self, PluginSlotType type, PluginStripExpanderPosition position, Track *track)
 Sets up the PluginStripExpanderWidget.
 
AutomatableSelectorPopoverWidgetautomatable_selector_popover_widget_new (AutomationTrack *owner)
 Creates the popover.
 
GMenuModel * popover_menu_bin_widget_get_menu_model (PopoverMenuBinWidget *self)
 
void popover_menu_bin_widget_set_menu_model (PopoverMenuBinWidget *self, GMenuModel *model)
 
void popover_menu_bin_widget_set_child (PopoverMenuBinWidget *self, GtkWidget *child)
 
GtkWidget * popover_menu_bin_widget_get_child (PopoverMenuBinWidget *self)
 
PopoverMenuBinWidget * popover_menu_bin_widget_new (void)
 
PortConnectionsPopoverWidgetport_connections_popover_widget_new (GtkWidget *owner)
 Creates the popover.
 
void port_connections_popover_widget_refresh (PortConnectionsPopoverWidget *self, Port *port)
 Refreshes the popover.
 
 G_DECLARE_FINAL_TYPE (SnapGridPopoverWidget, snap_grid_popover_widget, Z, SNAP_GRID_POPOVER_WIDGET, GtkPopover) typedef struct _SnapGridPopoverWidget
 Snap grid popover.
 
SnapGridPopoverWidget * snap_grid_popover_widget_new (SnapGridWidget *owner)
 Creates the popover.
 
 G_DECLARE_FINAL_TYPE (PortConnectionsWidget, port_connections_widget, Z, PORT_CONNECTIONS_WIDGET, GtkBox) typedef struct _PortConnectionsWidget
 Left dock widget.
 
PortConnectionsWidget * port_connections_widget_new (void)
 
void port_connections_widget_refresh (PortConnectionsWidget *self)
 
void port_connections_tree_widget_refresh (PortConnectionsTreeWidget *self)
 Refreshes the tree model.
 
PortConnectionsTreeWidget * port_connections_tree_widget_new (void)
 Instantiates a new PortConnectionsTreeWidget.
 
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.
 
PreferencesWidgetpreferences_widget_new (void)
 
PrerollCountSelectorWidgetpreroll_count_selector_widget_new (PrerollCountSelectorType type)
 Creates a PrerollCountSelectorWidget.
 
 G_DECLARE_FINAL_TYPE (QuantizeBoxWidget, quantize_box_widget, Z, QUANTIZE_BOX_WIDGET, GtkBox) typedef struct _SnapGridWidget SnapGridWidget
 
void quantize_box_widget_setup (QuantizeBoxWidget *self, QuantizeOptions *q_opts)
 Sets up the QuantizeBoxWidget.
 
 G_DECLARE_FINAL_TYPE (RangeActionButtonsWidget, range_action_buttons_widget, Z, RANGE_ACTION_BUTTONS_WIDGET, GtkBox) typedef struct _SnapGridWidget SnapGridWidget
 
void region_get_lane_full_rect (ZRegion *self, GdkRectangle *rect)
 Returns the lane rectangle for the region.
 
HOT void region_draw (ZRegion *self, GtkSnapshot *snapshot, GdkRectangle *rect)
 Draws the ZRegion in the given cairo context in relative coordinates.
 
void right_dock_edge_widget_setup (RightDockEdgeWidget *self)
 Sets up the widget.
 
void route_target_selector_widget_refresh (RouteTargetSelectorWidget *self, Track *track)
 
bool ruler_widget_set_zoom_level (RulerWidget *self, double zoom_level)
 Sets zoom level and disables/enables buttons accordingly.
 
double ruler_widget_get_zoom_level (RulerWidget *self)
 Gets the zoom level associated with this RulerWidget from the backend.
 
void ruler_widget_handle_horizontal_zoom (RulerWidget *self, double *x_pos, double dy)
 Handle horizontal zoom.
 
int ruler_widget_get_beat_interval (RulerWidget *self)
 Returns the beat interval for drawing vertical lines.
 
int ruler_widget_get_sixteenth_interval (RulerWidget *self)
 Returns the sixteenth interval for drawing vertical lines.
 
int ruler_widget_get_10sec_interval (RulerWidget *self)
 Returns the 10 sec interval.
 
int ruler_widget_get_sec_interval (RulerWidget *self)
 Returns the sec interval.
 
bool ruler_widget_is_range_hit (RulerWidget *self, RulerWidgetRangeType type, double x, double y)
 
bool ruler_widget_is_loop_range_hit (RulerWidget *self, RulerWidgetRangeType type, double x, double y)
 Whether the loop range is hit.
 
void ruler_widget_px_to_pos (RulerWidget *self, double px, Position *pos, bool has_padding)
 
int ruler_widget_pos_to_px (RulerWidget *self, Position *pos, int use_padding)
 
EditorSettingsruler_widget_get_editor_settings (RulerWidget *self)
 Gets the pointer to the EditorSettings associated with the arranger this ruler is for.
 
void ruler_widget_get_visible_rect (RulerWidget *self, GdkRectangle *rect)
 Fills in the visible rectangle.
 
int ruler_widget_get_playhead_px (RulerWidget *self, bool after_loops)
 Returns the playhead's x coordinate in absolute coordinates.
 
void ruler_widget_refresh (RulerWidget *self)
 
void scale_object_recreate_pango_layouts (ScaleObject *self)
 Recreates the pango layouts for drawing.
 
void scale_object_draw (ScaleObject *self, GtkSnapshot *snapshot)
 Draws the given scale object.
 
ScaleSelectorWindowWidgetscale_selector_window_widget_new (ScaleObject *owner)
 Creates the popover.
 
 G_DECLARE_FINAL_TYPE (SpectrumAnalyzerWidget, spectrum_analyzer_widget, Z, SPECTRUM_ANALYZER_WIDGET, GtkWidget) typedef struct _SpectrumAnalyzerWidget
 
void spectrum_analyzer_widget_setup_engine (SpectrumAnalyzerWidget *self)
 Creates a spectrum analyzer for the AudioEngine.
 
SpectrumAnalyzerWidget * spectrum_analyzer_widget_new_for_port (Port *port)
 
GtkListItemFactory * string_list_item_factory_new (StringListItemFactoryEnumStringGetter getter)
 Returns a simple item factory that puts each string in a GtkLabel.
 
void text_expander_widget_refresh (TextExpanderWidget *self)
 Refreshes the text.
 
void text_expander_widget_setup (TextExpanderWidget *self, bool wrap_text, GenericStringGetter getter, GenericStringSetter setter, void *obj)
 Sets up the TextExpanderWidget.
 
void timeline_arranger_widget_snap_range_r (ArrangerWidget *self, Position *pos)
 
TrackLanetimeline_arranger_widget_get_track_lane_at_y (ArrangerWidget *self, double y)
 Gets hit TrackLane at y.
 
Tracktimeline_arranger_widget_get_track_at_y (ArrangerWidget *self, double y)
 Gets the Track at y.
 
AutomationTracktimeline_arranger_widget_get_at_at_y (ArrangerWidget *self, double y)
 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.
 
bool timeline_arranger_widget_create_region (ArrangerWidget *self, const RegionType type, Track *track, TrackLane *lane, AutomationTrack *at, const Position *pos, GError **error)
 Create a ZRegion 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.
 
int timeline_arranger_widget_snap_regions_l (ArrangerWidget *self, Position *pos, int dry_run)
 Snaps both the transients (to show in the GUI) and the actual regions.
 
int timeline_arranger_widget_snap_regions_r (ArrangerWidget *self, Position *pos, int dry_run)
 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.
 
int timeline_arranger_move_regions_to_new_tracks (ArrangerWidget *self, const int vis_track_diff)
 Move the selected Regions to the new Track.
 
int timeline_arranger_move_regions_to_new_lanes (ArrangerWidget *self, const int diff)
 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.
 
GMenu * timeline_arranger_widget_gen_context_menu (ArrangerWidget *self, GMenu *menu, double x, double y)
 Generate a context menu at x, y.
 
void timeline_arranger_widget_fade_up (ArrangerWidget *self, double offset_y, int fade_in)
 Fade up/down.
 
void timeline_arranger_setup_drag_dest (ArrangerWidget *self)
 Sets up the timeline arranger as a drag dest.
 
void timeline_panel_widget_setup (TimelinePanelWidget *self)
 
TimelinePanelWidgettimeline_panel_widget_new (void)
 
void timeline_panel_widget_tear_down (TimelinePanelWidget *self)
 Prepare for finalization.
 
void timeline_ruler_widget_draw_markers (RulerWidget *self)
 
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 timeline_toolbar_widget_refresh (TimelineToolbarWidget *self)
 
void timeline_toolbar_widget_setup (TimelineToolbarWidget *self)
 
void toolbox_widget_refresh (ToolboxWidget *self)
 Sets the toolbox toggled states after deactivating the callbacks.
 
const char * track_widget_highlight_to_str (TrackWidgetHighlight highlight)
 
TrackWidgettrack_widget_new (Track *track)
 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_show_automation_toggled (TrackWidget *self)
 Callback when automation button is toggled.
 
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.
 
bool track_widget_is_cursor_in_range_select_half (TrackWidget *self, double y)
 Returns if cursor is in the range select "half".
 
void track_widget_update_icons (TrackWidget *self)
 Updates the track icons.
 
void track_widget_update_size (TrackWidget *self)
 Updates the full track size and redraws the track.
 
TrackWidgetHighlight track_widget_get_highlight_location (TrackWidget *self, int y)
 Returns the highlight location based on y relative to self.
 
void track_widget_do_highlight (TrackWidget *self, gint x, gint y, const int highlight)
 Highlights/unhighlights the Tracks appropriately.
 
int track_widget_get_local_y (TrackWidget *self, ArrangerWidget *arranger, int arranger_y)
 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_widget_recreate_group_colors (TrackWidget *self)
 Re-fills TrackWidget.group_colors_box.
 
CustomButtonWidgettrack_widget_get_hovered_button (TrackWidget *self, int x, int y)
 
AutomationModeWidgettrack_widget_get_hovered_am_widget (TrackWidget *self, int x, int y)
 
AutomationTracktrack_widget_get_at_at_y (TrackWidget *self, double y)
 
void track_input_expander_widget_setup (TrackInputExpanderWidget *self, Track *track)
 Sets up the TrackInputExpanderWidget.
 
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 tracklist_widget_setup (TracklistWidget *self, Tracklist *tracklist)
 Sets up the TracklistWidget.
 
void tracklist_widget_tear_down (TracklistWidget *self)
 Prepare for finalization.
 
void tracklist_widget_update_track_visibility (TracklistWidget *self)
 Makes sure all the tracks for channels marked as visible are visible.
 
GMenu * tracklist_widget_generate_add_track_menu (void)
 Generates a menu for adding tracks to the tracklist.
 
TrackWidgettracklist_widget_get_hit_track (TracklistWidget *self, double x, double y)
 Gets hit TrackWidget and the given coordinates.
 
void tracklist_widget_handle_vertical_zoom_scroll (TracklistWidget *self, GtkEventControllerScroll *scroll_controller, double dy)
 Handle ctrl+shift+scroll.
 
void tracklist_widget_set_unpinned_scroll_start_y (TracklistWidget *self, int y)
 Updates the scroll adjustment.
 
void tracklist_widget_soft_refresh (TracklistWidget *self)
 Refreshes each track without recreating it.
 
void tracklist_widget_hard_refresh (TracklistWidget *self)
 Deletes all tracks and re-adds them.
 
void tracklist_header_widget_refresh_track_count (TracklistHeaderWidget *self)
 
void tracklist_header_widget_setup (TracklistHeaderWidget *self)
 
void transport_controls_widget_refresh (TransportControlsWidget *self)
 
void velocity_draw (Velocity *self, GtkSnapshot *snapshot)
 Draws the Velocity in the given cairo context in relative coordinates.
 
 G_DECLARE_FINAL_TYPE (VelocitySettingsWidget, velocity_settings_widget, Z, VELOCITY_SETTINGS_WIDGET, GtkWidget) typedef struct _VelocitySettingsWidget
 Velocity settings for toolbars.
 
void volume_widget_setup (VolumeWidget *self, Port *port)
 
VolumeWidgetvolume_widget_new (Port *port)
 
void WrappedObjectWithChangeSignal::wrapped_object_with_change_signal_fire (WrappedObjectWithChangeSignal *self)
 Fires the signal.
 

Variables

 WrappedObjectType
 
 AddTrackMenuButtonWidget
 
 ArrangerMinimapSelectionWidget
 
 BounceStepSelectorWidget
 
 ButtonWithMenuWidget
 
 CcBindingsWidget
 
 CcBindingsTreeWidget
 
 ChordPackBrowserWidget
 
 ChordPadWidget
 
 ChordPadPanelWidget
 
 CustomImageWidget
 
 BindCcDialogWidget
 
 BugReportDialogWidget
 
 SaveChordPresetDialogWidget
 
 DragDestBoxType
 
 FileBrowserFilterType
 
 FileChooserButtonWidget
 
 LeftDockEdgeTab
 
 LogViewerWidget
 
 ModulatorWidget
 
 ModulatorMacroWidget
 
const GArray * selection_indices
 
const GArray void * object
 
 PianoRollKeysWidget
 
 PlayheadScrollButtonsWidget
 
 PopoverMenuBinWidget
 
 SnapGridPopoverWidget
 
 PortConnectionsWidget
 
 PortConnectionsTreeWidget
 
 PrerollCountSelectorType
 
 SpectrumAnalyzerWidget
 
 TracklistHeaderWidget
 
 VelocitySettingsWidget
 

Detailed Description

Custom GUI elements that reflect the backend.

Macro Definition Documentation

◆ AP_WIDGET_POINT_SIZE

#define AP_WIDGET_POINT_SIZE   6

Definition at line 24 of file automation_point.h.

◆ ARRANGER_MINIMAP_SELECTION_WIDGET_TYPE

#define ARRANGER_MINIMAP_SELECTION_WIDGET_TYPE    (arranger_minimap_selection_widget_get_type ())

Definition at line 25 of file arranger_minimap_selection.h.

◆ ARRANGER_OBJECT_FADE_POINT_HALFWIDTH

#define ARRANGER_OBJECT_FADE_POINT_HALFWIDTH   6

Definition at line 25 of file arranger_object.h.

◆ ARRANGER_OBJECT_FADE_POINT_WIDTH

#define ARRANGER_OBJECT_FADE_POINT_WIDTH   12

Definition at line 24 of file arranger_object.h.

◆ arranger_object_is_fade_in

#define arranger_object_is_fade_in ( self,
x,
y,
only_handle,
only_outer )
Value:
arranger_object_is_fade (self, true, x, y, only_handle, only_outer, true) \
self, true, x, y, only_handle, only_outer, false)
bool arranger_object_is_fade(ArrangerObject *self, bool in, const int x, int y, bool only_handle, bool only_outer, bool check_lane)
Returns if the current position is for moving the fade in/out mark (timeline only).

Definition at line 53 of file arranger_object.h.

◆ arranger_object_is_fade_out

#define arranger_object_is_fade_out ( self,
x,
y,
only_handle,
only_outer )
Value:
arranger_object_is_fade (self, false, x, y, only_handle, only_outer, true) \
self, false, x, y, only_handle, only_outer, false)

Definition at line 58 of file arranger_object.h.

◆ ARRANGER_WIDGET_GET_ACTION

#define ARRANGER_WIDGET_GET_ACTION ( arr,
actn )    (arr->action == UI_OVERLAY_ACTION_##actn)

Definition at line 43 of file arranger.h.

◆ arranger_widget_print_action

#define arranger_widget_print_action ( self)     g_debug ("action: %s", ui_overlay_strings[self->action])

Definition at line 722 of file arranger.h.

◆ AUTOMATION_ARRANGER_VPADDING

#define AUTOMATION_ARRANGER_VPADDING   4

Padding to leave before and after the usable vertical range for automation.

Definition at line 41 of file automation_arranger.h.

◆ AUTOMATION_MODE_HPADDING

#define AUTOMATION_MODE_HPADDING   3

Definition at line 28 of file automation_mode.h.

◆ AUTOMATION_MODE_HSEPARATOR_SIZE

#define AUTOMATION_MODE_HSEPARATOR_SIZE   1

Definition at line 29 of file automation_mode.h.

◆ bar_slider_widget_new

#define bar_slider_widget_new ( getter,
setter,
obj,
min,
max,
w,
h,
zero,
dec,
mode,
suffix )
Value:
BAR_SLIDER_TYPE_NORMAL, (float (*) (void *)) getter, \
(void (*) (void *, float)) setter, (void *) obj, min, max, w, h, zero, 0, \
dec, mode, "", suffix)
BarSliderWidget * _bar_slider_widget_new(BarSliderType type, float(*get_val)(void *), void(*set_val)(void *, float), void *object, float min, float max, int w, int h, float zero, int convert_to_percentage, int decimals, UiDragMode mode, const char *prefix, const char *suffix)
Creates a bar slider widget for floats.

Helper to create a bar slider widget.

Definition at line 173 of file bar_slider.h.

◆ bar_slider_widget_new_port_connection

#define bar_slider_widget_new_port_connection ( conn,
prefix )
Value:
BAR_SLIDER_TYPE_PORT_MULTIPLIER, NULL, NULL, (void *) conn, 0.f, 1.f, 160, \
20, 0.f, 1, 0, UI_DRAG_MODE_CURSOR, prefix, " %")
@ UI_DRAG_MODE_CURSOR
Value is wherever the cursor is.
Definition ui.h:370
@ BAR_SLIDER_TYPE_PORT_MULTIPLIER
Port connection multiplier.
Definition bar_slider.h:42

Wrapper.

Parameters
connPortConnection pointer.

Definition at line 185 of file bar_slider.h.

◆ BOT_BAR_WIDGET_TYPE

#define BOT_BAR_WIDGET_TYPE   (bot_bar_widget_get_type ())

Definition at line 31 of file bot_bar.h.

◆ BUG_REPORT_DIALOG_WIDGET_TYPE

#define BUG_REPORT_DIALOG_WIDGET_TYPE   (bug_report_dialog_widget_get_type ())

Definition at line 26 of file bug_report_dialog.h.

◆ CC_BINDINGS_WIDGET_TYPE

#define CC_BINDINGS_WIDGET_TYPE   (cc_bindings_widget_get_type ())

Definition at line 26 of file cc_bindings.h.

◆ CHORD_OBJECT_NAME_FONT

#define CHORD_OBJECT_NAME_FONT   "Bold 8"

Definition at line 26 of file chord_object.h.

◆ CHORD_OBJECT_NAME_PADDING

#define CHORD_OBJECT_NAME_PADDING   2

Definition at line 27 of file chord_object.h.

◆ CHORD_OBJECT_WIDGET_TRIANGLE_W

#define CHORD_OBJECT_WIDGET_TRIANGLE_W   10

Definition at line 25 of file chord_object.h.

◆ CHORD_PACK_BROWSER_WIDGET_TYPE

#define CHORD_PACK_BROWSER_WIDGET_TYPE   (chord_pack_browser_widget_get_type ())

Definition at line 23 of file chord_pack_browser.h.

◆ CHORD_PAD_PANEL_WIDGET_TYPE

#define CHORD_PAD_PANEL_WIDGET_TYPE   (chord_pad_panel_widget_get_type ())

Definition at line 26 of file chord_pad_panel.h.

◆ CHORD_PAD_WIDGET_TYPE

#define CHORD_PAD_WIDGET_TYPE   (chord_pad_widget_get_type ())

Definition at line 26 of file chord_pad.h.

◆ CPU_WIDGET_TYPE

#define CPU_WIDGET_TYPE   (cpu_widget_get_type ())

Definition at line 23 of file cpu.h.

◆ CUSTOM_BUTTON_WIDGET_MAX_TRANSITION_FRAMES

#define CUSTOM_BUTTON_WIDGET_MAX_TRANSITION_FRAMES   9

Definition at line 21 of file custom_button.h.

◆ DEFAULT_PX_PER_TICK

#define DEFAULT_PX_PER_TICK   0.03

Pixels to draw between each beat, before being adjusted for zoom.

Used by the ruler and timeline.

Definition at line 53 of file ruler.h.

◆ digital_meter_widget_new_for_position

#define digital_meter_widget_new_for_position ( obj,
drag_begin,
getter,
setter,
drag_end,
caption )
Value:
(void *) obj, (void (*) (void *)) drag_begin, \
(void (*) (void *, Position *)) getter, \
(void (*) (void *, Position *)) setter, (void (*) (void *)) drag_end, \
caption)
DigitalMeterWidget * _digital_meter_widget_new_for_position(void *obj, void(*drag_begin)(void *), void(*get_val)(void *, Position *), void(*set_val)(void *, Position *), void(*drag_end)(void *), const char *caption)
Creates a digital meter for an arbitrary position.
A Position is made up of bars.beats.sixteenths.ticks.
Definition position.h:129

Definition at line 190 of file digital_meter.h.

◆ DRAG_DEST_BOX_WIDGET_TYPE

#define DRAG_DEST_BOX_WIDGET_TYPE   (drag_dest_box_widget_get_type ())

Definition at line 25 of file drag_dest_box.h.

◆ EDITOR_RULER

#define EDITOR_RULER   MW_CLIP_EDITOR_INNER->ruler

Definition at line 27 of file editor_ruler.h.

◆ knob_widget_new_port

#define knob_widget_new_port ( conn,
size )
Value:
NULL, NULL, (void *) conn, KNOB_TYPE_PORT_MULTIPLIER, 0.f, 1.f, size, 0.f)
KnobWidget * _knob_widget_new(GenericFloatGetter get_val, GenericFloatGetter get_default_val, GenericFloatSetter set_val, void *object, KnobType type, float min, float max, int size, float zero)
Creates a knob widget with the given options and binds it to the given value.
@ KNOB_TYPE_PORT_MULTIPLIER
Port connection multiplier.
Definition knob.h:36
Parameters
connPortConnection pointer.

Definition at line 146 of file knob.h.

◆ knob_widget_new_simple

#define knob_widget_new_simple ( getter,
default_getter,
setter,
obj,
min,
max,
size,
zero )
Value:
(GenericFloatGetter) getter, (GenericFloatGetter) default_getter, \
(GenericFloatSetter) setter, (void *) obj, KNOB_TYPE_NORMAL, min, max, \
size, zero)
float(* GenericFloatGetter)(void *object)
Getter prototype for float values.
Definition types.h:73
void(* GenericFloatSetter)(void *object, float val)
Setter prototype for float values.
Definition types.h:78

Definition at line 136 of file knob.h.

◆ LEFT_DOCK_EDGE_WIDGET_TYPE

#define LEFT_DOCK_EDGE_WIDGET_TYPE   (left_dock_edge_widget_get_type ())

Definition at line 27 of file left_dock_edge.h.

◆ MAIN_WINDOW

#define MAIN_WINDOW   zrythm_app->main_window

Definition at line 37 of file main_window.h.

◆ MARKER_NAME_FONT

#define MARKER_NAME_FONT   "Bold 8"

Definition at line 26 of file marker.h.

◆ MARKER_NAME_PADDING

#define MARKER_NAME_PADDING   2

Definition at line 27 of file marker.h.

◆ MAX_ZOOM_LEVEL

#define MAX_ZOOM_LEVEL   1800.

Definition at line 66 of file ruler.h.

◆ MIN_ZOOM_LEVEL

#define MIN_ZOOM_LEVEL   0.04

Definition at line 65 of file ruler.h.

◆ MIXER_WIDGET_TYPE

#define MIXER_WIDGET_TYPE   (mixer_widget_get_type ())

Definition at line 32 of file mixer.h.

◆ MODULATOR_MACRO_WIDGET_TYPE

#define MODULATOR_MACRO_WIDGET_TYPE   (modulator_macro_widget_get_type ())

Definition at line 27 of file modulator_macro.h.

◆ MODULATOR_WIDGET_TYPE

#define MODULATOR_WIDGET_TYPE   (modulator_widget_get_type ())

Definition at line 30 of file modulator.h.

◆ MW

#define MW   MAIN_WINDOW

Definition at line 38 of file main_window.h.

◆ MW_AUDIO_ARRANGER

#define MW_AUDIO_ARRANGER   MW_AUDIO_EDITOR_SPACE->arranger

Definition at line 23 of file audio_arranger.h.

◆ MW_AUDIO_EDITOR_SPACE

#define MW_AUDIO_EDITOR_SPACE   MW_CLIP_EDITOR_INNER->audio_editor_space

Definition at line 31 of file audio_editor_space.h.

◆ MW_AUDIO_EVENT_VIEWER

#define MW_AUDIO_EVENT_VIEWER   MW_BOT_DOCK_EDGE->event_viewer_audio

Definition at line 40 of file event_viewer.h.

◆ MW_AUTOMATION_ARRANGER

#define MW_AUTOMATION_ARRANGER   MW_AUTOMATION_EDITOR_SPACE->arranger

Definition at line 37 of file automation_arranger.h.

◆ MW_AUTOMATION_EDITOR_SPACE

#define MW_AUTOMATION_EDITOR_SPACE   MW_CLIP_EDITOR_INNER->automation_editor_space

Definition at line 35 of file automation_editor_space.h.

◆ MW_AUTOMATION_EVENT_VIEWER

#define MW_AUTOMATION_EVENT_VIEWER   MW_BOT_DOCK_EDGE->event_viewer_automation

Definition at line 41 of file event_viewer.h.

◆ MW_BOT_BAR

#define MW_BOT_BAR   MW->bot_bar

Definition at line 34 of file bot_bar.h.

◆ MW_BOT_FOLDABLE_NOTEBOOK

#define MW_BOT_FOLDABLE_NOTEBOOK   MW_BOT_DOCK_EDGE->bot_notebook

Definition at line 31 of file foldable_notebook.h.

◆ MW_CENTER_DOCK

#define MW_CENTER_DOCK   MAIN_WINDOW->center_dock

Definition at line 35 of file center_dock.h.

◆ MW_CHORD_EDITOR_SPACE

#define MW_CHORD_EDITOR_SPACE   MW_CLIP_EDITOR_INNER->chord_editor_space

Definition at line 32 of file chord_editor_space.h.

◆ MW_CHORD_EVENT_VIEWER

#define MW_CHORD_EVENT_VIEWER   MW_BOT_DOCK_EDGE->event_viewer_chord

Definition at line 39 of file event_viewer.h.

◆ MW_CLIP_EDITOR_INNER

#define MW_CLIP_EDITOR_INNER   MW_CLIP_EDITOR->clip_editor_inner

Definition at line 38 of file clip_editor_inner.h.

◆ MW_CPU

#define MW_CPU   (MW_BOT_BAR->cpu_load)

Definition at line 21 of file cpu.h.

◆ MW_DIGITAL_BPM

#define MW_DIGITAL_BPM   MW_BOT_BAR->digital_bpm

Definition at line 36 of file bot_bar.h.

◆ MW_DIGITAL_TIME_SIG

#define MW_DIGITAL_TIME_SIG   MW_BOT_BAR->digital_timesig

Definition at line 37 of file bot_bar.h.

◆ MW_DIGITAL_TRANSPORT

#define MW_DIGITAL_TRANSPORT   MW_BOT_BAR->digital_transport

Definition at line 35 of file bot_bar.h.

◆ MW_EDITOR_EVENT_VIEWER_STACK

#define MW_EDITOR_EVENT_VIEWER_STACK   MW_BOT_DOCK_EDGE->event_viewer_stack

Definition at line 37 of file event_viewer.h.

◆ MW_MAIN_NOTEBOOK

#define MW_MAIN_NOTEBOOK   MW_CENTER_DOCK->main_notebook

Definition at line 38 of file main_notebook.h.

◆ MW_MIDI_ARRANGER

#define MW_MIDI_ARRANGER   (MW_MIDI_EDITOR_SPACE->arranger_wrapper->child)

Definition at line 25 of file midi_arranger.h.

◆ MW_MIDI_EDITOR_SPACE

#define MW_MIDI_EDITOR_SPACE   MW_CLIP_EDITOR_INNER->midi_editor_space

Definition at line 35 of file midi_editor_space.h.

◆ MW_MIDI_EVENT_VIEWER

#define MW_MIDI_EVENT_VIEWER   MW_BOT_DOCK_EDGE->event_viewer_midi

Definition at line 38 of file event_viewer.h.

◆ MW_MIXER

#define MW_MIXER   MW_BOT_DOCK_EDGE->mixer

Definition at line 35 of file mixer.h.

◆ MW_MODULATOR_VIEW

#define MW_MODULATOR_VIEW   MW_BOT_DOCK_EDGE->modulator_view

Definition at line 35 of file modulator_view.h.

◆ MW_PANEL_FILE_BROWSER

#define MW_PANEL_FILE_BROWSER   MW_RIGHT_DOCK_EDGE->file_browser

Definition at line 31 of file panel_file_browser.h.

◆ MW_PINNED_TIMELINE

#define MW_PINNED_TIMELINE   (MW_TIMELINE_PANEL->pinned_timeline)

Definition at line 37 of file timeline_arranger.h.

◆ MW_PINNED_TRACKLIST

#define MW_PINNED_TRACKLIST   MW_TIMELINE_PANEL->pinned_tracklist

Definition at line 38 of file pinned_tracklist.h.

◆ MW_PLUGIN_BROWSER

#define MW_PLUGIN_BROWSER   MW_RIGHT_DOCK_EDGE->plugin_browser

Definition at line 37 of file plugin_browser.h.

◆ MW_PREFERENCES

#define MW_PREFERENCES   ZRYTHM->preferences

Definition at line 32 of file preferences.h.

◆ MW_RULER

#define MW_RULER   MW_TIMELINE_PANEL->ruler

Definition at line 30 of file timeline_ruler.h.

◆ MW_TIMELINE

#define MW_TIMELINE   (MW_TIMELINE_PANEL->timeline)

Definition at line 36 of file timeline_arranger.h.

◆ MW_TIMELINE_EVENT_VIEWER

#define MW_TIMELINE_EVENT_VIEWER   MW_MAIN_NOTEBOOK->event_viewer

Definition at line 36 of file event_viewer.h.

◆ MW_TIMELINE_MINIMAP

#define MW_TIMELINE_MINIMAP   (MW_TIMELINE_PANEL->timeline_wrapper->minimap)

Definition at line 37 of file arranger_minimap.h.

◆ MW_TIMELINE_PANEL

#define MW_TIMELINE_PANEL   (MW_MAIN_NOTEBOOK->timeline_panel)

Definition at line 38 of file timeline_panel.h.

◆ MW_TIMELINE_TOOLBAR

#define MW_TIMELINE_TOOLBAR   MW_TIMELINE_PANEL->timeline_toolbar

Definition at line 35 of file timeline_toolbar.h.

◆ MW_TOOLBOX

#define MW_TOOLBOX   MAIN_WINDOW->toolbox

Definition at line 24 of file toolbox.h.

◆ MW_TRACK_INSPECTOR

#define MW_TRACK_INSPECTOR   MW_LEFT_DOCK_EDGE->track_inspector

Definition at line 39 of file inspector_track.h.

◆ MW_TRACKLIST

#define MW_TRACKLIST   MW_TIMELINE_PANEL->tracklist

Definition at line 22 of file tracklist.h.

◆ MW_TRACKLIST_SCROLL

#define MW_TRACKLIST_SCROLL   (MW_TIMELINE_PANEL->tracklist_scroll)

Definition at line 40 of file timeline_panel.h.

◆ MW_TRANSPORT_CONTROLS

#define MW_TRANSPORT_CONTROLS   MW_BOT_BAR->transport_controls

Definition at line 31 of file transport_controls.h.

◆ PANEL_FILE_BROWSER_WIDGET_TYPE

#define PANEL_FILE_BROWSER_WIDGET_TYPE   (panel_file_browser_widget_get_type ())

Definition at line 23 of file panel_file_browser.h.

◆ PLAYHEAD_SCROLL_BUTTONS_WIDGET_TYPE

#define PLAYHEAD_SCROLL_BUTTONS_WIDGET_TYPE    (playhead_scroll_buttons_widget_get_type ())

Definition at line 22 of file playhead_scroll_buttons.h.

◆ PORT_CONNECTIONS_WIDGET_TYPE

#define PORT_CONNECTIONS_WIDGET_TYPE   (port_connections_widget_get_type ())

Definition at line 26 of file port_connections.h.

◆ QUANTIZE_BOX_WIDGET_TYPE

#define QUANTIZE_BOX_WIDGET_TYPE   (quantize_box_widget_get_type ())

Definition at line 22 of file quantize_box.h.

◆ RANGE_ACTION_BUTTONS_WIDGET_TYPE

#define RANGE_ACTION_BUTTONS_WIDGET_TYPE    (range_action_buttons_widget_get_type ())

Definition at line 22 of file range_action_buttons.h.

◆ REGION_NAME_BOX_CURVINESS

#define REGION_NAME_BOX_CURVINESS   4.0

Definition at line 35 of file region.h.

◆ REGION_NAME_BOX_PADDING

#define REGION_NAME_BOX_PADDING   2

Definition at line 34 of file region.h.

◆ REGION_NAME_FONT

#define REGION_NAME_FONT   REGION_NAME_FONT_NO_SIZE " 8"

Definition at line 31 of file region.h.

◆ REGION_NAME_FONT_NO_SIZE

#define REGION_NAME_FONT_NO_SIZE   "Bold"

Definition at line 27 of file region.h.

◆ REGION_NAME_PADDING_R

#define REGION_NAME_PADDING_R   5

Definition at line 33 of file region.h.

◆ RULER_ZOOM_LEVEL_MULTIPLIER

#define RULER_ZOOM_LEVEL_MULTIPLIER   1.28

Multiplier when zooming in/out.

Definition at line 63 of file ruler.h.

◆ SCALE_OBJECT_NAME_FONT

#define SCALE_OBJECT_NAME_FONT   "Sans SemiBold 8"

Definition at line 27 of file scale_object.h.

◆ SCALE_OBJECT_NAME_PADDING

#define SCALE_OBJECT_NAME_PADDING   2

Definition at line 28 of file scale_object.h.

◆ SCALE_OBJECT_WIDGET_TRIANGLE_W

#define SCALE_OBJECT_WIDGET_TRIANGLE_W   10

Definition at line 26 of file scale_object.h.

◆ SHOW_MODULATOR_VIEW

#define SHOW_MODULATOR_VIEW    gtk_notebook_set_current_page (MW_MODULATOR_VIEW->bot_notebook, 2)

Brings up the ModulatorViewWidget in the notebook.

Definition at line 40 of file modulator_view.h.

◆ SNAP_GRID_POPOVER_WIDGET_TYPE

#define SNAP_GRID_POPOVER_WIDGET_TYPE   (snap_grid_popover_widget_get_type ())

Definition at line 27 of file snap_grid_popover.h.

◆ SPACE_BEFORE_START

#define SPACE_BEFORE_START   10

Pixels to put before 1st bar.

Definition at line 58 of file ruler.h.

◆ SPACE_BEFORE_START_D

#define SPACE_BEFORE_START_D   10.0

Definition at line 60 of file ruler.h.

◆ SPACE_BEFORE_START_F

#define SPACE_BEFORE_START_F   10.f

Definition at line 59 of file ruler.h.

◆ SPECTRUM_ANALYZER_WIDGET_TYPE

#define SPECTRUM_ANALYZER_WIDGET_TYPE   (spectrum_analyzer_widget_get_type ())

Definition at line 28 of file spectrum_analyzer.h.

◆ TOOLBOX_WIDGET_TYPE

#define TOOLBOX_WIDGET_TYPE   (toolbox_widget_get_type ())

Definition at line 21 of file toolbox.h.

◆ TRACK_BOT_BUTTONS_SHOULD_BE_VISIBLE

#define TRACK_BOT_BUTTONS_SHOULD_BE_VISIBLE ( height)
Value:
(height \
>= (TRACK_BUTTON_SIZE + TRACK_BUTTON_PADDING_FROM_EDGE) * 2 \
#define TRACK_BUTTON_PADDING
Padding between each button.
Definition track.h:37
#define TRACK_BUTTON_PADDING_FROM_EDGE
Padding between the track edges and the buttons.
Definition track.h:41

Definition at line 43 of file track.h.

◆ TRACK_BUTTON_PADDING

#define TRACK_BUTTON_PADDING   6

Padding between each button.

Definition at line 37 of file track.h.

◆ TRACK_BUTTON_PADDING_FROM_EDGE

#define TRACK_BUTTON_PADDING_FROM_EDGE   3

Padding between the track edges and the buttons.

Definition at line 41 of file track.h.

◆ TRACK_BUTTON_SIZE

#define TRACK_BUTTON_SIZE   18

Definition at line 34 of file track.h.

◆ TRACK_CB_ICON_IS

#define TRACK_CB_ICON_IS ( name)    TRACK_ICON_IS (cb->icon_name, name)

Definition at line 77 of file track.h.

◆ TRACK_COLOR_AREA_WIDTH

#define TRACK_COLOR_AREA_WIDTH   18

Definition at line 48 of file track.h.

◆ TRACK_ICON_IS

#define TRACK_ICON_IS ( x,
name )   (string_is_equal (x, TRACK_ICON_NAME_##name))

Definition at line 75 of file track.h.

◆ TRACK_ICON_NAME_BUS

#define TRACK_ICON_NAME_BUS   "effect"

Definition at line 64 of file track.h.

◆ TRACK_ICON_NAME_CHORDS

#define TRACK_ICON_NAME_CHORDS   "minuet-chords"

Definition at line 65 of file track.h.

◆ TRACK_ICON_NAME_FOLD

#define TRACK_ICON_NAME_FOLD   "fluentui-folder-regular"

Definition at line 71 of file track.h.

◆ TRACK_ICON_NAME_FOLD_OPEN

#define TRACK_ICON_NAME_FOLD_OPEN   "fluentui-folder-open-regular"

Definition at line 72 of file track.h.

◆ TRACK_ICON_NAME_FREEZE

#define TRACK_ICON_NAME_FREEZE   "fork-awesome-snowflake-o"

Definition at line 61 of file track.h.

◆ TRACK_ICON_NAME_LISTEN

#define TRACK_ICON_NAME_LISTEN   "gnome-icon-library-headphones-symbolic"

Definition at line 55 of file track.h.

◆ TRACK_ICON_NAME_LOCK

#define TRACK_ICON_NAME_LOCK   "gnome-icon-library-padlock2-symbolic"

Definition at line 59 of file track.h.

◆ TRACK_ICON_NAME_MIDI

#define TRACK_ICON_NAME_MIDI   "instrument"

Definition at line 68 of file track.h.

◆ TRACK_ICON_NAME_MINUS

#define TRACK_ICON_NAME_MINUS   "remove"

Definition at line 63 of file track.h.

◆ TRACK_ICON_NAME_MODULATOR

#define TRACK_ICON_NAME_MODULATOR   "gnome-icon-library-encoder-knob-symbolic"

Definition at line 70 of file track.h.

◆ TRACK_ICON_NAME_MONITOR_AUDIO

#define TRACK_ICON_NAME_MONITOR_AUDIO   "audition"

Definition at line 73 of file track.h.

◆ TRACK_ICON_NAME_MONO_COMPAT

#define TRACK_ICON_NAME_MONO_COMPAT   "mono"

Definition at line 50 of file track.h.

◆ TRACK_ICON_NAME_MUTE

#define TRACK_ICON_NAME_MUTE   "mute"

Definition at line 54 of file track.h.

◆ TRACK_ICON_NAME_PLUS

#define TRACK_ICON_NAME_PLUS   "add"

Definition at line 62 of file track.h.

◆ TRACK_ICON_NAME_RECORD

#define TRACK_ICON_NAME_RECORD   "media-record"

Definition at line 52 of file track.h.

◆ TRACK_ICON_NAME_SHOW_AUTOMATION_LANES

#define TRACK_ICON_NAME_SHOW_AUTOMATION_LANES   "automation-4p"

Definition at line 57 of file track.h.

◆ TRACK_ICON_NAME_SHOW_MARKERS

#define TRACK_ICON_NAME_SHOW_MARKERS    "gnome-icon-library-flag-outline-thick-symbolic"

Definition at line 66 of file track.h.

◆ TRACK_ICON_NAME_SHOW_TRACK_LANES

#define TRACK_ICON_NAME_SHOW_TRACK_LANES   "untitled-ui-rows-03"

Definition at line 58 of file track.h.

◆ TRACK_ICON_NAME_SHOW_UI

#define TRACK_ICON_NAME_SHOW_UI   "jam-icons-screen"

Definition at line 56 of file track.h.

◆ TRACK_ICON_NAME_SOLO

#define TRACK_ICON_NAME_SOLO   "solo"

Definition at line 53 of file track.h.

◆ TRACK_ICON_NAME_SWAP_PHASE

#define TRACK_ICON_NAME_SWAP_PHASE   "phase"

Definition at line 51 of file track.h.

◆ TRACK_ICON_NAME_TEMPO

#define TRACK_ICON_NAME_TEMPO   "filename-bpm-amarok"

Definition at line 69 of file track.h.

◆ TRACK_ICON_NAME_UNLOCK

#define TRACK_ICON_NAME_UNLOCK   "gnome-icon-library-padlock2-open-symbolic"

Definition at line 60 of file track.h.

◆ VELOCITY_LINE_WIDTH

#define VELOCITY_LINE_WIDTH   4

Definition at line 29 of file velocity.h.

◆ VELOCITY_RESIZE_THRESHOLD

#define VELOCITY_RESIZE_THRESHOLD   16

Definition at line 30 of file velocity.h.

◆ VELOCITY_SETTINGS_WIDGET_TYPE

#define VELOCITY_SETTINGS_WIDGET_TYPE   (velocity_settings_widget_get_type ())

Definition at line 21 of file velocity_settings.h.

◆ VELOCITY_WIDTH

#define VELOCITY_WIDTH   8

Definition at line 28 of file velocity.h.

◆ VOLUME_WIDGET_TYPE

#define VOLUME_WIDGET_TYPE   (volume_widget_get_type ())

Definition at line 20 of file volume.h.

Typedef Documentation

◆ ActiveHardwareMbWidget

typedef struct _ActiveHardwareMbWidget ActiveHardwareMbWidget

Definition at line 38 of file monitor_section.h.

◆ AddTrackMenuButtonWidget

typedef struct _AddTrackMenuButtonWidget AddTrackMenuButtonWidget

Definition at line 29 of file tracklist.h.

◆ ArrangerWidgetForeachFunc

typedef void(* ArrangerWidgetForeachFunc) (ArrangerWidget *arranger)

Definition at line 697 of file arranger.h.

◆ ChordPackBrowserWidget

typedef struct _ChordPackBrowserWidget ChordPackBrowserWidget

Definition at line 37 of file right_dock_edge.h.

◆ ChordTrackWidget

typedef struct _ChordTrackWidget ChordTrackWidget

Definition at line 26 of file tracklist.h.

◆ ColorAreaWidget

typedef struct _ColorAreaWidget ColorAreaWidget

Definition at line 33 of file inspector_plugin.h.

◆ DragDestBoxWidget

typedef struct _DragDestBoxWidget DragDestBoxWidget

Definition at line 25 of file tracklist.h.

◆ ExpanderBoxRevealFunc

typedef void(* ExpanderBoxRevealFunc) (ExpanderBoxWidget *expander_box, bool revealed, void *user_data)

Reveal callback prototype.

Definition at line 38 of file expander_box.h.

◆ ExportProgressDialogCloseCallback

typedef void(* ExportProgressDialogCloseCallback) (ExportData *data)

Definition at line 83 of file export_progress_dialog.h.

◆ FileBrowserWidget

typedef struct _FileBrowserWidget FileBrowserWidget

Definition at line 33 of file right_dock_edge.h.

◆ FoldableNotebookWidget

typedef struct _FoldableNotebookWidget FoldableNotebookWidget

Definition at line 35 of file right_dock_edge.h.

◆ MeterWidget

typedef struct _MeterWidget MeterWidget

Definition at line 37 of file monitor_section.h.

◆ MonitorSectionWidget

typedef struct _MonitorSectionWidget MonitorSectionWidget

Definition at line 34 of file right_dock_edge.h.

◆ PanelFileBrowserWidget

typedef struct _PanelFileBrowserWidget PanelFileBrowserWidget

Definition at line 36 of file right_dock_edge.h.

◆ PluginPropertiesExpanderWidget

typedef struct _PluginPropertiesExpanderWidget PluginPropertiesExpanderWidget

Definition at line 32 of file inspector_plugin.h.

◆ PortConnectionsPopoverWidget

typedef struct _PortConnectionsPopoverWidget PortConnectionsPopoverWidget

Definition at line 31 of file port_selector_dialog.h.

◆ SelectedFileGetter

typedef WrappedObjectWithChangeSignal *(* SelectedFileGetter) (GtkWidget *widget)

Definition at line 40 of file file_auditioner_controls.h.

◆ SliderBarWidget

typedef struct _SliderBarWidget SliderBarWidget

Definition at line 36 of file monitor_section.h.

◆ StringListItemFactoryEnumStringGetter

typedef const char *(* StringListItemFactoryEnumStringGetter) (int val)

Definition at line 21 of file string_list_item_factory.h.

◆ TrackWidget [1/2]

typedef struct _TrackWidget TrackWidget

Definition at line 41 of file pinned_tracklist.h.

◆ TrackWidget [2/2]

typedef struct _TrackWidget TrackWidget

Definition at line 24 of file tracklist.h.

Enumeration Type Documentation

◆ ArrangerCursor

Enumerator
ARRANGER_CURSOR_NONE 

Invalid cursor.

Definition at line 46 of file arranger.h.

◆ ArrangerMinimapAction

Enumerator
ARRANGER_MINIMAP_ACTION_STARTING_MOVING 

in drag_start

ARRANGER_MINIMAP_ACTION_MOVING 

in drag start,

also for dragging up/down bitwig style

Definition at line 39 of file arranger_minimap.h.

◆ ArrangerMinimapType

enum ArrangerMinimapType

Definition at line 49 of file arranger_minimap.h.

◆ ArrangerWidgetType

Type of arranger.

Definition at line 83 of file arranger.h.

◆ AutomatableSelectorType

Automatable type.

These are shown on the left side of the popover.

Enumerator
AS_TYPE_MIDI_CH1 

Midi automatable (modwheel etc.).

AS_TYPE_CHANNEL 

Channel.

AS_TYPE_MIDI_FX 

Plugin at Track MIDI fx slot.

AS_TYPE_INSTRUMENT 

Instrument plugin.

AS_TYPE_INSERT 

Insert plugin.

AS_TYPE_MODULATOR 

Modulator plugin.

AS_TYPE_TEMPO 

Tempo track ports.

AS_TYPE_MACRO 

Modulator macros.

Definition at line 33 of file automatable_selector_popover.h.

◆ BarSliderType

Type of slider.

Enumerator
BAR_SLIDER_TYPE_PORT_MULTIPLIER 

Port connection multiplier.

Definition at line 37 of file bar_slider.h.

◆ BounceDialogWidgetType

Type of bounce.

Definition at line 37 of file bounce_dialog.h.

◆ ChannelSendsExpanderPosition

enum ChannelSendsExpanderPosition

Definition at line 38 of file channel_sends_expander.h.

◆ CustomButtonWidgetOwner

enum CustomButtonWidgetOwner

Definition at line 34 of file custom_button.h.

◆ CustomButtonWidgetState

Enumerator
CUSTOM_BUTTON_WIDGET_STATE_SEMI_TOGGLED 

Only border is toggled.

Definition at line 23 of file custom_button.h.

◆ DigitalMeterType

enum DigitalMeterType

Definition at line 39 of file digital_meter.h.

◆ EventViewerType

enum EventViewerType

Definition at line 43 of file event_viewer.h.

◆ ExportFilenamePattern

enum ExportFilenamePattern

Definition at line 32 of file export_dialog.h.

◆ ItemFactoryType

Item factory column type.

Enumerator
ITEM_FACTORY_INTEGER 

Integer display.

ITEM_FACTORY_ICON 

Icon.

ITEM_FACTORY_ICON_AND_TEXT 

Composite type (eg, used in plugin browser).

ITEM_FACTORY_POSITION 

Position.

ITEM_FACTORY_COLOR 

Color.

Definition at line 24 of file item_factory.h.

◆ KnobType

enum KnobType

Type of knob.

Enumerator
KNOB_TYPE_PORT_MULTIPLIER 

Port connection multiplier.

Definition at line 31 of file knob.h.

◆ LiveWaveformType

enum LiveWaveformType

Definition at line 31 of file live_waveform.h.

◆ MidiActivityBarAnimation

Enumerator
MAB_ANIMATION_BAR 

Shows a bars that decreases over time.

MAB_ANIMATION_FLASH 

Shows a flash that fades out over time.

Definition at line 40 of file midi_activity_bar.h.

◆ MidiActivityBarType

enum MidiActivityBarType

Definition at line 34 of file midi_activity_bar.h.

◆ PluginBrowserFilter

enum PluginBrowserFilter

Definition at line 47 of file plugin_browser.h.

◆ PluginBrowserSortStyle

enum PluginBrowserSortStyle

Definition at line 56 of file plugin_browser.h.

◆ PluginBrowserTab

enum PluginBrowserTab

Definition at line 39 of file plugin_browser.h.

◆ PluginStripExpanderPosition

enum PluginStripExpanderPosition

Definition at line 35 of file plugin_strip_expander.h.

◆ PortsExpanderTrackPortType

Used for Track's.

Definition at line 42 of file ports_expander.h.

◆ RulerWidgetRangeType

Range type.

Enumerator
RW_RANGE_START 

Range start.

RW_RANGE_FULL 

Whole range.

RW_RANGE_END 

Range end.

Definition at line 92 of file ruler.h.

◆ RulerWidgetType

enum RulerWidgetType

Definition at line 83 of file ruler.h.

◆ RWTarget

enum RWTarget

The ruler widget target acting upon.

Enumerator
RW_TARGET_RANGE 

for timeline only

RW_TARGET_LOOP_RANGE 

for timeline only

Definition at line 71 of file ruler.h.

◆ TrackWidgetHighlight

Highlight location.

Definition at line 82 of file track.h.

◆ TrackWidgetResizeTarget

Resize target.

Definition at line 93 of file track.h.

Function Documentation

◆ _bar_slider_widget_new()

BarSliderWidget * _bar_slider_widget_new ( BarSliderType type,
float(*)(void *) get_val,
void(*)(void *, float) set_val,
void * object,
float min,
float max,
int w,
int h,
float zero,
int convert_to_percentage,
int decimals,
UiDragMode mode,
const char * prefix,
const char * suffix )

Creates a bar slider widget for floats.

Parameters
destPort destination, if this is a port to port connection slider.
convert_to_percentageMultiply the value by 100 when showing it.

◆ _digital_meter_widget_new_for_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 )

Creates a digital meter for an arbitrary position.

Parameters
objThe object to call the get/setters with.

E.g. Region.

Parameters
get_valThe getter func to get the position, passing the obj and the position to save to.
set_valThe setter function to set the position.
drag_beginFunction to call when starting the action. @parram drag_end Function to call when ending the action.

◆ _knob_widget_new()

KnobWidget * _knob_widget_new ( GenericFloatGetter get_val,
GenericFloatGetter get_default_val,
GenericFloatSetter set_val,
void * object,
KnobType type,
float min,
float max,
int size,
float zero )

Creates a knob widget with the given options and binds it to the given value.

Parameters
get_valGetter function.
get_default_valGetter function for default value.
set_valSetter function.
objectObject to call get/set with.
destPort destination multiplier index, if type is Port, otherwise ignored.

◆ add_tracks_to_group_dialog_widget_get_track()

Track * add_tracks_to_group_dialog_widget_get_track ( TracklistSelections * sel)

Creates an add_tracks_to_group dialog widget and displays it.

Returns
The new group track, after a create tracks action has been executed, or NULL if failure.

◆ arranger_object_draw()

void arranger_object_draw ( ArrangerObject * self,
ArrangerWidget * arranger,
GtkSnapshot * snapshot,
GdkRectangle * rect )

Draws the given object.

To be called from the arranger's draw callback.

Parameters
rectRectangle in the arranger.

◆ arranger_object_get_draw_rectangle()

int arranger_object_get_draw_rectangle ( ArrangerObject * self,
GdkRectangle * parent_rect,
GdkRectangle * full_rect,
GdkRectangle * draw_rect )

Gets the draw rectangle based on the given full rectangle of the arranger object.

Parameters
parent_rectThe current arranger rectangle.
full_rectThe object's full rectangle. This will usually be ArrangerObject->full_rect, unless drawing in a lane (for Region's).
draw_rectThe rectangle will be set here.
Returns
Whether the draw rect is visible.

◆ arranger_object_is_fade()

bool arranger_object_is_fade ( ArrangerObject * self,
bool in,
const int x,
int y,
bool only_handle,
bool only_outer,
bool check_lane )

Returns if the current position is for moving the fade in/out mark (timeline only).

Parameters
inTrue for fade in, false for fade out.
xX in local coordinates.
only_handleWhether to only check if this is inside the fade handle. If this is false, only_outer will be considered.
only_outerWhether to only check if this is inside the fade's outer (unplayed) region. If this is false, the whole fade area will be considered.
check_laneWhether to check the lane region instead of the main one (if region).

◆ arranger_object_is_hovered()

bool arranger_object_is_hovered ( ArrangerObject * self,
ArrangerWidget * arranger )

Whether the object is currently hovered.

Parameters
arrangerOwner arranger. Should be passed to speed up calculation.

◆ arranger_object_is_hovered_or_start_object()

bool arranger_object_is_hovered_or_start_object ( ArrangerObject * self,
ArrangerWidget * arranger )

Whether hovered or the start object of the current action in the arranger.

Parameters
arrangerOwner arranger. Should be passed to speed up calculation.

◆ arranger_object_is_rename()

NONNULL bool arranger_object_is_rename ( ArrangerObject * self,
const int x,
const int y )

Returns if the current position is for renaming the object.

Parameters
xX in local coordinates.
yY in local coordinates.

◆ arranger_object_is_resize_l()

NONNULL PURE bool arranger_object_is_resize_l ( ArrangerObject * self,
const int x )

Returns if the current position is for resizing L.

Parameters
xX in local coordinates.

◆ arranger_object_is_resize_loop()

bool arranger_object_is_resize_loop ( ArrangerObject * self,
const int y,
bool ctrl_pressed )

Returns if the current position is for resizing loop.

Parameters
yY in local coordinates.

◆ arranger_object_is_resize_r()

NONNULL bool arranger_object_is_resize_r ( ArrangerObject * self,
const int x )

Returns if the current position is for resizing R.

Parameters
xX in local coordinates.

◆ arranger_object_is_resize_up()

bool arranger_object_is_resize_up ( ArrangerObject * self,
const int x,
const int y )

Returns if the current position is for resizing up (eg, Velocity).

Parameters
xX in local coordinates.
yY in local coordinates.

◆ arranger_object_should_orig_be_visible()

OPTIMIZE_O3 bool arranger_object_should_orig_be_visible ( ArrangerObject * self,
ArrangerWidget * arranger )

Returns if the cached object should be visible, ie, while copy- moving (ctrl+drag) we want to show both the object at its original position and the current object.

This refers to the object at its original position (called "transient").

Parameters
arrangerOwner arranger. Should be passed to speed up calculation.

◆ arranger_object_should_show_cut_lines()

bool arranger_object_should_show_cut_lines ( ArrangerObject * self,
bool alt_pressed )

Returns if arranger_object widgets should show cut lines.

To be used to set the arranger_object's "show_cut".

Parameters
alt_pressedWhether alt is currently pressed.

◆ arranger_widget_create_item()

NONNULL void arranger_widget_create_item ( ArrangerWidget * self,
double start_x,
double start_y,
bool autofilling )

Called when an item needs to be created at the given position.

Parameters
autofillingWhether this is part of an autofill action.

◆ arranger_widget_finish_creating_item_from_action()

NONNULL bool arranger_widget_finish_creating_item_from_action ( ArrangerWidget * self,
double x,
double y )

To be called after using arranger_widget_create_item() in an action (ie, not from click + drag interaction with the arranger) to finish the action.

Returns
Whether an action was performed.

◆ arranger_widget_get_hit_arranger_object()

ArrangerObject * arranger_widget_get_hit_arranger_object ( ArrangerWidget * self,
ArrangerObjectType type,
const double x,
const double y )

Returns the ArrangerObject of the given type at (x,y).

Parameters
typeThe arranger object type, or -1 to search for all types.
xX, or -1 to not check x.
yY, or -1 to not check y.

◆ arranger_widget_get_hit_objects_at_point()

void arranger_widget_get_hit_objects_at_point ( ArrangerWidget * self,
ArrangerObjectType type,
double x,
double y,
GPtrArray * arr )

Fills in the given array with the ArrangerObject's of the given type that appear in the given ranger.

Parameters
typeThe type of arranger objects to find, or -1 to look for all objects.
xX, or -1 to not check x.
yY, or -1 to not check y.

◆ arranger_widget_get_hit_objects_in_rect()

void arranger_widget_get_hit_objects_in_rect ( ArrangerWidget * self,
ArrangerObjectType type,
GdkRectangle * rect,
GPtrArray * arr )

Fills in the given array with the ArrangerObject's of the given type that appear in the given ranger.

Parameters
rectThe rectangle to search in.
typeThe type of arranger objects to find, or -1 to look for all objects.

◆ arranger_widget_get_visible_rect()

void arranger_widget_get_visible_rect ( ArrangerWidget * self,
GdkRectangle * rect )

Returns the current visible rectangle.

Parameters
rectThe rectangle to fill in.

◆ arranger_widget_is_in_moving_operation()

NONNULL PURE bool arranger_widget_is_in_moving_operation ( ArrangerWidget * self)

Returns if the arranger is in a moving-related operation or starting a moving-related operation.

Useful to know if we need transient widgets or not.

◆ arranger_widget_scroll_until_obj()

NONNULL void arranger_widget_scroll_until_obj ( ArrangerWidget * self,
ArrangerObject * obj,
int horizontal,
int up,
int left,
int padding )

Scroll until the given object is visible.

Parameters
horizontal1 for horizontal, 2 for vertical.
upWhether scrolling up or down.
paddingPadding pixels.

◆ arranger_widget_set_highlight_rect()

void arranger_widget_set_highlight_rect ( ArrangerWidget * self,
GdkRectangle * rect )

Sets the highlight rectangle.

Parameters
rectThe rectangle with absolute positions, or NULL to unset/unhighlight.

◆ arranger_widget_toggle_selections_muted()

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.

This creates an undoable action and executes it.

◆ audio_arranger_widget_is_cursor_in_fade()

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.

Parameters
fade_inTrue to check for fade in, false to check for fade out.
resizeTrue to check for whether resizing the fade (left <=> right), false to check for whether changing the fade curviness up/down.

◆ audio_arranger_widget_snap_fade()

int audio_arranger_widget_snap_fade ( ArrangerWidget * self,
Position * pos,
bool fade_in,
bool dry_run )

Updates the fade position during drag update.

Parameters
posAbsolute position in the editor.
fade_inWhether we are resizing the fade in or fade out position. @parram dry_run Don't resize; just check if the resize is allowed.
Returns
0 if the operation was successful, nonzero otherwise.

◆ automation_arranger_move_hit_aps()

bool automation_arranger_move_hit_aps ( ArrangerWidget * self,
double x,
double y )

Called when using the edit tool.

Returns
Whether an automation point was moved.

◆ automation_arranger_widget_create_ap()

void automation_arranger_widget_create_ap ( ArrangerWidget * self,
const Position * pos,
const double start_y,
ZRegion * region,
bool autofilling )

Create an AutomationPointat the given Position in the given Track's AutomationTrack.

Parameters
posThe pre-snapped position.

◆ automation_arranger_widget_gen_context_menu()

GMenu * automation_arranger_widget_gen_context_menu ( ArrangerWidget * self,
GMenu * menu,
double x,
double y )

Generate a context menu at x, y.

Parameters
menuA menu to append entries to (optional).
Returns
The given updated menu or a new menu.

◆ automation_point_draw()

void automation_point_draw ( AutomationPoint * ap,
GtkSnapshot * snapshot,
GdkRectangle * rect,
PangoLayout * layout )

Draws the AutomationPoint in the given cairo context in absolute coordinates.

Parameters
rectArranger rectangle.
layoutPango layout to draw text with.

◆ automation_point_is_curve_hit()

bool automation_point_is_curve_hit ( AutomationPoint * self,
double x,
double y,
double delta_from_curve )

Returns if the automation curve is hit.

This function assumes that the point is already inside the full rect of the automation point.

Parameters
xX in global coordinates.
yY in global coordinates.
delta_from_curveAllowed distance from the curve.
Note
the transient is also checked.

◆ automation_point_is_point_hit()

bool automation_point_is_point_hit ( AutomationPoint * self,
double x,
double y )

Returns if the automation point (circle) is hit.

This function assumes that the point is already inside the full rect of the automation point.

Parameters
xX, or -1 to not check x.
yY, or -1 to not check y.
Note
the transient is also checked.

◆ bot_dock_edge_widget_show_clip_editor()

void bot_dock_edge_widget_show_clip_editor ( BotDockEdgeWidget * self,
bool navigate_to_region_start )

Brings up the clip editor.

Parameters
navigate_to_region_startWhether to adjust the view to start at the region start.

◆ button_with_menu_widget_setup()

void button_with_menu_widget_setup ( ButtonWithMenuWidget * self,
GtkButton * btn,
GMenuModel * gmenu_model,
bool downward_arrow,
int height,
const char * btn_tooltip_text,
const char * menu_tooltip_text )

This must only be called once to set up the widget.

Parameters
btnThe main button.
menuOptional GtkMenu to set for the arrow button.
menuOptional GMenuModel to set for the arrow button.

◆ chord_arranger_calc_deltamax_for_chord_movement()

int chord_arranger_calc_deltamax_for_chord_movement ( int y_delta)

Called on move items_y setup.

calculates the max possible y movement

◆ chord_selector_window_widget_present()

void chord_selector_window_widget_present ( const int chord_idx,
GtkWidget * parent )

Creates the popover.

Parameters
parentThe parent widget to show the dialog on.

◆ custom_button_widget_draw_with_text()

void custom_button_widget_draw_with_text ( CustomButtonWidget * self,
GtkSnapshot * snapshot,
double x,
double y,
double width,
CustomButtonWidgetState state )
Parameters
widthMax width for the button to use.

◆ custom_button_widget_set_text()

void custom_button_widget_set_text ( CustomButtonWidget * self,
PangoLayout * layout,
char * text,
const char * font_descr )

Sets the text and layout to draw the text width.

Parameters
font_descrFont description to set the pango layout font to.

◆ digital_meter_show_context_menu()

void digital_meter_show_context_menu ( DigitalMeterWidget * self,
GMenu * menu )

Shows the widgets popover menu with the provided content.

Parameters
menucontent of the popover menu

◆ event_viewer_widget_refresh()

void event_viewer_widget_refresh ( EventViewerWidget * self,
bool selections_only )

Called to update the models/selections.

Parameters
selections_onlyOnly update the selection status of each item without repopulating the model.

◆ event_viewer_widget_refresh_for_arranger()

void event_viewer_widget_refresh_for_arranger ( const ArrangerWidget * arranger,
bool selections_only )

Convenience function.

Parameters
selections_onlyOnly update the selection status of each item without repopulating the model.

◆ export_progress_dialog_widget_new()

ExportProgressDialogWidget * export_progress_dialog_widget_new ( ExportData * data,
bool autoclose,
ExportProgressDialogCloseCallback close_callback,
bool show_open_dir_btn,
bool cancelable )

Creates an export dialog widget and displays it.

Parameters
dataThe dialog takes ownership of this object.

◆ ext_input_selection_dropdown_widget_refresh()

void ext_input_selection_dropdown_widget_refresh ( GtkDropDown * self,
Track * track,
bool left )

Recreates the internal model(s) on the given dropdown.

Parameters
leftWhether this is for the left channel, otherwise right (if audio).

◆ foldable_notebook_widget_get_current_widget()

GtkWidget * foldable_notebook_widget_get_current_widget ( FoldableNotebookWidget * self)

Get the widget currently visible.

FIXME this is not working with nested containers like scrolled windows. this whole widget needs a rewrite.

◆ folder_channel_widget_refresh()

void folder_channel_widget_refresh ( FolderChannelWidget * self)

Updates everything on the widget.

It is redundant but keeps code organized. Should fix if it causes lags.

◆ G_DECLARE_FINAL_TYPE() [1/15]

G_DECLARE_FINAL_TYPE ( ArrangerMinimapSelectionWidget ,
arranger_minimap_selection_widget ,
Z ,
ARRANGER_MINIMAP_SELECTION_WIDGET ,
GtkWidget  )

Pointer back to parent.

Definition at line 27 of file arranger_minimap_selection.h.

◆ G_DECLARE_FINAL_TYPE() [2/15]

G_DECLARE_FINAL_TYPE ( BugReportDialogWidget ,
bug_report_dialog_widget ,
Z ,
BUG_REPORT_DIALOG_WIDGET ,
AdwAlertDialog  )

Definition at line 27 of file bug_report_dialog.h.

◆ G_DECLARE_FINAL_TYPE() [3/15]

G_DECLARE_FINAL_TYPE ( CcBindingsWidget ,
cc_bindings_widget ,
Z ,
CC_BINDINGS_WIDGET ,
GtkBox  )

Left dock widget.

Definition at line 27 of file cc_bindings.h.

◆ G_DECLARE_FINAL_TYPE() [4/15]

G_DECLARE_FINAL_TYPE ( ChordPackBrowserWidget ,
chord_pack_browser_widget ,
Z ,
CHORD_PACK_BROWSER_WIDGET ,
GtkBox  )

Array of ChordPreset.

Current preset.

Popover to be reused for context menus.

Definition at line 24 of file chord_pack_browser.h.

◆ G_DECLARE_FINAL_TYPE() [5/15]

G_DECLARE_FINAL_TYPE ( ChordPadPanelWidget ,
chord_pad_panel_widget ,
Z ,
CHORD_PAD_PANEL_WIDGET ,
GtkGrid  )

Brings up the ChordPadPanelWidget in the notebook.

Tab for chord pads.

Chords inside the grid.

Definition at line 27 of file chord_pad_panel.h.

◆ G_DECLARE_FINAL_TYPE() [6/15]

G_DECLARE_FINAL_TYPE ( ChordPadWidget ,
chord_pad_widget ,
Z ,
CHORD_PAD_WIDGET ,
GtkWidget  )

Single chord pad.

Main child.

Button.

Whether the drag has started.

Index of the chord in the chord track.

Definition at line 27 of file chord_pad.h.

◆ G_DECLARE_FINAL_TYPE() [7/15]

G_DECLARE_FINAL_TYPE ( DragDestBoxWidget ,
drag_dest_box_widget ,
Z ,
DRAG_DEST_BOX_WIDGET ,
GtkBox  )

Definition at line 26 of file drag_dest_box.h.

◆ G_DECLARE_FINAL_TYPE() [8/15]

G_DECLARE_FINAL_TYPE ( LeftDockEdgeWidget ,
left_dock_edge_widget ,
Z ,
LEFT_DOCK_EDGE_WIDGET ,
GtkWidget  )

Left panel tabs.

Definition at line 28 of file left_dock_edge.h.

◆ G_DECLARE_FINAL_TYPE() [9/15]

G_DECLARE_FINAL_TYPE ( ModulatorMacroWidget ,
modulator_macro_widget ,
Z ,
MODULATOR_MACRO_WIDGET ,
GtkWidget  )

ModulatorMacro.

Button to show an unused modulator macro.

Index of the modulator macro in the track.

Used for context menu.

Definition at line 28 of file modulator_macro.h.

◆ G_DECLARE_FINAL_TYPE() [10/15]

G_DECLARE_FINAL_TYPE ( ModulatorWidget ,
modulator_widget ,
Z ,
MODULATOR_WIDGET ,
TwoColExpanderBoxWidget  )

Modulator.

Pointer back to the Modulator.

Definition at line 31 of file modulator.h.

◆ G_DECLARE_FINAL_TYPE() [11/15]

G_DECLARE_FINAL_TYPE ( PlayheadScrollButtonsWidget ,
playhead_scroll_buttons_widget ,
Z ,
PLAYHEAD_SCROLL_BUTTONS_WIDGET ,
GtkWidget  )

Definition at line 24 of file playhead_scroll_buttons.h.

◆ G_DECLARE_FINAL_TYPE() [12/15]

G_DECLARE_FINAL_TYPE ( PortConnectionsWidget ,
port_connections_widget ,
Z ,
PORT_CONNECTIONS_WIDGET ,
GtkBox  )

Left dock widget.

Definition at line 27 of file port_connections.h.

◆ G_DECLARE_FINAL_TYPE() [13/15]

G_DECLARE_FINAL_TYPE ( SnapGridPopoverWidget ,
snap_grid_popover_widget ,
Z ,
SNAP_GRID_POPOVER_WIDGET ,
GtkPopover  )

Snap grid popover.

Owner button.

Definition at line 28 of file snap_grid_popover.h.

◆ G_DECLARE_FINAL_TYPE() [14/15]

G_DECLARE_FINAL_TYPE ( SpectrumAnalyzerWidget ,
spectrum_analyzer_widget ,
Z ,
SPECTRUM_ANALYZER_WIDGET ,
GtkWidget  )

Port to read buffers from.

Current buffer sizes.

Definition at line 29 of file spectrum_analyzer.h.

◆ G_DECLARE_FINAL_TYPE() [15/15]

G_DECLARE_FINAL_TYPE ( VelocitySettingsWidget ,
velocity_settings_widget ,
Z ,
VELOCITY_SETTINGS_WIDGET ,
GtkWidget  )

Velocity settings for toolbars.

Definition at line 22 of file velocity_settings.h.

◆ greeter_widget_new()

GreeterWidget * greeter_widget_new ( ZrythmApp * app,
GtkWindow * parent,
bool is_startup,
bool is_for_new_project )

Creates a greeter widget.

Parameters
is_startupWhether the greeter is shown as part of the Zrythm startup process. If not, The greeter will jump to the project selection screen.
is_for_new_projectWhether this is called for a new project (ie, when using Ctrl+N while Zrythm is running).

◆ greeter_widget_select_project()

void greeter_widget_select_project ( GreeterWidget * self,
bool zrythm_already_running,
bool is_for_new_project,
const char * template_to_use )

Proceed to the project selection screen.

Parameters
zrythm_already_runningIf true, the logic applied is different (eg, close does not quit the program). Used when doing Ctrl+N. This should be set to false if during startup.
is_for_new_projectWhether this is called for a new project (ie, when using Ctrl+N while Zrythm is running).
template_to_useTemplate to create a new project from, if non-NULL.

◆ inspector_plugin_widget_show()

void inspector_plugin_widget_show ( InspectorPluginWidget * self,
MixerSelections * ms,
bool set_notebook_page )

Shows the inspector page for the given mixer selection (plugin).

Parameters
set_notebook_pageWhether to set the current left panel tab to the plugin page.

◆ inspector_track_widget_show_tracks()

NONNULL void inspector_track_widget_show_tracks ( InspectorTrackWidget * self,
TracklistSelections * tls,
bool set_notebook_page )

Shows the inspector page for the given tracklist selection.

Parameters
set_notebook_pageWhether to set the current left panel tab to the track page.

◆ item_factory_generate_and_append_column()

ItemFactory * item_factory_generate_and_append_column ( GtkColumnView * column_view,
GPtrArray * item_factories,
ItemFactoryType type,
bool editable,
bool resizable,
GtkSorter * sorter,
const char * column_name )

Shorthand to generate and append a column to a column view.

Returns
The newly created ItemFactory, for convenience.

◆ item_factory_new()

ItemFactory * item_factory_new ( ItemFactoryType type,
bool editable,
const char * column_name )

Creates a new item factory.

Parameters
editableWhether the item should be editable.
column_nameColumn name, if column view, otherwise NULL.

◆ midi_arranger_calc_deltamax_for_note_movement()

int midi_arranger_calc_deltamax_for_note_movement ( int y_delta)

Called on move items_y setup.

calculates the max possible y movement

◆ midi_arranger_listen_notes()

void midi_arranger_listen_notes ( ArrangerWidget * self,
bool listen )

Listen to the currently selected notes.

This function either turns on the notes if they are not playing, changes the notes if the pitch changed, or otherwise does nothing.

Parameters
listenTurn notes on if 1, or turn them off if 0.

◆ midi_arranger_widget_gen_context_menu()

GMenu * midi_arranger_widget_gen_context_menu ( ArrangerWidget * self,
GMenu * menu,
double x,
double y )

Generate a context menu at x, y.

Parameters
menuA menu to append entries to (optional).
Returns
The given updated menu or a new menu.

◆ midi_arranger_widget_set_hovered_note()

void midi_arranger_widget_set_hovered_note ( ArrangerWidget * self,
int pitch )

Sets the currently hovered note and queues a redraw if it changed.

Parameters
pitchThe note pitch, or -1 for no note.

◆ midi_arranger_widget_snap_midi_notes_l()

int midi_arranger_widget_snap_midi_notes_l ( ArrangerWidget * self,
Position * pos,
bool dry_run )

Called during drag_update in the parent when resizing the selection.

It sets the start Position of the selected MidiNote's.

Parameters
posAbsolute position in the arrranger. @parram dry_run Don't resize notes; just check if the resize is allowed (check if invalid resizes will happen)
Returns
0 if the operation was successful, nonzero otherwise.

◆ midi_arranger_widget_snap_midi_notes_r()

int midi_arranger_widget_snap_midi_notes_r ( ArrangerWidget * self,
Position * pos,
bool dry_run )

Called during drag_update in the parent when resizing the selection.

It sets the end Position of the selected MidiNote's.

Parameters
posAbsolute position in the arrranger. @parram dry_run Don't resize notes; just check if the resize is allowed (check if invalid resizes will happen)
Returns
0 if the operation was successful, nonzero otherwise.

◆ midi_modifier_arranger_set_hit_velocity_vals()

void midi_modifier_arranger_set_hit_velocity_vals ( ArrangerWidget * self,
double x,
double y,
bool append_to_selections )

Sets the value of each velocity hit at x to the value corresponding to y.

Used with the pencil tool.

Parameters
append_to_selectionsAppend the hit velocities to the selections.

◆ midi_note_draw()

NONNULL void midi_note_draw ( MidiNote * self,
GtkSnapshot * snapshot )
Parameters
crArranger's cairo context.
arr_rectArranger's rectangle.

◆ mixer_widget_hard_refresh()

void mixer_widget_hard_refresh ( MixerWidget * self)

Deletes and readds all channels.

To be used sparingly.

◆ object_color_chooser_dialog_widget_run()

bool object_color_chooser_dialog_widget_run ( GtkWindow * parent,
Track * track,
TracklistSelections * sel,
ZRegion * region )

Runs the widget and processes the result, then closes the dialog.

Parameters
trackTrack, if track.
selTracklistSelections, if multiple tracks.
regionZRegion, if region.
Returns
Whether the color was set or not.

◆ port_connections_popover_widget_new()

PortConnectionsPopoverWidget * port_connections_popover_widget_new ( GtkWidget * owner)

Creates the popover.

Parameters
ownerOwner widget to pop up at.
portOwner port.

◆ port_connections_popover_widget_refresh()

void port_connections_popover_widget_refresh ( PortConnectionsPopoverWidget * self,
Port * port )

Refreshes the popover.

Removes all children of ports_box and readds them based on the current connections.

◆ ports_expander_widget_setup_track()

void ports_expander_widget_setup_track ( PortsExpanderWidget * self,
Track * tr,
PortsExpanderTrackPortType type )

Sets up the PortsExpanderWidget for Track ports.

Parameters
typeThe type of ports to include.

◆ region_draw()

HOT void region_draw ( ZRegion * self,
GtkSnapshot * snapshot,
GdkRectangle * rect )

Draws the ZRegion in the given cairo context in relative coordinates.

Parameters
rectArranger rectangle.

◆ ruler_widget_get_playhead_px()

int ruler_widget_get_playhead_px ( RulerWidget * self,
bool after_loops )

Returns the playhead's x coordinate in absolute coordinates.

Parameters
after_loopsWhether to get the playhead px after loops are applied.

◆ ruler_widget_handle_horizontal_zoom()

void ruler_widget_handle_horizontal_zoom ( RulerWidget * self,
double * x_pos,
double dy )

Handle horizontal zoom.

To be called from a scroll handler where needed (e.g., in arranger or ruler when zooming in via scroll).

Parameters
[in,out]x_posCurrent horizontal hover position of the cursor in the expanded ruler. This variable will get updated with the newly calculated position after zoom is applied.
dyScroll level (received from the handler args).

◆ ruler_widget_set_zoom_level()

bool ruler_widget_set_zoom_level ( RulerWidget * self,
double zoom_level )

Sets zoom level and disables/enables buttons accordingly.

Returns
Whether the zoom level was set.

◆ scale_object_recreate_pango_layouts()

void scale_object_recreate_pango_layouts ( ScaleObject * self)

Recreates the pango layouts for drawing.

Parameters
widthFull width of the marker.

◆ string_list_item_factory_new()

GtkListItemFactory * string_list_item_factory_new ( StringListItemFactoryEnumStringGetter getter)

Returns a simple item factory that puts each string in a GtkLabel.

Can be used with AdwEnumListItem and GtkStringObject.

◆ timeline_arranger_move_regions_to_new_lanes()

int timeline_arranger_move_regions_to_new_lanes ( ArrangerWidget * self,
const int diff )

Move the selected Regions to new Lanes.

Parameters
diffThe delta to move the Tracks.
Returns
1 if moved.

◆ timeline_arranger_move_regions_to_new_tracks()

int timeline_arranger_move_regions_to_new_tracks ( ArrangerWidget * self,
const int vis_track_diff )

Move the selected Regions to the new Track.

Returns
1 if moved.

◆ timeline_arranger_widget_create_chord_or_scale()

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().

Parameters
ythe y relative to the ArrangerWidget.

◆ timeline_arranger_widget_create_marker()

void timeline_arranger_widget_create_marker ( ArrangerWidget * self,
Track * track,
const Position * pos )

Create a Marker at the given Position in the given Track.

Parameters
posThe pre-snapped position.

◆ timeline_arranger_widget_create_region()

bool timeline_arranger_widget_create_region ( ArrangerWidget * self,
const RegionType type,
Track * track,
TrackLane * lane,
AutomationTrack * at,
const Position * pos,
GError ** error )

Create a ZRegion at the given Position in the given Track's given TrackLane.

Parameters
typeThe type of region to create.
posThe pre-snapped position.
trackTrack, if non-automation.
laneTrackLane, if midi/audio region.
atAutomationTrack, if automation Region.
Returns
Whether successful.

◆ 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.

Parameters
posThe pre-snapped position.

◆ timeline_arranger_widget_fade_up()

void timeline_arranger_widget_fade_up ( ArrangerWidget * self,
double offset_y,
int fade_in )

Fade up/down.

Parameters
fade_in1 for in, 0 for out.

◆ timeline_arranger_widget_gen_context_menu()

GMenu * timeline_arranger_widget_gen_context_menu ( ArrangerWidget * self,
GMenu * menu,
double x,
double y )

Generate a context menu at x, y.

Parameters
menuA menu to append entries to (optional).
Returns
The given updated menu or a new menu.

◆ timeline_arranger_widget_scroll_to()

void timeline_arranger_widget_scroll_to ( ArrangerWidget * self,
Position * pos )

Scroll to the given position.

FIXME move to parent?

◆ timeline_arranger_widget_set_cut_lines_visible()

void timeline_arranger_widget_set_cut_lines_visible ( ArrangerWidget * self)

Hides the cut dashed line from hovered regions and redraws them.

Used when alt was unpressed.

◆ timeline_arranger_widget_snap_regions_l()

int timeline_arranger_widget_snap_regions_l ( ArrangerWidget * self,
Position * pos,
int dry_run )

Snaps both the transients (to show in the GUI) and the actual regions.

Parameters
posAbsolute position in the timeline.
dry_runDon't resize notes; just check if the resize is allowed (check if invalid resizes will happen).
Returns
0 if the operation was successful, nonzero otherwise.

◆ timeline_arranger_widget_snap_regions_r()

int timeline_arranger_widget_snap_regions_r ( ArrangerWidget * self,
Position * pos,
int dry_run )

Snaps both the transients (to show in the GUI) and the actual regions.

Parameters
posAbsolute position in the timeline. @parram dry_run Don't resize notes; just check if the resize is allowed (check if invalid resizes will happen)
Returns
0 if the operation was successful, nonzero otherwise.

◆ track_icon_chooser_dialog_widget_run()

bool track_icon_chooser_dialog_widget_run ( TrackIconChooserDialogWidget * self)

Runs the widget and processes the result, then closes the dialog.

Returns
Whether the icon was set or not.

◆ track_widget_do_highlight()

void track_widget_do_highlight ( TrackWidget * self,
gint x,
gint y,
const int highlight )

Highlights/unhighlights the Tracks appropriately.

Parameters
highlight1 to highlight top or bottom, 0 to unhighlight all.

◆ track_widget_is_cursor_in_range_select_half()

bool track_widget_is_cursor_in_range_select_half ( TrackWidget * self,
double y )

Returns if cursor is in the range select "half".

Used by timeline to determine if it will select objects or range.

◆ track_widget_new()

TrackWidget * track_widget_new ( Track * track)

Sets up the track widget.

Sets color, draw callback, etc.

◆ wrapped_object_with_change_signal_get_display_name()

char * wrapped_object_with_change_signal_get_display_name ( void * data)

Returns a display name for the given object, intended to be used where the object should be displayed (eg, a dropdown).

This can be used with GtkCclosureExpression.

Variable Documentation

◆ AddTrackMenuButtonWidget

AddTrackMenuButtonWidget

Definition at line 43 of file add_track_menu_button.h.

◆ ArrangerMinimapSelectionWidget

ArrangerMinimapSelectionWidget

Definition at line 42 of file arranger_minimap_selection.h.

◆ BindCcDialogWidget

BindCcDialogWidget

Definition at line 53 of file bind_cc_dialog.h.

◆ BounceStepSelectorWidget

BounceStepSelectorWidget

Definition at line 44 of file bounce_step_selector.h.

◆ BugReportDialogWidget

BugReportDialogWidget

Definition at line 61 of file bug_report_dialog.h.

◆ ButtonWithMenuWidget

ButtonWithMenuWidget

Definition at line 51 of file button_with_menu.h.

◆ CcBindingsTreeWidget

CcBindingsTreeWidget

Definition at line 45 of file cc_bindings_tree.h.

◆ CcBindingsWidget

CcBindingsWidget

Definition at line 44 of file cc_bindings.h.

◆ ChordPackBrowserWidget

ChordPackBrowserWidget

Definition at line 66 of file chord_pack_browser.h.

◆ ChordPadPanelWidget

ChordPadPanelWidget

Definition at line 58 of file chord_pad_panel.h.

◆ ChordPadWidget

ChordPadWidget

Definition at line 62 of file chord_pad.h.

◆ CustomImageWidget

CustomImageWidget

Definition at line 53 of file custom_image.h.

◆ DragDestBoxType

DragDestBoxType

Definition at line 40 of file drag_dest_box.h.

◆ FileBrowserFilterType

typedef enum FileBrowserFilterType

Definition at line 41 of file file_browser_filters.h.

◆ FileChooserButtonWidget

FileChooserButtonWidget

Definition at line 43 of file file_chooser_button.h.

◆ LeftDockEdgeTab

LeftDockEdgeTab

Definition at line 47 of file left_dock_edge.h.

◆ LogViewerWidget

LogViewerWidget

Definition at line 50 of file log_viewer.h.

◆ ModulatorMacroWidget

ModulatorMacroWidget

Definition at line 63 of file modulator_macro.h.

◆ ModulatorWidget

ModulatorWidget

Definition at line 49 of file modulator.h.

◆ object

const GArray void* object

Definition at line 40 of file multi_selection.h.

◆ PianoRollKeysWidget

PianoRollKeysWidget

Definition at line 85 of file piano_roll_keys.h.

◆ PlayheadScrollButtonsWidget

PlayheadScrollButtonsWidget

Definition at line 38 of file playhead_scroll_buttons.h.

◆ PopoverMenuBinWidget

PopoverMenuBinWidget

Definition at line 46 of file popover_menu_bin.h.

◆ PortConnectionsTreeWidget

PortConnectionsTreeWidget

Definition at line 50 of file port_connections_tree.h.

◆ PortConnectionsWidget

PortConnectionsWidget

Definition at line 44 of file port_connections.h.

◆ PrerollCountSelectorType

typedef enum PrerollCountSelectorType

Countin before starting playback.

Preroll to start at before the punch in position during recording.

Definition at line 41 of file preroll_count_selector.h.

◆ SaveChordPresetDialogWidget

SaveChordPresetDialogWidget

Definition at line 42 of file save_chord_preset_dialog.h.

◆ selection_indices

const GArray* selection_indices

Definition at line 39 of file multi_selection.h.

◆ SnapGridPopoverWidget

SnapGridPopoverWidget

Definition at line 65 of file snap_grid_popover.h.

◆ SpectrumAnalyzerWidget

SpectrumAnalyzerWidget

Definition at line 59 of file spectrum_analyzer.h.

◆ TracklistHeaderWidget

TracklistHeaderWidget

Definition at line 39 of file tracklist_header.h.

◆ VelocitySettingsWidget

VelocitySettingsWidget

Definition at line 37 of file velocity_settings.h.

◆ WrappedObjectType

typedef enum WrappedObjectType

Definition at line 49 of file wrapped_object_with_change_signal.h.