def __init__(self, **kwargs):
        super(ScaledFader, self).__init__(**kwargs)

        self.register_signal('obj_value_changed')
        self.parameter = kwargs.get('parameter')

        uilog = False
        if self.parameter.units == 'dB':
            uilog = True
        self.ui_scale = {
            'min': self.parameter.scaled_min,
            'max': self.parameter.scaled_max,
            'LOG': uilog
        }
        self.param_scale = {
            'min': self.parameter.value_min,
            'max': self.parameter.value_max
        }

        self.scaler = Scaler(scales={
            'ui': self.ui_scale,
            'param': self.param_scale
        })

        self.fader_drag = False
        if self.parameter.value is not None:
            self.scaler.set_value('param', self.parameter.value)
        self.widget_signals = []
        self.setup_widgets(**kwargs)
        self.parameter.connect('value_update', self.on_parameter_value_update)
        self.scaler.connect('value_update', self.on_scaler_value_update)
Exemple #2
0
class ScaledFader(BaseObject):
    def __init__(self, **kwargs):
        super(ScaledFader, self).__init__(**kwargs)
        
        self.register_signal('obj_value_changed')
        self.parameter = kwargs.get('parameter')
        
        uilog = False
        if self.parameter.units == 'dB':
            uilog = True
        self.ui_scale = {'min':self.parameter.scaled_min, 'max':self.parameter.scaled_max, 'LOG':uilog}
        self.param_scale = {'min':self.parameter.value_min, 'max':self.parameter.value_max}
        
        self.scaler = Scaler(scales={'ui':self.ui_scale, 'param':self.param_scale})
        
        self.fader_drag = False
        if self.parameter.value is not None:
            self.scaler.set_value('param', self.parameter.value)
        self.widget_signals = []
        self.setup_widgets(**kwargs)
        self.parameter.connect('value_update', self.on_parameter_value_update)
        self.scaler.connect('value_update', self.on_scaler_value_update)
    
    def setup_widgets(self, **kwargs):
        pass
        
    def unlink(self):
        self.parameter.disconnect(callback=self.on_parameter_value_update)
        for id in self.widget_signals:
            self.widget.disconnect(id)
            
    def on_widget_button_press(self, *args):
        self.fader_drag = True
    def on_widget_button_release(self, *args):
        self.fader_drag = False
    
    def on_widget_change_value(self, range, scroll, value):
        pass
    
    def on_parameter_value_update(self, **kwargs):
        param = kwargs.get('parameter')
        value = kwargs.get('value')
        if param == self.parameter and self.fader_drag is False:
            #print 'fader:', kwargs
            #self.adj.set_value(value)
            self.scaler.set_value('param', value)
        
    def set_widget_value(self, value):
        pass
        
    def on_scaler_value_update(self, **kwargs):
        name = kwargs.get('name')
        value = kwargs.get('value')
        if name == 'ui':
            self.set_widget_value(value)
        elif name == 'param':
            if int(value) != self.parameter.value:
                self.parameter.set_value(int(value))
                self.emit('obj_value_changed', parameter=self.parameter, obj=self)#, adj=self.adj)
Exemple #3
0
 def __init__(self, **kwargs):
     super(ScaledFader, self).__init__(**kwargs)
     
     self.register_signal('obj_value_changed')
     self.parameter = kwargs.get('parameter')
     
     uilog = False
     if self.parameter.units == 'dB':
         uilog = True
     self.ui_scale = {'min':self.parameter.scaled_min, 'max':self.parameter.scaled_max, 'LOG':uilog}
     self.param_scale = {'min':self.parameter.value_min, 'max':self.parameter.value_max}
     
     self.scaler = Scaler(scales={'ui':self.ui_scale, 'param':self.param_scale})
     
     self.fader_drag = False
     if self.parameter.value is not None:
         self.scaler.set_value('param', self.parameter.value)
     self.widget_signals = []
     self.setup_widgets(**kwargs)
     self.parameter.connect('value_update', self.on_parameter_value_update)
     self.scaler.connect('value_update', self.on_scaler_value_update)
class ScaledFader(BaseObject):
    def __init__(self, **kwargs):
        super(ScaledFader, self).__init__(**kwargs)

        self.register_signal('obj_value_changed')
        self.parameter = kwargs.get('parameter')

        uilog = False
        if self.parameter.units == 'dB':
            uilog = True
        self.ui_scale = {
            'min': self.parameter.scaled_min,
            'max': self.parameter.scaled_max,
            'LOG': uilog
        }
        self.param_scale = {
            'min': self.parameter.value_min,
            'max': self.parameter.value_max
        }

        self.scaler = Scaler(scales={
            'ui': self.ui_scale,
            'param': self.param_scale
        })

        self.fader_drag = False
        if self.parameter.value is not None:
            self.scaler.set_value('param', self.parameter.value)
        self.widget_signals = []
        self.setup_widgets(**kwargs)
        self.parameter.connect('value_update', self.on_parameter_value_update)
        self.scaler.connect('value_update', self.on_scaler_value_update)

    def setup_widgets(self, **kwargs):
        pass

    def unlink(self):
        self.parameter.disconnect(callback=self.on_parameter_value_update)
        for id in self.widget_signals:
            self.widget.disconnect(id)

    def on_widget_button_press(self, *args):
        self.fader_drag = True

    def on_widget_button_release(self, *args):
        self.fader_drag = False

    def on_widget_change_value(self, range, scroll, value):
        pass

    def on_parameter_value_update(self, **kwargs):
        param = kwargs.get('parameter')
        value = kwargs.get('value')
        if param == self.parameter and self.fader_drag is False:
            #print 'fader:', kwargs
            #self.adj.set_value(value)
            self.scaler.set_value('param', value)

    def set_widget_value(self, value):
        pass

    def on_scaler_value_update(self, **kwargs):
        name = kwargs.get('name')
        value = kwargs.get('value')
        if name == 'ui':
            self.set_widget_value(value)
        elif name == 'param':
            if int(value) != self.parameter.value:
                self.parameter.set_value(int(value))
                self.emit('obj_value_changed',
                          parameter=self.parameter,
                          obj=self)  #, adj=self.adj)