模块 midi

midi设备

norns脚本参考 有此模块的示例。

函数

new (id, name, dev) 构造函数
add (dev) 当任何midi设备被添加时的静态回调。
remove (dev) 当任何midi设备被移除时的静态回调。
send (data) 向设备发送midi事件。
note_on (note, vel, ch) 发送midi音符开启事件。
note_off (note, vel, ch) 发送midi音符关闭事件。
cc (cc, val, ch) 发送midi连续控制器事件。
pitchbend (val, ch) 发送midi弯音事件。
key_pressure (note, val, ch) 发送midi键压事件。
channel_pressure (val, ch) 发送midi通道压事件。
program_change (val, ch) 发送midi程序改变事件。
start () 发送midi开始事件。
stop () 发送midi停止事件。
continue () 发送midi继续事件。
clock () 发送midi时钟事件。
song_position (lsb, msb) 发送midi歌曲位置事件。
song_select (val) 发送midi歌曲选择事件。
clock_receive (enabled) 启用/禁用从此设备接收时钟
connect (n) 创建设备,返回带有处理程序和发送的对象。
cleanup () 清除处理程序。
to_data (msg) 将消息转换为数据(midi字节)。
to_msg (data) 将数据(midi字节)转换为消息。


函数

new (id, name, dev)
构造函数

参数:

  • id integer : 任意数字标识符
  • name string : 名称
  • dev userdata : 设备的不透明指针
add (dev)
当任何midi设备被添加时的静态回调。 用户脚本可以重新定义。

参数:

  • dev : 一个Midi表
remove (dev)
当任何midi设备被移除时的静态回调。 用户脚本可以重新定义。

参数:

  • dev : 一个Midi表
send (data)
向设备发送midi事件。

参数:

  • data
note_on (note, vel, ch)
发送midi音符开启事件。

参数:

  • note integer : 音符号
  • vel integer : 力度
  • ch integer : midi通道
note_off (note, vel, ch)
发送midi音符关闭事件。

参数:

  • note integer : 音符号
  • vel integer : 力度
  • ch integer : midi通道
cc (cc, val, ch)
发送midi连续控制器事件。

参数:

  • cc integer : cc号
  • val integer : 值
  • ch integer : midi通道
pitchbend (val, ch)
发送midi弯音事件。

参数:

  • val integer : 值
  • ch integer : midi通道
key_pressure (note, val, ch)
发送midi键压事件。

参数:

  • note integer : 音符号
  • val integer : 值
  • ch integer : midi通道
channel_pressure (val, ch)
发送midi通道压事件。

参数:

  • val integer : 值
  • ch integer : midi通道
program_change (val, ch)
发送midi程序改变事件。

参数:

  • val integer : 值
  • ch integer : midi通道
start ()
发送midi开始事件。
stop ()
发送midi停止事件。
continue ()
发送midi继续事件。
clock ()
发送midi时钟事件。
song_position (lsb, msb)
发送midi歌曲位置事件。

参数:

  • lsb integer :
  • msb integer :
song_select (val)
发送midi歌曲选择事件。

参数:

  • val integer : 值
clock_receive (enabled)
启用/禁用从此设备接收时钟

参数:

  • enabled boolean
connect (n)
创建设备,返回带有处理程序和发送的对象。

参数:

  • n integer : vport索引
cleanup ()
清除处理程序。
to_data (msg)
将消息转换为数据(midi字节)。

参数:

返回:

    table 数据 : midi状态和数据字节的表
to_msg (data)
将数据(midi字节)转换为消息。

参数:

返回:

    table 消息 : midi消息表,内容根据消息类型而变化