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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mytunes-pro
3
- Version: 2.0.7
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.7
21
+ # 🎵 MyTunes Pro - Professional TUI Edition v2.0.8
22
22
 
23
- ## 🚀 Terminal-based Media Workflow Experiment v2.0.7
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.7
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.7
1
+ # 🎵 MyTunes Pro - Professional TUI Edition v2.0.8
2
2
 
3
- ## 🚀 Terminal-based Media Workflow Experiment v2.0.7
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.7
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.
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "mytunes-pro"
7
- version = "2.0.7"
7
+ version = "2.0.8"
8
8
  authors = [
9
9
  { name = "loxo", email = "loxo5432@gmail.com" },
10
10
  ]
@@ -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.7"
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.7
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.7
21
+ # 🎵 MyTunes Pro - Professional TUI Edition v2.0.8
22
22
 
23
- ## 🚀 Terminal-based Media Workflow Experiment v2.0.7
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.7
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