Difference between revisions of "Lua Midi"
m (Text replacement - "</source>" to "</syntaxhighlight>")  | 
				|||
| (10 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 33: | 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 |