Ejemplo n.º 1
0
 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)
Ejemplo n.º 2
0
    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()
Ejemplo n.º 3
0
 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)
Ejemplo n.º 4
0
 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)
Ejemplo n.º 5
0
 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)