Echter Discord-Zeit-/Bild-Fix, Cache-Reset nach Update, Windows-Startmenue-Icon
Anhand der neuen Debug-Logs (siehe vorheriger Commit) konnte der Bug endlich anhand echter Daten diagnostiziert werden: video.currentTime/video.duration sind bei YouTube Music beim Songwechsel NICHT verlaesslich - wegen nahtloser (gapless) Wiedergabe laeuft darunter ein durchgehender Buffer, dessen currentTime/duration nicht pro Titel zurueckgesetzt wird. Log-Beweis: beim Wechsel zu einem neuen Titel wurde die verbleibende Spielzeit des VORHERIGEN Titels als Start-Offset des neuen uebernommen, und die Dauer wuchs bei jedem Poll weiter statt konstant zu bleiben. - media_probe.py: liest Fortschritt/Gesamtlaenge jetzt aus der sichtbar angezeigten Fortschrittsanzeige (ARIA-Attribute des YT-Music-Sliders in Sekunden, sonst Zeit-Text im Player; bei YouTube .ytp-time-current/.ytp-time-duration) statt aus den unzuverlaessigen <video>-Eigenschaften - diese Anzeige MUSS pro Titel stimmen, weil der Nutzer sie selbst so sieht. - config.py/main.py: Cache (webprofile/cache) wird automatisch geleert, wenn seit dem letzten Start ein Update installiert wurde - Login (webprofile/storage) bleibt unangetastet. - shortcuts.py/main.py: legt beim ersten Start der gepackten .exe automatisch eine Windows-Startmenue-Verknuepfung an (Playtube wird als portables ZIP ohne Installer ausgeliefert, haette sonst nie einen Startmenue-Eintrag). Co-Authored-By: Claude Sonnet 5 <[email protected]>
This commit is contained in:
@@ -10,8 +10,9 @@ from pathlib import Path
|
||||
|
||||
# Branding-Schritte MUESSEN vor dem Import von QtWebEngine passieren.
|
||||
sys.path.insert(0, str(Path(__file__).resolve().parent))
|
||||
from playtube import app_id # noqa: E402
|
||||
from playtube.config import APP_NAME, load_config # noqa: E402
|
||||
from playtube import __version__, app_id # noqa: E402
|
||||
from playtube.config import APP_NAME, clear_cache_on_update, load_config # noqa: E402
|
||||
from playtube.shortcuts import ensure_start_menu_shortcut # noqa: E402
|
||||
|
||||
app_id.set_app_user_model_id()
|
||||
app_id.configure_webengine_process_path()
|
||||
@@ -45,6 +46,12 @@ def main() -> int:
|
||||
app.setWindowIcon(QIcon(str(icon_path)))
|
||||
|
||||
config = load_config()
|
||||
# Cache leeren, wenn seit dem letzten Start ein Update installiert wurde (Login
|
||||
# bleibt erhalten, siehe clear_cache_on_update); Startmenue-Verknuepfung fehlt sonst
|
||||
# komplett, da Playtube als portables ZIP ohne Installer ausgeliefert wird.
|
||||
clear_cache_on_update(__version__)
|
||||
ensure_start_menu_shortcut(APP_NAME)
|
||||
|
||||
window = MainWindow(config)
|
||||
window.show()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user