Difference between revisions of "Lua Midi"
m (Text replacement - "</source>" to "</syntaxhighlight>") |
|||
(8 intermediate revisions by 3 users not shown) | |||
Line 8: | Line 8: | ||
To add Midi support to your application you call: | To add Midi support to your application you call: | ||
− | < | + | <syntaxhighlight lang="lua"> |
require "luamidi" | require "luamidi" | ||
− | </ | + | </syntaxhighlight> |
− | See [https://github.com/dwiel/luamidi/blob/master/src/luamidi.cpp luamidi syntax] for full syntax. | + | See '''[https://github.com/dwiel/luamidi/blob/master/src/luamidi.cpp luamidi syntax]''' for full syntax. |
− | Example for getting a message | + | === Examples === |
+ | '''Example for getting a message''' | ||
+ | <syntaxhighlight lang="lua"> | ||
+ | local midiCount=luamidi.getinportcount() | ||
+ | if midiCount==0 then return end -- no midi device | ||
+ | _midiDeviceName=luamidi.enumerateinports()[0] -- the name of the device at first IN port | ||
− | < | + | local s, n, v, _t = pcall(luamidi.getMessage, 0) -- get message at first IN port |
− | + | if not status then return end | |
+ | </syntaxhighlight> | ||
+ | |||
+ | '''Example for sending a message''' | ||
+ | <syntaxhighlight lang="lua"> | ||
+ | local midiCount=luamidi.getoutportcount() | ||
+ | if midiCount==0 then return end -- no midi device | ||
+ | _midiDeviceName=luamidi.enumerateoutports()[0] -- the name of the device at first OUT port | ||
+ | |||
+ | luamidi.sendMessage(0, 144, 60, 127) -- send a maximum velocity (volume/strength) Note On middle C message to first OUT port | ||
+ | luamidi.sendMessage(0, 144, 60, 0) -- send a Note Off middle C message to first OUT port | ||
+ | </syntaxhighlight> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{|- | {|- | ||
| style="width: 50%; vertical-align:top;"| | | style="width: 50%; vertical-align:top;"| | ||
Line 34: | Line 44: | ||
[[luamidi:enumerateoutports]] ''gets a table of Midi OUT port names''<br/><!--GIDEROSMTD:luamidi:enumerateoutports() gets a table of Midi OUT port names (its size is equal to luamidi:getoutportcount())--> | [[luamidi:enumerateoutports]] ''gets a table of Midi OUT port names''<br/><!--GIDEROSMTD:luamidi:enumerateoutports() gets a table of Midi OUT port names (its size is equal to luamidi:getoutportcount())--> | ||
[[luamidi:getInPortName]] ''gets the Midi IN port name''<br/><!--GIDEROSMTD:luamidi:getInPortName() gets the Midi IN port name--> | [[luamidi:getInPortName]] ''gets the Midi IN port name''<br/><!--GIDEROSMTD:luamidi:getInPortName() gets the Midi IN port name--> | ||
− | [[luamidi:getMessage]] ''gets the next incoming message from the queue | + | [[luamidi:getMessage]] ''gets the next incoming message from the queue of the chosen IN port''<br/><!--GIDEROSMTD:luamidi:getMessage(i) gets the next incoming message from the queue from IN port i; in the format c,n,v,_t--> |
[[luamidi:getOutPortName]] ''gets the Midi OUT port name''<br/><!--GIDEROSMTD:luamidi:getOutPortName() gets the Midi OUT port name--> | [[luamidi:getOutPortName]] ''gets the Midi OUT port name''<br/><!--GIDEROSMTD:luamidi:getOutPortName() gets the Midi OUT port name--> | ||
[[luamidi:getinportcount]] ''gets the number of Midi IN ports''<br/><!--GIDEROSMTD:luamidi:getinportcount() gets the number of Midi IN ports--> | [[luamidi:getinportcount]] ''gets the number of Midi IN ports''<br/><!--GIDEROSMTD:luamidi:getinportcount() gets the number of Midi IN ports--> |
Latest revision as of 14:30, 13 July 2023
Supported platforms:
Available since: Gideros 2018.12
Description
Provides a simple interface for MIDI I/O.
To add Midi support to your application you call:
require "luamidi"
See luamidi syntax for full syntax.
Examples
Example for getting a message
local midiCount=luamidi.getinportcount()
if midiCount==0 then return end -- no midi device
_midiDeviceName=luamidi.enumerateinports()[0] -- the name of the device at first IN port
local s, n, v, _t = pcall(luamidi.getMessage, 0) -- get message at first IN port
if not status then return end
Example for sending a message
local midiCount=luamidi.getoutportcount()
if midiCount==0 then return end -- no midi device
_midiDeviceName=luamidi.enumerateoutports()[0] -- the name of the device at first OUT port
luamidi.sendMessage(0, 144, 60, 127) -- send a maximum velocity (volume/strength) Note On middle C message to first OUT port
luamidi.sendMessage(0, 144, 60, 0) -- send a Note Off middle C message to first OUT port
Methodsluamidi:base0 sets that when sending messages the channels are in the range 0-15 |
EventsConstants |