Changeset f39d91d10209bd8db7b241fe3bb693fba162e99d
- Timestamp:
- 06/06/09 20:04:56 (3 years ago)
- Children:
- 4a9e3e0e1071493950e5583f5f14bf136388ea28
- Parents:
- 4e1bb7c46ce848faf660a90d7510ab5f8ca7b365
- git-committer:
- Nedko Arnaudov <nedko@arnaudov.name> / 2009-06-06T20:04:56Z+0300
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
ui
r4e1bb7c rf39d91d 625 625 return False 626 626 627 class filter_band: 628 pass 629 627 630 class frequency_response(gtk.DrawingArea): 628 631 def __init__(self): … … 641 644 self.db_range = 30 642 645 643 self. points = []646 self.filters = {} 644 647 645 648 def on_expose(self, widget, event): … … 698 701 699 702 cairo_ctx.stroke() 703 704 def invalidate_all(self): 705 self.queue_draw_area(0, 0, int(self.width), int(self.height)) 700 706 701 707 def draw(self, cairo_ctx): … … 740 746 self.draw_db_grid(cairo_ctx, -db) 741 747 748 cairo_ctx.set_source_color(self.color_value) 749 for label, filter in self.filters.items(): 750 if not filter.enabled: 751 continue 752 753 x = self.get_x(filter.adj_hz.value) 754 y = self.get_y(filter.adj_db.value) 755 cairo_ctx.move_to(x, y) 756 cairo_ctx.show_text(label) 757 cairo_ctx.stroke() 758 759 def add_filter(self, label, adj_hz, adj_db, adj_bw): 760 #print "filter %s added (%.2f Hz, %.2f dB, %.2f bw)" % (label, adj_hz.value, adj_db.value, adj_bw.value) 761 filter = filter_band() 762 filter.enabled = False 763 filter.label = label 764 filter.adj_hz = adj_hz 765 filter.adj_db = adj_db 766 filter.adj_bw = adj_bw 767 adj_hz.connect("value-changed", self.on_value_change_request) 768 adj_db.connect("value-changed", self.on_value_change_request) 769 adj_bw.connect("value-changed", self.on_value_change_request) 770 self.filters[label] = filter 771 772 def enable_filter(self, label): 773 filter = self.filters[label] 774 #print "filter %s enabled (%.2f Hz, %.2f dB, %.2f bw)" % (label, filter.adj_hz.value, filter.adj_db.value, filter.adj_bw.value) 775 filter.enabled = True 776 self.invalidate_all() 777 778 def disable_filter(self, label): 779 filter = self.filters[label] 780 #print "filter %s disabled (%.2f Hz, %.2f dB, %.2f bw)" % (label, filter.adj_hz.value, filter.adj_db.value, filter.adj_bw.value) 781 filter.enabled = False 782 self.invalidate_all() 783 784 def on_value_change_request(self, adj): 785 #print "adj changed" 786 self.invalidate_all() 787 742 788 class dssi_ui: 743 789 def __init__(self, argv): … … 904 950 elif port['type'] == 'toggle': 905 951 self.add_param_box(band_box, self.create_toggle_box(port)) 952 953 self.fr.add_filter( 954 str(i + 1), 955 self.ports[port_index - 3]['adj'], # frequency 956 self.ports[port_index - 1]['adj'], # gain 957 self.ports[port_index - 2]['adj']) # bandwidth 906 958 907 959 band_frame.add(band_box) … … 976 1028 def on_button_toggled(self, widget): 977 1029 if self.initator: 1030 port_index = widget.port['index'] 1031 band_no = (port_index - 2) / 4 + 1 978 1032 if widget.get_active(): 979 1033 value = 1.0 1034 if band_no > 0: 1035 self.fr.enable_filter(str(band_no)) 980 1036 else: 981 1037 value = 0.0 982 self.send_port_value(widget.port['index'] + self.port_base, value) 1038 if band_no > 0: 1039 self.fr.disable_filter(str(band_no)) 1040 self.send_port_value(port_index + self.port_base, value) 983 1041 984 1042 def run(self):
