2023-08-03 15:31:07 +00:00
|
|
|
import subprocess
|
|
|
|
import os
|
|
|
|
import json
|
|
|
|
import threading
|
2023-08-03 15:58:17 +00:00
|
|
|
import time
|
2023-08-03 15:31:07 +00:00
|
|
|
from src.mpv_control import player
|
|
|
|
from loguru import logger
|
|
|
|
'''Warning! This module can be very battery drain'''
|
|
|
|
|
|
|
|
|
|
|
|
@logger.catch
|
|
|
|
def handle_vol_lvl_as_switch_track():
|
|
|
|
volume_diff = []
|
|
|
|
while True:
|
2023-08-03 18:11:55 +00:00
|
|
|
for a in range(2): # ~2 secs
|
|
|
|
volume = subprocess.Popen("termux-volume", stdout=subprocess.PIPE).stdout
|
|
|
|
json_volume = json.loads(volume.read())
|
|
|
|
time.sleep(0.300)
|
|
|
|
for i in json_volume:
|
|
|
|
if i['stream'] == 'music':
|
|
|
|
volume_diff.append(i['volume'])
|
2023-08-03 15:31:07 +00:00
|
|
|
if len(volume_diff) == 2:
|
|
|
|
before, after = volume_diff
|
|
|
|
difference = after - before
|
|
|
|
if difference == 2:
|
|
|
|
try:
|
|
|
|
player.playlist_next()
|
|
|
|
except:
|
|
|
|
pass
|
|
|
|
os.system(f'termux-volume music {before}')
|
2023-08-03 18:11:55 +00:00
|
|
|
elif difference == -2:
|
|
|
|
try:
|
|
|
|
player.playlist_prev()
|
|
|
|
except:
|
|
|
|
pass
|
|
|
|
os.system(f'termux-volume music {before}')
|
2023-08-03 15:31:07 +00:00
|
|
|
volume_diff = []
|
|
|
|
|
|
|
|
|
|
|
|
handle_vol_lvl = threading.Thread(
|
|
|
|
target=handle_vol_lvl_as_switch_track, daemon=True)
|
|
|
|
handle_vol_lvl.start()
|