MIDI

MIDI 脚本设备 API 参考

MIDI 脚本是一种开发者和用户为任何 MIDI 控制器创建原生支持的方式。 脚本是一段代码,存储在纯文本文件中,FL Studio 使用代码在控制器和 FL Studio 之间转换命令。 这种通信可以双向进行,这样控制器便可以访问 FL Studio 代码中的功能(如下文所示),并且 FL Studio 可以将数据发送回控制器(例如点亮打击垫或显示轨道名称)。

FL Studio MIDI 脚本基于 Python。 您无需安装任何内容,FL Studio 将直接处理脚本。 在下文所示的文件夹中创建脚本后,已创建脚本的设备将在 MIDI 设置选项卡下的控制器类型菜单中显示。 从该菜单中,可以选择控制器并正常使用。

:MIDI 脚本旨在供硬件制造商高级用户为 MIDI 控制器创建自定义支持。 如果您是编程的新手,那么 MIDI 脚本可能令人困惑。 这是正常现象,只要坚持不懈,终将获得回报!

支持论坛

FL Studio 注册客户可以访问 MIDI 控制器脚本论坛讨论脚本和共享脚本。

脚本位置

FL Studio 将在以下位置查找 MIDI 脚本:

  • 已创建脚本的设备 - 主脚本文件位于 … 文档\Image-Line\FL Studio\Settings\Hardware\devicename\device.py 中。
    • devicename 是 MIDI 控制器的名称,device*.py 是该设备的实际脚本。
    • 在任意文本编辑器中打开和编辑 .py 文件。 在此之前,请备份所有原始文件。
    • MIDI 设置选项卡下控制器类型菜单中显示的设备名称在 .py 脚本的第一行中定义,例如 #name=AKAI FL Studio Fire
  • 映射文件夹 - 从控制器到 FL Studio 或插件的用户创建链接位于 … 文档\Image-Line\FL Studio\Settings\Mapping\Generic\Controller presets\devicename (User).flmapping
  • 设备(启动映射)页面 - … 文档\Image-Line\FL Studio\Settings\Hardware\devicename\Page(number).scr

:您不需要安装 Python 编译器来编辑和维护这些脚本,可以使用任何文本编辑器打开和编辑它们。 FL Studio MIDI 脚本基于 FL Studio 触发的事件(脚本事件)和对这些事件的响应 (回调)

脚本模块

脚本函数(回调)根据 FL Studio 目标功能(播放列表、样式、设备…)在模块中组织。 要在脚本中使用回调,您必须在脚本顶部使用 'import' 来包含回调模块:

脚本函数

回调是在 FL Studio 中执行功能或作用于组件的函数。 例如,您可以使用回调函数为乐器通道命名,将其向上/向下移动或删除。 或者,更简单地将 FL Studio 中的走带控制按钮重新映射至您的控制器。 也就是说,回调使您能够深度控制 FL Studio 及其操作方式。 要在脚本中使用函数,请使用以下语法:

  • module.functionName(arguments) - 其中 'module' 是模块名称。 :函数名称使用小驼峰命名法

脚本事件

脚本事件是 FL Studio 调用的函数,如果脚本需要响应事件,则将事件函数添加到脚本:

  • def eventName(arguments) - 在此函数内编写响应代码。 :事件名称使用驼峰命名法

脚本事件

名称 参数 文档
OnInit - 在脚本启动时调用。
OnDeInit - 在脚本停止之前调用。
OnIdle - 不时调用。 可用于完成一些小任务,大部分与 UI 相关。 例如:更新活动指示器。
OnMidiIn eventData 收到 MIDI 消息时首先调用。 如果您不希望进行进一步处理,请将事件的 handled 属性设置为 true。
(事件属性仅限于:handled、timestamp、status、data1、data2、port、sysex、pmeflags
OnMidiMsg eventData 为 OnMidiIn 未处理的短 MIDI 消息调用。
OnMidiOutMsg eventData 为短 MIDI 输出消息调用。
(事件属性限制为:handled、status、data1、data2、port、midiId、midiChan、midiChanEx)
OnNoteOn eventData 为 OnMidiMsg 未处理的音符开消息调用。
OnNoteOff eventData 为 OnMidiMsg 未处理的音符关消息调用。
OnControlChange eventData 为 OnMidiMsg 未处理的音符 CC 消息调用。
OnProgramChange eventData 为 OnMidiMsg 未处理的程序更改消息调用。
OnPitchBend eventData 为 OnMidiMsg 未处理的弯音更改消息调用。
OnKeyPressure eventData 为 OnMidiMsg 未处理的按键压力消息调用。
OnChannelPressure eventData 为 OnMidiMsg 未处理的通道压力消息调用。
OnSysEx eventData 为 OnMidiMsg 未处理的音符 sysex 消息调用。
OnRefresh 标志 在出现脚本可能需要响应的更改时调用。
OnDoFullRefresh - 与 OnRefresh 相同,但应更新所有内容。
OnUpdateBeatIndicator 长值 节拍指示器发生变化时调用。
“value”具有新值。 (TODO:需要详细说明“value”)
OnDisplayZone - 当播放列表区更改时调用
OnUpdateLiveMode 长 lastTrack 当演奏模式发生变化时调用。
OnDirtyMixerTrack - 当混音器轨道更改时调用
OnUpdateMeters - 当需要更新峰值指示器时调用
OnWaitingForInput - (TODO:需要说明)
OnSendTempMsg - (TODO:需要说明)

模块和函数

播放列表模块

[TODO] 模块说明

命令 参数 结果 文档
trackCount - 返回当前轨道计数。
getTrackName 长索引 字符串 返回“index”处轨道的名称。
setTrackName 长索引,字符串名称 - 将“index”处轨道的名称更改为“name”。
getTrackColor 长索引 以 RGBA 值返回“index”处轨道的颜色。
setTrackColor 长索引,长颜色 - 将“index”处轨道的颜色更改为“color”值。
isTrackMuted 长索引 如果“index”处的轨道已静音,则返回 true。
muteTrack 长索引 - 切换“index”处轨道的静音状态。
isTrackSolo 长索引 如果“index”处的轨道当前为独奏,则返回 true。
soloTrack 长索引 - 切换“index”处轨道的独奏状态。
getTrackActivityLevel 长索引 浮点 以归一化值返回“index”处轨道的活动级别。
getTrackActivityLevelVis 长索引 浮点 以归一化值返回“index”处轨道的视觉活动级别。
liveDisplayZone 长左、长上、长右、长下 - 将播放列表中的显示区域设置为指定的坐标。
lockDisplayZone 长索引,长值 - 锁定“index”处的显示区域。
liveDisplayZone 长左、长上、长右、长下(长持续时间) - 现场显示区域。
getLiveLoopMode 索引 获取现场循环模式。
getLiveTriggerMode 长索引 获取现场触发模式.
结果是常量之一
getLivePosSnap 长索引 获取现场位置吸附。
结果是常量之一
getLiveTrigSnap 长索引 获取现场触发吸附。
结果是常量之一
getLiveStatus 长索引,(长模式 获取“index”处轨道的现场状态。
结果取决于模式。
getLiveBlockStatus 长索引,长 blockNum,(长模式 获取“index”处的轨道和“blockNum”块的现场块状态。
结果取决于模式。
getLiveBlockColor 长索引,长 blockNum 获取“index”处的轨道和“blockNum”块的现场块颜色
triggerLiveClip 长索引,长 subNum,长标志,(浮点力度) - 触发“index”处的轨道和“blockNum”块的现场剪辑
refreshLiveClips 长索引,长值 - 刷新“index”处轨道的现场剪辑。
incLivePosSnap 长索引,长值 - 增加“index”处轨道的现场位置吸附
incLiveTrigSnap 长索引,长值 - 增加“index”处轨道的现场触发吸附。
incLiveLoopMode 长索引,长值 - 增加“index”处轨道的现场循环模式
incLiveTrigMode 长索引,长值 - 增加“index”处轨道的现场触发模式
getVisTimeBar - 获取时间小节。
getVisTimeTick - 获取时间刻。
getVisTimeStep - 获取时间步进。

通道模块

[TODO] 模块说明

命令 参数 结果 文档
channelNumber - 返回第一个选定通道的索引。
channelCount - 返回通道数量。
getChannelName 长索引 字符串 返回“index”处通道的名称。
setChannelName 长索引,字符串名称 - 将“index”处通道的名称更改为“name”。
getChannelColor 长索引 返回“index”处通道的颜色。
setChannelColor 长索引,长颜色 - 将“index”处通道的颜色更改为“color”值。
isChannelMuted 长索引 如果“index”处的通道已静音,则返回 true。
muteChannel 长索引 - 切换“index”处通道的静音状态。
isChannelSolo 长索引 如果“index”处的通道为独奏,则返回 true。
soloChannel 长索引 - 切换“index”处通道的独奏状态。
getChannelVolume 长索引 浮点 返回“index”处通道的归一化音量。
setChannelVolume 长索引,浮点音量 - 将“index”处通道的音量更改为“volume”值。
getChannelPan 长索引 浮点 以 -1.0 到 +1.0 之间的值返回“index”处通道的声像值。
setChannelPan 长索引,浮点声像 - 将“index”处通道的声像值更改为“pan”值。
该值应在 -1.0 到 +1.0 之间。
isChannelSelected 长索引 如果“index”处的通道已被选择,则返回 true。
selectChannel 长索引 - 切换“index”处通道的选择。
selectAll - - 选择当前通道组中的所有通道。
deselectAll - - 取消选择当前通道组中的所有通道。
getChannelMidiInPort 长索引 返回“index”处通道的 MIDI 端口。
getChannelIndex 长索引 返回“index”处通道的索引。
getTargetFxTrack 长索引 返回“index”处通道的目标效果轨道。
isHighLighted - 当“index”处的通道高亮显示时,返回 true。
通道录制事件
processRECEvent 索引,长值,长标志 处理录制事件。
值:最小 = 0,最大 = 65536
incEventValue 长索引,长步进,双共振 增大录制事件值。
getRecEventId 长索引 返回“index”处通道的录制事件。
通道网格位
idGridBitAssigned 长索引 如果为“index”处的通道分配了网格位,则返回 true。
getGridBit 长索引,长位置 返回“index”处通道的“position”处的网格位。
setGridBit 长索引,长位置,长值 - 设置“index”处通道的“position”处的网格位值。
getStepParam 长步进,长参数,长偏移,长 startPos,(长 padsStride) 获取“step”处步进的步进参数
getCurrentStepParam 长索引,长步进,长参数 - 获取“index”处通道和“step”处步进的当前步进参数。
getGridBitWithLoop 长索引,长位置 - 获取“index”处通道带有循环的网格位。
其他
showCSForm 长索引 - 显示“index”处通道的 CS 窗体。
showEditor 长索引 - 显示“index”处通道的编辑器。
focusEditor 长索引 - 为“index”处的通道聚焦编辑器。
midiNoteOn 长索引,长音符,长力度,(长通道) - 为“index”处的通道设置 MIDI 音符。

编配模块

[TODO] 模块说明

命令 参数 结果 文档
jumpToMarker 长索引,长选择 - 选择一个标记。
将“index”设置为 -1,以选择上一个标记,或设置为 +1,以选择下一个标记。
将“select”设置为 true 以同时选择标记。
getMarkerName 长索引 字符串 返回所请求标记的名称。
如果标记不存在,则返回一个空字符串。
addAutoTimeMarker 长时间,字符串名称 - 在“time”处添加一个自动时间标记,其名称设置为“name”
liveSelection 长时间,长停止 - 在“time”处设置现场选择点。
将“stop”设置为 true,以使用选择的结束点(而不是开始点)。
liveSelectionStart - 返回当前现场选择的开始时间。
currentTime 长吸附 返回当前编配中的当前时间。
将“snap”设置为 true,以将返回的值吸附到网格。
currentTimeHint 长模式,长时间 字符串 返回当前编配中所请求“time”的提示字符串。
“mode”为 0 表示样式模式,为 1 表示歌曲模式。
selectionStart - 返回当前编配中当前选择的开始时间。
selectionEnd - 返回当前编配中当前选择的结束时间。

设备模块

[TODO] 模块说明

命令 参数 结果 文档
midiOutMsg 长消息 - 将 MIDI 信息发送至链接的输出设备。
“message”包含要发送的值,通道和命令位于低字节,而第一和第二个数据值位于后两个字节中。
midiOutNewMsg 长 slotIndex,长消息 - 将 MIDI 消息发送至链接的输出设备,但仅当值已更改时发送。
“message”包含要发送的值。
“slotIndex”是调用者选择的值,应该与用于比较的之前消息的值相同。
sendMsgGeneric int64 id,字符串消息,字符串 lastMsg 字符串 将文本字符串作为 SYSEX 消息发送至链接的输出设备。
“id”包含消息的前 6 个字节(从 0xF0 开始)。
自动添加结束值 0xF7。 “message”是要发送的文本
“lastMsg”是此函数的上一次调用返回的字符串。
midiOutSysex 字符串消息 - 将 SYSEX 消息发送至链接的输出设备。
processMIDICC eventData - 让 FL 处理 CC 消息。
“event”是传递给调用它的 On… 函数的对象。
directFeedback eventData - 将收到的消息发送至链接的输出设备。
“event”是传递给调用它的 On… 函数的对象。
isAssigned - 如果有链接的输出设备,则返回 true。
getPortNumber - 返回链接的输出设备的端口号。
findEventID 长 controlId,(长标志) 返回 controlId 的事件 id。
"flags"可以是下列之一:FEID_Flags_Skip_Unsafe = 1(跳过不安全(使用公式)链接)
getLinkedValue 长 controlID 浮点 返回链接至指定控件 ID 的 FL Studio 控件的值。
如果没有链接的控件,则结果为 -1。
getLinkedInfo 长 controlID 返回有关链接至指定控件 ID 的 FL Studio 控件的信息。
如果没有链接的控件,则结果为 -1,否则结果为 常量中的一个或多个
createRefreshThread - - 启动整个 MIDI 设备的线程刷新。
destroyRefreshThread - - 停止之前启动的线程刷新。
fullRefresh - - 触发之前启动的线程刷新。 如果不存在,则立即触发刷新。
isDoubleClick 长索引 如果不久前使用相同的索引调用了该函数,则返回 true,指示双击。
repeatMidiEvent eventData,长延迟,长速率 - 开始重复发送之前发送的消息。
将在“delay”毫秒后第一次发送,之后每隔“rate”毫秒发送一次。
stopRepeatMidiEvent - - 停止重复使用 repeatMidiEvent 发送的消息。
setHasMeters - - 装置具有指示器
baseTrackSelect 长索引,长步进 - 基础选择轨道。
hardwareRefreshMixerTrack 长索引 - 硬件刷新“index”处的混音器轨道,使用 -1 全部刷新

样式模块

[TODO] 模块说明

命令 参数 结果 文档
patternNumber - 返回当前样式编号。
patternCount - 返回样式数量。
patternMax - 返回最大样式编号。
getPatternName 长索引 字符串 返回“index”处样式的名称。
setPatternName 长索引,字符串名称 - 将“index”处样式的名称更改为“name”。
getPatternColor 长索引 返回“index”处样式的颜色。
setPatternColor 长索引,长颜色 - 将“index”处样式的颜色更改为“color”。
getPatternLength 长索引 返回“index”处样式的长度,以节拍为单位。
getBlockSetStatus 长左、长上、长右、长下 返回现场块状态。
结果是 LB_Status_Simplest 选项常量之一
ensureValidNoteRecord 长索引,(长 playNow) - 确保“index”处样式的音符有效。
jumpToPattern 长索引 - 跳转到“index”处的样式
findFirstNextEmptyPat 标志,长 x,长 y - 查找 (x, y) 位置的第一个空样式

用户界面模块

除非另有说明,否则这些函数会返回处理请求的方式。
命令 参数 结果 文档
jog 长值 通用点动控件。 可用于选择内容。 “value”是一个增量。
jog2 长值 备用点动控件。 可用于重定位内容。 “value”是一个增量。
strip 长值 触敏条。 “value”为 -65536(最左侧)到 65536(最右侧)。
stripJog 长值 点动模式下的触敏条。 “value”是一个增量。
stripHold 长值 触敏条处于按住模式。
“value”为 0 表示释放,1 和 2 表示一指或两指居中模式,-1 和 -2 表示一指或两指点动模式。
previous - 通用轨道选择。
next - 通用轨道选择。
moveJog 长值 用于重定位条目。 “value”是一个增量。
up - 通用的向上移动方式。
down - 通用的向下移动方式。
left - 通用的向左移动方式。
right - 通用的向右移动方式。
horZoom 长值 按增量“value”水平缩放。
verZoom 长值 按增量“value”垂直缩放。
snapOnOff - 切换吸附值。
getSnapMode 长值 返回吸附模式。
snapMode 长值 选择另一种吸附模式。
“value”是一个增量:-1 为上一个模式,1 为下一个模式。
cut - 如果可能,则剪切选定内容。
copy - 如果可能,则拷贝选定内容。
paste - 如果可能,则粘贴之前拷贝的数据。
insert - 按插入键。
delete - 按删除键。
enter - 按回车键。
escape - 按 Esc 键。
yes - 按 'Y' 键。
not - 按 'N' 键。
nextWindow - 聚焦下一窗口。
selectWindow 长 shift 按 TAB 键。
将“shift”设置为 true,使其像按 Shift + TAB 一样起作用。
isClosing - 如果应用程序正在关闭,则返回 true
getProgTitle - 字符串 返回程序标题
getVersion - 字符串 返回程序版本
getHintMsg - 字符串 返回程序提示消息
setHintMsg 字符串消息 - 设置程序提示消息
getFocusedFormCaption - 字符串 返回聚焦窗口的标题
getHintValue 长值,长最大值 字符串 返回值提示
getTimeDispMin - 当时间显示设置为 'minutes' 时,返回 true
setTimeDispMin - - 将时间显示设置为分钟
getFocused 长索引 返回“index”处窗口的焦点状态
结果是常量之一
getVisible 长索引 返回“index”处窗口的可见状态
结果是常量之一
showWindow 索引 - 按“index”显示窗口
launchAudioEditor 长重用,字符串文件名,长索引,字符串预设值,字符串 presetGUID 为“index”处的轨道启动音频编辑器,并返回编辑器状态
将“reuse”设置为 true 以重用打开的音频编辑器(如果有)
“filename”是音频文件的路径
isInPopupMenu - 当应用程序弹出菜单处于活动状态时返回 true
closeAllMenu - - 关闭所有应用程序菜单
isMetronomeEnabled - 如果已启用节拍器,则返回 true。
isStartOnInputEnabled - 如果已启用输入时开始,则返回 true。
isPrecountEnabled - 如果已启用倒计时,则返回 true。
isLoopRecEnabled - 如果已启用循环录制,则返回 true。
crDisplayRect 长左、长上、长右、长下,长持续时间 - 显示通道机架选择矩形。

走带控制模块

[TODO] 模块说明

命令 参数 结果 文档
globalTransport 命令,长值,长pmeflags,长标志 使用适当的参数调用 GlobalTransport 函数。
start - - 开始播放。
stop - - 停止播放。
record - - 开始录制。
isRecording - 如果录制已激活,则返回 true。
getLoopMode - 返回当前的循环模式。
结果可以是以下之一:样式模式 = 0,歌曲模式 = 1。
setLoopMode 长模式 - 更改循环模式。
“mode”为 0 表示样式模式,为 1 表示歌曲模式。
getSongPos - 浮点 以归一化值 (0..1) 返回歌曲位置。
setSongPos 浮点位置 - 设置歌曲位置。
“position”是归一化值 (0..1)。
getSongPosHint - 字符串 返回当前歌曲位置的提示。
rewind 长按 - 倒回歌曲位置。
“pressed”表示按钮已按住 (1) 或未按住 (0)。
fastForward 长按 - 快进歌曲位置。
“pressed”表示按钮已按住 (1) 或未按住 (0)。
setPlaybackSpeed 浮点速度 - 设置播放速度乘数。
isPlaying - 如果程序正在播放,则返回 true。
markerJumpJog 长值,长标志 - 跳转到标记位置。
“value”是一个增量。
markerSelJog 长值,长标志 - 选择一个标记。
“value”是一个增量。
getHWBeatLEDState - 返回硬件节拍 LED 的状态。
continuousMovePos 长速度,长按 - 开始连续移动。
“pressed”表示按钮已按住 (1) 或未按住 (0)。
continuousMove 长速度,长按 - 开始连续移动。
“pressed”表示按钮已按住 (1) 或未按住 (0)。

混音器模块

[TODO] 模块说明

命令 参数 结果 文档
trackNumber - 返回当前选定混音器轨道的索引。
getTrackInfo 模式 返回轨道信息。
setTrackNumber 长 trackNumber,(长标志 - 设置当前选定混音器轨道。
trackCount - 返回轨道数量。
getTrackName 长索引 字符串 返回“index”处轨道的名称。
setTrackName 长索引,字符串名称 - 将“index”处轨道的名称更改为“name”。
getTrackColor 长索引 返回“index”处轨道的颜色。
setTrackColor 长索引,长颜色 - 将“index”处轨道的颜色更改为“color”。
isTrackArmed 长索引 如果“index”处的轨道已准备,则返回 true。
armTrack 长索引 - 切换“index”处轨道的准备状态。
isTrackSolo 长索引 如果“index”处的轨道为独奏,则返回 true。
soloTrack 长索引 - 切换“index”处轨道的独奏状态。
isTrackEnabled 长索引 - 如果“index”处的轨道已启用,则返回 true。
isTrackAutomationEnabled 长索引,长 plugIndex - 如果“index”处的轨道已启用自动化,则返回 true。
enableTrack 长索引 - 切换“index”处轨道的启用状态。
getTrackPluginId 长索引,长 plugIndex 返回“index”处轨道上插件索引为 plugIndex 的插件的插件 ID。
isTrackPluginValid 长索引,长 plugIndex 如果“index”处轨道上存在插件索引为 plugIndex 的插件,则返回 true。 有效
getTrackVolume 长索引 浮点 返回“index”处轨道的归一化音量。
setTrackVolume 长索引,浮点音量 - 将“index”处轨道的音量更改为“volume”的(归一化)值。
getTrackPan 长索引 浮点 以 -1.0 到 +1.0 之间的值返回“index”处轨道的声像值。
setTrackPan 长索引,浮点声像 - 更改“index”处轨道的声像调整。 “pan”在 -1.0 到 1.0 之间。
isTrackSelected 长索引 如果“index”处的轨道已被选择,则返回 true。
selectTrack 长索引 - 切换“index”处轨道的选择。
selectAll - - 选择所有混音器轨道。
deselectAll - - 取消选择所有混音器轨道。
setRouteTo 长索引,长 destIndex,长值 - 将“index”处轨道的路由设置为“destIndex”。
getRouteSendActive 长索引,长 destIndex 如果从轨道“index”发送至轨道“destIndex”的路由有效,则返回 true。
afterRoutingChanged - - 向 FL 通知路由更改。
getEventValue 长索引,(长值),(长 smoothTarget) 从 MIDI 返回事件值。
remoteFindEventValue 长索引,(长标志) 浮点 返回事件值。
getEventIDName 长索引,(长 shortName) - 返回事件名称(将简称的 shortName 设置为 True)。
getEventIDValueString 长索引,长值 字符串 以字符串返回事件值。
getAutoSmoothEventValue 长索引,(长锁定) 返回自动平滑事件值。
automateEvent 长索引,长值,长标志(长速度),(长 isIncrement),(浮点共振) 自动化事件
getTrackPeaks 长索引,长模式 浮点 返回“index”处轨道的峰值
getTrackRecordingFileName 长索引 字符串 返回“index”处轨道的录制文件名
linkTrackToChannel 长模式 - 将轨道链接至通道
“mode”可以是以下之一:ROUTE_ToThis = 0,ROUTE_StartingFromThis = 1
getSongStepPos - 返回歌曲步进位置。
getCurrentTempo 长 asInt 长/浮点 返回当前速度。
将“asInt”设置为 true,以获取尽可能长的结果
getRecPPS - 返回录制 pps。
getSongTickPos (长模式) 长/浮点 返回歌曲刻位置。

LaunchMapPages 模块

[todo] 我们需要在此处说明 LaunchMapPages 模块

LaunchMapPages 参考

命令 参数 结果 文档
init 字符串 deviceName,长宽度,长高度 - 初始化启动映射页面。
createOverlayMap 长 offColor,长 onColor,长宽度,长高度 - 创建叠加映射。
length - 返回启动映射页面长度。
updateMap 长索引 更新“index”处的启动映射页面。
getMapItemColor 长索引,长 itemIndex 返回“index”处页面的“itemIndex”处的颜色
getMapCount 长索引 返回“index”处页面的条目长度
getMapItemChannel 长索引,长 itemIndex 返回“index”处页面的“itemIndex”处的目标通道
getMapItemAftertouch 长索引,长 itemIndex 返回“index”处页面的“itemIndex”处条目的触后
processMapItem eventData,长索引,长 itemIndex,长力度 - 处理“index”处页面的“itemIndex”处的映射条目
releaseMapItem eventData,长索引 - 释放“index”处页面的“itemIndex”处的映射条目
checkMapForHiddenItem - - 检查 Launchpad 隐藏条目。
setMapItemTarget 长索引,长 itemIndex,长目标 设置“index”处页面的“itemIndex”处条目的目标。

类型

eventData

参数 类型 文档
handled 布尔 (r/w) 设置为 True 以停止事件传播
timestamp 时间 (r) 事件的时间戳
status 长 (r/w) MIDI 状态
data1 长 (r/w) MIDI 数据 1
data2 长 (r/w) MIDI 数据 2
port 长 (r) MIDI 端口
note 长 (r/w) MIDI 音符编号
velocity 长 (r/w) MIDI 力度
pressure 长 (r/w) MIDI 压力
progNum 长 (r/w) MIDI 程序编号
controlNum 长 (r/w) MIDI 控件编号
controlVal 长 (r/w) MIDI 控件值
pitchBend 长 (r/w) MIDI 弯音值
sysex 字节 (r/w) MIDI sysex 数据
isIncrement 布尔 (r/w) MIDI 是增量状态
res 双 (r/w) MIDI 共振
inEv 长 (r/w) MIDI inEv
outEv 长 (r/w) MIDI outEv
midiId 长 (r/w) MIDI midiID
midiChan 长 (r/w) MIDI midiChan
midiChanEx 长 (r/w) MIDI midiChanEx
pmeflags 长 (r) MIDI pmeflags

常量

OnRefresh 标志

参数 文档
HW_Dirty_Mixer_Sel 1 混音器选择
HW_Dirty_Mixer_Display 2 混音器显示
HW_Dirty_Mixer_Controls 4 混音器控件
HW_Dirty_RemoteLinks 16 远程链接
HW_Dirty_FocusedWindow 32 聚焦窗口
HW_Dirty_Performance 64 演奏布局
HW_Dirty_LEDs 256 LED

现场状态模式

参数 文档
LB_Status_Default 0(默认值) 结果将是以下一项或多项:任何填充 = 1,任何计划 = 2,任何播放 = 4
LB_Status_Simple 1 结果将是以下之一:空 = 0,已填充 = 1,无播放(或已计划)= 2,无计划(且未播放)= 3

现场块状态模式

参数 文档
LB_Status_Default 0(默认值) 结果将是以下一项或多项:已填充 = 1,已计划 = 2,正在播放 = 4
LB_Status_Simple 1 结果将是以下之一:空 = 0,已填充 = 1,正在播放(或已计划)= 2,已计划(且未播放)= 3
LB_Status_Simplest 2 结果将是以下之一:空 = 0,已填充 = 1,正在播放或已计划 = 2

现场块状态标志

参数 文档
LB_Status_Filled 1 已填充
LB_Status_Scheduled 2 已计划
LB_Status_Playing 4 正在播放

现场循环模式

参数 文档
LiveLoop_Stay 0 (TODO:需要说明)
LiveLoop_OneShot 1 (TODO:需要说明)
LiveLoop_MarchWrap 2 (TODO:需要说明)
LiveLoop_MarchStay 3 (TODO:需要说明)
LiveLoop_MarchStop 4 (TODO:需要说明)
LiveLoop_Random 5 (TODO:需要说明)
LiveLoop_ExRandom 6 (TODO:需要说明)

现场触发模式

参数 文档
LiveTrig_Retrigger 0 (TODO:需要说明)
LiveTrig_Hold 1 (TODO:需要说明)
LiveTrig_HMotion 2 (TODO:需要说明)
LiveTrig_Latch 3 (TODO:需要说明)

现场吸附

参数 文档
LiveSnap_Off 0
LiveSnap_Fourth 1 1/4 个节拍
LiveSnap_Half 2 1/2 个节拍
LiveSnap_One 3 1 个节拍
LiveSnap_Two 4 2 个节拍
LiveSnap_Four 5 4 个节拍
LiveSnap_Auto 6 自动

触发现场剪辑标志

参数 文档
TLC_MuteOthers 1 (TODO:需要说明)
TLC_Fill 2 (TODO:需要说明)
TLC_Queue 4 (TODO:需要说明)
TLC_Release 32 (TODO:需要说明)
TLC_NoPlayCheck 64 (TODO:需要说明)
TLC_NoHardwareUpdate 1073741824 (TODO:需要说明)
TLC_SecondPass 2147483648 (TODO:需要说明)
TLC_ColumnMode 128 (TODO:需要说明)
TLC_WeakColumnMode 256 (TODO:需要说明)
TLC_TriggerCheckColumnMode 512 (TODO:需要说明)
TLC_TrackSnap 0 (TODO:需要说明)
TLC_GlobalSnap 8 (TODO:需要说明)
TLC_NoSnap 16 (TODO:需要说明)
TLC_SubNum_Normal 0 (TODO:需要说明)
TLC_SubNum_ClipPos 65536 (TODO:需要说明)
TLC_SubNum_GroupNum 131072 (TODO:需要说明)
TLC_SubNum_Read 196608 (TODO:需要说明)
TLC_SubNum_Leave 262144 (TODO:需要说明)

录制事件

参数 文档
REC_Chan_Vol 0 (TODO:需要说明)
REC_Chan_Pan 1 (TODO:需要说明)
REC_Chan_FCut 2 (TODO:需要说明)
REC_Chan_FRes 3 (TODO:需要说明)
REC_Chan_Pitch 4 (TODO:需要说明)
REC_Chan_FType 5 (TODO:需要说明)
REC_Chan_PortaTime 6 (TODO:需要说明)
REC_Chan_Mute 7 (TODO:需要说明)
REC_Chan_FXTrack 8 (TODO:需要说明)
REC_Chan_GateTime 9 (TODO:需要说明)
REC_Chan_Crossfade 10 (TODO:需要说明)
REC_Chan_TimeOfs 11 (TODO:需要说明)
REC_Chan_SwingMix 12 (TODO:需要说明)
REC_Chan_SmpOfs 13 (TODO:需要说明)
REC_Chan_StretchTime 14 (TODO:需要说明)
REC_Chan_OfsPan 16 (TODO:需要说明)
REC_Chan_OfsVol 17 (TODO:需要说明)
REC_Chan_OfsPitch 18 (TODO:需要说明)
REC_Chan_OfsFCut 19 (TODO:需要说明)
REC_Chan_OfsFRes 20 (TODO:需要说明)

录制事件标志

参数 文档
REC_UpdateValue 1 更新值
REC_GetValue 2 检索值
REC_ShowHint 4 更新提示(如果有)
REC_UpdatePlugLabel 16 更新插件参数的标签
REC_UpdateControl 32 更新滚轮/旋钮
REC_FromMIDI 64 (TODO:需要说明)
REC_Store 128 (TODO:需要说明)
REC_SetChanged 256 设置已更改标志
REC_SetTouched 512 设置为已接触事件
REC_Init 1024 (TODO:需要说明)
REC_NoLink 2048 不检查是否已链接滚轮
REC_InternalCtrl 4096 由内部控制器发送
REC_PlugReserved 8192 插件自由使用
REC_Smoothed 16384 平滑控制器,与内部控制器几乎相同
REC_NoLastTweaked 32768 来自最后调整
REC_NoSaveUndo 65536 撤消之前的更改时使用

步进参数

参数 文档
pPitch 0 更新值
pVelocity 1 检索值
pRelease 2 更新提示(如果有)
pFinePitch 3 更新插件参数的标签
pPan 4 更新滚轮/旋钮
pModX 5 (TODO:需要说明)
pModY 6 (TODO:需要说明)
pShift 7 设置已更改标志

全局走带控制命令

参数 文档
FPT_Jog 0 (点动)通用点动(可用于选择内容)
FPT_Jog2 1 (点动)备用通用点动(可用于重定位内容)
FPT_Strip 2 触敏点动条,最左..最右对应的值为 -65536..65536
FPT_StripJog 3 (点动)点动模式下的触敏点动
FPT_StripHold 4 值为 0 表示释放,1 和 2 表示一指或两指居中模式,-1 和 -2 表示一指或两指点动模式(然后将发送 FPT_StripJog)
FPT_Previous 5 (按钮)
FPT_Next 6 (按钮)
FPT_PreviousNext 7 (点动)通用轨道选择。
FPT_MoveJog 8 (点动)用于重定位条目
FPT_Play 10 (按钮)播放/暂停
FPT_Stop 11 (按钮)
FPT_Record 12 (按钮)
FPT_Rewind 13 (按住)
FPT_FastForward 14 (按住)
FPT_Loop 15 (按钮)
FPT_Mute 16 (按钮)
FPT_Mode 17 (按钮)通用 | 录制模式
FPT_Undo 20 (按钮)撤消/重做最后编辑,| 在撤消历史记录中下移
FPT_UndoUp 21 (按钮)在撤消历史记录中上移(如果没有撤消历史记录,则无需执行)
FPT_UndoJog 22 (点动)在历史记录中撤消(如果没有撤消历史记录,则无需执行)
FPT_Punch 30 (按住)现场选择
FPT_PunchIn 31 (按钮)
FPT_PunchOut 32 (按钮)
FPT_AddMarker 33 (按钮)
FPT_AddAltMarker 34 (按钮)添加备用标记
FPT_MarkerJumpJog 35 (点动)标记跳转
FPT_MarkerSelJog 36 (点动)标记选择
FPT_Up 40 (按钮)
FPT_Down 41 (按钮)
FPT_Left 42 (按钮)
FPT_Right 43 (按钮)
FPT_HZoomJog 44 (点动)
FPT_VZoomJog 45 (点动)
FPT_Snap 48 (按钮)吸附开/关
FPT_SnapMode 49 (点动)吸附模式
FPT_Cut 50 (按钮)
FPT_Copy 51 (按钮)
FPT_Paste 52 (按钮)
FPT_Insert 53 (按钮)
FPT_Delete 54 (按钮)
FPT_NextWindow 58 (按钮)TAB
FPT_WindowJog 59 (点动)窗口选择
FPT_F1 60 按钮
FPT_F2 61 按钮
FPT_F3 62 按钮
FPT_F4 63 按钮
FPT_F5 64 按钮
FPT_F6 65 按钮
FPT_F7 66 按钮
FPT_F8 67 按钮
FPT_F9 68 按钮
FPT_F10 69 按钮
FPT_Enter 80 (按钮)输入/接受
FPT_Escape 81 (按钮)Esc 键/取消
FPT_Yes 82 (按钮)是
FPT_No 83 (按钮)否
FPT_Menu 90 (按钮)通用菜单
FPT_ItemMenu 91 (按钮)条目编辑/工具/上下文菜单
FPT_Save 92 (按钮)
FPT_SaveNew 93 (按钮)另存为新版本
FPT_PatternJog 100 (点动)样式
FPT_TrackJog 101 (点动)混音器轨道
FPT_ChannelJog 102 (点动)通道
FPT_TempoJog 105 (点动)速度(以 0.1BPM 为增量)
FPT_TapTempo 106 (按钮)速度敲击
FPT_NudgeMinus 107 (按住)速度微移 -
FPT_NudgePlus 108 (按住)速度微移 +
FPT_Metronome 110 (按钮)节拍器
FPT_WaitForInput 111 (按钮)等待输入以开始播放
FPT_Overdub 112 (按钮)叠录录制
FPT_LoopRecord 113 (按钮)循环录制
FPT_StepEdit 114 (按钮)步进编辑模式
FPT_CountDown 115 (按钮)录制前倒计时
FPT_NextMixerWindow 120 (按钮)当前混音器轨道中插件窗口之间的选项卡
FPT_MixerWindowJog 121 (点动)混音器窗口选择
FPT_ShuffleJog 122 主随机摇摆(以 1 为增量)

全局走带控制标志

参数 文档
GT_Cannot -1 未处理
GT_None 0
GT_Plugin 1 (处理方式)聚焦插件
GT_Form 2 (处理方式)聚焦窗体
GT_Menu 4 (处理方式)菜单
GT_Global 8 (已处理)全局
GT_All 15 全部
GT_Delayed 5 延迟处理(仅返回值)

PME 标志

参数 文档
PME_System 2 可以完成系统任务(播放/暂停.. 大多为安全的任务)
PME_System_Safe 4 可以完成关键的系统任务(添加标记.. 显示模态窗口时无法完成的操作)
PME_PreviewNote 8 音符触发预览音符 | 控制内容
PME_FromHost 16 当应用托管时
PME_FromMIDI 32 来自 MIDI 事件

当前轨道标志

参数 文档
curfxScrollToMakeVisible 1 滚动以使轨道可见
curfxCancelSmoothing 2 取消平滑
curfxNoDeselectAll 4 [todo] 需要说明
curfxMinimalLatencyUpdate 8 [todo] 需要说明

轨道信息模式

参数 文档
TN_Master 0
TN_FirstIns 1 第一次插入
TN_LastIns 2 上次插入
TN_Sel 3 选定

IsIncrement 标志

参数 文档
II_Absolute 0 绝对
II_Increment 1 增量
II_Switch 2 开关

轨道峰值模式

参数 文档
PEAK_L 0
PEAK_R 1
PEAK_LR 2 左和右
PEAK_LR_INV 3 左右反转

歌曲刻模式

参数 文档
ST_Int 0 (TODO:需要说明)
ST_Beat 1 节拍
ST_PGB 2 (TODO:需要说明)

获取链接的信息结果标志

参数 文档
Event_CantInterpolate 1 (TODO:需要说明)
Event_Float 2 (TODO:需要说明)
Event_Centered 4 (TODO:需要说明)

查找空路径标志

参数 文档
FFNEP_FindFirst 0 查找第一个样式
FFNEP_DontPromptName 1 不提示样式名称

FL 窗口常量

参数 文档
widMixer 0 混音器
widChannelRack 1 通道机架
widPlaylist 2 播放列表
widPianoRoll 3 钢琴卷帘
widBrowser 4 浏览器

变量