Ejemplo n.º 1
0
    def add_widget(self, type, parent_widget):
	parentframe = parent_widget.get_parent()
	parentframe.remove(parent_widget)
	
	if type == 'add_fan':
	    widget = phat.phat_hfan_slider_new_with_range(1.0, 20.0, 200000.0, 0.1)
	elif type == 'add_slider':
	    widget = phat.phat_slider_button_new_with_range(1.0, 20.0, 200000.0, 0.1, 2)
	elif type == 'add_knob':
	    widget = phat.phat_knob_new_with_range(10.0, 20.0, 200000.0, 0.1)
	elif type == 'add_pad':
	    widget = phat.Pad()
	
	widget.connect('value-changed', self.osc_send_cb)
	widget.connect('button_press_event', self.edit_popup_cb)
	widget.label = gtk.Label("Default")
	parentframe.set_label_widget(widget.label)
	parentframe.add(widget)
	parentframe.show_all()	
Ejemplo n.º 2
0
    def add_widget(self, type, parent_widget):
        parentframe = parent_widget.get_parent()
        parentframe.remove(parent_widget)

        if type == 'add_fan':
            widget = phat.phat_hfan_slider_new_with_range(
                1.0, 20.0, 200000.0, 0.1)
        elif type == 'add_slider':
            widget = phat.phat_slider_button_new_with_range(
                1.0, 20.0, 200000.0, 0.1, 2)
        elif type == 'add_knob':
            widget = phat.phat_knob_new_with_range(10.0, 20.0, 200000.0, 0.1)
        elif type == 'add_pad':
            widget = phat.Pad()

        widget.connect('value-changed', self.osc_send_cb)
        widget.connect('button_press_event', self.edit_popup_cb)
        widget.label = gtk.Label("Default")
        parentframe.set_label_widget(widget.label)
        parentframe.add(widget)
        parentframe.show_all()
Ejemplo n.º 3
0
    def open_rec(self, node, parent_widget):
	#if it's a grouping element
	if node.nodeName == 'hsplit' or node.nodeName == 'vsplit':
	    if node.nodeName == 'vsplit':
		box = gtk.HBox(True)
	    if node.nodeName == 'hsplit':
		box = gtk.VBox(True)
	    frame1 = gtk.Frame()
	    frame1.set_shadow_type(gtk.SHADOW_NONE)
	    box.pack_start(frame1)
	    frame2 = gtk.Frame()
	    frame2.set_shadow_type(gtk.SHADOW_NONE)
	    box.pack_start(frame2)	
	    #add the new box to the parent of placeholder
	    parent_widget.add(box)
	    #and removet he place holder
	    parent_widget.show_all()
	    #recure left
	    self.open_rec(node.childNodes[0], frame1)
	    #recure right
	    self.open_rec(node.childNodes[1], frame2)
	#otherwise it's a widget, but don't use an else because anything else could be in here.
	if node.nodeName == 'widget':
	    name = node.getElementsByTagName('name')[0].firstChild.data
	    if name == 'GtkButton':
		button1 = gtk.Button()
		button1.connect('button_press_event', self.popup_cb)
		button1.set_relief(gtk.RELIEF_HALF)
		parent_widget.add(button1)
		parent_widget.show_all()
		return
	    elif name == 'PhatHFanSlider':
		widget = phat.phat_hfan_slider_new_with_range(float(node.getElementsByTagName('value')[0].firstChild.data), float(node.getElementsByTagName('min')[0].firstChild.data), float(node.getElementsByTagName('max')[0].firstChild.data), 0.1)
		widget.port = [0]
		widget.osc_path = [0]
		widget.split_path = [0]
		widget.sub_index = [0]
		self.split_path(widget, node.getElementsByTagName('osc_path')[0].firstChild.data, 0)
		widget.port[0] = int(node.getElementsByTagName('port')[0].firstChild.data)
		widget.label = gtk.Label(node.getElementsByTagName('label')[0].firstChild.data)
		parent_widget.set_label_widget(widget.label)
		widget.set_log(interpret_bool(node.getElementsByTagName('is_log')[0].firstChild.data))
		widget.set_value(float(node.getElementsByTagName('value')[0].firstChild.data)) 
	    elif name == 'PhatSliderButton':
		widget = phat.phat_slider_button_new_with_range(float(node.getElementsByTagName('value')[0].firstChild.data), float(node.getElementsByTagName('min')[0].firstChild.data), float(node.getElementsByTagName('max')[0].firstChild.data), 0.1, 2)
		widget.port = [0]
		widget.osc_path = [0]
		widget.split_path = [0]
		widget.sub_index = [0]
		self.split_path(widget, node.getElementsByTagName('osc_path')[0].firstChild.data, 0)
		widget.port[0] = int(node.getElementsByTagName('port')[0].firstChild.data)
		widget.label = gtk.Label(node.getElementsByTagName('label')[0].firstChild.data)
		parent_widget.set_label_widget(widget.label)
		widget.set_value(float(node.getElementsByTagName('value')[0].firstChild.data))
	    elif name == 'PhatKnob':
		widget = phat.phat_knob_new_with_range(float(node.getElementsByTagName('value')[0].firstChild.data), float(node.getElementsByTagName('min')[0].firstChild.data), float(node.getElementsByTagName('max')[0].firstChild.data), 0.1)
		widget.port = [0]
		widget.osc_path = [0]
		widget.split_path = [0]
		widget.sub_index = [0]
		self.split_path(widget, node.getElementsByTagName('osc_path')[0].firstChild.data, 0)
		widget.port[0] = int(node.getElementsByTagName('port')[0].firstChild.data)
		widget.label = gtk.Label(node.getElementsByTagName('label')[0].firstChild.data)
		widget.set_log(interpret_bool(node.getElementsByTagName('is_log')[0].firstChild.data))
		parent_widget.set_label_widget(widget.label)
		widget.set_value(float(node.getElementsByTagName('value')[0].firstChild.data)) 
	    elif name == 'PhatPad':
		widget = phat.Pad()
		widget.port = range(5)
		widget.osc_path = range(5)
		widget.split_path = range(5)
		widget.sub_index = range(5)
		widget.label = gtk.Label(node.getElementsByTagName('label')[0].firstChild.data)
		parent_widget.set_label_widget(widget.label)
		radio_setters = [widget.set_x_log, widget.set_y_log, widget.set_xtilt_log, widget.set_ytilt_log, widget.set_pressure_log]
		adjusts = [widget.get_x(), widget.get_y(), widget.get_xtilt(), widget.get_ytilt(), widget.get_pressure()]

		
		i = 0
		for child in node.getElementsByTagName('osc_path'):
		    if(child.firstChild != None):
			self.split_path(widget, child.firstChild.data, i)
			#print 'in osc path',  child.firstChild.data
		    else:
			self.split_path(widget, '', i)
		    i+=1
		i = 0
		for child in node.getElementsByTagName('port'):
		    if(child.firstChild != None):
			widget.port[i] = int(child.firstChild.data)
			#print 'in port',  child.firstChild.data
		    else:
			widget.port[i] = 0
		    i+=1
		i = 0
		for child in node.getElementsByTagName('is_log'):
		    if(child.firstChild != None):
			apply(radio_setters[i], [interpret_bool(child.firstChild.data)]) 
		    i+=1
		i = 0
		for child in node.getElementsByTagName('min'):
		    if(child.firstChild != None):
			setattr(adjusts[i], 'lower', float(child.firstChild.data))
		    i+=1
		i = 0
		for child in node.getElementsByTagName('max'):
		    if(child.firstChild != None):
			setattr(adjusts[i], 'upper', float(child.firstChild.data))
		    i+=1
			
	    widget.connect('value-changed', self.osc_send_cb)
	    widget.connect('button_press_event', self.edit_popup_cb)
	    parent_widget.add(widget)
	    parent_widget.show_all()	    
Ejemplo n.º 4
0
    def open_rec(self, node, parent_widget):
        #if it's a grouping element
        if node.nodeName == 'hsplit' or node.nodeName == 'vsplit':
            if node.nodeName == 'vsplit':
                box = gtk.HBox(True)
            if node.nodeName == 'hsplit':
                box = gtk.VBox(True)
            frame1 = gtk.Frame()
            frame1.set_shadow_type(gtk.SHADOW_NONE)
            box.pack_start(frame1)
            frame2 = gtk.Frame()
            frame2.set_shadow_type(gtk.SHADOW_NONE)
            box.pack_start(frame2)
            #add the new box to the parent of placeholder
            parent_widget.add(box)
            #and removet he place holder
            parent_widget.show_all()
            #recure left
            self.open_rec(node.childNodes[0], frame1)
            #recure right
            self.open_rec(node.childNodes[1], frame2)
        #otherwise it's a widget, but don't use an else because anything else could be in here.
        if node.nodeName == 'widget':
            name = node.getElementsByTagName('name')[0].firstChild.data
            if name == 'GtkButton':
                button1 = gtk.Button()
                button1.connect('button_press_event', self.popup_cb)
                button1.set_relief(gtk.RELIEF_HALF)
                parent_widget.add(button1)
                parent_widget.show_all()
                return
            elif name == 'PhatHFanSlider':
                widget = phat.phat_hfan_slider_new_with_range(
                    float(
                        node.getElementsByTagName('value')[0].firstChild.data),
                    float(node.getElementsByTagName('min')[0].firstChild.data),
                    float(node.getElementsByTagName('max')[0].firstChild.data),
                    0.1)
                widget.port = [0]
                widget.osc_path = [0]
                widget.split_path = [0]
                widget.sub_index = [0]
                self.split_path(
                    widget,
                    node.getElementsByTagName('osc_path')[0].firstChild.data,
                    0)
                widget.port[0] = int(
                    node.getElementsByTagName('port')[0].firstChild.data)
                widget.label = gtk.Label(
                    node.getElementsByTagName('label')[0].firstChild.data)
                parent_widget.set_label_widget(widget.label)
                widget.set_log(
                    interpret_bool(
                        node.getElementsByTagName('is_log')
                        [0].firstChild.data))
                widget.set_value(
                    float(
                        node.getElementsByTagName('value')[0].firstChild.data))
            elif name == 'PhatSliderButton':
                widget = phat.phat_slider_button_new_with_range(
                    float(
                        node.getElementsByTagName('value')[0].firstChild.data),
                    float(node.getElementsByTagName('min')[0].firstChild.data),
                    float(node.getElementsByTagName('max')[0].firstChild.data),
                    0.1, 2)
                widget.port = [0]
                widget.osc_path = [0]
                widget.split_path = [0]
                widget.sub_index = [0]
                self.split_path(
                    widget,
                    node.getElementsByTagName('osc_path')[0].firstChild.data,
                    0)
                widget.port[0] = int(
                    node.getElementsByTagName('port')[0].firstChild.data)
                widget.label = gtk.Label(
                    node.getElementsByTagName('label')[0].firstChild.data)
                parent_widget.set_label_widget(widget.label)
                widget.set_value(
                    float(
                        node.getElementsByTagName('value')[0].firstChild.data))
            elif name == 'PhatKnob':
                widget = phat.phat_knob_new_with_range(
                    float(
                        node.getElementsByTagName('value')[0].firstChild.data),
                    float(node.getElementsByTagName('min')[0].firstChild.data),
                    float(node.getElementsByTagName('max')[0].firstChild.data),
                    0.1)
                widget.port = [0]
                widget.osc_path = [0]
                widget.split_path = [0]
                widget.sub_index = [0]
                self.split_path(
                    widget,
                    node.getElementsByTagName('osc_path')[0].firstChild.data,
                    0)
                widget.port[0] = int(
                    node.getElementsByTagName('port')[0].firstChild.data)
                widget.label = gtk.Label(
                    node.getElementsByTagName('label')[0].firstChild.data)
                widget.set_log(
                    interpret_bool(
                        node.getElementsByTagName('is_log')
                        [0].firstChild.data))
                parent_widget.set_label_widget(widget.label)
                widget.set_value(
                    float(
                        node.getElementsByTagName('value')[0].firstChild.data))
            elif name == 'PhatPad':
                widget = phat.Pad()
                widget.port = range(5)
                widget.osc_path = range(5)
                widget.split_path = range(5)
                widget.sub_index = range(5)
                widget.label = gtk.Label(
                    node.getElementsByTagName('label')[0].firstChild.data)
                parent_widget.set_label_widget(widget.label)
                radio_setters = [
                    widget.set_x_log, widget.set_y_log, widget.set_xtilt_log,
                    widget.set_ytilt_log, widget.set_pressure_log
                ]
                adjusts = [
                    widget.get_x(),
                    widget.get_y(),
                    widget.get_xtilt(),
                    widget.get_ytilt(),
                    widget.get_pressure()
                ]

                i = 0
                for child in node.getElementsByTagName('osc_path'):
                    if (child.firstChild != None):
                        self.split_path(widget, child.firstChild.data, i)
                        #print 'in osc path',  child.firstChild.data
                    else:
                        self.split_path(widget, '', i)
                    i += 1
                i = 0
                for child in node.getElementsByTagName('port'):
                    if (child.firstChild != None):
                        widget.port[i] = int(child.firstChild.data)
                        #print 'in port',  child.firstChild.data
                    else:
                        widget.port[i] = 0
                    i += 1
                i = 0
                for child in node.getElementsByTagName('is_log'):
                    if (child.firstChild != None):
                        apply(radio_setters[i],
                              [interpret_bool(child.firstChild.data)])
                    i += 1
                i = 0
                for child in node.getElementsByTagName('min'):
                    if (child.firstChild != None):
                        setattr(adjusts[i], 'lower',
                                float(child.firstChild.data))
                    i += 1
                i = 0
                for child in node.getElementsByTagName('max'):
                    if (child.firstChild != None):
                        setattr(adjusts[i], 'upper',
                                float(child.firstChild.data))
                    i += 1

            widget.connect('value-changed', self.osc_send_cb)
            widget.connect('button_press_event', self.edit_popup_cb)
            parent_widget.add(widget)
            parent_widget.show_all()