Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

Description

Enumerator to identify the different modulation sources.

Available in: Controller.

IndexsourcesourceInfo1sourceInfo2Comment
0ModulationSource.unassigned-- 
1ModulationSource.lfo1-- 
2ModulationSource.lfo2-- 
3ModulationSource.ampEnv-- 
4ModulationSource.filterEnv-- 
5ModulationSource.pitchEnv-- 
6ModulationSource.userEnv-- 
7ModulationSource.stepMod-- 
8ModulationSource.glide-- 
9ModulationSource.keyFollow-- 
10ModulationSource.noteOnVelocity-- 
11ModulationSource.noteOnVelocitySquared-- 
12ModulationSource.noteOnVelocityNormalized-- 
13ModulationSource.noteOffVelocity-- 
14ModulationSource.pitchBend-- 
15ModulationSource.modWheel-- 
16ModulationSource.aftertouch-- 
17ModulationSource.midiControlMIDI controller number (0 - 127)

-

 
18ModulationSource.quickControlElement object of the layerIndex of the quick control (1 - 11) 
19ModulationSource.modulationModuleElement object of the MIDI moduleNumber of the output channel 
20ModulationSource.noteExpressionNumber of the custom note expression (1-8)- 
21ModulationSource.noise-- 
22ModulationSource.output-- 
23ModulationSource.bus1-- 
24ModulationSource.bus2-- 
25ModulationSource.bus3-- 
26ModulationSource.bus4-- 
27ModulationSource.bus5-- 
28ModulationSource.bus6-- 
29ModulationSource.bus7-- 
30ModulationSource.bus8-- 
31ModulationSource.bus9-- 
32ModulationSource.bus10-- 
33ModulationSource.bus11-- 
34ModulationSource.bus12-- 
35ModulationSource.bus13-- 
36ModulationSource.bus14-- 
37ModulationSource.bus15-- 
38ModulationSource.bus16-- 
39ModulationSource.sampleAndHoldIndex of the S&H (0 - 5)-Source 2 only

Example

-- define the modulation sources and infos in an array
modSources = {
    { source = ModulationSource.lfo1, bipolar = 1 },
    { source = ModulationSource.midiControl, bipolar = 0, sourceInfo1 = 1 },
    { source = ModulationSource.quickControl,bipolar = 1, sourceInfo1 = this.program, sourceInfo2 = 1 },
    { source = ModulationSource.modulationModule, bipolar = 0, sourceInfo1 = this, sourceInfo2 = 1 },
    { source = ModulationSource.modulationModule, bipolar = 0, sourceInfo1 = this, sourceInfo2 = 2 },
    { source = ModulationSource.noteExpression, bipolar = 0, sourceInfo1 = 1 }
}

-- define two modulation outputs for the script module
defineModulation("50%", false)
defineModulation("100%", false)

-- calculate the modulation outputs
function calcModulation()
    return 0.5, 1
end

-- get the element object of the first zone
zone = this.program:findZones(true)[1]

-- assign the modulation sources to source 1 in the modulation rows 1 to 6
for i=1, #modSources do
    local modRow = zone:getModulationMatrixRow(i)
    modRow:setSource1(modSources[i].source, modSources[i].sourceInfo1, modSources[i].sourceInfo2)
    modRow:setParameter("Source1.Polarity", modSources[i].bipolar) -- set the default polarity of the source
end

-- assign the sample & hold to source 2 in modulation row 1
modRow = zone:getModulationMatrixRow(1)
modRow:setSource2(ModulationSource.sampleAndHold, 0)

  • No labels