// title: AMSynth GUI // author: TrysonHardie // description: // Recreation of AMSynth (only GUI) -> https://youtu.be/ZsTNBsti6xM // code: /*Generated with GUI Maker http://trysohard.info/GUI-Maker/ */ /* Recreation of GUI of "AMSynth by Nick Dowell" - http://amsynth.github.io */ ( var w,cntnr111,cntnr96,cntnr98,cntnr136,cntnr88,cntnr122,cntnr121,cntnr77, osc1_SHAPE, osc1_Waveform, oscMIX_OSC1_OSC2, oscMIX_RING_MOD, osc2_SHAPE, osc2_OCT, osc2_SEMITONE, osc2_DETUNE, osc2_Waveform, ampENV_Attack, ampENV_Decay, ampENV_Sustain, ampENV_Release, amp_VOLUME, amp_DRIVE, filter_RESON, filter_Attack, filter_Decay, filter_Sustain, filter_Release, filter_CUTOFF, filter_KEY_TRACK, filter_ENV_AMT, filter_Type, filter_Slope, lfo_SPEED, lfo_TO_FILT, lfo_TO_AMP, lfo_Waveform, reverb_AMOUNT, reverb_SIZE, reverb_STEREO, reverb_DAMPING ; var knobcolors = [Color.fromHexString("#ffffff"),Color.fromHexString("#cccc00"),Color.fromHexString("#43433f"),Color.fromHexString("#000000")] ; w = Window.new("AMSynth", Rect(100, 100, 600, 400)).background_(Color.fromHexString("#43433f")).front; w.alwaysOnTop_(true); // ---cntnr77 container View cntnr77 = CompositeView(w, Rect(5,20, 140,75)) .background_(Color.fromHexString("#5c5c57")) ;StaticText(cntnr77, Rect(10,10, 140,12)) .string_("OSC 1") .stringColor_(Color.fromHexString("#ffffff")) .background_(Color.fromHexString("#5c5c57")) ; osc1_Waveform = PopUpMenu(cntnr77, Rect(10,25, 75,40)) .items_(["Sine","Pulse","Saw","Noise","Random"]) .stringColor_(Color.fromHexString("#cccc00")) .background_(Color.fromHexString("#5c5c57")) ; osc1_SHAPE = Knob(cntnr77, Rect(90,25, 36,36)) .color_(knobcolors) ;StaticText(cntnr77, Rect(90,61, 136,12)) .string_("SHAPE") ; // ---cntnr121 container View cntnr121 = CompositeView(w, Rect(200,20, 100,140)) .background_(Color.fromHexString("#5c5c57")) ;StaticText(cntnr121, Rect(10,10, 100,12)) .string_("OSC MIX") .stringColor_(Color.fromHexString("#ffffff")) .background_(Color.fromHexString("#5c5c57")) ; oscMIX_OSC1_OSC2 = Knob(cntnr121, Rect(10,25, 36,36)) .color_(knobcolors) ;StaticText(cntnr121, Rect(10,61, 136,12)) .string_("OSC 1 - OSC 2") ; oscMIX_RING_MOD = Knob(cntnr121, Rect(10,85, 36,36)) .color_(knobcolors) ;StaticText(cntnr121, Rect(10,121, 136,12)) .string_("RING MOD") ; // ---cntnr122 container View cntnr122 = CompositeView(w, Rect(5,100, 190,135)) .background_(Color.fromHexString("#5c5c57")) ;StaticText(cntnr122, Rect(10,10, 190,12)) .string_("OSC 2") .stringColor_(Color.fromHexString("#ffffff")) .background_(Color.fromHexString("#5c5c57")) ; osc2_SHAPE = Knob(cntnr122, Rect(90,25, 36,36)) .color_(knobcolors) ;StaticText(cntnr122, Rect(90,61, 136,12)) .string_("SHAPE") ; osc2_OCT = Knob(cntnr122, Rect(10,75, 36,36)) .color_(knobcolors) ;StaticText(cntnr122, Rect(10,111, 136,12)) .string_("OCT") ; osc2_SEMITONE = Knob(cntnr122, Rect(55,75, 36,36)) .color_(knobcolors) ;StaticText(cntnr122, Rect(55,111, 136,12)) .string_("SEMITONE") ; osc2_DETUNE = Knob(cntnr122, Rect(135,75, 36,36)) .color_(knobcolors) ;StaticText(cntnr122, Rect(135,111, 136,12)) .string_("DETUNE") ; osc2_Waveform = PopUpMenu(cntnr122, Rect(10,25, 65,40)) .items_(["Sine","Pulse","Saw","Noise","Random"]) .stringColor_(Color.fromHexString("#cccc00")) .background_(Color.fromHexString("#5c5c57")) ; // ---cntnr88 container View cntnr88 = CompositeView(w, Rect(305,20, 195,75)) .background_(Color.fromHexString("#5c5c57")) ;StaticText(cntnr88, Rect(10,10, 195,12)) .string_("AMP ENV") .stringColor_(Color.fromHexString("#ffffff")) .background_(Color.fromHexString("#5c5c57")) ; ampENV_Attack = Knob(cntnr88, Rect(10,25, 36,36)) .color_(knobcolors) ;StaticText(cntnr88, Rect(10,61, 136,12)) .string_("A") ; ampENV_Decay = Knob(cntnr88, Rect(55,25, 36,36)) .color_(knobcolors) ;StaticText(cntnr88, Rect(55,61, 136,12)) .string_("D") ; ampENV_Sustain = Knob(cntnr88, Rect(100,25, 36,36)) .color_(knobcolors) ;StaticText(cntnr88, Rect(100,61, 136,12)) .string_("S") ; ampENV_Release = Knob(cntnr88, Rect(145,25, 36,36)) .color_(knobcolors) ;StaticText(cntnr88, Rect(145,61, 136,12)) .string_("R") ; // ---cntnr136 container View cntnr136 = CompositeView(w, Rect(525,20, 75,125)) .background_(Color.fromHexString("#5c5c57")) ;StaticText(cntnr136, Rect(10,10, 65,12)) .string_("AMP") .stringColor_(Color.fromHexString("#ffffff")) .background_(Color.fromHexString("#5c5c57")) ; amp_VOLUME = Knob(cntnr136, Rect(10,25, 36,36)) .color_(knobcolors) ;StaticText(cntnr136, Rect(10,61, 136,12)) .string_("VOLUME") ; amp_DRIVE = Knob(cntnr136, Rect(10,75, 36,36)) .color_(knobcolors) ;StaticText(cntnr136, Rect(10,111, 136,12)) .string_("DRIVE") ; // ---cntnr98 container View cntnr98 = CompositeView(w, Rect(200,170, 255,125)) .background_(Color.fromHexString("#5c5c57")) ;StaticText(cntnr98, Rect(10,10, 255,12)) .string_("FILTER") .stringColor_(Color.fromHexString("#ffffff")) .background_(Color.fromHexString("#5c5c57")) ; filter_RESON = Knob(cntnr98, Rect(5,25, 36,36)) .color_(knobcolors) ;StaticText(cntnr98, Rect(5,61, 136,12)) .string_("RESON.") ; filter_Attack = Knob(cntnr98, Rect(10,75, 36,36)) .color_(knobcolors) ;StaticText(cntnr98, Rect(10,111, 136,12)) .string_("A") ; filter_Decay = Knob(cntnr98, Rect(55,75, 36,36)) .color_(knobcolors) ;StaticText(cntnr98, Rect(55,111, 136,12)) .string_("D") ; filter_Sustain = Knob(cntnr98, Rect(100,75, 36,36)) .color_(knobcolors) ;StaticText(cntnr98, Rect(100,111, 136,12)) .string_("S") ; filter_Release = Knob(cntnr98, Rect(145,75, 36,36)) .color_(knobcolors) ;StaticText(cntnr98, Rect(145,111, 136,12)) .string_("R") ; filter_CUTOFF = Knob(cntnr98, Rect(55,25, 36,36)) .color_(knobcolors) ;StaticText(cntnr98, Rect(55,61, 136,12)) .string_("CUTOFF") ; filter_KEY_TRACK = Knob(cntnr98, Rect(110,25, 36,36)) .color_(knobcolors) ;StaticText(cntnr98, Rect(110,61, 136,12)) .string_("KEY TRACK") ; filter_ENV_AMT = Knob(cntnr98, Rect(180,25, 36,36)) .color_(knobcolors) ;StaticText(cntnr98, Rect(180,61, 136,12)) .string_("- ENV AMT +") ; filter_Type = PopUpMenu(cntnr98, Rect(60,0, 85,20)) .items_(["LowPass","HighPass","BandPass","BandStop","Bypass","Count"]) .stringColor_(Color.fromHexString("#a8a824")) .background_(Color.fromHexString("#000000")) ; filter_Slope = PopUpMenu(cntnr98, Rect(160,0, 55,20)) .items_(["12 dB","24 dB"]) .stringColor_(Color.fromHexString("#a8a824")) .background_(Color.fromHexString("#000000")) ; // ---cntnr111 container View cntnr111 = CompositeView(w, Rect(5,305, 295,85)) .background_(Color.fromHexString("#5c5c57")) ;StaticText(cntnr111, Rect(10,10, 275,12)) .string_("LFO") .stringColor_(Color.fromHexString("#ffffff")) .background_(Color.fromHexString("#5c5c57")) ; lfo_SPEED = Knob(cntnr111, Rect(80,25, 36,36)) .color_(knobcolors) ;StaticText(cntnr111, Rect(80,61, 136,12)) .string_("SPEED") ; Knob(cntnr111, Rect(125,25, 36,36)) .color_(knobcolors) ; lfo_TO_FILT = Knob(cntnr111, Rect(175,25, 36,36)) .color_(knobcolors) ;StaticText(cntnr111, Rect(165,61, 136,12)) .string_("TO FILT") ; lfo_TO_AMP = Knob(cntnr111, Rect(225,25, 36,36)) .color_(knobcolors) ;StaticText(cntnr111, Rect(225,61, 136,12)) .string_("TO AMP") ; lfo_Waveform = PopUpMenu(cntnr111, Rect(5,25, 65,40)) .items_(["Sine","Pulse","Saw","Noise","Random"]) .stringColor_(Color.fromHexString("#cccc00")) .background_(Color.fromHexString("#5c5c57")) ; PopUpMenu(cntnr111, Rect(125,65, 40,20)) .stringColor_(Color.fromHexString("#a8a824")) .background_(Color.fromHexString("#000000")) ; // ---cntnr96 container View cntnr96 = CompositeView(w, Rect(305,305, 230,75)) .background_(Color.fromHexString("#5c5c57")) ;StaticText(cntnr96, Rect(10,10, 230,12)) .string_("REVERB") .stringColor_(Color.fromHexString("#ffffff")) .background_(Color.fromHexString("#5c5c57")) ; reverb_AMOUNT = Knob(cntnr96, Rect(10,25, 36,36)) .color_(knobcolors) ;StaticText(cntnr96, Rect(5,61, 136,12)) .string_("AMOUNT") ; reverb_SIZE = Knob(cntnr96, Rect(70,25, 36,36)) .color_(knobcolors) ;StaticText(cntnr96, Rect(75,61, 136,12)) .string_("SIZE") ; reverb_STEREO = Knob(cntnr96, Rect(120,25, 36,36)) .color_(knobcolors) ;StaticText(cntnr96, Rect(110,61, 136,12)) .string_("STEREO") ; reverb_DAMPING = Knob(cntnr96, Rect(170,25, 36,36)) .color_(knobcolors) ;StaticText(cntnr96, Rect(170,61, 136,12)) .string_("DAMPING") ; StaticText(w, Rect(460,160, 135,120)) .string_("AM\nSYNTH") .font_(Font("Purisa",36)) ; )