-
Notifications
You must be signed in to change notification settings - Fork 3
/
Tuner.lua
64 lines (53 loc) · 1.77 KB
/
Tuner.lua
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
local app = app
local libcore = require "core.libcore"
local libAccents = require "Accents.libAccents"
local Class = require "Base.Class"
local Unit = require "Unit"
local ModeSelect = require "Unit.ViewControl.OptionControl"
local GainBias = require "Unit.ViewControl.GainBias"
local BranchMeter = require "Unit.ViewControl.BranchMeter"
local MenuHeader = require "Unit.MenuControl.Header"
local Gate = require "Unit.ViewControl.Gate"
local TunerControl = require "Accents.TunerControl"
local Encoder = require "Encoder"
local ply = app.SECTION_PLY
local Tuner = Class {}
Tuner:include(Unit)
function Tuner:init(args)
args.title = "Tuner"
args.mnemonic = "--"
Unit.init(self, args)
end
function Tuner:onLoadGraph(channelCount)
local tuner = self:addObject("tuner", libAccents.Tuner())
local index = self:addObject("index",app.ParameterAdapter())
local indexRange = self:addObject("indexRange",app.MinMax())
self:addMonoBranch("index", index, "In", index, "Out")
connect(self, "In1", tuner, "In")
connect(index,"Out",indexRange,"In")
tie(tuner, "Index", index, "Out")
connect(tuner,"Out", self, "Out1")
if channelCount > 1 then
connect(tuner, "Out", self, "Out2")
end
end
local views = {
expanded = {"circle"},
collapsed = {},
input = {}
}
local function linMap(min,max,superCoarse,coarse,fine,superFine)
local map = app.LinearDialMap(min,max)
map:setSteps(superCoarse,coarse,fine,superFine)
return map
end
local indexMap = linMap(0, 1.0, 1, 0.1, 0.01, 0.001)
function Tuner:onLoadViews(objects, branches)
local controls = {}
controls.circle = TunerControl {
tuner = objects.tuner
}
return controls, views
end
local menu = {"infoHeader", "rename", "load", "save", "edit"}
return Tuner