mytunes-pro 2.0.7__tar.gz → 2.0.8__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {mytunes_pro-2.0.7/src/mytunes_pro.egg-info → mytunes_pro-2.0.8}/PKG-INFO +9 -4
- {mytunes_pro-2.0.7 → mytunes_pro-2.0.8}/README.md +8 -3
- {mytunes_pro-2.0.7 → mytunes_pro-2.0.8}/pyproject.toml +1 -1
- {mytunes_pro-2.0.7 → mytunes_pro-2.0.8}/src/mytunes/app.py +18 -1
- {mytunes_pro-2.0.7 → mytunes_pro-2.0.8/src/mytunes_pro.egg-info}/PKG-INFO +9 -4
- {mytunes_pro-2.0.7 → mytunes_pro-2.0.8}/LICENSE +0 -0
- {mytunes_pro-2.0.7 → mytunes_pro-2.0.8}/setup.cfg +0 -0
- {mytunes_pro-2.0.7 → mytunes_pro-2.0.8}/src/mytunes/__init__.py +0 -0
- {mytunes_pro-2.0.7 → mytunes_pro-2.0.8}/src/mytunes_pro.egg-info/SOURCES.txt +0 -0
- {mytunes_pro-2.0.7 → mytunes_pro-2.0.8}/src/mytunes_pro.egg-info/dependency_links.txt +0 -0
- {mytunes_pro-2.0.7 → mytunes_pro-2.0.8}/src/mytunes_pro.egg-info/entry_points.txt +0 -0
- {mytunes_pro-2.0.7 → mytunes_pro-2.0.8}/src/mytunes_pro.egg-info/requires.txt +0 -0
- {mytunes_pro-2.0.7 → mytunes_pro-2.0.8}/src/mytunes_pro.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mytunes-pro
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.8
|
|
4
4
|
Summary: A lightweight, keyboard-centric terminal player for streaming YouTube music.
|
|
5
5
|
Author-email: loxo <loxo5432@gmail.com>
|
|
6
6
|
Project-URL: Homepage, https://github.com/postgresql-co-kr/mytunes
|
|
@@ -18,9 +18,9 @@ Requires-Dist: yt-dlp
|
|
|
18
18
|
Requires-Dist: pusher
|
|
19
19
|
Dynamic: license-file
|
|
20
20
|
|
|
21
|
-
# 🎵 MyTunes Pro - Professional TUI Edition v2.0.
|
|
21
|
+
# 🎵 MyTunes Pro - Professional TUI Edition v2.0.8
|
|
22
22
|
|
|
23
|
-
## 🚀 Terminal-based Media Workflow Experiment v2.0.
|
|
23
|
+
## 🚀 Terminal-based Media Workflow Experiment v2.0.8
|
|
24
24
|
|
|
25
25
|
> [!IMPORTANT]
|
|
26
26
|
> **Legal Disclaimer:** This project is a personal, non-commercial research experiment for developer education.
|
|
@@ -216,7 +216,7 @@ Executes immediately without worrying about input language status.
|
|
|
216
216
|
|
|
217
217
|
# 🎵 MyTunes Pro (Experimental Media Tool - KR)
|
|
218
218
|
|
|
219
|
-
## 🚀 터미널 기반 미디어 워크플로우 실험 v2.0.
|
|
219
|
+
## 🚀 터미널 기반 미디어 워크플로우 실험 v2.0.8
|
|
220
220
|
|
|
221
221
|
> [!IMPORTANT]
|
|
222
222
|
> **법적 면책 고지:** 본 프로젝트는 개발자 교육 및 연구를 목적으로 하는 개인적, 비상업적 실험입니다.
|
|
@@ -390,6 +390,11 @@ Windows 환경에서 한글 검색이 안 되거나 설치가 어려운 분들
|
|
|
390
390
|
|
|
391
391
|
## 🔄 Changelog
|
|
392
392
|
|
|
393
|
+
### v2.0.8 (2026-02-02)
|
|
394
|
+
- **Windows/WSL Socket Recovery**: Fixed UI freezing when mpv socket disconnects during window switching.
|
|
395
|
+
- **IPC Resilience**: Added socket pre-check and failure counter to prevent blocking on broken connections.
|
|
396
|
+
- **Automatic Recovery**: New playback automatically restarts mpv if socket is unhealthy.
|
|
397
|
+
|
|
393
398
|
### v2.0.7 (2026-02-02)
|
|
394
399
|
- **Performance Optimization**: Improved keyboard responsiveness on Windows/WSL by implementing EQ detection caching.
|
|
395
400
|
- **Data Management**: Limited resume data to 500 entries with automatic FIFO cleanup to prevent JSON bloat.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# 🎵 MyTunes Pro - Professional TUI Edition v2.0.
|
|
1
|
+
# 🎵 MyTunes Pro - Professional TUI Edition v2.0.8
|
|
2
2
|
|
|
3
|
-
## 🚀 Terminal-based Media Workflow Experiment v2.0.
|
|
3
|
+
## 🚀 Terminal-based Media Workflow Experiment v2.0.8
|
|
4
4
|
|
|
5
5
|
> [!IMPORTANT]
|
|
6
6
|
> **Legal Disclaimer:** This project is a personal, non-commercial research experiment for developer education.
|
|
@@ -196,7 +196,7 @@ Executes immediately without worrying about input language status.
|
|
|
196
196
|
|
|
197
197
|
# 🎵 MyTunes Pro (Experimental Media Tool - KR)
|
|
198
198
|
|
|
199
|
-
## 🚀 터미널 기반 미디어 워크플로우 실험 v2.0.
|
|
199
|
+
## 🚀 터미널 기반 미디어 워크플로우 실험 v2.0.8
|
|
200
200
|
|
|
201
201
|
> [!IMPORTANT]
|
|
202
202
|
> **법적 면책 고지:** 본 프로젝트는 개발자 교육 및 연구를 목적으로 하는 개인적, 비상업적 실험입니다.
|
|
@@ -370,6 +370,11 @@ Windows 환경에서 한글 검색이 안 되거나 설치가 어려운 분들
|
|
|
370
370
|
|
|
371
371
|
## 🔄 Changelog
|
|
372
372
|
|
|
373
|
+
### v2.0.8 (2026-02-02)
|
|
374
|
+
- **Windows/WSL Socket Recovery**: Fixed UI freezing when mpv socket disconnects during window switching.
|
|
375
|
+
- **IPC Resilience**: Added socket pre-check and failure counter to prevent blocking on broken connections.
|
|
376
|
+
- **Automatic Recovery**: New playback automatically restarts mpv if socket is unhealthy.
|
|
377
|
+
|
|
373
378
|
### v2.0.7 (2026-02-02)
|
|
374
379
|
- **Performance Optimization**: Improved keyboard responsiveness on Windows/WSL by implementing EQ detection caching.
|
|
375
380
|
- **Data Management**: Limited resume data to 500 entries with automatic FIFO cleanup to prevent JSON bloat.
|
|
@@ -44,7 +44,7 @@ MPV_SOCKET = "/tmp/mpv_socket"
|
|
|
44
44
|
LOG_FILE = "/tmp/mytunes_mpv.log"
|
|
45
45
|
PID_FILE = "/tmp/mytunes_mpv.pid"
|
|
46
46
|
APP_NAME = "MyTunes Pro"
|
|
47
|
-
APP_VERSION = "2.0.
|
|
47
|
+
APP_VERSION = "2.0.8"
|
|
48
48
|
|
|
49
49
|
# === [Strings & Localization] ===
|
|
50
50
|
STRINGS = {
|
|
@@ -304,6 +304,8 @@ class Player:
|
|
|
304
304
|
self.current_proc = None
|
|
305
305
|
self.loading = False
|
|
306
306
|
self.loading_ts = 0
|
|
307
|
+
self.socket_fail_count = 0 # Track consecutive IPC failures
|
|
308
|
+
self.socket_ok = True # Socket health flag
|
|
307
309
|
|
|
308
310
|
# Cleanup pre-existing instance if any
|
|
309
311
|
# self.cleanup_orphaned_mpv() # Moved to play() per user request
|
|
@@ -339,6 +341,9 @@ class Player:
|
|
|
339
341
|
|
|
340
342
|
# 2. Fallback: Clean up and start fresh (Aggressive)
|
|
341
343
|
self.cleanup_orphaned_mpv()
|
|
344
|
+
# Reset socket health for fresh start
|
|
345
|
+
self.socket_fail_count = 0
|
|
346
|
+
self.socket_ok = True
|
|
342
347
|
|
|
343
348
|
self.stop()
|
|
344
349
|
self.loading = True
|
|
@@ -424,6 +429,12 @@ class Player:
|
|
|
424
429
|
|
|
425
430
|
def send_cmd(self, command):
|
|
426
431
|
"""Send raw command list to MPV via JSON IPC."""
|
|
432
|
+
# Pre-check: Skip if socket file doesn't exist (Windows/WSL resilience)
|
|
433
|
+
if not os.path.exists(MPV_SOCKET):
|
|
434
|
+
self.socket_fail_count += 1
|
|
435
|
+
self.socket_ok = False
|
|
436
|
+
return None
|
|
437
|
+
|
|
427
438
|
try:
|
|
428
439
|
client = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
|
|
429
440
|
client.settimeout(0.5) # Fast timeout (Optimization for Sleep/Wake resilience)
|
|
@@ -440,8 +451,14 @@ class Player:
|
|
|
440
451
|
if b"\n" in chunk: break
|
|
441
452
|
|
|
442
453
|
client.close()
|
|
454
|
+
# Success: Reset failure counter
|
|
455
|
+
self.socket_fail_count = 0
|
|
456
|
+
self.socket_ok = True
|
|
443
457
|
return json.loads(response.decode('utf-8'))
|
|
444
458
|
except:
|
|
459
|
+
self.socket_fail_count += 1
|
|
460
|
+
if self.socket_fail_count >= 3:
|
|
461
|
+
self.socket_ok = False
|
|
445
462
|
return None
|
|
446
463
|
|
|
447
464
|
def get_property(self, prop):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mytunes-pro
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.8
|
|
4
4
|
Summary: A lightweight, keyboard-centric terminal player for streaming YouTube music.
|
|
5
5
|
Author-email: loxo <loxo5432@gmail.com>
|
|
6
6
|
Project-URL: Homepage, https://github.com/postgresql-co-kr/mytunes
|
|
@@ -18,9 +18,9 @@ Requires-Dist: yt-dlp
|
|
|
18
18
|
Requires-Dist: pusher
|
|
19
19
|
Dynamic: license-file
|
|
20
20
|
|
|
21
|
-
# 🎵 MyTunes Pro - Professional TUI Edition v2.0.
|
|
21
|
+
# 🎵 MyTunes Pro - Professional TUI Edition v2.0.8
|
|
22
22
|
|
|
23
|
-
## 🚀 Terminal-based Media Workflow Experiment v2.0.
|
|
23
|
+
## 🚀 Terminal-based Media Workflow Experiment v2.0.8
|
|
24
24
|
|
|
25
25
|
> [!IMPORTANT]
|
|
26
26
|
> **Legal Disclaimer:** This project is a personal, non-commercial research experiment for developer education.
|
|
@@ -216,7 +216,7 @@ Executes immediately without worrying about input language status.
|
|
|
216
216
|
|
|
217
217
|
# 🎵 MyTunes Pro (Experimental Media Tool - KR)
|
|
218
218
|
|
|
219
|
-
## 🚀 터미널 기반 미디어 워크플로우 실험 v2.0.
|
|
219
|
+
## 🚀 터미널 기반 미디어 워크플로우 실험 v2.0.8
|
|
220
220
|
|
|
221
221
|
> [!IMPORTANT]
|
|
222
222
|
> **법적 면책 고지:** 본 프로젝트는 개발자 교육 및 연구를 목적으로 하는 개인적, 비상업적 실험입니다.
|
|
@@ -390,6 +390,11 @@ Windows 환경에서 한글 검색이 안 되거나 설치가 어려운 분들
|
|
|
390
390
|
|
|
391
391
|
## 🔄 Changelog
|
|
392
392
|
|
|
393
|
+
### v2.0.8 (2026-02-02)
|
|
394
|
+
- **Windows/WSL Socket Recovery**: Fixed UI freezing when mpv socket disconnects during window switching.
|
|
395
|
+
- **IPC Resilience**: Added socket pre-check and failure counter to prevent blocking on broken connections.
|
|
396
|
+
- **Automatic Recovery**: New playback automatically restarts mpv if socket is unhealthy.
|
|
397
|
+
|
|
393
398
|
### v2.0.7 (2026-02-02)
|
|
394
399
|
- **Performance Optimization**: Improved keyboard responsiveness on Windows/WSL by implementing EQ detection caching.
|
|
395
400
|
- **Data Management**: Limited resume data to 500 entries with automatic FIFO cleanup to prevent JSON bloat.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|