Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 23 additions & 2 deletions actions/Dial.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import globals as gl
from loguru import logger as log
from fuzzywuzzy import fuzz
import math

import os

Expand All @@ -27,12 +28,13 @@ def on_tick(self):

inputs = self.plugin_base.pulse.sink_input_list()
if index < len(inputs):
self.set_label(text=inputs[index].name, position="center", font_size=16)
self.update_labels()
else:
self.clear()

def clear(self):
self.set_media(image=None)
self.set_top_label(None)
self.set_center_label(None)

def event_callback(self, event, data):
Expand All @@ -59,8 +61,27 @@ def event_callback(self, event, data):

self.plugin_base.pulse.volume_set_all_chans(obj=inputs[index], vol=max(0, volume))

self.update_labels()

def get_index(self) -> int:
start_index = self.plugin_base.start_index
own_index = int(self.input_ident.json_identifier)
index = start_index + own_index
return index
return index

def update_labels(self):
inputs = self.plugin_base.pulse.sink_input_list()
index = self.get_index()

if inputs[index].mute == 0:
# Display volume % if input is not muted
volumeLabel = str(math.ceil(inputs[index].volume.value_flat*100)) + "%"
labelColor = [255, 255, 255]
else:
# Display "muted" text if input is muted
volumeLabel = "- " + self.plugin_base.lm.get("input.muted").upper() + " -"
labelColor = [255, 0, 0]

self.set_top_label(text=volumeLabel, color=labelColor, font_size=16)
self.set_center_label(text=inputs[index].name, font_size=18)

5 changes: 3 additions & 2 deletions locales/de_DE.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,6 @@
"actions.move-left.name": "Nach links bewegen",
"plugin.name": "Lautstärkemixer",
"actions.hotkey.recorder.confirm-text": "Bestätigen",
"actions.hotkey.recorder.clear-text": "Zurücksetzen"
}
"actions.hotkey.recorder.clear-text": "Zurücksetzen",
"input.muted": "Stumm"
}
5 changes: 3 additions & 2 deletions locales/en_US.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,6 @@
"actions.move-left.name": "Move Left",
"plugin.name": "Volume Mixer",
"actions.hotkey.recorder.confirm-text": "Confirm",
"actions.hotkey.recorder.clear-text": "Clear"
}
"actions.hotkey.recorder.clear-text": "Clear",
"input.muted": "Muted"
}
4 changes: 2 additions & 2 deletions main.py
Original file line number Diff line number Diff line change
Expand Up @@ -172,5 +172,5 @@ def init_vars(self):
self.original_page_path = None
self.start_index = 0
self.pulse = pulsectl.Pulse("stream-controller", threading_lock=True)
self.volume_increment = 0.1
self.volume_actions: list[ActionBase] = []
self.volume_increment = 0.05
self.volume_actions: list[ActionBase] = []