bounds(0, 0, 0, 0)
form caption("Hept-S") size(1129, 547), colour(58, 110, 182), pluginid("def1")
image bounds(0, 0, 1129, 447) file("..\hept-x skin 2 electric boogaloo.png")
FLknob
;==================================================================================================================== global knobs; these effect everything
rslider bounds(522, 184, 70, 70) range(0, 1, 0.75, 1, 0.001) trackercolour(47, 132, 188, 255) colour(255, 255, 255, 0) text("Gain") markercolour(47, 132, 188, 255) outlinecolour(58, 58, 58, 0) channel("mastergain") textcolour(47, 132, 188, 255)
rslider bounds(602, 184, 70, 70) range(0, 1, 0.5, 1, 0.001) trackercolour(47, 132, 188, 255) colour(255, 255, 255, 0) text("Pan") markercolour(47, 132, 188, 255) outlinecolour(58, 58, 58, 0) channel("masterpan") textcolour(47, 132, 188, 255)
keyboard bounds(0, 444, 927, 102) keyseparatorcolour(0, 0, 0, 255) arrowcolour(0, 0, 0, 0)
;====================================================================================================================
rslider bounds(48, 346, 70, 70) range(0.001, 1, 0.001, 1, 0.001) trackercolour(53, 153, 219, 255) colour(255, 255, 255, 192) text("Attack") textcolour(255, 255, 255, 255), channel("attack")
rslider bounds(128, 346, 70, 70) range(0.001, 1, 1, 1, 0.001) trackercolour(53, 153, 219, 255) colour(255, 255, 255, 192) text("Decay") textcolour(255, 255, 255, 255), channel("decay")
rslider bounds(208, 346, 70, 70) range(0.001, 1, 1, 1, 0.001) trackercolour(53, 153, 219, 255) colour(255, 255, 255, 192) text("Sustain") textcolour(255, 255, 255, 255), channel("sustain")
rslider bounds(288, 346, 70, 70) range(0.001, 1, 0.3, 1, 0.001) trackercolour(53, 153, 219, 255) colour(255, 255, 255, 192) text("Release") textcolour(255, 255, 255, 255), channel("release")
rslider bounds(820, 70, 70, 70) range(0, 22000, 22000, 1, 0.001) trackercolour(53, 153, 219, 255) colour(255, 255, 255, 192) text("cutoff") textcolour(255, 255, 255, 255), channel("filcutoff")
rslider bounds(918, 70, 70, 70) range(0, 1, 0, 1, 0.001) trackercolour(53, 153, 219, 255) colour(255, 255, 255, 192) text("Resonance") textcolour(255, 255, 255, 255), channel("filreso")
rslider bounds(48, 274, 70, 70) range(0.001, 1, 0.001, 1, 0.001) trackercolour(53, 153, 219, 255) colour(255, 255, 255, 192) text("Attack") textcolour(255, 255, 255, 255), channel("mod1attack")
rslider bounds(128, 274, 70, 70) range(0.001, 1, 1, 1, 0.001) trackercolour(53, 153, 219, 255) colour(255, 255, 255, 192) text("Decay") textcolour(255, 255, 255, 255), channel("mod1decay")
rslider bounds(208, 274, 70, 70) range(0.001, 1, 1, 1, 0.001) trackercolour(53, 153, 219, 255) colour(255, 255, 255, 192) text("Sustain") textcolour(255, 255, 255, 255), channel("mod1sustain")
rslider bounds(288, 274, 70, 70) range(0.001, 1, 0.3, 1, 0.001) trackercolour(53, 153, 219, 255) colour(255, 255, 255, 192) text("Release") textcolour(255, 255, 255, 255), channel("mod1release")
rslider bounds(48, 134, 70, 70) range(-1, 1, 0, 1, 0.001) trackercolour(53, 153, 219, 255) colour(255, 255, 255, 192) text("Fine") textcolour(255, 255, 255, 255), channel("osc1fine")
rslider bounds(128, 134, 70, 70) range(0, 1, 1, 1, 0.001) trackercolour(53, 153, 219, 255) colour(255, 255, 255, 192) text("Vol") textcolour(255, 255, 255, 255), channel("osc1vol")
rslider bounds(208, 134, 70, 70) range(0, 1, 0, 1, 0.001) trackercolour(53, 153, 219, 255) colour(255, 255, 255, 192) text("Phase") textcolour(255, 255, 255, 255), channel("osc1phase")
rslider bounds(288, 134, 70, 70) range(0, 1, 0, 1, 0.001) trackercolour(53, 153, 219, 255) colour(255, 255, 255, 192) text("Detune") textcolour(255, 255, 255, 255), channel("osc1detune")
combobox text("+2", "+1", "0", "-1", "-2") channel("osc1oct") bounds(48, 104, 70, 20) value("3") colour(47, 132, 188, 63)
combobox text("+10", "+9", "+8", "+7", "+6", "+5", "+4", "+3", "+2", "+1", "0") channel("osc1note") bounds(48, 64, 70, 20) value("11") colour(47, 132, 188, 63)
;====================================================================================================================Waveform editor
image bounds(20, 20, 1089, 407) file("..\Hept\Hept-s\Skin\waveform editor.png") alpha(0.85)
gentable bounds(26, 26, 840, 394) tablenumber(1.0) tablebackgroundcolour(15, 15, 15, 89) identchannel("osc1table") tablegridcolour(45, 45, 45, 0) tablecolour:0(53, 153, 219, 255) tablecolour:1(211, 119, 76, 255)
vslider bounds(26, 26, 33, 395) range(0, 1, 0, 1, 0.001) trackercolour(53, 153, 219, 255) channel("osc1waveband1")
vslider bounds(50, 26, 33, 395) range(0, 1, 0, 1, 0.001) trackercolour(53, 153, 219, 255) channel("osc1waveband2")
vslider bounds(76, 26, 33, 395) range(0, 1, 0, 1, 0.001) trackercolour(53, 153, 219, 255) channel("osc1waveband3")
vslider bounds(102, 26, 33, 395) range(0, 1, 0, 1, 0.001) trackercolour(53, 153, 219, 255) channel("osc1waveband4")
vslider bounds(128, 26, 33, 395) range(0, 1, 0, 1, 0.001) trackercolour(53, 153, 219, 255) channel("osc1waveband5")
vslider bounds(154, 26, 33, 395) range(0, 1, 0, 1, 0.001) trackercolour(53, 153, 219, 255) channel("osc1waveband6")
vslider bounds(180, 26, 33, 395) range(0, 1, 0, 1, 0.001) trackercolour(53, 153, 219, 255) channel("osc1waveband7")
vslider bounds(206, 26, 33, 395) range(0, 1, 0, 1, 0.001) trackercolour(53, 153, 219, 255) channel("osc1waveband8")
vslider bounds(232, 26, 33, 395) range(0, 1, 0, 1, 0.001) trackercolour(53, 153, 219, 255) channel("osc1waveband9")
vslider bounds(258, 26, 33, 395) range(0, 1, 0, 1, 0.001) trackercolour(53, 153, 219, 255) channel("osc1waveband10")
vslider bounds(284, 26, 33, 395) range(0, 1, 0, 1, 0.001) trackercolour(53, 153, 219, 255) channel("osc1waveband11")
vslider bounds(310, 26, 33, 395) range(0, 1, 0, 1, 0.001) trackercolour(53, 153, 219, 255) channel("osc1waveband12")
vslider bounds(336, 26, 33, 395) range(0, 1, 0, 1, 0.001) trackercolour(53, 153, 219, 255) channel("osc1waveband13")
vslider bounds(362, 26, 33, 395) range(0, 1, 0, 1, 0.001) trackercolour(53, 153, 219, 255) channel("osc1waveband14")
vslider bounds(388, 26, 33, 395) range(0, 1, 0, 1, 0.001) trackercolour(53, 153, 219, 255) channel("osc1waveband15")
vslider bounds(414, 26, 33, 395) range(0, 1, 0, 1, 0.001) trackercolour(53, 153, 219, 255) channel("osc1waveband16")
vslider bounds(440, 26, 33, 395) range(0, 1, 0, 1, 0.001) trackercolour(53, 153, 219, 255) channel("osc1waveband17")
vslider bounds(466, 26, 33, 395) range(0, 1, 0, 1, 0.001) trackercolour(53, 153, 219, 255) channel("osc1waveband18")
vslider bounds(492, 26, 33, 395) range(0, 1, 0, 1, 0.001) trackercolour(53, 153, 219, 255) channel("osc1waveband19")
vslider bounds(518, 26, 33, 395) range(0, 1, 0, 1, 0.001) trackercolour(53, 153, 219, 255) channel("osc1waveband20")
vslider bounds(544, 26, 33, 395) range(0, 1, 0, 1, 0.001) trackercolour(53, 153, 219, 255) channel("osc1waveband21")
vslider bounds(570, 26, 33, 395) range(0, 1, 0, 1, 0.001) trackercolour(53, 153, 219, 255) channel("osc1waveband22")
vslider bounds(596, 26, 33, 395) range(0, 1, 0, 1, 0.001) trackercolour(53, 153, 219, 255) channel("osc1waveband23")
vslider bounds(622, 26, 33, 395) range(0, 1, 0, 1, 0.001) trackercolour(53, 153, 219, 255) channel("osc1waveband24")
vslider bounds(648, 26, 33, 395) range(0, 1, 0, 1, 0.001) trackercolour(53, 153, 219, 255) channel("osc1waveband25")
vslider bounds(674, 26, 33, 395) range(0, 1, 0, 1, 0.001) trackercolour(53, 153, 219, 255) channel("osc1waveband26")
vslider bounds(700, 26, 33, 395) range(0, 1, 0, 1, 0.001) trackercolour(53, 153, 219, 255) channel("osc1waveband27")
vslider bounds(726, 26, 33, 395) range(0, 1, 0, 1, 0.001) trackercolour(53, 153, 219, 255) channel("osc1waveband28")
vslider bounds(752, 26, 33, 395) range(0, 1, 0, 1, 0.001) trackercolour(53, 153, 219, 255) channel("osc1waveband29")
vslider bounds(778, 26, 33, 395) range(0, 1, 0, 1, 0.001) trackercolour(53, 153, 219, 255) channel("osc1waveband30")
vslider bounds(804, 26, 33, 395) range(0, 1, 0, 1, 0.001) trackercolour(53, 153, 219, 255) channel("osc1waveband31")
vslider bounds(830, 26, 33, 395) range(0, 1, 0, 1, 0.001) trackercolour(53, 153, 219, 255) channel("osc1waveband32")
checkbox bounds(890, 30, 120, 20), channel("normal"), text("Normalise"), colour(255, 0, 0)
;====================================================================================================================
-n -d -+rtmidi=NULL -M0 -m0d --midi-key-cps=4 --midi-velocity-amp=5
; Initialize the global variables.
ksmps = 32
nchnls = 2
0dbfs = 1
;waveband variables
giWave ftgen 1, 0, 4096, 10, 1
;instrument will be triggered by keyboard widget
instr 1
kOsc1band1 chnget "osc1waveband1"
kOsc1band2 chnget "osc1waveband2"
kOsc1band3 chnget "osc1waveband3"
kOsc1band4 chnget "osc1waveband4"
kOsc1band5 chnget "osc1waveband5"
kOsc1band6 chnget "osc1waveband6"
kOsc1band7 chnget "osc1waveband7"
kOsc1band8 chnget "osc1waveband8"
kOsc1band9 chnget "osc1waveband9"
kOsc1band10 chnget "osc1waveband10"
kOsc1band11 chnget "osc1waveband11"
kOsc1band12 chnget "osc1waveband12"
kOsc1band13 chnget "osc1waveband13"
kOsc1band14 chnget "osc1waveband14"
kOsc1band15 chnget "osc1waveband15"
kOsc1band16 chnget "osc1waveband16"
kOsc1band17 chnget "osc1waveband17"
kOsc1band18 chnget "osc1waveband18"
kOsc1band19 chnget "osc1waveband19"
kOsc1band20 chnget "osc1waveband20"
kOsc1band21 chnget "osc1waveband21"
kOsc1band22 chnget "osc1waveband22"
kOsc1band23 chnget "osc1waveband23"
kOsc1band24 chnget "osc1waveband24"
kOsc1band25 chnget "osc1waveband25"
kOsc1band26 chnget "osc1waveband26"
kOsc1band27 chnget "osc1waveband27"
kOsc1band28 chnget "osc1waveband28"
kOsc1band29 chnget "osc1waveband29"
kOsc1band30 chnget "osc1waveband30"
kOsc1band31 chnget "osc1waveband31"
kOsc1band32 chnget "osc1waveband32"
iFreq = p4/2
iAmp = p5
kLeft chnget "masterpan"
kRight = ( kLeft * -1 ) + 1
kGain chnget ("mastergain")
kEnv madsr chnget:i("attack"), chnget:i("decay"), chnget:i("sustain"), chnget:i("release")
kMod1Env madsr chnget:i("mod1attack"), chnget:i("mod1decay"), chnget:i("mod1sustain"), chnget:i("mod1release")
iOsc1Semitone = (2^(1/12)*p4)-p4
;
;
aOut vco2 iAmp*chnget:k("osc1vol"), iFreq+iOsc1Semitone*chnget:k("osc1fine")
aLp moogladder aOut, chnget:k("filcutoff")*kMod1Env, chnget:k("filreso")
outs aLp*kEnv*kGain*kRight, aLp*kEnv*kGain*kLeft
kChanged changed kOsc1band1, kOsc1band2, kOsc1band3, kOsc1band4, kOsc1band5
if kChanged==1 then
;if a slider changes trigger instrument 2 to update table
event "i", 2, 0, .01, kOsc1band1, kOsc1band2, kOsc1band3, kOsc1band4, kOsc1band5
endif
endin
instr 2
iNormal = (chnget:i("normal")==0 ? -1 : 1)
iTable ftgen 1, 0, 1024, 10*iNormal, p4, p5, p6, p7, p8
chnset "tablenumber(1)", "osc1table" ; update table display
endin
;causes Csound to run for about 7000 years...
f0 z