主要内容

midisync

发送值到MIDI控件进行同步

描述

例子

midisync (midicontrolsObject将控件的初始值发送到MIDI设备,由MIDI控件对象指定。要创建此对象,请使用midicontrols函数。如果您的MIDI设备可以接收和响应消息,它将根据指定调整其控件。

请注意

许多MIDI设备不是双向的。调用midisync用单向装置是没有效果的。midisync无法判断值是否成功发送到设备,甚至无法判断设备是否是双向的。如果发送值失败,则不会生成错误或警告。

例子

midisync (midicontrolsObjectcontrolValues发送controlValues属性关联的MIDI控件midicontrolsObject

例子

全部折叠

使用midiid来识别默认MIDI设备上的控件。

[controlNumber,~] = midiid;
移动希望标识的控件;类型^C中止。等待控制消息…完成

创建一个MIDI控件对象。为控件指定一个初始值。调用midisync将设备上的指定控件设置为初始值。

initialValue = 0.5;midicontrolsObject = midicontrol (controlNumber,initialValue);midisync (midicontrolsObject);

使用midiid来识别默认MIDI设备上的三个控件。

[controlNumber1,~] = midiid;[controlNumber2,~] = midiid;[controlNumber3,~] = midiid;controlNumbers = [controlNumber1,controlNumber2,controlNumber3];
移动希望标识的控件;类型^C中止。等待控制消息…移动要标识的控件;类型^C中止。等待控制消息…移动要标识的控件;类型^C中止。等待控制消息…完成

创建一个MIDI控件对象。为控件指定初始值。调用midisync将设备上的指定控件设置为初始值。

controlValues = [0,0,1];midicontrolsObject = midicontrol (controlNumbers,controlValues);midisync (midicontrolsObject);

创建一个循环来更新控件值,并将这些值同步到设备上的物理控件。

i = 1:10 controlValues = controlValues + [0.006,0.008,-0.008];midisync (midicontrolsObject controlValues);暂停(0.1)结束

定义此函数并将其保存到当前文件夹。

函数trivialmidigui(controlNumber,deviceName)滑块= uicontrol(“风格”“滑块”);mc = midicontrol(控制数字,“MIDIDevice”设备名称);midisync (mc);集(滑块,“回调”, @slidercb);@mccb midicallback (mc);函数Slidercb (slider,~) val = get(slider,“价值”);midisync (mc, val);disp (val);结束函数McCb (mc) val = midiread(mc);集(滑块,“价值”, val);disp (val);结束结束

使用midiid识别控件号和设备名称。调用您创建的函数,指定控件号和设备名作为输入。

[controlNumber,deviceName] = midiid;trivialmidigui (controlNumber设备名称)

用户界面上的滑块与设备上的指定控件同步。移动其中一个以查看另一个的响应。

输入参数

全部折叠

对象,该对象侦听MIDI设备上的控件,指定为midicontrols

发送到MIDI设备的值,指定为标量或大小相同的数组controlNumbers相关的midicontrols对象。如果您没有指定controlValues,默认值为initialvalue相关的midicontrols对象。

的可能范围controlValues取决于OutputMode相关的midicontrols对象。

  • 如果OutputMode指定为“归一化”,然后controlValues必须由范围内的值组成[0, 1].默认的OutputMode“归一化”

  • 如果OutputMode指定为“rawmidi”,然后controlValues必须由范围内的整数值组成[0127]

例子:0.3

例子:(0、0.3、0.6)

例子:5

例子:(5、15、20)

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

版本历史

在R2016a中引入