you can now play and pause songs

This commit is contained in:
0x01FE committed 2025-01-24 09:23:52 -06:00
1 parent f8815964b5
commit 2fe525d0d6
5 files changed
+1817 -311

No files matched your search

+17
View File
@@ -305,6 +305,23 @@ class SubpyConn:
return playlists
def getPlaylist(self, playlist_id: str) -> list[Song]:
url = self.base_url + "/rest/getPlaylist?"
payload = self._getBasePayload()
payload['f'] = 'json'
payload['id'] = playlist_id
r = requests.get(url + self._encodePayload(payload))
json_r = r.json()
songs: list[Song] = []
for song in json_r['subsonic-response']['playlist']['entry']:
songs.append(Song(song))
return songs
def getStarred(self) -> list[Album | Song | Artist]:
url = self.base_url + "/rest/getStarred?"
+4 -1
View File
@@ -97,7 +97,10 @@ class SubPyPlayer:
# for playlist in conn.getPlaylists():
# print(playlist.name, playlist.duration)
for song in conn.getStarredSongs():
# for song in conn.getStarredSongs():
# print(song.title)
for song in conn.getPlaylist('9d76a86b-901f-4727-a2ec-01210157ff01'):
print(song.title)
# player.play_song(echidna_id)
File diff suppressed because it is too large. Load diff
+96 -4
View File
@@ -1,7 +1,6 @@
import logging
import os
from enum import Enum
import io
LOG_FILE = 'textual.log'
LOGGING_LEVEL = logging.DEBUG
@@ -14,10 +13,12 @@ logging.basicConfig(filename=LOG_FILE, level=LOGGING_LEVEL, format=LOG_FORMAT)
import SubSonic
os.environ['PYGAME_HIDE_SUPPORT_PROMPT'] = "hide"
import pygame
from textual import on, events
from textual.app import App, ComposeResult
from textual.widgets import Footer, Header, OptionList, DataTable, Tabs, Tab, TabbedContent, TabPane, ProgressBar, Label
from textual.widgets import Footer, Header, OptionList, DataTable, ProgressBar, Label
from textual.screen import Screen
from textual.widgets.option_list import Option
@@ -26,6 +27,8 @@ p = 'telegram9dock-MICHEL'
conn = SubSonic.SubpyConn(u, p, "https://music.0x01fe.net")
pygame.mixer.init()
class AlbumSongs(Screen):
BINDINGS = [
('escape', 'die()', "Back"),
@@ -161,6 +164,7 @@ class Playlists(Screen):
]
playlists: list[SubSonic.Playlist] | None = None
selected_playlist_id: str = None
def compose(self) -> ComposeResult:
yield Header(icon="")
@@ -178,6 +182,71 @@ class Playlists(Screen):
for playlist in self.playlists:
playlistTable.add_row(playlist.name, playlist.songCount, playlist.duration, playlist.owner, key=playlist.id)
@on(DataTable.RowHighlighted)
def row_highlighted(self, event: DataTable.RowHighlighted) -> None:
self.selected_playlist_id = event.row_key.value
@on(DataTable.RowSelected)
def playlist_selected(self, event: DataTable.RowSelected) -> None:
app.install_screen(PlaylistSongs(self._find_selected_playlist()), "playlistSongs")
app.push_screen('playlistSongs')
def _find_selected_playlist(self) -> SubSonic.Playlist:
for playlist in self.playlists:
if playlist.id == self.selected_playlist_id:
return playlist
class PlaylistSongs(Screen):
BINDINGS = [
('escape', 'die()', "Back"),
('p', 'play()', 'Play Song'),
('q' 'queue()', 'Queue Song')
]
selected_song_id: str | None = None
def __init__(self, playlist: SubSonic.Playlist):
self.playlist = playlist
self.songs = conn.getPlaylist(playlist.id)
super().__init__()
def compose(self) -> ComposeResult:
self.sub_title = self.playlist.name
yield Header(icon="")
yield DataTable()
yield Footer()
def on_mount(self) -> None:
songTable: DataTable = self.query_one(DataTable)
songTable.cursor_type = "row"
songTable.add_columns("Title", "Album", "Artist", "Plays", "Duration", "Bitrate")
for song in self.songs:
songTable.add_row(song.title, song.album, song.artist, song.playCount, song.duration, song.bitRate, key=song.id)
# Pops and uninstalls self
def action_die(self) -> None:
app.pop_screen()
app.uninstall_screen("playlistSongs")
@on(DataTable.RowHighlighted)
def row_highlighted(self, event: DataTable.RowHighlighted) -> None:
self.selected_song_id = event.row_key.value
def action_play(self) -> None:
app.play_song(self._find_selected_song())
def action_queue(self) -> None:
app.queue_song(self._find_selected_song())
# Find the song that was selected
def _find_selected_song(self) -> SubSonic.Song:
for song in self.songs:
if song.id == self.selected_song_id:
return song
class Favourites(Screen):
BINDINGS = [
('escape', 'app.pop_screen', "Back")
@@ -203,6 +272,7 @@ class Favourites(Screen):
class TextualSubpyPlayer(App):
BINDINGS = [
("space", "play_pause_song()", "⏯️"),
("f1", "push_screen('artists')", "Artists"),
("f2", "push_screen('albums')", "Albums"),
("f3", "push_screen('favourites')", "Favourites"),
@@ -211,6 +281,8 @@ class TextualSubpyPlayer(App):
currently_playing: SubSonic.Song | None = None
song_queue: list[SubSonic.Song] = []
playing: bool = False
place: int = 0
def compose(self) -> ComposeResult:
yield Label()
@@ -226,12 +298,20 @@ class TextualSubpyPlayer(App):
self.install_screen(Playlists(), name="playlists")
def on_key(self, event: events.Key) -> None:
logging.debug(f'Key Pressed {event.name}')
# logging.debug(f'Key Pressed {event.name}')
pass
def play_song(self, song: SubSonic.Song) -> None:
self.currently_playing = song
self.playing = True
logging.debug(f"Playing song {song.title} by {song.artist}.")
r = conn.stream(song.id)
audio_data = io.BytesIO(r.content)
pygame.mixer.music.load(audio_data)
pygame.mixer.music.play()
# Set callback loop for progress bar
# self.progress_timer = self.set_interval(1 / 10, self.update_progress, pause=False)
@@ -242,6 +322,18 @@ class TextualSubpyPlayer(App):
logging.debug(f'Queue\'d song "{song.title}" by {song.artist}.')
self.song_queue.append(song)
def action_play_pause_song(self) -> None:
self.play_pause_song()
def play_pause_song(self) -> None:
if self.playing:
self.place = pygame.mixer.music.get_pos()
pygame.mixer.music.pause()
self.playing = False
else:
pygame.mixer.music.play(start=self.place)
self.playing = True
if __name__ == '__main__':
app = TextualSubpyPlayer()
app.run()
+9 -306
View File
@@ -1,306 +1,9 @@
[2025-01-23 16:30:12,660] DEBUG in proactor_events: Using proactor: IocpProactor
[2025-01-23 16:30:12,688] DEBUG in screens-test: mount called
[2025-01-23 16:30:13,222] DEBUG in screens-test: Key Pressed f3
[2025-01-23 16:30:13,249] DEBUG in connectionpool: Starting new HTTPS connection (1): music.0x01fe.net:443
[2025-01-23 16:30:13,561] DEBUG in connectionpool: https://music.0x01fe.net:443 "GET /rest/getStarred?u=pseudo&t=9b4d304e86861c6941ca94888cc7663f&s=KKZ4XKZK&v=1.16.1&c=testing&f=json HTTP/1.1" 200 None
[2025-01-23 16:30:14,577] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:15,070] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:15,100] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:15,130] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:15,163] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:15,193] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:15,242] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:15,272] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:15,308] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:15,339] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:15,370] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:15,400] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:15,432] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:15,464] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:15,499] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:15,529] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:15,561] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:15,592] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:15,627] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:15,658] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:15,703] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:15,739] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:15,769] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:15,800] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:15,838] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:15,863] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:15,894] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:15,928] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:15,959] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:15,990] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:16,024] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:16,054] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:16,109] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:16,118] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:16,164] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:16,199] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:16,231] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:16,261] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:16,293] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:16,330] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:16,359] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:16,391] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:16,424] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:16,452] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:16,491] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:16,518] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:16,552] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:16,580] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:16,630] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:16,659] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:16,693] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:16,721] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:16,752] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:16,786] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:16,817] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:16,849] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:16,879] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:16,911] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:16,960] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:16,990] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:17,020] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:17,052] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:17,089] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:17,115] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:17,149] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:17,180] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:17,210] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:17,249] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:17,299] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:17,305] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:17,358] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:17,386] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:17,418] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:17,459] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:17,482] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:17,516] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:17,544] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:17,609] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:17,630] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:17,640] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:17,673] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:17,704] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:17,736] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:17,769] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:17,800] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:17,859] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:17,899] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:17,938] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:17,969] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:18,000] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:18,009] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:18,040] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:18,070] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:18,102] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:18,169] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:18,170] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:18,211] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:18,249] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:18,279] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:18,319] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:18,349] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:18,385] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:18,449] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:18,449] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:18,489] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:18,519] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:18,551] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:18,589] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:18,618] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:18,649] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:18,720] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:18,720] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:18,754] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:18,783] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:18,814] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:18,854] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:18,880] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:18,924] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:18,949] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:18,957] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:19,019] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:19,051] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:19,083] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:19,119] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:19,150] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:19,179] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:19,210] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:19,284] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:19,289] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:19,289] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:19,322] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:19,352] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:19,389] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:19,433] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:19,468] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:19,499] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:19,571] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:19,574] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:19,600] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:19,629] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:19,669] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:19,700] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:19,738] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:19,764] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:19,799] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:19,870] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:19,870] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:19,899] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:19,929] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:19,960] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:20,002] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:20,033] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:20,069] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:20,099] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:20,173] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:20,173] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:20,210] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:20,249] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:20,258] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:20,289] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:20,323] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:20,360] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:20,420] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:20,420] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:20,499] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:20,499] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:20,549] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:20,551] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:20,589] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:20,636] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:20,679] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:20,685] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:20,730] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:20,779] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:20,779] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:20,872] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:20,876] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:20,909] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:20,909] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:20,971] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:20,971] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:21,017] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:21,057] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:21,088] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:21,119] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:21,189] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:21,189] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:21,206] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:21,240] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:21,290] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:21,334] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:21,336] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:21,799] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:22,304] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:22,340] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:22,371] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:22,400] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:22,449] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:22,481] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:22,509] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:22,541] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:22,574] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:22,605] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:22,639] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:22,670] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:22,702] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:22,736] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:22,765] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:22,799] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:22,829] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:22,860] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:22,909] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:22,941] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:22,976] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:23,004] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:23,042] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:23,070] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:23,103] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:23,132] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:23,163] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:23,195] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:23,462] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:23,972] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:24,004] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:24,039] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:24,070] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:24,100] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:24,132] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:24,169] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:24,199] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:24,231] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:24,260] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:24,295] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:24,326] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:24,370] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:24,402] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:24,434] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:24,468] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:24,500] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:24,529] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:24,561] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:24,592] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:24,630] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:24,654] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:24,701] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:24,732] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:24,769] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:24,799] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:24,829] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:24,861] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:24,893] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:24,939] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:24,971] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:25,059] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:25,060] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:25,062] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:25,112] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:25,173] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:25,178] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:25,221] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:25,226] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:25,259] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:25,299] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:25,337] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:25,420] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:25,420] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:25,420] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:25,462] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:25,510] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:25,571] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:25,574] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:25,599] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:25,640] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:25,673] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:25,703] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:25,788] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:25,789] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:25,789] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:25,828] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:25,873] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:25,899] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:25,941] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:25,941] DEBUG in screens-test: Key Pressed down
[2025-01-23 16:30:26,190] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:26,699] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:26,740] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:26,773] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:26,801] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:26,833] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:26,869] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:26,899] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:26,930] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:26,964] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:26,992] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:27,029] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:27,060] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:27,093] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:27,122] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:27,164] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:27,188] DEBUG in screens-test: Key Pressed up
[2025-01-23 16:30:41,251] DEBUG in screens-test: Key Pressed escape
[2025-01-24 09:18:52,525] DEBUG in selector_events: Using selector: EpollSelector
[2025-01-24 09:18:52,547] DEBUG in screens-test: mount called
[2025-01-24 09:18:54,151] DEBUG in connectionpool: Starting new HTTPS connection (1): music.0x01fe.net:443
[2025-01-24 09:18:54,419] DEBUG in connectionpool: https://music.0x01fe.net:443 "GET /rest/getPlaylists?u=pseudo&t=c6b26171189c620b2009abc58bc771ea&s=063M4T63&v=1.16.1&c=testing&f=json HTTP/1.1" 200 705
[2025-01-24 09:18:55,614] DEBUG in connectionpool: Starting new HTTPS connection (1): music.0x01fe.net:443
[2025-01-24 09:18:55,905] DEBUG in connectionpool: https://music.0x01fe.net:443 "GET /rest/getPlaylist?u=pseudo&t=1f300cff0009c58d53cd9787b0a62863&s=QOUYC15M&v=1.16.1&c=testing&f=json&id=e6e8ff27-2a60-4e33-8aa1-09586191166a HTTP/1.1" 200 None
[2025-01-24 09:18:58,356] DEBUG in screens-test: Playing song Extinction by King Gizzard & The Lizard Wizard.
[2025-01-24 09:18:58,358] DEBUG in connectionpool: Starting new HTTPS connection (1): music.0x01fe.net:443
[2025-01-24 09:18:58,667] DEBUG in connectionpool: https://music.0x01fe.net:443 "GET /rest/stream?u=pseudo&t=4e02447422167ec59342fd7c4c42c866&s=Q7CW4DUF&v=1.16.1&c=testing&id=9d7ff682cdf372d99f1d6d8db29f4d41 HTTP/1.1" 200 11569918