# Unit DGuiMidiKeys

Description | uses | Classes, Interfaces, Objects and Records | Functions and Procedures | Types | Constants | Variables

## Description

## Overview

### Classes, Interfaces, Objects and Records

Name | Description
--- | ---
record `TGuiKbMouseDragInfo` |
record `TGuiZbMouseDragInfo` |
record `TGuiColorRect` |
record `TGuiSingleKey` |
Class `TGuiMidiKeys` |

### Types

`TGuiZoneMousePosType = set of (mptOutside, mptInZone, mptOnLowestKey, mptOnHighestKey, mptOnLowestBorder, mptOnHighestBorder);`
`TGuiKbMouseAction = (...);`
`TGuiKeyFlags = set of (kfBlackKey, kfVisible, kfPressed, kfMouseOver, kfByMouse, kfMousePinned);`
`TGuiKeyDownMode = (...);`
`TGuiKeyArray = array[0..GUI_KB_HIGHESTKEY] of TGuiSingleKey;`
`TGuiOnMouseUpOnMidiKey = procedure (Sender: TObject; KeyNr: Byte; Button: TMouseButton; Shift: TShiftState; X,Y: Integer) of Object;`
`TGuiOnMouseDownOnMidiKey = procedure (Sender: TObject; KeyNr: Byte; Button: TMouseButton; Shift: TShiftState; X,Y: Integer) of Object;`
`TGuiOnMouseUpOnKeyZoneBar = procedure (Sender: TObject; KeyNr: Byte; Zone: TGuiKeyZoneItem; MouseOverType: TGuiZoneMousePosType; Button: TMouseButton; Shift: TShiftState; X,Y: Integer) of Object;`
`TGuiOnMouseDownOnKeyZoneBar = procedure (Sender: TObject; KeyNr: Byte; Zone: TGuiKeyZoneItem; MouseOverType: TGuiZoneMousePosType; Button: TMouseButton; Shift: TShiftState; X,Y: Integer) of Object;`
`TGuiOnZoneBarMouseEnter = procedure (Sender: TObject; KeyNr: Byte; Shift: TShiftState; X, Y: Integer) of Object;`
`TGuiOnZoneBarMouseLeave = TNotifyEvent;`
`TGuiOnZoneMouseEnter = procedure (Sender: TObject; Zone: TGuiKeyZoneItem; Shift: TShiftState; X, Y: Integer) of Object;`
`TGuiOnZoneMouseLeave = procedure (Sender: TObject; Zone: TGuiKeyZoneItem) of Object;`
`TGuiOnZoneMouseOverChanged = procedure (Sender: TObject; KeyNr: Byte; Zone: TGuiKeyZoneItem; MouseOverType: TGuiZoneMousePosType; Shift: TShiftState; X, Y: Integer) of Object;`
`TGuiOnZoneSelectionChanged = procedure (Sender: TObject; Zone: TGuiKeyZoneItem) of Object;`
`TGuiOnKeyMouseEnter = procedure (Sender: TObject; KeyNr: Byte; Shift: TShiftState; X, Y: Integer) of Object;`
`TGuiOnKeyMouseLeave = procedure (Sender: TObject; KeyNr: Byte) of Object;`
`TGuiOnStartZoneBarDragging = procedure (Sender: TObject; KeyNr: Integer; var DragInfo: TGuiZbMouseDragInfo; Shift: TShiftState; X,Y: Integer) of Object;`
`TGuiOnMoveZoneBarDragging = procedure (Sender: TObject; KeyNr: Integer; var DragInfo: TGuiZbMouseDragInfo; Shift: TShiftState; X,Y: Integer) of Object;`
`TGuiOnEndZoneBarDragging = procedure (Sender: TObject; var DragInfo: TGuiZbMouseDragInfo; Shift: TShiftState; X,Y: Integer) of Object;`
`TGuiOnStartKeyDragging = procedure (Sender: TObject; KeyNr: Integer; var DragInfo: TGuiKbMouseDragInfo; Shift: TShiftState; X,Y: Integer) of Object;`
`TGuiOnMoveKeyDragging = procedure (Sender: TObject; KeyNr: Integer; var DragInfo: TGuiKbMouseDragInfo; Shift: TShiftState; X,Y: Integer) of Object;`
`TGuiOnEndKeyDragging = procedure (Sender: TObject; var DragInfo: TGuiKbMouseDragInfo; Shift: TShiftState; X,Y: Integer) of Object;`
`TGuiOnNoteOn = procedure (Sender: TObject; KeyNr: Byte; Velocity: Single) of Object;`
`TGuiOnNoteOff = procedure (Sender: TObject; KeyNr: Byte) of Object;`

### Constants

`GUI_KB_MAXOCTAVES = 11;`
`GUI_KB_HIGHESTKEY = GUI_KB_MAXOCTAVES*12+1;`

## Description

### Types

`TGuiZoneMousePosType = set of (mptOutside, mptInZone, mptOnLowestKey, mptOnHighestKey, mptOnLowestBorder, mptOnHighestBorder);`
Octaves + Highest C

`TGuiKbMouseAction = (...);`
###### Values kmaMove: kmaDown: kmaUp: kmaStartDrag:

`TGuiKeyFlags = set of (kfBlackKey, kfVisible, kfPressed, kfMouseOver, kfByMouse, kfMousePinned);`

`TGuiKeyDownMode = (...);`
###### Values kdmUp: kdmFlat: kdmDown:

`TGuiKeyArray = array[0..GUI_KB_HIGHESTKEY] of TGuiSingleKey;`

`TGuiOnMouseUpOnMidiKey = procedure (Sender: TObject; KeyNr: Byte; Button: TMouseButton; Shift: TShiftState; X,Y: Integer) of Object;`

`TGuiOnMouseDownOnMidiKey = procedure (Sender: TObject; KeyNr: Byte; Button: TMouseButton; Shift: TShiftState; X,Y: Integer) of Object;`

`TGuiOnMouseUpOnKeyZoneBar = procedure (Sender: TObject; KeyNr: Byte; Zone: TGuiKeyZoneItem; MouseOverType: TGuiZoneMousePosType; Button: TMouseButton; Shift: TShiftState; X,Y: Integer) of Object;`

`TGuiOnMouseDownOnKeyZoneBar = procedure (Sender: TObject; KeyNr: Byte; Zone: TGuiKeyZoneItem; MouseOverType: TGuiZoneMousePosType; Button: TMouseButton; Shift: TShiftState; X,Y: Integer) of Object;`

`TGuiOnZoneBarMouseEnter = procedure (Sender: TObject; KeyNr: Byte; Shift: TShiftState; X, Y: Integer) of Object;`

`TGuiOnZoneBarMouseLeave = TNotifyEvent;`

`TGuiOnZoneMouseEnter = procedure (Sender: TObject; Zone: TGuiKeyZoneItem; Shift: TShiftState; X, Y: Integer) of Object;`

`TGuiOnZoneMouseLeave = procedure (Sender: TObject; Zone: TGuiKeyZoneItem) of Object;`

`TGuiOnZoneMouseOverChanged = procedure (Sender: TObject; KeyNr: Byte; Zone: TGuiKeyZoneItem; MouseOverType: TGuiZoneMousePosType; Shift: TShiftState; X, Y: Integer) of Object;`

`TGuiOnZoneSelectionChanged = procedure (Sender: TObject; Zone: TGuiKeyZoneItem) of Object;`

`TGuiOnKeyMouseEnter = procedure (Sender: TObject; KeyNr: Byte; Shift: TShiftState; X, Y: Integer) of Object;`

`TGuiOnKeyMouseLeave = procedure (Sender: TObject; KeyNr: Byte) of Object;`

`TGuiOnStartZoneBarDragging = procedure (Sender: TObject; KeyNr: Integer; var DragInfo: TGuiZbMouseDragInfo; Shift: TShiftState; X,Y: Integer) of Object;`

`TGuiOnMoveZoneBarDragging = procedure (Sender: TObject; KeyNr: Integer; var DragInfo: TGuiZbMouseDragInfo; Shift: TShiftState; X,Y: Integer) of Object;`

`TGuiOnEndZoneBarDragging = procedure (Sender: TObject; var DragInfo: TGuiZbMouseDragInfo; Shift: TShiftState; X,Y: Integer) of Object;`

`TGuiOnStartKeyDragging = procedure (Sender: TObject; KeyNr: Integer; var DragInfo: TGuiKbMouseDragInfo; Shift: TShiftState; X,Y: Integer) of Object;`

`TGuiOnMoveKeyDragging = procedure (Sender: TObject; KeyNr: Integer; var DragInfo: TGuiKbMouseDragInfo; Shift: TShiftState; X,Y: Integer) of Object;`

`TGuiOnEndKeyDragging = procedure (Sender: TObject; var DragInfo: TGuiKbMouseDragInfo; Shift: TShiftState; X,Y: Integer) of Object;`

`TGuiOnNoteOn = procedure (Sender: TObject; KeyNr: Byte; Velocity: Single) of Object;`

`TGuiOnNoteOff = procedure (Sender: TObject; KeyNr: Byte) of Object;`

### Constants

`GUI_KB_MAXOCTAVES = 11;`
-$DEFINE Debug

`GUI_KB_HIGHESTKEY = GUI_KB_MAXOCTAVES*12+1;`

Generated by PasDoc 0.10.0 on 2007-11-13 13:04:17