def cmd_decrease_volume(self, value=2): volume_level = int(value * self.default_sink['base_volume'] / 100) if not volume_level and max(self.default_sink['values']) == 0: # can't be lower than zero return volume = ffi.new('pa_cvolume *', { 'channels': self.default_sink['channels'], 'values': self.default_sink['values'], }) lib.pa_cvolume_dec(volume, volume_level) self.change_volume(volume)
def __init__(self, **config): Volume.__init__(self, **config) self.add_defaults(PulseVolume.defaults) self.connected = None self._subscribed = False self.default_sink_name = None self.default_sink = None self.handle = ffi.new_handle(self) self.client_name = ffi.new('char[]', b'Qtile-pulse') self.connect()
def cmd_increase_volume(self, value=2): base = self.default_sink['base_volume'] volume = ffi.new('pa_cvolume *', { 'channels': self.default_sink['channels'], 'values': self.default_sink['values'], }) lib.pa_cvolume_inc( volume, int(value * base / 100), ) # check that we dont go over 100% in case its set in config if self.limit_max_volume: volume.values = [(i if i <= base else base) for i in volume.values] self.change_volume(volume)
def cmd_decrease_vol(self, value=None): if value is None: value = self.step volume_level = int(value * self.default_sink["base_volume"] / 100) if not volume_level and max(self.default_sink["values"]) == 0: # can't be lower than zero return volume = ffi.new( "pa_cvolume *", { "channels": self.default_sink["channels"], "values": self.default_sink["values"], }, ) lib.pa_cvolume_dec(volume, volume_level) self.change_volume(volume)
def cmd_increase_vol(self, value=None): if value is None: value = self.step base = self.default_sink["base_volume"] volume = ffi.new( "pa_cvolume *", { "channels": self.default_sink["channels"], "values": self.default_sink["values"], }, ) lib.pa_cvolume_inc( volume, int(value * base / 100), ) # check that we dont go over 100% in case its set in config if self.limit_max_volume: volume.values = [(i if i <= base else base) for i in volume.values] self.change_volume(volume)