From 4a67e29793de0a1d8dee9b0991166dd6ad933825 Mon Sep 17 00:00:00 2001 From: Joe Date: Sun, 22 Sep 2019 18:58:27 -0400 Subject: [PATCH] Added xTrack control to XOXOXO --- Xoxoxo.lua | 28 +++++++++++++++++++++------- changelog.log | 3 +++ 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/Xoxoxo.lua b/Xoxoxo.lua index e9427a7..c7dfe6e 100644 --- a/Xoxoxo.lua +++ b/Xoxoxo.lua @@ -70,6 +70,11 @@ function Xoxoxo:loadMonoGraph() localDSP["op" .. name .. "tune"] = self:createObject("GainBias","op" .. name .. "tune") localDSP["op" .. name .. "tuneRange"] = self:createObject("MinMax","op" .. name .. "tuneRange") localDSP["op" .. name .. "tuneSum"] = self:createObject("Sum","op" .. name .. "tuneSum") + localDSP["op" .. name .. "track"] = self:createObject("Comparator","op" .. name .. "track") + localDSP["op" .. name .. "trackX"] = self:createObject("Multiply","op" .. name .. "trackX") + localDSP["op" .. name .. "track"]:setToggleMode() + localDSP["op" .. name .. "track"]:optionSet("State",1.0) + connect(localDSP["op" .. name .. "track"],"Out",localDSP["op" .. name .. "trackX"],"Left") connect(localDSP["op" .. name .. "scan"],"Out",localDSP["op" .. name .. "scanRange"],"In") connect(localDSP["op" .. name .. "scan"],"Out",localDSP["op" .. name],"Slice Select") connect(localDSP["op" .. name .. "ratio"],"Out",localDSP["op" .. name .. "ratioX"],"Left") @@ -79,7 +84,8 @@ function Xoxoxo:loadMonoGraph() connect(localDSP["op" .. name .. "tuneSum"],"Out",localDSP["op" .. name],"Fundamental") connect(localDSP["op" .. name .. "tune"],"Out",localDSP["op" .. name .. "tuneRange"],"In") connect(localDSP["op" .. name .. "ratio"],"Out",localDSP["op" .. name .. "ratioRange"],"In") - connect(tune,"Out",localDSP["op" .. name],"V/Oct") + connect(tune,"Out",localDSP["op" .. name .. "trackX"],"Right") + connect(localDSP["op" .. name .. "trackX"],"Out",localDSP["op" .. name],"V/Oct") connect(sync,"Out",localDSP["op" .. name],"Sync") connect(localDSP["op" .. name],"Out",localDSP["op" .. name .. "outVCA"],"Left") connect(localDSP["op" .. name .. "outLevel"],"Out",localDSP["op" .. name .. "outVCA"],"Right") @@ -147,6 +153,7 @@ function Xoxoxo:loadMonoGraph() self:createMonoBranch("outLevel" .. name,localDSP["op" .. name .. "outLevel"],"In",localDSP["op" .. name .. "outLevel"],"Out") self:createMonoBranch("scan" .. name,localDSP["op" .. name .. "scan"],"In",localDSP["op" .. name .. "scan"],"Out") self:createMonoBranch("tune" .. name,localDSP["op" .. name .. "tune"],"In",localDSP["op" .. name .. "tune"],"Out") + self:createMonoBranch("track" .. name,localDSP["op" .. name .. "track"],"In",localDSP["op" .. name .. "track"],"Out") end @@ -163,12 +170,12 @@ local views = { ratios = {"ratioA","ratioB","ratioC","ratioD","ratioE","ratioF"}, scan = {"scanA","scanB","scanC","scanD","scanE","scanF"}, tune = {"tuneA","tuneB","tuneC","tuneD","tuneE","tuneF"}, - a = {"outLevelA","ratioA","scanA","tuneA","phaseAA","phaseAB","phaseAC","phaseAD","phaseAE","phaseAF"}, - b = {"outLevelB","ratioB","scanB","tuneB","phaseBA","phaseBB","phaseBC","phaseBD","phaseBE","phaseBF"}, - c = {"outLevelC","ratioC","scanC","tuneC","phaseCA","phaseCB","phaseCC","phaseCD","phaseCE","phaseCF"}, - d = {"outLevelD","ratioD","scanD","tuneD","phaseDA","phaseDB","phaseDC","phaseDD","phaseDE","phaseDF"}, - e = {"outLevelE","ratioE","scanE","tuneE","phaseEA","phaseEB","phaseEC","phaseED","phaseEE","phaseEF"}, - f = {"outLevelF","ratioF","scanF","tuneF","phaseFA","phaseFB","phaseFC","phaseFD","phaseFE","phaseFF"}, + a = {"outLevelA","ratioA","scanA","tuneA","phaseAA","phaseAB","phaseAC","phaseAD","phaseAE","phaseAF","trackA"}, + b = {"outLevelB","ratioB","scanB","tuneB","phaseBA","phaseBB","phaseBC","phaseBD","phaseBE","phaseBF","trackB"}, + c = {"outLevelC","ratioC","scanC","tuneC","phaseCA","phaseCB","phaseCC","phaseCD","phaseCE","phaseCF","trackC"}, + d = {"outLevelD","ratioD","scanD","tuneD","phaseDA","phaseDB","phaseDC","phaseDD","phaseDE","phaseDF","trackD"}, + e = {"outLevelE","ratioE","scanE","tuneE","phaseEA","phaseEB","phaseEC","phaseED","phaseEE","phaseEF","trackE"}, + f = {"outLevelF","ratioF","scanF","tuneF","phaseFA","phaseFB","phaseFC","phaseFD","phaseFE","phaseFF","trackF"}, collapsed = {}, } @@ -230,6 +237,13 @@ function Xoxoxo:onLoadViews(objects,branches) scaling = app.octaveScaling } + controls["track" .. name] = Gate { + button = name .. "Track", + description = name .. " Track V/Oct", + branch = branches["track" .. name], + comparator = objects["op" .. name .. "track"], + } + for j, name2 in ipairs(opNames) do controls["phase" .. name .. name2] = GainBias { button = name .. " to " .. name2, diff --git a/changelog.log b/changelog.log index 5d88321..348f3a0 100644 --- a/changelog.log +++ b/changelog.log @@ -1,3 +1,6 @@ +2019-09-22 Accents v0.4.25.2 +ENHANCED: Added xTrack control to each operator in XOXOXO. This disables V/Oct tracking for that operator. + 2019-09-22 Accents v0.4.25.1 NEW UNIT: Voltage Bank 2 NEW UNIT: Voltage Bank 4