-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinfo.lua
More file actions
42 lines (34 loc) · 1.08 KB
/
info.lua
File metadata and controls
42 lines (34 loc) · 1.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
-- this will get info about a modfile
-- run with lujit ./demo_info.lu
local OpenMpt = require "openmpt"
local mod = OpenMpt:new()
-- get info about engine without loading a mod
print("Engine Info:")
for k,v in pairs(mod:engine_info()) do
print(" " .. k .. ": " .. v)
end
print("Supported Extensions:")
for k,v in pairs(mod:supported_extensions()) do
print(" " .. v)
end
-- load a mod to get info about it
mod:loadFullPath("./strobe_-_android_assembled.xm")
local channelCount = mod:get_num_channels()
local instCount = mod:get_num_instruments()
print("\nInfo:")
print(" channels: " .. channelCount)
print(" instruments: "..instCount)
print(" speed", mod:get_current_speed())
print(" tempo", mod:get_current_tempo())
print(" length (seconds):" .. mod:get_duration_seconds())
for i,v in pairs(mod:get_metadata_keys()) do
print(" " .. v .. ": " .. mod:get_metadata(v))
end
print("\nInstruments:")
for v=0,instCount do
print(" " .. v .. ": " .. mod:get_instrument_name(v))
end
print("\nControls:")
for k,v in pairs(mod:get_ctls()) do
print(" " .. v .. ": " .. mod:ctl_get(v))
end