p = CustomColorChanger(name="bluechase") elementid = 0 for i in range(1, 360, 3): elementid += 1 l = RGBLight( start_channel=i, name="pulse_%s" % elementid, attack_duration=1, decay_duration=.8, release_duration=0, sustain_value=0, ) l.hue = random() l.saturation = 1 l.update_rgb() # l.simple = True # add the light to the network dmx3.add_element(l) p.elements.append(l) show.add_element(p) # set the input interface to trigger the element # midi code 70 is the "J" key on the qwerty keyboard for the midikeys app dispatcher.add_observer((0, 70), p) # startup the midi communication - runs in its own thread dispatcher.start() # start the show in a try block so that we can catch ^C and stop the midi
move_tween=tween.IN_OUT_CUBIC, ) elementid = 0 for i in range(1,360,3): elementid += 1 l = RGBLight( start_channel=i, name="pulse_%s" % elementid, attack_duration=0, release_duration=0, sustain_value=1, ) # l.hue = random.random() * 255 l.hue = .74 l.saturation = 1 l.update_rgb() # l.simple = True # add the light to the network dmx3.add_element(l) p.elements.append(l) osc_dispatcher.add_map('/2/fader2', l, 'hue') p.start_pos = 12 # p.left_width = p.right_width = 10 p.left_width = 10 p.right_width = 10 p.left_shape = p.right_shape = tween.OUT_CIRC p.speed = 3 p.moveto = p.end_pos = 65
# add the network to the show show.networks.append(dmx3) # create an input interface dispatcher = MidiDispatcher("MidiKeys") # create a single channel light element single = RGBLight( start_channel=1, name="singletest", attack_duration=1, sustain_value=1, release_duration=1.5, ) single.saturation = 1 # add the light to a network show.add_element(single, network=dmx3) cshift = ColorShift() cshift.add_hue_shift(start=.5, end=.7, duration=4) cshift.add_hue_shift(start=.7, end=.1, duration=1) cshift.add_hue_shift(start=.1, end=.5, duration=2) cshift.add_sat_shift(start=1, end=0, duration=3.5) cshift.add_sat_shift(start=0, end=1, duration=3.5) # the effect is configured by how many times it should pulse per second # 1 is the default # if you wanted to give the pulse a different characteristic # pulser = Pulser(on_shape=tween.IN_CIRC, off_shape=tween.OUT_CIRC)
# create an input interface dispatcher = MidiDispatcher("MidiKeys") osc_dispatcher = OSCDispatcher(('0.0.0.0', 8998)) # create a single RGB light element single = RGBLight( start_channel=10, name="singletestb", attack_duration=0, decay_duration=0, release_duration=.75, sustain_value=1, ) single.hue = random.random() single.saturation = 1 single.update_rgb() single.bell_mode = True oscsingle = RGBLight( start_channel=91, name="singletestb", attack_duration=0, decay_duration=0, release_duration=.75, sustain_value=1, ) oscsingle.hue = random.random() oscsingle.saturation = 1 oscsingle.update_rgb()
# create an input interface dispatcher = MidiDispatcher("MidiKeys") osc_dispatcher = OSCDispatcher(('0.0.0.0', 8998)) # create a single RGB light element single = RGBLight( start_channel=10, name="singletestb", attack_duration=0, decay_duration=0, release_duration=.75, sustain_value=1, ) single.hue = random.random() single.saturation = 1 single.update_rgb() single.bell_mode = True oscsingle = RGBLight( start_channel=91, name="singletestb", attack_duration=0, decay_duration=0, release_duration=.75, sustain_value=1, ) oscsingle.hue = random.random() oscsingle.saturation = 1 oscsingle.update_rgb()
# add the network to the show show.networks.append(dmx3) # create an input interface dispatcher = MidiDispatcher("MidiKeys") # create a single channel light element single = RGBLight( start_channel=1, name="singletest", attack_duration=1, sustain_value=1, release_duration=1.5, ) single.saturation = 1 # add the light to a network show.add_element(single, network=dmx3) cshift = ColorShift() cshift.add_hue_shift(start=.5, end=.7, duration=4) cshift.add_hue_shift(start=.7, end=.1, duration=1) cshift.add_hue_shift(start=.1, end=.5, duration=2) cshift.add_sat_shift(start=1, end=0, duration=3.5) cshift.add_sat_shift(start=0, end=1, duration=3.5) # the effect is configured by how many times it should pulse per second # 1 is the default # if you wanted to give the pulse a different characteristic # pulser = Pulser(on_shape=tween.IN_CIRC, off_shape=tween.OUT_CIRC)