Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
Widgets

Custom GUI elements that reflect the backend. More...

Data Structures

struct  ArrangerMinimapWidget
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...
class  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  BotDockEdgeWidget
 Bot dock widget. More...
struct  CenterDockWidget
 Center dock. More...
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  ClipEditorInnerWidget
 The piano roll widget is the whole space inside the clip editor tab when a MIDI region is selected. More...
struct  CpuWidget
class  CustomButtonWidget
 Custom button to be drawn inside drawing areas. More...
struct  ArrangerObjectInfoDialogWidget
 The arranger_object_info dialog. More...
struct  GenericProgressDialogButton
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  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  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  FoldableNotebookWidget
 A GtkNotebook that shows or hides itself when the same page tab is clicked. More...
class  ItemFactory
 Item factory for column views. More...
struct  LeftDockEdgeWidget
 Left dock widget. More...
struct  MainNotebookWidget
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  MonitorSectionWidget
struct  MultiSelectionWidget
 A menu button that allows selecting active hardware ports. More...
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  PluginPropertiesExpanderWidget
 A widget for selecting plugin_properties in the plugin inspector. 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  TimelinePanelWidget
struct  TimelineToolbarWidget
 The Timeline toolbar in the top. More...
struct  ToolboxWidget
struct  TrackPropertiesExpanderWidget
struct  TracklistWidget
 The TracklistWidget holds all the Track's in the Project. More...
struct  TransportControlsWidget
 Transport controls. More...

Macros

#define ARRANGER_WIDGET_GET_ACTION(arr, actn)
#define arranger_widget_print_action(self)
#define MW_TIMELINE_MINIMAP   (MW_TIMELINE_PANEL->timeline_wrapper->minimap)
#define ARRANGER_MINIMAP_SELECTION_WIDGET_TYPE    (arranger_minimap_selection_widget_get_type ())
#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 MW_AUTOMATION_EDITOR_SPACE   MW_CLIP_EDITOR_INNER->automation_editor_space
#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 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_BOT_BUTTONS_SHOULD_BE_VISIBLE(height)
#define TRACK_ICON_IS(x, name)
#define TRACK_CB_ICON_IS(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

using ActiveHardwareMbWidget
 A menu button that allows selecting active hardware ports.
using ArrangerWidget
 A canvas widget for drawing and interacting with arranger objects.
typedef void(* ArrangerWidgetForeachFunc) (ArrangerWidget *arranger)
using ArrangerWrapperWidget
 Wraps the arranger widget in a box with scrollbars.
using BotBarWidget
 Bottom bar showing the engine status, etc.
using ChannelSendWidget
using ChannelSendSelectorWidget
using ChannelSendsExpanderWidget
 A TwoColExpanderBoxWidget for showing the ports in the InspectorWidget.
using ChannelSlotWidget
using ChordSelectorWindowWidget
 A GtkPopover to create a ChordDescriptor for use in the ChordTrack's ChordObject's.
using AddTracksToGroupDialogWidget
 Dialog for routing track selections to a group.
using BindCcDialogWidget
 The bind_cc dialog.
using BounceDialogWidget
 The export dialog.
using ExportDialogWidget
 The export dialog.
using ExportProgressDialogCloseCallback
using FileImportProgressDialogWidget
 A progress dialog for file import.
using GenericProgressDialogWidgetPrivate
 A generic progress dialog.
using GenericProgressDialogWidgetClass
typedef struct _PortConnectionsPopoverWidget PortConnectionsPopoverWidget
using StringEntryDialogWidget
 A dialog to edit a string.
using EventViewerWidget
typedef void(* ExpanderBoxRevealFunc) (ExpanderBoxWidget *expander_box, bool revealed, void *user_data)
 Reveal callback prototype.
using FaderButtonsWidget
using FaderControlsExpanderWidget
 A TwoColExpanderBoxWidget for showing the ports in the InspectorWidget.
using FaderControlsGridWidget
typedef WrappedObjectWithChangeSignal *(* SelectedFileGetter) (GtkWidget *widget)
using FileAuditionerControlsWidget
 File auditioner controls used in file browsers.
using FileBrowserFiltersWidget
 File auditioner controls used in file browsers.
using FolderChannelWidget
using 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.
using InspectorPluginWidget
 Inspector section for plugins.
using InspectorPortWidget
 A Port to show in the inspector for Plugin's.
using InspectorTrackWidget
 Inspector section for tracks.
using ItemFactoryPtrVector = std::vector<std::unique_ptr<ItemFactory>>
using KnobWidget
 Basic knob widget.
using LiveWaveformWidget
 Live waveform display like LMMS.
using MainWindowWidget
 The main window of Zrythm.
using ModulatorViewWidget
 The ModulatorViewWidget contains the ModulatorWidgets for the selected Track.
typedef struct _SliderBarWidget SliderBarWidget
typedef struct _MeterWidget MeterWidget
typedef struct _ActiveHardwareMbWidget ActiveHardwareMbWidget
using PanelFileBrowserWidget
using PluginBrowserWidget
 The plugin browser allows to browse and filter available Plugin's on the system.
using PluginStripExpanderWidget
 A TwoColExpanderBoxWidget for showing the ports in the InspectorWidget.
using AutomatableSelectorPopoverWidget
 A popover for selecting the automation track to automate.
typedef struct _FileBrowserWidget FileBrowserWidget
typedef struct _MonitorSectionWidget MonitorSectionWidget
typedef struct _FoldableNotebookWidget FoldableNotebookWidget
typedef struct _PanelFileBrowserWidget PanelFileBrowserWidget
typedef struct _ChordPackBrowserWidget ChordPackBrowserWidget
using RouteTargetSelectorWidget
 Dropdown to select the direct output of a track.
using RulerWidget
using ScaleSelectorWindowWidget
 A GtkPopover to create a ScaleDescriptor for use in the ScaleTrack's ScaleObject's.
typedef std::string(* StringListItemFactoryEnumStringGetter) (int val)
using TextExpanderWidget
 A TwoColExpanderBoxWidget for showing the ports in the InspectorWidget.
using TrackWidget
 The TrackWidget is split into 3 parts.
using TrackInputExpanderWidget
using VolumeWidget
using WrappedObjectWithChangeSignal
 A GObject-ified normal C object with a signal that interested parties can listen to for changes.
typedef struct _CcBindingsTreeWidget CcBindingsTreeWidget
typedef struct _KnobWithNameWidget KnobWithNameWidget

Enumerations

enum class  ArrangerCursor {
  ArrangerCursor::None , Select , SelectStretch , Edit ,
  Autofill , ARRANGER_CURSOR_CUT , Eraser , Audition ,
  Ramp , Grab , Grabbing , ResizingL ,
  ResizingLFade , ARRANGER_CURSOR_STRETCHING_L , ARRANGER_CURSOR_RESIZING_L_LOOP , ResizingR ,
  ARRANGER_CURSOR_RESIZING_R_FADE , ARRANGER_CURSOR_STRETCHING_R , ARRANGER_CURSOR_RESIZING_R_LOOP , ResizingUp ,
  ResizingUpFadeIn , ResizingUpFadeOut , GrabbingCopy , GrabbingLink ,
  Range , FadeIn , FadeOut , Rename ,
  Panning
}
enum class  ArrangerWidgetType {
  Timeline , Midi , MidiModifier , Audio ,
  Chord , Automation
}
 Type of arranger. More...
enum class  ArrangerMinimapAction {
  ARRANGER_MINIMAP_ACTION_NONE , ARRANGER_MINIMAP_ACTION_RESIZING_L , ARRANGER_MINIMAP_ACTION_RESIZING_R , ArrangerMinimapAction::ARRANGER_MINIMAP_ACTION_STARTING_MOVING ,
  ArrangerMinimapAction::ARRANGER_MINIMAP_ACTION_MOVING
}
enum class  ArrangerMinimapType { ARRANGER_MINIMAP_TYPE_TIMELINE , ARRANGER_MINIMAP_TYPE_CLIP_EDITOR }
enum class  BarSliderType { BAR_SLIDER_TYPE_NORMAL , BarSliderType::BAR_SLIDER_TYPE_PORT_MULTIPLIER , BAR_SLIDER_TYPE_CONTROL_PORT }
 Type of slider. More...
enum class  ChannelSendsExpanderPosition { CSE_POSITION_CHANNEL , CSE_POSITION_INSPECTOR }
enum class  BounceDialogWidgetType { BOUNCE_DIALOG_REGIONS , BOUNCE_DIALOG_TRACKS }
 Type of bounce. More...
enum class  ExportFilenamePattern { EFP_APPEND_FORMAT , EFP_PREPEND_DATE_APPEND_FORMAT }
enum class  DigitalMeterType {
  DIGITAL_METER_TYPE_BPM , DIGITAL_METER_TYPE_POSITION , DIGITAL_METER_TYPE_TIMESIG , DIGITAL_METER_TYPE_NOTE_TYPE ,
  DIGITAL_METER_TYPE_NOTE_LENGTH
}
enum class  EventViewerType {
  EVENT_VIEWER_TYPE_TIMELINE , EVENT_VIEWER_TYPE_CHORD , EVENT_VIEWER_TYPE_MIDI , EVENT_VIEWER_TYPE_AUDIO ,
  EVENT_VIEWER_TYPE_AUTOMATION
}
enum class  KnobType { KNOB_TYPE_NORMAL , KnobType::KNOB_TYPE_PORT_MULTIPLIER }
 Type of knob. More...
enum class  LiveWaveformType { LIVE_WAVEFORM_ENGINE , LIVE_WAVEFORM_PORT }
enum class  MidiActivityBarType { MAB_TYPE_TRACK , MAB_TYPE_ENGINE }
enum class  MidiActivityBarAnimation { MidiActivityBarAnimation::MAB_ANIMATION_BAR , MidiActivityBarAnimation::MAB_ANIMATION_FLASH }
enum class  PluginBrowserTab { PLUGIN_BROWSER_TAB_COLLECTION , PLUGIN_BROWSER_TAB_AUTHOR , PLUGIN_BROWSER_TAB_CATEGORY , PLUGIN_BROWSER_TAB_PROTOCOL }
enum class  PluginBrowserFilter {
  PLUGIN_BROWSER_FILTER_NONE , PLUGIN_BROWSER_FILTER_INSTRUMENT , PLUGIN_BROWSER_FILTER_EFFECT , PLUGIN_BROWSER_FILTER_MODULATOR ,
  PLUGIN_BROWSER_FILTER_MIDI_EFFECT
}
enum class  PluginBrowserSortStyle { PLUGIN_BROWSER_SORT_ALPHA , PLUGIN_BROWSER_SORT_LAST_USED , PLUGIN_BROWSER_SORT_MOST_USED }
enum class  PluginStripExpanderPosition { PSE_POSITION_CHANNEL , PSE_POSITION_INSPECTOR }
enum class  AutomatableSelectorType {
  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 ,
  AutomatableSelectorType::AS_TYPE_CHANNEL , AutomatableSelectorType::AS_TYPE_MIDI_FX , AutomatableSelectorType::AS_TYPE_INSTRUMENT , AutomatableSelectorType::AS_TYPE_INSERT ,
  AutomatableSelectorType::AS_TYPE_MODULATOR , AutomatableSelectorType::AS_TYPE_TEMPO , AutomatableSelectorType::AS_TYPE_MACRO
}
 Automatable type. More...
enum class  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 class  RWTarget {
  Playhead , LoopStart , LoopEnd , PunchIn ,
  PunchOut , ClipStart , RWTarget::Range , RWTarget::LoopRange
}
 The ruler widget target acting upon. More...
enum class  RulerWidgetType { Timeline , Editor }
enum class  RulerWidgetRangeType { RulerWidgetRangeType::Start , RulerWidgetRangeType::Full , RulerWidgetRangeType::End }
 Range type. More...
enum class  TrackWidgetHighlight { TRACK_WIDGET_HIGHLIGHT_NONE , TRACK_WIDGET_HIGHLIGHT_TOP , TRACK_WIDGET_HIGHLIGHT_BOTTOM , TRACK_WIDGET_HIGHLIGHT_INSIDE }
 Highlight location. More...
enum class  TrackWidgetResizeTarget { TRACK_WIDGET_RESIZE_TARGET_TRACK , TRACK_WIDGET_RESIZE_TARGET_AT , TRACK_WIDGET_RESIZE_TARGET_LANE }
 Resize target. More...

Functions

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)
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, const std::shared_ptr< 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, const Position pos, bool 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, std::vector< ArrangerObject * > &objs_arr)
 Get all objects currently present in the arranger.
Position arranger_widget_px_to_pos (ArrangerWidget *self, double px, 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, ArrangerObject::Type type, double x, double y, std::vector< ArrangerObject * > &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, ArrangerObject::Type type, GdkRectangle *rect, std::vector< ArrangerObject * > &arr)
 Fills in the given array with the ArrangerObject's of the given type that appear in the given ranger.
ArrangerObject * arranger_widget_get_hit_arranger_object (ArrangerWidget *self, ArrangerObject::Type 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)
template<typename T = ArrangerObject>
requires std::derived_from<T, ArrangerObject>
void arranger_widget_set_start_object (ArrangerWidget *self, std::shared_ptr< T > obj)
ATTR_NONNULL 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.
template<typename T = ArrangerSelections>
requires std::derived_from<T, ArrangerSelections>
T * arranger_widget_get_selections (ArrangerWidget *self) ATTR_RETURNS_NONNULL
 Returns the ArrangerSelections for this ArrangerWidget.
void arranger_widget_redraw_playhead (ArrangerWidget *self)
 Only redraws the playhead part.
SnapGrid * arranger_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)
void arranger_widget_handle_erase_action (ArrangerWidget *self)
 To be called on drag_end() to handle erase actions.
ATTR_NONNULL void arranger_widget_scroll_until_obj (ArrangerWidget *self, ArrangerObject *obj, bool horizontal, bool up, bool 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.
EditorSettingsPtrVariant arranger_widget_get_editor_settings (ArrangerWidget *self)
 Returns the EditorSettings corresponding to the given arranger.
std::unique_ptr< 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)
ATTR_NONNULL void arranger_widget_handle_playhead_auto_scroll (ArrangerWidget *self, bool force)
ATTR_NONNULL void arranger_widget_foreach (ArrangerWidgetForeachFunc func)
 Runs the given function for each arranger.
ATTR_NONNULL RulerWidget * arranger_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.
ATTR_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.
ATTR_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).
bool arranger_widget_is_cursor_in_top_half (ArrangerWidget *self, double y)
 Returns whether the cursor at y is in the top half of the arranger.
std::pair< ArrangerObject::ResizeType, bool > arranger_widget_get_resize_type_and_direction_from_action (UiOverlayAction action)
template MidiSelections * arranger_widget_get_selections (ArrangerWidget *self)
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 (const 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).
ATTR_NONNULL bool arranger_object_is_resize_l (const ArrangerObject *self, const int x)
 Returns if the current position is for resizing L.
ATTR_NONNULL bool arranger_object_is_resize_r (const ArrangerObject *self, const int x)
 Returns if the current position is for resizing R.
bool arranger_object_is_resize_up (const 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 (const ArrangerObject *self, const int y, bool ctrl_pressed)
 Returns if the current position is for resizing loop.
ATTR_NONNULL bool arranger_object_is_rename (const 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 (const 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, Region &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.
bool arranger_object_should_orig_be_visible (const ArrangerObject &self, const 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 (const ArrangerObject *self, const ArrangerWidget *arranger)
 Whether the object is currently hovered.
bool arranger_object_is_hovered_or_start_object (const ArrangerObject *self, const ArrangerWidget *arranger)
 Whether hovered or the start object of the current action in the arranger.
void arranger_wrapper_widget_setup (ArrangerWrapperWidget *self, ArrangerWidgetType type, std::shared_ptr< SnapGrid > snap_grid)
ArrangerCursor audio_arranger_widget_get_cursor (ArrangerWidget *self, Tool tool)
void audio_arranger_widget_snap_range_r (ArrangerWidget *self, Position *pos)
bool audio_arranger_widget_is_cursor_in_fade (const 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 (const 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)
bool audio_arranger_widget_snap_fade (ArrangerWidget *self, Position &pos, bool fade_in, bool dry_run)
 Updates the fade position during drag update.
void audio_arranger_on_drag_end (ArrangerWidget *self)
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)
ArrangerCursor automation_arranger_widget_get_cursor (ArrangerWidget *self, Tool tool)
void automation_arranger_widget_create_ap (ArrangerWidget *self, const Position *pos, const double start_y, AutomationRegion *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, 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_arranger_on_drag_end (ArrangerWidget *self)
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)
bool automation_point_is_point_hit (const AutomationPoint &self, double x, double y)
 Returns if the automation point (circle) is hit.
bool automation_point_is_curve_hit (const 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, GenericFloatGetter get_val, GenericFloatSetter 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.
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 ()
 Instantiates a new CcBindingsTreeWidget.
void center_dock_widget_setup (CenterDockWidget *self)
void center_dock_widget_tear_down (CenterDockWidget *self)
 Prepare for finalization.
ChannelSendWidget * channel_send_widget_new (ChannelSend *send)
 Creates a new ChannelSend widget and binds it to the given value.
ChannelSendSelectorWidget * channel_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.
ChannelSlotWidget * channel_slot_widget_new_instrument ()
 Creates a new ChannelSlot widget whose track and plugin can change.
ChannelSlotWidget * channel_slot_widget_new (int slot_index, ChannelTrack *track, zrythm::plugins::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, ChannelTrack *track)
zrythm::plugins::Pluginchannel_slot_widget_get_plugin (ChannelSlotWidget *self)
ChannelSlotActivateButtonWidgetchannel_slot_activate_button_widget_new (ChannelSlotWidget *owner)
 Creates a new ChannelSlotActivateButton widget.
ArrangerCursor chord_arranger_widget_get_cursor (ArrangerWidget *self, Tool tool)
int chord_arranger_widget_get_chord_at_y (double y)
 Returns the chord index at y.
void chord_arranger_widget_create_chord (ArrangerWidget *self, const Position pos, int chord_index, ChordRegion &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.
void chord_arranger_on_drag_end (ArrangerWidget *self)
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) using 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 ()
 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 (ChordRegion *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)
void custom_image_widget_set_texture (CustomImageWidget *self, GdkTexture *texture)
GtkWindow * about_dialog_widget_new (GtkWindow *parent)
 Creates and displays the about dialog.
GroupTargetTrack * add_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.
BindCcDialogWidgetbind_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 std::string &bounce_name)
 Creates a bounce dialog.
 G_DECLARE_FINAL_TYPE (BugReportDialogWidget, bug_report_dialog_widget, Z, BUG_REPORT_DIALOG_WIDGET, AdwAlertDialog) using 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.
ExportProgressDialogWidget * export_progress_dialog_widget_new (std::shared_ptr< Exporter > exporter, bool autoclose, std::optional< 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, std::optional< GenericCallback > close_callback, bool cancelable)
 Sets up a progress dialog widget.
void generic_progress_dialog_add_response (GenericProgressDialogWidget *self, const char *response, const char *response_label, std::optional< GenericCallback > callback, 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, const SimpleTracklistSelections *sel, Region *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 std::string &label, 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) enum class DragDestBoxType
DragDestBoxWidgetdrag_dest_box_widget_new (GtkOrientation orientation, int spacing, DragDestBoxType type)
 Creates a drag destination box widget.
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)
void editor_ruler_get_regions_in_range (RulerWidget *self, double x_start, double x_end, std::vector< Region * > &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.
EventViewerWidget * event_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, ChannelTrack *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, ChannelTrack *track)
FaderButtonsWidget * fader_buttons_widget_new (ChannelTrack *track)
void fader_controls_expander_widget_refresh (FaderControlsExpanderWidget *self)
 Refreshes each field.
void fader_controls_expander_widget_setup (FaderControlsExpanderWidget *self, ChannelTrack *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, ChannelTrack *track)
void fader_controls_grid_widget_tear_down (FaderControlsGridWidget *self)
 Prepare for finalization.
FaderControlsGridWidget * fader_controls_grid_widget_new ()
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, 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.
FolderChannelWidget * folder_channel_widget_new (FoldableTrack *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 std::string &title, const std::string &description, const double perc)
 Sets the current status and progress percentage.
void greeter_widget_set_currently_scanned_plugin (GreeterWidget *self, const char *filename)
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.
 TYPEDEF_STRUCT_UNDERSCORED (PluginPropertiesExpanderWidget)
 TYPEDEF_STRUCT_UNDERSCORED (ColorAreaWidget)
void inspector_plugin_widget_show (InspectorPluginWidget *self, ProjectMixerSelections *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.
ATTR_NONNULL void inspector_track_widget_show_tracks (InspectorTrackWidget *self, SimpleTracklistSelections *tls, bool set_notebook_page)
 Shows the inspector page for the given tracklist selection.
void inspector_track_widget_setup (InspectorTrackWidget *self, SimpleTracklistSelections *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.
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) enum class 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 (AudioPort *port)
 Creates a LiveWaveformWidget for a port.
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.
ArrangerCursor midi_arranger_widget_get_cursor (ArrangerWidget *self, Tool tool)
void midi_arranger_widget_create_note (ArrangerWidget *self, const Position pos, int note, MidiRegion &region)
 Called on drag begin in parent when background is double clicked (i.e., a note is created).
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, 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_arranger_on_drag_end (ArrangerWidget *self)
void midi_channel_selection_dropdown_widget_refresh (GtkDropDown *self, ChannelTrack *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)
ArrangerCursor midi_modifier_arranger_widget_get_cursor (ArrangerWidget *self, Tool tool)
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)
 Selects MidiNote objects in the given range.
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.
void midi_modifier_arranger_on_drag_end (ArrangerWidget *self)
ATTR_NONNULL void midi_note_draw (MidiNote *self, GtkSnapshot *snapshot)
ATTR_NONNULL void midi_note_get_adjusted_color (MidiNote *self, Color &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 (zrythm::plugins::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, ModulatorTrack *track)
ModulatorViewWidgetmodulator_view_widget_new ()
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 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)
PanelFileBrowserWidget * panel_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)
 TYPEDEF_STRUCT_UNDERSCORED (TrackWidget)
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, zrythm::plugins::Plugin *pl)
 Refreshes each field.
void plugin_properties_expander_widget_setup (PluginPropertiesExpanderWidget *self, zrythm::plugins::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, zrythm::plugins::PluginSlotType type, PluginStripExpanderPosition position, ChannelTrack *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, zrythm::plugins::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 (const Region *self, GdkRectangle *rect)
 Returns the lane rectangle for the region.
ATTR_HOT void region_draw (Region *self, GtkSnapshot *snapshot, GdkRectangle *rect)
 Draws the Region in the given cairo context in relative coordinates.
 TYPEDEF_STRUCT_UNDERSCORED (PanelFrame)
void right_dock_edge_widget_setup (RightDockEdgeWidget *self)
 Sets up the widget.
void route_target_selector_widget_refresh (RouteTargetSelectorWidget *self, ChannelTrack *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)
EditorSettings * ruler_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) using SpectrumAnalyzerWidget
 Spectrum analyzer.
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.
ArrangerCursor timeline_arranger_widget_get_cursor (ArrangerWidget *self, Tool tool)
void timeline_arranger_widget_snap_range_r (ArrangerWidget *self, Position *pos)
TrackLane * timeline_arranger_widget_get_track_lane_at_y (ArrangerWidget *self, double y)
 Gets hit TrackLane at y.
Track * timeline_arranger_widget_get_track_at_y (ArrangerWidget *self, double y)
 Gets the Track at y.
AutomationTrack * timeline_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.
template<FinalRegionSubclass RegionT>
void timeline_arranger_widget_create_region (ArrangerWidget *self, Track *track, std::conditional_t< LaneOwnedRegionSubclass< RegionT >, TrackLaneImpl< RegionT > *, std::nullptr_t > lane, AutomationTrack *at, const Position *pos)
 Create a Region at the given Position in the given Track's given TrackLane.
void timeline_arranger_widget_create_chord_or_scale (ArrangerWidget *self, Track *track, double y, const Position *pos)
 Wrapper for timeline_arranger_widget_create_chord() or timeline_arranger_widget_create_scale().
void timeline_arranger_widget_create_scale (ArrangerWidget *self, Track *track, const Position *pos)
 Create a ScaleObject at the given Position in the given Track.
void timeline_arranger_widget_create_marker (ArrangerWidget *self, Track *track, const Position *pos)
 Create a Marker at the given Position in the given Track.
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, double x, double y)
 Generate a context menu at x, y.
void timeline_arranger_widget_fade_up (ArrangerWidget *self, double offset_y, bool fade_in)
 Fade up/down.
void timeline_arranger_setup_drag_dest (ArrangerWidget *self)
 Sets up the timeline arranger as a drag dest.
void timeline_arranger_on_drag_end (ArrangerWidget *self)
template void timeline_arranger_widget_create_region< MidiRegion > (ArrangerWidget *, Track *, TrackLaneImpl< MidiRegion > *, AutomationTrack *, const Position *)
template void timeline_arranger_widget_create_region< AudioRegion > (ArrangerWidget *, Track *, TrackLaneImpl< AudioRegion > *, AutomationTrack *, const Position *)
template void timeline_arranger_widget_create_region< ChordRegion > (ArrangerWidget *, Track *, std::nullptr_t, AutomationTrack *, const Position *)
template void timeline_arranger_widget_create_region< AutomationRegion > (ArrangerWidget *, Track *, std::nullptr_t, AutomationTrack *, const Position *)
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_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)
AutomationTrack * track_widget_get_at_at_y (TrackWidget *self, double y)
void track_input_expander_widget_setup (TrackInputExpanderWidget *self, ChannelTrack *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.
 TYPEDEF_STRUCT_UNDERSCORED (DragDestBoxWidget)
 TYPEDEF_STRUCT_UNDERSCORED (ChordTrackWidget)
 TYPEDEF_STRUCT_UNDERSCORED (AddTrackMenuButtonWidget)
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, ControlPort *port)
VolumeWidget * volume_widget_new (ControlPort *port)
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 (WrappedObjectWithChangeSignal::ObjPtrVariant obj, WrappedObjectType type)
 Instantiates a new WrappedObjectWithChangeSignal.
WrappedObjectWithChangeSignalwrapped_object_with_change_signal_new_with_free_func (WrappedObjectWithChangeSignal::ObjPtrVariant obj, WrappedObjectType type, ObjectFreeFunc free_func)
 If this function is not used, the internal object will not be free'd.
ArrangerObject * wrapped_object_with_change_signal_get_arranger_object (WrappedObjectWithChangeSignal *self)
Track * wrapped_object_with_change_signal_get_track (WrappedObjectWithChangeSignal *self)
Port * wrapped_object_with_change_signal_get_port (WrappedObjectWithChangeSignal *self)
zrythm::plugins::Pluginwrapped_object_with_change_signal_get_plugin (WrappedObjectWithChangeSignal *self)

Variables

 AddTrackMenuButtonWidget
 ArrangerMinimapSelectionWidget
constexpr int AUTOMATION_ARRANGER_VPADDING = 4
 Padding to leave before and after the usable vertical range for automation.
constexpr int AUTOMATION_MODE_HPADDING = 3
constexpr int AUTOMATION_MODE_HSEPARATOR_SIZE = 1
constexpr int AP_WIDGET_POINT_SIZE = 6
 BounceStepSelectorWidget
 ButtonWithMenuWidget
 CcBindingsWidget
 ChordPadWidget
 ChordPadPanelWidget
constexpr int CUSTOM_BUTTON_WIDGET_MAX_TRANSITION_FRAMES = 9
 CustomImageWidget
 SaveChordPresetDialogWidget
 FileChooserButtonWidget
 ModulatorWidget
 ModulatorMacroWidget
const GArray * selection_indices
const GArray void * object
 PianoRollKeysWidget
 PlayheadScrollButtonsWidget
 PopoverMenuBinWidget
 SnapGridPopoverWidget
 PortConnectionsWidget
 PortConnectionsTreeWidget
constexpr int TRACK_BUTTON_SIZE = 18
 Button size.
constexpr int TRACK_BUTTON_PADDING = 6
 Padding between each button.
constexpr int TRACK_BUTTON_PADDING_FROM_EDGE = 3
 Padding between the track edges and the buttons.
constexpr int TRACK_COLOR_AREA_WIDTH = 18
constexpr const char * TRACK_ICON_NAME_MONO_COMPAT = "mono"
constexpr const char * TRACK_ICON_NAME_SWAP_PHASE = "phase"
constexpr const char * TRACK_ICON_NAME_RECORD = "media-record"
constexpr const char * TRACK_ICON_NAME_SOLO = "solo"
constexpr const char * TRACK_ICON_NAME_MUTE = "mute"
constexpr const char * TRACK_ICON_NAME_LISTEN
constexpr const char * TRACK_ICON_NAME_SHOW_UI = "jam-icons-screen"
constexpr const char * TRACK_ICON_NAME_SHOW_AUTOMATION_LANES = "automation-4p"
constexpr const char * TRACK_ICON_NAME_SHOW_TRACK_LANES = "untitled-ui-rows-03"
constexpr const char * TRACK_ICON_NAME_LOCK
constexpr const char * TRACK_ICON_NAME_UNLOCK
constexpr const char * TRACK_ICON_NAME_FREEZE = "fork-awesome-snowflake-o"
constexpr const char * TRACK_ICON_NAME_PLUS = "add"
constexpr const char * TRACK_ICON_NAME_MINUS = "remove"
constexpr const char * TRACK_ICON_NAME_BUS = "effect"
constexpr const char * TRACK_ICON_NAME_CHORDS = "minuet-chords"
constexpr const char * TRACK_ICON_NAME_SHOW_MARKERS
constexpr const char * TRACK_ICON_NAME_MIDI = "instrument"
constexpr const char * TRACK_ICON_NAME_TEMPO = "filename-bpm-amarok"
constexpr const char * TRACK_ICON_NAME_MODULATOR
constexpr const char * TRACK_ICON_NAME_FOLD = "fluentui-folder-regular"
constexpr const char * TRACK_ICON_NAME_FOLD_OPEN
constexpr const char * TRACK_ICON_NAME_MONITOR_AUDIO = "audition"
 TracklistHeaderWidget
 VelocitySettingsWidget

Detailed Description

Custom GUI elements that reflect the backend.

Macro Definition Documentation

◆ ARRANGER_MINIMAP_SELECTION_WIDGET_TYPE

#define ARRANGER_MINIMAP_SELECTION_WIDGET_TYPE    (arranger_minimap_selection_widget_get_type ())

Definition at line 24 of file arranger_minimap_selection.h.

◆ ARRANGER_WIDGET_GET_ACTION

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

Definition at line 27 of file arranger.h.

◆ arranger_widget_print_action

#define arranger_widget_print_action ( self)
Value:
z_debug ("action: {}", self->action)

Definition at line 710 of file arranger.h.

◆ bar_slider_widget_new

#define bar_slider_widget_new ( getter,
setter,
obj,
min,
max,
w,
h,
zero,
dec,
mode,
suffix )
Value:
BarSliderType::BAR_SLIDER_TYPE_NORMAL, getter, setter, (void *) obj, min, \
max, w, h, zero, 0, dec, mode, "", suffix)
BarSliderWidget * _bar_slider_widget_new(BarSliderType type, GenericFloatGetter get_val, GenericFloatSetter 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.

Helper to create a bar slider widget.

Definition at line 172 of file bar_slider.h.

◆ bar_slider_widget_new_port_connection

#define bar_slider_widget_new_port_connection ( conn,
prefix )
Value:
(void *) conn, 0.f, 1.f, 160, 20, 0.f, 1, 0, \
UiDragMode::UI_DRAG_MODE_CURSOR, prefix, " %")
@ BAR_SLIDER_TYPE_PORT_MULTIPLIER
Port connection multiplier.
Definition bar_slider.h:41

Wrapper.

Parameters
connPortConnection pointer.

Definition at line 183 of file bar_slider.h.

◆ BOT_BAR_WIDGET_TYPE

#define BOT_BAR_WIDGET_TYPE   (bot_bar_widget_get_type ())

Definition at line 32 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 24 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 23 of file chord_object.h.

◆ CHORD_OBJECT_NAME_PADDING

#define CHORD_OBJECT_NAME_PADDING   2

Definition at line 24 of file chord_object.h.

◆ CHORD_OBJECT_WIDGET_TRIANGLE_W

#define CHORD_OBJECT_WIDGET_TRIANGLE_W   10

Definition at line 22 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 21 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 24 of file chord_pad.h.

◆ CPU_WIDGET_TYPE

#define CPU_WIDGET_TYPE   (cpu_widget_get_type ())

Definition at line 23 of file cpu.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 51 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.

Definition at line 187 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 23 of file drag_dest_box.h.

◆ EDITOR_RULER

#define EDITOR_RULER   MW_CLIP_EDITOR_INNER->ruler

Definition at line 22 of file editor_ruler.h.

◆ knob_widget_new_port

#define knob_widget_new_port ( conn,
size )
Value:
nullptr, nullptr, (void *) conn, KnobType::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:27
Parameters
connPortConnection pointer.

Definition at line 142 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, KnobType::KNOB_TYPE_NORMAL, \
min, max, size, zero)
std::function< float()> GenericFloatGetter
Getter prototype for float values.
Definition types.h:92
std::function< void(float)> GenericFloatSetter
Setter prototype for float values.
Definition types.h:97

Definition at line 132 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 34 of file main_window.h.

◆ MARKER_NAME_FONT

#define MARKER_NAME_FONT   "Bold 8"

Definition at line 25 of file marker.h.

◆ MARKER_NAME_PADDING

#define MARKER_NAME_PADDING   2

Definition at line 26 of file marker.h.

◆ MAX_ZOOM_LEVEL

#define MAX_ZOOM_LEVEL   1800.

Definition at line 64 of file ruler.h.

◆ MIN_ZOOM_LEVEL

#define MIN_ZOOM_LEVEL   0.04

Definition at line 63 of file ruler.h.

◆ MIXER_WIDGET_TYPE

#define MIXER_WIDGET_TYPE   (mixer_widget_get_type ())

Definition at line 31 of file mixer.h.

◆ MODULATOR_MACRO_WIDGET_TYPE

#define MODULATOR_MACRO_WIDGET_TYPE   (modulator_macro_widget_get_type ())

Definition at line 26 of file modulator_macro.h.

◆ MODULATOR_WIDGET_TYPE

#define MODULATOR_WIDGET_TYPE   (modulator_widget_get_type ())

Definition at line 28 of file modulator.h.

◆ MW

#define MW   MAIN_WINDOW

Definition at line 35 of file main_window.h.

◆ MW_AUDIO_ARRANGER

#define MW_AUDIO_ARRANGER   MW_AUDIO_EDITOR_SPACE->arranger

Definition at line 19 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 39 of file event_viewer.h.

◆ MW_AUTOMATION_ARRANGER

#define MW_AUTOMATION_ARRANGER   MW_AUTOMATION_EDITOR_SPACE->arranger

Definition at line 26 of file automation_arranger.h.

◆ MW_AUTOMATION_EDITOR_SPACE

#define MW_AUTOMATION_EDITOR_SPACE   MW_CLIP_EDITOR_INNER->automation_editor_space

Definition at line 33 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 40 of file event_viewer.h.

◆ MW_BOT_BAR

#define MW_BOT_BAR   MW->bot_bar

Definition at line 35 of file bot_bar.h.

◆ MW_BOT_FOLDABLE_NOTEBOOK

#define MW_BOT_FOLDABLE_NOTEBOOK   MW_BOT_DOCK_EDGE->bot_notebook

Definition at line 29 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 38 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 37 of file bot_bar.h.

◆ MW_DIGITAL_TIME_SIG

#define MW_DIGITAL_TIME_SIG   MW_BOT_BAR->digital_timesig

Definition at line 38 of file bot_bar.h.

◆ MW_DIGITAL_TRANSPORT

#define MW_DIGITAL_TRANSPORT   MW_BOT_BAR->digital_transport

Definition at line 36 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 36 of file event_viewer.h.

◆ MW_MAIN_NOTEBOOK

#define MW_MAIN_NOTEBOOK   MW_CENTER_DOCK->main_notebook

Definition at line 37 of file main_notebook.h.

◆ MW_MIDI_ARRANGER

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

Definition at line 15 of file midi_arranger.h.

◆ MW_MIDI_EDITOR_SPACE

#define MW_MIDI_EDITOR_SPACE   MW_CLIP_EDITOR_INNER->midi_editor_space

Definition at line 33 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 37 of file event_viewer.h.

◆ MW_MIXER

#define MW_MIXER   MW_BOT_DOCK_EDGE->mixer

Definition at line 34 of file mixer.h.

◆ MW_MODULATOR_VIEW

#define MW_MODULATOR_VIEW   MW_BOT_DOCK_EDGE->modulator_view

Definition at line 30 of file modulator_view.h.

◆ MW_PANEL_FILE_BROWSER

#define MW_PANEL_FILE_BROWSER   MW_RIGHT_DOCK_EDGE->file_browser

Definition at line 30 of file panel_file_browser.h.

◆ MW_PINNED_TIMELINE

#define MW_PINNED_TIMELINE   (MW_TIMELINE_PANEL->pinned_timeline)

Definition at line 22 of file timeline_arranger.h.

◆ MW_PINNED_TRACKLIST

#define MW_PINNED_TRACKLIST   MW_TIMELINE_PANEL->pinned_tracklist

Definition at line 37 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 25 of file timeline_ruler.h.

◆ MW_TIMELINE

#define MW_TIMELINE   (MW_TIMELINE_PANEL->timeline)

Definition at line 21 of file timeline_arranger.h.

◆ MW_TIMELINE_EVENT_VIEWER

#define MW_TIMELINE_EVENT_VIEWER   MW_MAIN_NOTEBOOK->event_viewer

Definition at line 35 of file event_viewer.h.

◆ MW_TIMELINE_MINIMAP

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

Definition at line 34 of file arranger_minimap.h.

◆ MW_TIMELINE_PANEL

#define MW_TIMELINE_PANEL   (MW_MAIN_NOTEBOOK->timeline_panel)

Definition at line 37 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 22 of file toolbox.h.

◆ MW_TRACK_INSPECTOR

#define MW_TRACK_INSPECTOR   MW_LEFT_DOCK_EDGE->track_inspector

Definition at line 41 of file inspector_track.h.

◆ MW_TRACKLIST

#define MW_TRACKLIST   MW_TIMELINE_PANEL->tracklist

Definition at line 21 of file tracklist.h.

◆ MW_TRACKLIST_SCROLL

#define MW_TRACKLIST_SCROLL   (MW_TIMELINE_PANEL->tracklist_scroll)

Definition at line 39 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 22 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 32 of file region.h.

◆ REGION_NAME_BOX_PADDING

#define REGION_NAME_BOX_PADDING   2

Definition at line 31 of file region.h.

◆ REGION_NAME_FONT

#define REGION_NAME_FONT   REGION_NAME_FONT_NO_SIZE " 8"

Definition at line 28 of file region.h.

◆ REGION_NAME_FONT_NO_SIZE

#define REGION_NAME_FONT_NO_SIZE   "Bold"

Definition at line 24 of file region.h.

◆ REGION_NAME_PADDING_R

#define REGION_NAME_PADDING_R   5

Definition at line 30 of file region.h.

◆ RULER_ZOOM_LEVEL_MULTIPLIER

#define RULER_ZOOM_LEVEL_MULTIPLIER   1.28

Multiplier when zooming in/out.

Definition at line 61 of file ruler.h.

◆ SCALE_OBJECT_NAME_FONT

#define SCALE_OBJECT_NAME_FONT   "Sans SemiBold 8"

Definition at line 26 of file scale_object.h.

◆ SCALE_OBJECT_NAME_PADDING

#define SCALE_OBJECT_NAME_PADDING   2

Definition at line 27 of file scale_object.h.

◆ SCALE_OBJECT_WIDGET_TRIANGLE_W

#define SCALE_OBJECT_WIDGET_TRIANGLE_W   10

Definition at line 25 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 35 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 25 of file snap_grid_popover.h.

◆ SPACE_BEFORE_START

#define SPACE_BEFORE_START   10

Pixels to put before 1st bar.

Definition at line 56 of file ruler.h.

◆ SPACE_BEFORE_START_D

#define SPACE_BEFORE_START_D   10.0

Definition at line 58 of file ruler.h.

◆ SPACE_BEFORE_START_F

#define SPACE_BEFORE_START_F   10.f

Definition at line 57 of file ruler.h.

◆ SPECTRUM_ANALYZER_WIDGET_TYPE

#define SPECTRUM_ANALYZER_WIDGET_TYPE   (spectrum_analyzer_widget_get_type ())

Definition at line 22 of file spectrum_analyzer.h.

◆ TOOLBOX_WIDGET_TYPE

#define TOOLBOX_WIDGET_TYPE   (toolbox_widget_get_type ())

Definition at line 19 of file toolbox.h.

◆ TRACK_BOT_BUTTONS_SHOULD_BE_VISIBLE

#define TRACK_BOT_BUTTONS_SHOULD_BE_VISIBLE ( height)
Value:
(height \
constexpr int TRACK_BUTTON_PADDING_FROM_EDGE
Padding between the track edges and the buttons.
Definition track.h:35
constexpr int TRACK_BUTTON_SIZE
Button size.
Definition track.h:29
constexpr int TRACK_BUTTON_PADDING
Padding between each button.
Definition track.h:32

Definition at line 37 of file track.h.

◆ TRACK_CB_ICON_IS

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

Definition at line 76 of file track.h.

◆ TRACK_ICON_IS

#define TRACK_ICON_IS ( x,
name )
Value:
(x == std::string (TRACK_ICON_NAME_##name))

Definition at line 74 of file track.h.

◆ VELOCITY_LINE_WIDTH

#define VELOCITY_LINE_WIDTH   4

Definition at line 28 of file velocity.h.

◆ VELOCITY_RESIZE_THRESHOLD

#define VELOCITY_RESIZE_THRESHOLD   16

Definition at line 29 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 27 of file velocity.h.

◆ VOLUME_WIDGET_TYPE

#define VOLUME_WIDGET_TYPE   (volume_widget_get_type ())

Definition at line 17 of file volume.h.

Typedef Documentation

◆ ActiveHardwareMbWidget [1/2]

A menu button that allows selecting active hardware ports.

Definition at line 30 of file active_hardware_mb.h.

◆ ActiveHardwareMbWidget [2/2]

typedef struct _ActiveHardwareMbWidget ActiveHardwareMbWidget

Definition at line 38 of file monitor_section.h.

◆ AddTracksToGroupDialogWidget

Initial value:
struct _AddTracksToGroupDialogWidget
{
GtkDialog parent_instance;
}

Dialog for routing track selections to a group.

Definition at line 31 of file add_tracks_to_group_dialog.h.

◆ ArrangerWidget

A canvas widget for drawing and interacting with arranger objects.

The ArrangerWidget is responsible for rendering and handling user interactions with various musical elements such as MIDI notes, audio regions, automation points, and more. It supports different types of arrangers (timeline, MIDI, automation, etc.) and provides a unified interface for working with these elements.

Definition at line 95 of file arranger.h.

◆ ArrangerWidgetForeachFunc

typedef void(* ArrangerWidgetForeachFunc) (ArrangerWidget *arranger)

Definition at line 687 of file arranger.h.

◆ ArrangerWrapperWidget

Initial value:
struct _ArrangerWrapperWidget
{
GtkWidget parent_instance;
GtkOverlay * overlay;
GtkScrollbar * right_scrollbar;
ArrangerWidget * child;
}
struct _ArrangerWidget { GtkWidget parent_instance; ArrangerWidgetType type; GtkGestureDrag * drag; GtkGestureClick * click; GtkGestureClick * right_click; GtkEventControllerMotion *motion_controller; double last_offset_x; double last_offset_y; double offset_x_from_scroll; double offset_y_from_scroll; UiOverlayAction action; double start_x; double start_y; double start_pos_px; bool drag_update_started; std::unique_ptr< Position > earliest_obj_start_pos; Position fade_pos_at_start; std::unique_ptr< ArrangerObject > start_object; std::weak_ptr< ArrangerObject > prj_start_object; std::weak_ptr< ArrangerObject > hovered_object; bool start_object_was_selected; std::unique_ptr< ArrangerSelections > sel_at_start; std::unique_ptr< Region > region_at_start; std::unique_ptr< ArrangerSelections > sel_to_delete; Position start_pos; bool was_paused; Position playhead_pos_at_start; double curr_ticks_diff_from_start; double adj_ticks_diff; double last_adj_ticks_diff; Position curr_pos; Position end_pos; gboolean key_is_pressed; double hover_x; double hover_y; bool hovered; int n_press; std::shared_ptr< SnapGrid > snap_grid; int shift_held; int ctrl_held; int alt_held; gint64 last_frame_time; int visible_track_diff; int lane_diff; int visible_at_diff; int is_pinned; int resizing_range; int resizing_range_start; AutomationTrack *hovered_at; TrackLane * hovered_lane; Track * hovered_track; GdkTexture *symbolic_link_texture; GdkTexture *music_note_16th_texture; GdkTexture *fork_awesome_snowflake_texture; GdkTexture *media_playlist_repeat_texture; int region_icon_texture_size; GskRenderNode *loop_line_node; GskRenderNode *clip_start_line_node; GskRenderNode *cut_line_node; int hovered_note; int start_vel_val; int vel_diff; int hovered_chord_index; float fval_at_start; double dval_at_start; int last_playhead_px; bool redraw; graphene_rect_t last_rect; bool can_link; bool is_highlighted; GdkRectangle highlight_rect; GdkRectangle last_selection_rect; guint drag_start_btn; bool first_draw; double new_hadj_val; Transport::Display ruler_display; PangoLayoutUniquePtr vel_layout; PangoLayoutUniquePtr ap_layout; PangoLayoutUniquePtr audio_layout; PangoLayoutUniquePtr debug_layout; int queued_playhead_px; GtkPopoverMenu *popover_menu; guint unlisten_notes_timeout_id;} ArrangerWidget
A canvas widget for drawing and interacting with arranger objects.
Definition arranger.h:95

Wraps the arranger widget in a box with scrollbars.

Definition at line 36 of file arranger_wrapper.h.

◆ AutomatableSelectorPopoverWidget

Initial value:
struct _AutomatableSelectorPopoverWidget
{
GtkPopover parent_instance;
AutomationTrack * owner;
GtkListView * type_listview;
GtkListView * port_listview;
std::unique_ptr<ItemFactory> port_factory;
GtkLabel * info;
GtkSearchEntry * port_search_entry;
ControlPort * selected_port;
}

A popover for selecting the automation track to automate.

Definition at line 79 of file automatable_selector_popover.h.

◆ BindCcDialogWidget

Initial value:
struct _BindCcDialogWidget
{
GtkDialog parent_instance;
GtkButton * cancel_btn;
GtkButton * ok_btn;
GtkLabel * lbl;
midi_byte_t cc[3];
Port * port;
bool perform_action;
}
uint8_t midi_byte_t
MIDI byte.
Definition types.h:55

The bind_cc dialog.

Definition at line 38 of file bind_cc_dialog.h.

◆ BotBarWidget

using BotBarWidget

Bottom bar showing the engine status, etc.

Definition at line 43 of file bot_bar.h.

◆ BounceDialogWidget

Initial value:
struct _BounceDialogWidget
{
GtkDialog parent_instance;
GtkButton * cancel_btn;
GtkButton * bounce_btn;
GtkCheckButton * bounce_with_parents;
GtkCheckButton * disable_after_bounce;
GtkBox * bounce_step_box;
BounceStepSelectorWidget * bounce_step_selector;
GtkSpinButton * tail_spin;
int bounce_to_file;
Position start_pos;
std::string bounce_name;
std::shared_ptr<Exporter> exporter;
}
BounceDialogWidgetType
Type of bounce.

The export dialog.

Definition at line 49 of file bounce_dialog.h.

◆ CcBindingsTreeWidget

using CcBindingsTreeWidget
Initial value:
= struct _CcBindingsTreeWidget
{
GtkBox parent_instance;
GtkScrolledWindow * scroll;
GtkColumnView * column_view;
ItemFactoryPtrVector item_factories;
GtkBox * toolbar;
GtkButton * delete_btn;
}

Definition at line 18 of file cc_bindings.h.

◆ ChannelSendSelectorWidget

using ChannelSendSelectorWidget
Initial value:
struct _ChannelSendSelectorWidget
{
GtkPopover parent_instance;
ChannelSendWidget * send_widget;
GtkBox * vbox;
GtkSingleSelection * view_model;
GtkListView * view;
std::unique_ptr<ItemFactory> item_factory;
}

Definition at line 34 of file channel_send_selector.h.

◆ ChannelSendsExpanderWidget

Initial value:
struct _ChannelSendsExpanderWidget
{
ExpanderBoxWidget parent_instance;
ChannelSendsExpanderPosition position;
GtkScrolledWindow * scroll;
GtkViewport * viewport;
GtkBox * box;
std::vector<GtkBox *> strip_boxes;
std::vector<ChannelSendWidget *> slots;
Track * track;
}

A TwoColExpanderBoxWidget for showing the ports in the InspectorWidget.

Definition at line 47 of file channel_sends_expander.h.

◆ ChannelSendWidget

using ChannelSendWidget

Definition at line 32 of file channel_send.h.

◆ ChannelSlotWidget

using ChannelSlotWidget

Definition at line 39 of file channel_slot.h.

◆ ChordPackBrowserWidget

typedef struct _ChordPackBrowserWidget ChordPackBrowserWidget

Definition at line 36 of file right_dock_edge.h.

◆ ChordSelectorWindowWidget

A GtkPopover to create a ChordDescriptor for use in the ChordTrack's ChordObject's.

Definition at line 34 of file chord_selector_window.h.

◆ EventViewerWidget

using EventViewerWidget
Initial value:
struct _EventViewerWidget
{
GtkBox parent_instance;
GtkColumnView * column_view;
ItemFactoryPtrVector item_factories;
EventViewerType type;
std::unique_ptr<ArrangerSelections> last_selections;
bool marking_selected_objs;
}

Definition at line 51 of file event_viewer.h.

◆ ExpanderBoxRevealFunc

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

Reveal callback prototype.

Definition at line 35 of file expander_box.h.

◆ ExportDialogWidget

The export dialog.

Definition at line 43 of file export_dialog.h.

◆ ExportProgressDialogCloseCallback

using ExportProgressDialogCloseCallback
Initial value:
std::function<void (std::shared_ptr<Exporter>)>

Definition at line 45 of file export_progress_dialog.h.

◆ FaderButtonsWidget

using FaderButtonsWidget
Initial value:
struct _FaderButtonsWidget
{
GtkBox parent_instance;
GtkToggleButton * mono_compat;
GtkToggleButton * solo;
GtkToggleButton * mute;
GtkToggleButton * record;
GtkToggleButton * listen;
GtkToggleButton * swap_phase;
GtkButton * e;
gulong mono_compat_toggled_handler_id;
gulong record_toggled_handler_id;
gulong solo_toggled_handler_id;
gulong mute_toggled_handler_id;
gulong listen_toggled_handler_id;
gulong swap_phase_toggled_handler_id;
ChannelTrack * track;
GtkPopoverMenu * popover_menu;
}

Definition at line 31 of file fader_buttons.h.

◆ FaderControlsExpanderWidget

Initial value:
struct _FaderControlsExpanderWidget
{
ExpanderBoxWidget parent_instance;
FaderControlsGridWidget * grid;
ChannelTrack * track;
}

A TwoColExpanderBoxWidget for showing the ports in the InspectorWidget.

Definition at line 33 of file fader_controls_expander.h.

◆ FaderControlsGridWidget

using FaderControlsGridWidget
Initial value:
struct _FaderControlsGridWidget
{
GtkGrid parent_instance;
GtkBox * meters_box;
MeterWidget * meter_l;
MeterWidget * meter_r;
GtkBox * balance_box;
BalanceControlWidget * balance_control;
FaderWidget * fader;
Track * track;
FaderButtonsWidget * fader_buttons;
GtkLabel * meter_readings;
double meter_reading_val;
gint64 last_midi_trigger_time;
guint tick_cb;
}
A FaderWidget reflects a Fader object's state.
Definition fader.h:29

Definition at line 30 of file fader_controls_grid.h.

◆ FileAuditionerControlsWidget

Initial value:
struct _FileAuditionerControlsWidget
{
GtkBox parent_instance;
bool for_files;
GtkButton * play_btn;
GtkButton * stop_btn;
GtkMenuButton * file_settings_btn;
VolumeWidget * volume;
GtkDropDown * instrument_dropdown;
GtkWidget * owner;
SelectedFileGetter selected_file_getter;
GenericCallback refilter_files;
}
std::function< void()> GenericCallback
Generic callback.
Definition types.h:112

File auditioner controls used in file browsers.

Definition at line 45 of file file_auditioner_controls.h.

◆ FileBrowserFiltersWidget

Initial value:
struct _FileBrowserFiltersWidget
{
GtkBox parent_instance;
GtkToggleButton * toggle_audio;
GtkToggleButton * toggle_midi;
GtkToggleButton * toggle_presets;
GenericCallback refilter_files;
}

File auditioner controls used in file browsers.

Definition at line 45 of file file_browser_filters.h.

◆ FileBrowserWidget

typedef struct _FileBrowserWidget FileBrowserWidget

Definition at line 32 of file right_dock_edge.h.

◆ FileImportProgressDialogWidget

Initial value:
struct _FileImportProgressDialog
{
AdwMessageDialog parent_instance;
char ** filepaths;
int num_files_total;
FileImportInfo * import_info;
int num_files_remaining;
GCancellable * cancellable;
GPtrArray * file_imports;
std::vector<std::vector<std::shared_ptr<Region>>> region_arrays;
TracksReadyCallback tracks_ready_cb;
}

A progress dialog for file import.

Definition at line 38 of file file_import_progress_dialog.h.

◆ FoldableNotebookWidget

typedef struct _FoldableNotebookWidget FoldableNotebookWidget

Definition at line 29 of file bot_dock_edge.h.

◆ FolderChannelWidget

using FolderChannelWidget

Definition at line 37 of file folder_channel.h.

◆ GenericProgressDialogWidgetClass

using GenericProgressDialogWidgetClass
Initial value:
struct _GenericProgressDialogWidgetClass
{
AdwAlertDialogClass parent_class;
}

Definition at line 72 of file generic_progress_dialog.h.

◆ GenericProgressDialogWidgetPrivate

Initial value:
struct
{
GtkProgressBar * progress_bar;
bool autoclose;
bool cancelable;
ProgressInfo * progress_info;
std::vector<GenericProgressDialogButton> extra_buttons;
std::optional<GenericCallback> close_cb;
}
Generic progress info.

A generic progress dialog.

Definition at line 43 of file generic_progress_dialog.h.

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

Projects are opened in a MainWindowWidget when this widget is disposed.

Definition at line 34 of file greeter.h.

◆ InspectorPluginWidget

Initial value:
struct _InspectorPluginWidget
{
GtkBox parent_instance;
PortsExpanderWidget * ctrl_ins;
PortsExpanderWidget * ctrl_outs;
PortsExpanderWidget * audio_ins;
PortsExpanderWidget * audio_outs;
PortsExpanderWidget * midi_ins;
PortsExpanderWidget * midi_outs;
ColorAreaWidget * color;
}
A widget for selecting plugin_properties in the plugin inspector.
A TwoColExpanderBoxWidget for showing the ports in the InspectorWidget.

Inspector section for plugins.

Definition at line 36 of file inspector_plugin.h.

◆ InspectorPortWidget

A Port to show in the inspector for Plugin's.

Definition at line 38 of file inspector_port.h.

◆ InspectorTrackWidget

Initial value:
struct _InspectorTrackWidget
{
GtkWidget parent_instance;
TrackInputExpanderWidget * inputs;
PortsExpanderWidget * controls;
TextExpanderWidget * comment;
ColorAreaWidget * color;
}
struct _FaderControlsExpanderWidget { ExpanderBoxWidget parent_instance; FaderControlsGridWidget *grid; ChannelTrack *track;} FaderControlsExpanderWidget
A TwoColExpanderBoxWidget for showing the ports in the InspectorWidget.
struct _PluginStripExpanderWidget { ExpanderBoxWidget parent_instance; zrythm::plugins::PluginSlotType slot_type; PluginStripExpanderPosition position; GtkScrolledWindow *scroll; GtkViewport * viewport; GtkBox *box; GtkBox *strip_boxes[STRIP_SIZE]; ChannelSlotWidget *slots[STRIP_SIZE]; ChannelTrack *track;} PluginStripExpanderWidget
A TwoColExpanderBoxWidget for showing the ports in the InspectorWidget.
struct _ChannelSendsExpanderWidget { ExpanderBoxWidget parent_instance; ChannelSendsExpanderPosition position; GtkScrolledWindow *scroll; GtkViewport * viewport; GtkBox *box; std::vector< GtkBox * > strip_boxes; std::vector< ChannelSendWidget * > slots; Track *track;} ChannelSendsExpanderWidget
A TwoColExpanderBoxWidget for showing the ports in the InspectorWidget.
struct _TextExpanderWidget { ExpanderBoxWidget parent_instance; GenericStringGetter getter; GenericStringSetter setter; void *obj; GtkScrolledWindow *scroll; GtkViewport * viewport; GtkTextView *editor; GtkTextBuffer *buffer; GtkLabel *label; GtkMenuButton *edit_btn; GtkPopover *popover; bool has_focus;} TextExpanderWidget
A TwoColExpanderBoxWidget for showing the ports in the InspectorWidget.

Inspector section for tracks.

Definition at line 46 of file inspector_track.h.

◆ ItemFactoryPtrVector

using ItemFactoryPtrVector = std::vector<std::unique_ptr<ItemFactory>>

Definition at line 99 of file item_factory.h.

◆ KnobWidget

using KnobWidget

Basic knob widget.

Note
Originally taken from Ardour.

Definition at line 37 of file knob.h.

◆ KnobWithNameWidget

typedef struct _KnobWithNameWidget KnobWithNameWidget

Definition at line 17 of file modulator_macro.h.

◆ LiveWaveformWidget

Initial value:
struct _LiveWaveformWidget
{
GtkDrawingArea parent_instance;
LiveWaveformType type;
int draw_border;
std::unique_ptr<juce::AudioSampleBuffer> buffer;
AudioPort * port;
}

Live waveform display like LMMS.

Definition at line 36 of file live_waveform.h.

◆ MainWindowWidget

The main window of Zrythm.

Inherits from GtkApplicationWindow, meaning that it is the parent of all other sub-windows of Zrythm.

Definition at line 44 of file main_window.h.

◆ MeterWidget

typedef struct _MeterWidget MeterWidget

Definition at line 37 of file monitor_section.h.

◆ ModulatorViewWidget

using ModulatorViewWidget
Initial value:
struct _ModulatorViewWidget
{
GtkWidget parent_instance;
AdwStatusPage * no_modulators_status_page;
GtkBox * modulators_box;
GtkBox * macros_box;
ColorAreaWidget * color;
GtkLabel * track_name_lbl;
ModulatorTrack * track;
ModulatorWidget * modulators[14];
ModulatorMacroWidget * macros[8];
}

The ModulatorViewWidget contains the ModulatorWidgets for the selected Track.

Definition at line 42 of file modulator_view.h.

◆ MonitorSectionWidget

typedef struct _MonitorSectionWidget MonitorSectionWidget

Definition at line 33 of file right_dock_edge.h.

◆ PanelFileBrowserWidget [1/2]

using PanelFileBrowserWidget

Definition at line 32 of file panel_file_browser.h.

◆ PanelFileBrowserWidget [2/2]

typedef struct _PanelFileBrowserWidget PanelFileBrowserWidget

Definition at line 35 of file right_dock_edge.h.

◆ PluginBrowserWidget

typedef struct _PluginBrowserWidget PluginBrowserWidget

The plugin browser allows to browse and filter available Plugin's on the system.

It contains references to PluginDescriptor's, which it uses to initialize Plugin's on row activation or drag-n-drop.

Definition at line 70 of file plugin_browser.h.

◆ PluginStripExpanderWidget

Initial value:
struct _PluginStripExpanderWidget
{
ExpanderBoxWidget parent_instance;
zrythm::plugins::PluginSlotType slot_type;
PluginStripExpanderPosition position;
GtkScrolledWindow * scroll;
GtkViewport * viewport;
GtkBox * box;
GtkBox * strip_boxes[STRIP_SIZE];
ChannelSlotWidget * slots[STRIP_SIZE];
ChannelTrack * track;
}

A TwoColExpanderBoxWidget for showing the ports in the InspectorWidget.

Definition at line 47 of file plugin_strip_expander.h.

◆ PortConnectionsPopoverWidget

typedef struct _PortConnectionsPopoverWidget PortConnectionsPopoverWidget

Definition at line 31 of file port_selector_dialog.h.

◆ RouteTargetSelectorWidget

Initial value:
struct _RouteTargetSelectorWidget
{
AdwBin parent_instance;
GtkDropDown * dropdown;
ChannelTrack * track;
}

Dropdown to select the direct output of a track.

Definition at line 32 of file route_target_selector.h.

◆ RulerWidget

using RulerWidget

Definition at line 100 of file ruler.h.

◆ ScaleSelectorWindowWidget

A GtkPopover to create a ScaleDescriptor for use in the ScaleTrack's ScaleObject's.

Definition at line 39 of file scale_selector_window.h.

◆ SelectedFileGetter

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

Definition at line 39 of file file_auditioner_controls.h.

◆ SliderBarWidget

typedef struct _SliderBarWidget SliderBarWidget

Definition at line 36 of file monitor_section.h.

◆ StringEntryDialogWidget

Initial value:
struct _StringEntryDialogWidget
{
AdwMessageDialog parent_instance;
GtkEntry * entry;
GtkButton * ok;
}
std::function< std::string()> GenericStringGetter
Getter prototype for strings.
Definition types.h:102
std::function< void(const std::string &)> GenericStringSetter
Setter prototype for float values.
Definition types.h:107

A dialog to edit a string.

Definition at line 30 of file string_entry_dialog.h.

◆ StringListItemFactoryEnumStringGetter

typedef std::string(* StringListItemFactoryEnumStringGetter) (int val)

Definition at line 23 of file string_list_item_factory.h.

◆ TextExpanderWidget

A TwoColExpanderBoxWidget for showing the ports in the InspectorWidget.

Definition at line 35 of file text_expander.h.

◆ TrackInputExpanderWidget

using TrackInputExpanderWidget
Initial value:
struct _TrackInputExpanderWidget
{
TwoColExpanderBoxWidget parent_instance;
GtkDropDown * midi_input;
GtkDropDown * stereo_l_input;
GtkDropDown * stereo_r_input;
GtkDropDown * midi_channels;
GtkSizeGroup * audio_input_size_group;
GtkToggleButton * mono;
GtkBox * gain_box;
KnobWidget * gain;
ChannelTrack * track;
}
struct _KnobWidget { GtkWidget parent_instance; KnobType type; GenericFloatGetter getter; GenericFloatGetter default_getter; GenericFloatGetter snapped_getter; GenericFloatSetter setter; GenericFloatSetter init_setter; GenericFloatSetter end_setter; GenericStringGetter hover_str_getter; void *object; int size; bool hover; float zero; bool arc; int bevel; bool flat; float min; float max; GdkRGBA start_color; GdkRGBA end_color; GtkGestureDrag *drag; double last_x; double last_y; bool drag_updated; PangoLayout *layout; float last_real_val; GtkPopoverMenu *popover_menu;} KnobWidget
Basic knob widget.
Definition knob.h:37

Definition at line 30 of file track_input_expander.h.

◆ TrackWidget

using TrackWidget

The TrackWidget is split into 3 parts.

  • 1. Top part contains the "main" view.
  • 2. Lane part contains each lane.
  • 3. Automation tracklist part contains each automation track.

Definition at line 107 of file track.h.

◆ VolumeWidget

using VolumeWidget
Initial value:
struct _VolumeWidget
{
GtkDrawingArea parent_instance;
ControlPort * port;
bool hover;
GtkGestureDrag * drag;
double last_x;
double last_y;
}

Definition at line 20 of file volume.h.

◆ WrappedObjectWithChangeSignal

using WrappedObjectWithChangeSignal

A GObject-ified normal C object with a signal that interested parties can listen to for changes.

To be used in list view models and other APIs that require using a GObject.

Definition at line 73 of file wrapped_object_with_change_signal.h.

Enumeration Type Documentation

◆ ArrangerCursor

enum class ArrangerCursor
strong
Enumerator
None 

Invalid cursor.

Definition at line 29 of file arranger.h.

◆ ArrangerMinimapAction

enum class ArrangerMinimapAction
strong
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 36 of file arranger_minimap.h.

◆ ArrangerMinimapType

enum class ArrangerMinimapType
strong

Definition at line 46 of file arranger_minimap.h.

◆ ArrangerWidgetType

enum class ArrangerWidgetType
strong

Type of arranger.

Definition at line 66 of file arranger.h.

◆ AutomatableSelectorType

enum class AutomatableSelectorType
strong

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 34 of file automatable_selector_popover.h.

◆ BarSliderType

enum class BarSliderType
strong

Type of slider.

Enumerator
BAR_SLIDER_TYPE_PORT_MULTIPLIER 

Port connection multiplier.

Definition at line 36 of file bar_slider.h.

◆ BounceDialogWidgetType

enum class BounceDialogWidgetType
strong

Type of bounce.

Definition at line 40 of file bounce_dialog.h.

◆ ChannelSendsExpanderPosition

enum class ChannelSendsExpanderPosition
strong

Definition at line 37 of file channel_sends_expander.h.

◆ DigitalMeterType

enum class DigitalMeterType
strong

Definition at line 36 of file digital_meter.h.

◆ EventViewerType

enum class EventViewerType
strong

Definition at line 42 of file event_viewer.h.

◆ ExportFilenamePattern

enum class ExportFilenamePattern
strong

Definition at line 34 of file export_dialog.h.

◆ KnobType

enum class KnobType
strong

Type of knob.

Enumerator
KNOB_TYPE_PORT_MULTIPLIER 

Port connection multiplier.

Definition at line 22 of file knob.h.

◆ LiveWaveformType

enum class LiveWaveformType
strong

Definition at line 27 of file live_waveform.h.

◆ MidiActivityBarAnimation

enum class MidiActivityBarAnimation
strong
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 class MidiActivityBarType
strong

Definition at line 34 of file midi_activity_bar.h.

◆ PluginBrowserFilter

enum class PluginBrowserFilter
strong

Definition at line 47 of file plugin_browser.h.

◆ PluginBrowserSortStyle

enum class PluginBrowserSortStyle
strong

Definition at line 56 of file plugin_browser.h.

◆ PluginBrowserTab

enum class PluginBrowserTab
strong

Definition at line 39 of file plugin_browser.h.

◆ PluginStripExpanderPosition

enum class PluginStripExpanderPosition
strong

Definition at line 37 of file plugin_strip_expander.h.

◆ PortsExpanderTrackPortType

enum class PortsExpanderTrackPortType
strong

Used for Track's.

Definition at line 41 of file ports_expander.h.

◆ RulerWidgetRangeType

enum class RulerWidgetRangeType
strong

Range type.

Enumerator
Start 

Range start.

Full 

Whole range.

End 

Range end.

Definition at line 90 of file ruler.h.

◆ RulerWidgetType

enum class RulerWidgetType
strong

Definition at line 81 of file ruler.h.

◆ RWTarget

enum class RWTarget
strong

The ruler widget target acting upon.

Enumerator
Range 

for timeline only

LoopRange 

for timeline only

Definition at line 69 of file ruler.h.

◆ TrackWidgetHighlight

enum class TrackWidgetHighlight
strong

Highlight location.

Definition at line 81 of file track.h.

◆ TrackWidgetResizeTarget

enum class TrackWidgetResizeTarget
strong

Resize target.

Definition at line 92 of file track.h.

Function Documentation

◆ _bar_slider_widget_new()

BarSliderWidget * _bar_slider_widget_new ( BarSliderType type,
GenericFloatGetter get_val,
GenericFloatSetter 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(* 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.

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

GroupTargetTrack * 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 ( const 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 ( const ArrangerObject * self,
const 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 ( const ArrangerObject * self,
const 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()

ATTR_NONNULL bool arranger_object_is_rename ( const 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()

ATTR_NONNULL bool arranger_object_is_resize_l ( const 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 ( const 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()

ATTR_NONNULL bool arranger_object_is_resize_r ( const 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 ( const 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()

bool arranger_object_should_orig_be_visible ( const ArrangerObject & self,
const 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 ( const 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()

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

ATTR_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,
ArrangerObject::Type 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,
ArrangerObject::Type type,
double x,
double y,
std::vector< ArrangerObject * > & 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,
ArrangerObject::Type type,
GdkRectangle * rect,
std::vector< ArrangerObject * > & 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_resize_type_and_direction_from_action()

std::pair< ArrangerObject::ResizeType, bool > arranger_widget_get_resize_type_and_direction_from_action ( UiOverlayAction action)
Parameters
action
Returns
The resize type and whether resizing Left.

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

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

ATTR_NONNULL void arranger_widget_scroll_until_obj ( ArrangerWidget * self,
ArrangerObject * obj,
bool horizontal,
bool up,
bool 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_set_start_object()

template<typename T = ArrangerObject>
requires std::derived_from<T, ArrangerObject>
void arranger_widget_set_start_object ( ArrangerWidget * self,
std::shared_ptr< T > obj )

Definition at line 568 of file arranger.h.

◆ 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 ( const 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()

bool 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
Whether successful.

◆ 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,
AutomationRegion * 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,
double x,
double y )

Generate a context menu at x, y.

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

◆ 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 ( std::shared_ptr< Exporter > exporter,
bool autoclose,
std::optional< 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,
ChannelTrack * 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/12]

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

Pointer back to parent.

Definition at line 26 of file arranger_minimap_selection.h.

◆ G_DECLARE_FINAL_TYPE() [2/12]

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() [3/12]

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() [4/12]

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 25 of file chord_pad.h.

◆ G_DECLARE_FINAL_TYPE() [5/12]

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

Definition at line 24 of file drag_dest_box.h.

◆ G_DECLARE_FINAL_TYPE() [6/12]

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() [7/12]

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 27 of file modulator_macro.h.

◆ G_DECLARE_FINAL_TYPE() [8/12]

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

Modulator.

Pointer back to the Modulator.

Definition at line 29 of file modulator.h.

◆ G_DECLARE_FINAL_TYPE() [9/12]

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() [10/12]

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() [11/12]

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

Snap grid popover.

Owner button.

Definition at line 26 of file snap_grid_popover.h.

◆ G_DECLARE_FINAL_TYPE() [12/12]

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,
ProjectMixerSelections * 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()

ATTR_NONNULL void inspector_track_widget_show_tracks ( InspectorTrackWidget * self,
SimpleTracklistSelections * 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.

◆ 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,
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_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_modifier_arranger_widget_select_vels_in_range()

void midi_modifier_arranger_widget_select_vels_in_range ( ArrangerWidget * self,
double offset_x )

Selects MidiNote objects in the given range.

Parameters
self
offset_x?

◆ midi_note_draw()

ATTR_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,
const SimpleTracklistSelections * sel,
Region * region )

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

Parameters
trackTrack, if track.
selTracklistSelections, if multiple tracks.
regionRegion, 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()

ATTR_HOT void region_draw ( Region * self,
GtkSnapshot * snapshot,
GdkRectangle * rect )

Draws the Region 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()

template<FinalRegionSubclass RegionT>
void timeline_arranger_widget_create_region ( ArrangerWidget * self,
Track * track,
std::conditional_t< LaneOwnedRegionSubclass< RegionT >, TrackLaneImpl< RegionT > *, std::nullptr_t > lane,
AutomationTrack * at,
const Position * pos )

Create a Region 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.
Exceptions
ZrythmExceptionon error.

◆ 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,
bool fade_in )

Fade up/down.

Parameters
fade_inTrue to fade in, false to fade out.

◆ timeline_arranger_widget_gen_context_menu()

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

Generate a context menu at x, y.

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.

◆ 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 39 of file add_track_menu_button.h.

◆ AP_WIDGET_POINT_SIZE

int AP_WIDGET_POINT_SIZE = 6
constexpr

Definition at line 22 of file automation_point.h.

◆ ArrangerMinimapSelectionWidget

ArrangerMinimapSelectionWidget

Definition at line 41 of file arranger_minimap_selection.h.

◆ AUTOMATION_ARRANGER_VPADDING

int AUTOMATION_ARRANGER_VPADDING = 4
constexpr

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

Definition at line 32 of file automation_arranger.h.

◆ AUTOMATION_MODE_HPADDING

int AUTOMATION_MODE_HPADDING = 3
constexpr

Definition at line 18 of file automation_mode.h.

◆ AUTOMATION_MODE_HSEPARATOR_SIZE

int AUTOMATION_MODE_HSEPARATOR_SIZE = 1
constexpr

Definition at line 19 of file automation_mode.h.

◆ BounceStepSelectorWidget

BounceStepSelectorWidget

Definition at line 44 of file bounce_step_selector.h.

◆ ButtonWithMenuWidget

ButtonWithMenuWidget

Definition at line 49 of file button_with_menu.h.

◆ CcBindingsWidget

CcBindingsWidget

Definition at line 44 of file cc_bindings.h.

◆ ChordPadPanelWidget

ChordPadPanelWidget

Definition at line 58 of file chord_pad_panel.h.

◆ ChordPadWidget

ChordPadWidget

Definition at line 60 of file chord_pad.h.

◆ CUSTOM_BUTTON_WIDGET_MAX_TRANSITION_FRAMES

int CUSTOM_BUTTON_WIDGET_MAX_TRANSITION_FRAMES = 9
constexpr

Definition at line 24 of file custom_button.h.

◆ CustomImageWidget

CustomImageWidget

Definition at line 52 of file custom_image.h.

◆ FileChooserButtonWidget

FileChooserButtonWidget

Definition at line 43 of file file_chooser_button.h.

◆ ModulatorMacroWidget

ModulatorMacroWidget

Definition at line 62 of file modulator_macro.h.

◆ ModulatorWidget

ModulatorWidget

Definition at line 47 of file modulator.h.

◆ object

const GArray void* object

Definition at line 37 of file multi_selection.h.

◆ PianoRollKeysWidget

PianoRollKeysWidget

Definition at line 83 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.

◆ SaveChordPresetDialogWidget

SaveChordPresetDialogWidget

Definition at line 42 of file save_chord_preset_dialog.h.

◆ selection_indices

const GArray* selection_indices

Definition at line 36 of file multi_selection.h.

◆ SnapGridPopoverWidget

SnapGridPopoverWidget

Definition at line 63 of file snap_grid_popover.h.

◆ TRACK_BUTTON_PADDING

int TRACK_BUTTON_PADDING = 6
constexpr

Padding between each button.

Definition at line 32 of file track.h.

◆ TRACK_BUTTON_PADDING_FROM_EDGE

int TRACK_BUTTON_PADDING_FROM_EDGE = 3
constexpr

Padding between the track edges and the buttons.

Definition at line 35 of file track.h.

◆ TRACK_BUTTON_SIZE

int TRACK_BUTTON_SIZE = 18
constexpr

Button size.

Definition at line 29 of file track.h.

◆ TRACK_COLOR_AREA_WIDTH

int TRACK_COLOR_AREA_WIDTH = 18
constexpr

Definition at line 42 of file track.h.

◆ TRACK_ICON_NAME_BUS

const char* TRACK_ICON_NAME_BUS = "effect"
constexpr

Definition at line 61 of file track.h.

◆ TRACK_ICON_NAME_CHORDS

const char* TRACK_ICON_NAME_CHORDS = "minuet-chords"
constexpr

Definition at line 62 of file track.h.

◆ TRACK_ICON_NAME_FOLD

const char* TRACK_ICON_NAME_FOLD = "fluentui-folder-regular"
constexpr

Definition at line 69 of file track.h.

◆ TRACK_ICON_NAME_FOLD_OPEN

const char* TRACK_ICON_NAME_FOLD_OPEN
constexpr
Initial value:
=
"fluentui-folder-open-regular"

Definition at line 70 of file track.h.

◆ TRACK_ICON_NAME_FREEZE

const char* TRACK_ICON_NAME_FREEZE = "fork-awesome-snowflake-o"
constexpr

Definition at line 58 of file track.h.

◆ TRACK_ICON_NAME_LISTEN

const char* TRACK_ICON_NAME_LISTEN
constexpr
Initial value:
=
"gnome-icon-library-headphones-symbolic"

Definition at line 49 of file track.h.

◆ TRACK_ICON_NAME_LOCK

const char* TRACK_ICON_NAME_LOCK
constexpr
Initial value:
=
"gnome-icon-library-padlock2-symbolic"

Definition at line 54 of file track.h.

◆ TRACK_ICON_NAME_MIDI

const char* TRACK_ICON_NAME_MIDI = "instrument"
constexpr

Definition at line 65 of file track.h.

◆ TRACK_ICON_NAME_MINUS

const char* TRACK_ICON_NAME_MINUS = "remove"
constexpr

Definition at line 60 of file track.h.

◆ TRACK_ICON_NAME_MODULATOR

const char* TRACK_ICON_NAME_MODULATOR
constexpr
Initial value:
=
"gnome-icon-library-encoder-knob-symbolic"

Definition at line 67 of file track.h.

◆ TRACK_ICON_NAME_MONITOR_AUDIO

const char* TRACK_ICON_NAME_MONITOR_AUDIO = "audition"
constexpr

Definition at line 72 of file track.h.

◆ TRACK_ICON_NAME_MONO_COMPAT

const char* TRACK_ICON_NAME_MONO_COMPAT = "mono"
constexpr

Definition at line 44 of file track.h.

◆ TRACK_ICON_NAME_MUTE

const char* TRACK_ICON_NAME_MUTE = "mute"
constexpr

Definition at line 48 of file track.h.

◆ TRACK_ICON_NAME_PLUS

const char* TRACK_ICON_NAME_PLUS = "add"
constexpr

Definition at line 59 of file track.h.

◆ TRACK_ICON_NAME_RECORD

const char* TRACK_ICON_NAME_RECORD = "media-record"
constexpr

Definition at line 46 of file track.h.

◆ TRACK_ICON_NAME_SHOW_AUTOMATION_LANES

const char* TRACK_ICON_NAME_SHOW_AUTOMATION_LANES = "automation-4p"
constexpr

Definition at line 52 of file track.h.

◆ TRACK_ICON_NAME_SHOW_MARKERS

const char* TRACK_ICON_NAME_SHOW_MARKERS
constexpr
Initial value:
=
"gnome-icon-library-flag-outline-thick-symbolic"

Definition at line 63 of file track.h.

◆ TRACK_ICON_NAME_SHOW_TRACK_LANES

const char* TRACK_ICON_NAME_SHOW_TRACK_LANES = "untitled-ui-rows-03"
constexpr

Definition at line 53 of file track.h.

◆ TRACK_ICON_NAME_SHOW_UI

const char* TRACK_ICON_NAME_SHOW_UI = "jam-icons-screen"
constexpr

Definition at line 51 of file track.h.

◆ TRACK_ICON_NAME_SOLO

const char* TRACK_ICON_NAME_SOLO = "solo"
constexpr

Definition at line 47 of file track.h.

◆ TRACK_ICON_NAME_SWAP_PHASE

const char* TRACK_ICON_NAME_SWAP_PHASE = "phase"
constexpr

Definition at line 45 of file track.h.

◆ TRACK_ICON_NAME_TEMPO

const char* TRACK_ICON_NAME_TEMPO = "filename-bpm-amarok"
constexpr

Definition at line 66 of file track.h.

◆ TRACK_ICON_NAME_UNLOCK

const char* TRACK_ICON_NAME_UNLOCK
constexpr
Initial value:
=
"gnome-icon-library-padlock2-open-symbolic"

Definition at line 56 of file track.h.

◆ TracklistHeaderWidget

TracklistHeaderWidget

Definition at line 37 of file tracklist_header.h.

◆ VelocitySettingsWidget

VelocitySettingsWidget

Definition at line 37 of file velocity_settings.h.