Protocols

The following protocols are available globally.

  • Optional protocol for app-owned cell models that can be displayed in a MIDITimeTableView.

    MIDITimeTableView does not require this protocol; its data source remains the source of truth. Conforming your own model can make the data source implementation and app-side history code more structured without forcing your data to inherit from framework-owned model classes.

    See more

    Declaration

    Swift

    public protocol MIDITimeTableCellRepresentable
  • Optional protocol for app-owned row models that group time table cells.

    This is only a convenience contract. MIDITimeTableViewDataSource still asks for row/cell counts and geometry explicitly so apps remain free to use any backing model shape.

    See more

    Declaration

    Swift

    public protocol MIDITimeTableRowRepresentable
  • Optional protocol for app-owned history stacks used with MIDITimeTableViewDelegate.midiTimeTableViewShouldPushHistory(_:).

    The core view intentionally does not own history snapshots because app models may include arbitrary domain data. This protocol provides a small, consistent shape for apps that want to keep their own undo/redo manager near their time table data.

    See more

    Declaration

    Swift

    public protocol MIDITimeTableHistoryRepresentable
  • Delegate functions to inform about editing or deleting cell.

    See more

    Declaration

    Swift

    public protocol MIDITimeTableCellViewDelegate : AnyObject
  • Delegate that informs about playhead is going to move.

    See more

    Declaration

    Swift

    public protocol MIDITimeTablePlayheadViewDelegate : AnyObject
  • Populates the MIDITimeTableView with row/cell data and rendered views.

    See more

    Declaration

    Swift

    public protocol MIDITimeTableViewDataSource : AnyObject
  • Delegate functions to inform about changed cells and sizing of the time table.

    See more

    Declaration

    Swift

    public protocol MIDITimeTableViewDelegate : AnyObject