From 6cba1dac41ab160564ee376806263cf91b9a40a4 Mon Sep 17 00:00:00 2001 From: pussinboot <> Date: Wed, 21 Oct 2015 22:29:14 -0400 Subject: [PATCH] rly slow for some reason ;~~; --- v0.5.0/Twitch.ini | 74 ++++++++++++++++++++++++++++ v0.5.0/mdvj.py | 17 +++++-- v0.5.0/midi_config.py | 46 ++++++++++------- v0.5.0/vj_config.ini | 70 -------------------------- v0.5.0/vj_config_backup.ini | 98 ------------------------------------- 5 files changed, 115 insertions(+), 190 deletions(-) create mode 100644 v0.5.0/Twitch.ini delete mode 100644 v0.5.0/vj_config.ini delete mode 100644 v0.5.0/vj_config_backup.ini diff --git a/v0.5.0/Twitch.ini b/v0.5.0/Twitch.ini new file mode 100644 index 0000000..045627d --- /dev/null +++ b/v0.5.0/Twitch.ini @@ -0,0 +1,74 @@ +[IO] +Input Name = Twitch +Input ID = 1 + +[Keys] +previous set = [151, 18] +scale 2nd layer = +next = [152, 19] +l pad #6 = [151, 101] +l pad #7 = [151, 102] +prev = [152, 18] +change amplitude = +l pad #4 = [151, 99] +cycle waveform = +r pad #6 = [152, 101] +scale waveform = +r pad #1 = [152, 96] +waveform opacity = +r pad #7 = [152, 102] +motion left/right = [184, 53] +stop = [152, 22] +r pad #3 = [152, 98] +l pad #3 = [151, 98] +rotate = +next set = [151, 19] +motion up/down = [183, 53] +l pad #2 = [151, 97] +flip 2nd layer = +r pad #2 = [152, 97] +l pad #5 = [151, 100] +r pad #5 = [152, 100] +r pad #8 = [152, 103] +r pad #4 = [152, 99] +play/pause = [152, 23] +zoom = +l pad #8 = [151, 103] +l pad #1 = [151, 96] +brightness = + +[Type] +previous set = p +scale 2nd layer = o +next = p +l pad #6 = p +l pad #7 = p +prev = p +change amplitude = o +l pad #4 = p +cycle waveform = p +r pad #6 = p +scale waveform = o +r pad #1 = p +waveform opacity = o +r pad #7 = p +motion left/right = s +stop = p +r pad #3 = p +l pad #3 = p +rotate = o +next set = p +motion up/down = s +l pad #2 = p +flip 2nd layer = p +r pad #2 = p +l pad #5 = p +r pad #5 = p +r pad #8 = p +r pad #4 = p +play/pause = p +zoom = o +l pad #8 = p +l pad #1 = p +brightness = o + diff --git a/v0.5.0/mdvj.py b/v0.5.0/mdvj.py index 3b44126..89e69eb 100644 --- a/v0.5.0/mdvj.py +++ b/v0.5.0/mdvj.py @@ -7,6 +7,7 @@ from db import Database from control_md import ControlMD from screenshot import Screenshot +import midi_config class MainGui: """ the main gui """ @@ -131,15 +132,21 @@ def __init__(self): # load config print('config exists') else: - Screenshot() + #Screenshot() + #ConfigMidi(tk.Toplevel()) + midi_config.main() + main() # and then configure midi controller : ) # and then finna run the fun - -if __name__ == '__main__': +def main(): root = tk.Tk() root.title("mdvj") root.resizable(0,0) - #Setup() gui = MainGui(root) - root.mainloop() \ No newline at end of file + root.mainloop() +if __name__ == '__main__': + + Setup() + # + # \ No newline at end of file diff --git a/v0.5.0/midi_config.py b/v0.5.0/midi_config.py index d31e6b0..148ce52 100644 --- a/v0.5.0/midi_config.py +++ b/v0.5.0/midi_config.py @@ -14,7 +14,7 @@ def __init__(self,master): self.queue = None self.start_fun = lambda : None self.midi_started = False - + self.input_storage = None # tk stuff self.nb = ttk.Notebook(self.master) self.nb.pack() @@ -50,7 +50,6 @@ def __init__(self,master): # first popup with selection of inputs # and outputs as well #self.start() - self.load() # then presented with list of # midi-key | md function @@ -154,9 +153,9 @@ def return_vals(): if choices[1] in outputs: tor[1] = device_dict[1][choices[1]] device_select.destroy() + self.load(choices[0]+'.ini') self.master.wm_state('normal') - #return tor # this wont work.. - #print(tor) + self.input_storage = [choices[0], str(tor[0])] self.MC.set_inp(tor[0]) self.midi_started = True self.start_fun() @@ -238,24 +237,36 @@ def load(self,fname='vj_config.ini'): Config.read(fname) for o in self.dict: try: - key = Config.get('Key',o) + key = Config.get('Keys',o) + control_type = Config.get('Type',o) self.dict[o][0].set(key) self.dict[o][1].set(control_type) except: print(o,'failed to load') + return int(Config.get('IO','Input ID')) + + def save(self): + if not self.input_storage[0] or self.input_storage[0] == '-': + return + fname = self.input_storage[0]+'.ini' - def save(self,fname='vj_config.ini'): Config = configparser.RawConfigParser() Config.optionxform = str cfgfile = open(fname,'w') - if not Config.has_section("Key"): - Config.add_section('Key') - if not Config.has_section("Type"): - Config.add_section('Type') + if not Config.has_section('IO'): + Config.add_section('IO') + Config.set('IO','Input Name',self.input_storage[0]) + Config.set('IO','Input ID',self.input_storage[1]) + keyname = "Keys" + typename = "Type" + if not Config.has_section(keyname): + Config.add_section(keyname) + if not Config.has_section(typename): + Config.add_section(typename) for k in self.dict: - Config.set('Key',k,self.dict[k][0].get()) - Config.set('Type',k,self.dict[k][1].get()) + Config.set(keyname,k,self.dict[k][0].get()) + Config.set(typename,k,self.dict[k][1].get()) Config.write(cfgfile) cfgfile.close() @@ -263,15 +274,16 @@ def quit(self): self.save() #self.master.destroy() - - - -if __name__ == '__main__': +def main(): root = tk.Tk() root.wm_state('iconic') config = ConfigMidi(root) - midi_thread = MidiClient(root,config,250) + midi_thread = MidiClient(root,config,100) config.set_MC(midi_thread.MC) config.set_start_op(midi_thread.start) config.start() root.mainloop() + + +if __name__ == '__main__': + main() diff --git a/v0.5.0/vj_config.ini b/v0.5.0/vj_config.ini deleted file mode 100644 index 9de39a0..0000000 --- a/v0.5.0/vj_config.ini +++ /dev/null @@ -1,70 +0,0 @@ -[Key] -l pad #8 = -r pad #6 = -l pad #1 = -r pad #3 = -r pad #2 = -stop = -previous set = -scale waveform = -l pad #3 = -rotate = -flip 2nd layer = -r pad #5 = -next set = -play/pause = [152, 23] -l pad #2 = -change amplitude = -motion left/right = -r pad #7 = -brightness = -l pad #4 = -motion up/down = -l pad #6 = -scale 2nd layer = -prev = -r pad #1 = -r pad #8 = -zoom = -l pad #5 = -cycle waveform = -waveform opacity = -r pad #4 = -l pad #7 = -next = - -[Type] -l pad #8 = p -r pad #6 = p -l pad #1 = p -r pad #3 = p -r pad #2 = p -stop = p -previous set = p -scale waveform = p -l pad #3 = p -rotate = p -flip 2nd layer = p -r pad #5 = p -next set = p -play/pause = p -l pad #2 = p -change amplitude = p -motion left/right = p -r pad #7 = p -brightness = p -l pad #4 = p -motion up/down = p -l pad #6 = p -scale 2nd layer = p -prev = p -r pad #1 = p -r pad #8 = p -zoom = p -l pad #5 = p -cycle waveform = p -waveform opacity = p -r pad #4 = p -l pad #7 = p -next = p - diff --git a/v0.5.0/vj_config_backup.ini b/v0.5.0/vj_config_backup.ini deleted file mode 100644 index 12efd38..0000000 --- a/v0.5.0/vj_config_backup.ini +++ /dev/null @@ -1,98 +0,0 @@ -[Control] -b = [151, 19] -z = [151, 18] -11 = [152, 61] -16 = [152, 66] -12 = [152, 62] -v = [151, 22] -<> = [184, 3] -13 = [152, 63] -10 = [152, 60] -00 = [151, 60] -07 = [151, 67] -gG = [184, 9] -iI = [183, 3] -eE = [183, 71] -02 = [151, 62] -qQ = [184, 71] -01 = [151, 61] -{} = [183, 53] -NEXT = [152, 19] -03 = [151, 63] -17 = [152, 67] -06 = [151, 66] -w = [151, 10] -c = [151, 23] -15 = [152, 65] -05 = [151, 65] -04 = [151, 64] -jJ = [183, 9] -PREV = [152, 18] -[] = [184, 53] -RESET = [151, 0] -F = [152, 10] -14 = [152, 64] -oO = [183, 6] - -[SorC] -b = s -z = s -11 = p -16 = p -12 = p -v = s -<> = s -13 = p -10 = p -00 = p -07 = p -gG = c -iI = s -eE = c -02 = p -qQ = c -01 = p -{} = w -NEXT = a -03 = p -17 = p -06 = p -w = s -c = s -15 = p -05 = p -04 = p -jJ = c -PREV = d -[] = w -RESET = r -F = s -14 = p -oO = s - -[FileDesc] -Geiss - Blur Mix 3 = spectro blurry -Aderrasi - Brakefreak-bitcore tweak = tie dye -Geiss - Spiral Artifact = spinner -Geiss - Liquid Beats (janky ripple warp reflecto) = butterfly -Aderrasi - Bow To Gravity = walls and spikes -Geiss - Myriad Spirals = drop fractal -Geiss - Inkblot = kaleidoscope -Geiss - Reaction Diffusion 2 = lava -Geiss - Tokamak Plus 4 = tunnel out -Aderrasi - Bitterfeld (Crystal Border Mix) = waveform tunnel -Geiss - Explosion 2 = algae -Geiss - Motion Blur 2 (Stahl's Neon Jelly 2 RMX) = fast path waves -Aderrasi - Contortion (Escher's Tunnel Mix) = ball in center -Geiss - Cauldron - painterly 5 = fuzzy dancing -Aderrasi - Ghast Entity = s -Geiss - Drop Shadow 1 = blended spectro -Geiss - Confetti (Kaleidoscope Mix) = snowflake -Aderrasi - Ert (Wary Mix) = down the sink -Aderrasi - Airhandler (Principle of Sharing) = tye dye kaleidoscope -Aderrasi - Hard Drink (Half-Infinitea) = whoa -Geiss - Cosmic Dust 2 = star path -Geiss - Fog Tunnel = tunnel -Aderrasi - Halls Of Centrifuge = sqaure s -Geiss and Zylot - Reaction Diffusion 3 (Overload Mix 2) = starfield -