mytunes-pro 2.0.3__py3-none-any.whl → 2.0.4__py3-none-any.whl

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/app.py CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env python3
2
2
  """
3
3
  MyTunes Pro - Professional TUI Edition v1.0
4
- Premium CLI Music Player with Curses Interface
4
+ # Premium CLI Media Workflow Experiment with Curses Interface
5
5
  Enhanced with Context7-researched MPV IPC & Resize Handling
6
6
  """
7
7
  import curses
@@ -32,7 +32,7 @@ MPV_SOCKET = "/tmp/mpv_socket"
32
32
  LOG_FILE = "/tmp/mytunes_mpv.log"
33
33
  PID_FILE = "/tmp/mytunes_mpv.pid"
34
34
  APP_NAME = "MyTunes Pro"
35
- APP_VERSION = "2.0.3"
35
+ APP_VERSION = "2.0.4"
36
36
 
37
37
  # === [Strings & Localization] ===
38
38
  STRINGS = {
@@ -52,10 +52,10 @@ STRINGS = {
52
52
  "fav_added": "★ 즐겨찾기에 추가됨",
53
53
  "fav_removed": "☆ 즐겨찾기 해제됨",
54
54
  "header_r1": "[S/1]검색 [F/2]즐겨찾기 [R/3]기록 [M/4]메인 [A/5]즐겨찾기추가 [Q/6]뒤로",
55
- "header_r2": "[F7]유튜브 [F8]라이브 [F9]라이브공유 [SPC]Play/Stop [+/-]볼륨 [<>]빨리감기 [D/Del]삭제",
56
- "help_guide": "[j/k]이동 [En]선택 [h/q]뒤로 [S/1]검색 [F/2]즐겨찾기 [R/3]기록 [M/4]메인 [F7]유튜브 [F8]라이브 [F9]라이브공유",
55
+ "header_r2": "[F7]유튜브 [SPC]Play/Stop [+/-]볼륨 [<>]빨리감기 [D/Del]삭제",
56
+ "help_guide": "[j/k]이동 [En]선택 [h/q]뒤로 [S/1]검색 [F/2]즐겨찾기 [R/3]기록 [M/4]메인 [F7]유튜브",
57
57
  "menu_main": "☰ 메인 메뉴",
58
- "menu_search_results": "⌕ YouTube 음악 검색",
58
+ "menu_search_results": "⌕ 미디어 콘텐츠 검색",
59
59
  "menu_favorites": "★ 나의 즐겨찾기",
60
60
  "menu_history": "◷ 재생 기록",
61
61
  "menu_bg_play": "⧉ 백그라운드 재생 (나가기)",
@@ -81,10 +81,10 @@ STRINGS = {
81
81
  "fav_added": "★ Added to Favorites",
82
82
  "fav_removed": "☆ Removed from Favorites",
83
83
  "header_r1": "[S/1]Srch [F/2]Favs [R/3]Hist [M/4]Main [A/5]AddFav [Q/6]Back",
84
- "header_r2": "[F7]YT [F8]Live [F9]LiveShare [SPC]Play/Stop [+/-]Vol [<>]Seek [D/Del]Del",
85
- "help_guide": "[j/k]Move [En]Select [h/q]Back [S/1]Srch [F/2]Fav [R/3]Hist [M/4]Main [F7]YT [F8]Live [F9]Share",
84
+ "header_r2": "[F7]YT [SPC]Play/Stop [+/-]Vol [<>]Seek [D/Del]Del",
85
+ "help_guide": "[j/k]Move [En]Select [h/q]Back [S/1]Srch [F/2]Fav [R/3]Hist [M/4]Main [F7]YT",
86
86
  "menu_main": "☰ Main Menu",
87
- "menu_search_results": "⌕ Search YouTube Music",
87
+ "menu_search_results": "⌕ Search Media Content",
88
88
  "menu_favorites": "★ My Favorites",
89
89
  "menu_history": "◷ History",
90
90
  "menu_bg_play": "⧉ Background Play (Leave)",
@@ -311,7 +311,7 @@ class Player:
311
311
  # 'accessory' hides Dock but allows system resources
312
312
  cmd.append("--macos-app-activation-policy=accessory")
313
313
 
314
- # C. YouTube 403 Forbidden Bypass (Cross-platform robustness)
314
+ # C. Media Source 403 Forbidden Bypass (Cross-platform robustness)
315
315
  # This uses the Android player client which is currently the most stable
316
316
  # and avoids HLS segment blocks on both Linux and macOS.
317
317
  cmd.extend([
@@ -467,9 +467,6 @@ class MyTunesApp:
467
467
  curses.mousemask(curses.ALL_MOUSE_EVENTS | curses.REPORT_MOUSE_POSITION)
468
468
  print("\033[?1003h") # Enable mouse tracking
469
469
 
470
- # Sharing Client (Serverless Proxy)
471
- self.pusher = None # Deprecated: Direct Pusher client removed for security
472
- self.share_api_url = "https://postgresql.co.kr/api/pusher/mytunes"
473
470
  self.sent_history = {}
474
471
 
475
472
 
@@ -647,8 +644,6 @@ class MyTunesApp:
647
644
  "<": "SEEK_BACK_30", ">": "SEEK_FWD_30",
648
645
  "a": "TOGGLE_FAV", "5": "TOGGLE_FAV",
649
646
  str(curses.KEY_F7): "OPEN_BROWSER",
650
- str(curses.KEY_F8): "OPEN_HOME_APP",
651
- str(curses.KEY_F9): "SHARE",
652
647
  str(curses.KEY_DC): "DELETE", "d": "DELETE"
653
648
  }
654
649
  return mapping.get(k_char)
@@ -732,9 +727,9 @@ class MyTunesApp:
732
727
  elif cmd == "OPEN_BROWSER":
733
728
  if current_list and 0 <= self.selection_idx < len(current_list):
734
729
  url = current_list[self.selection_idx].get('url')
735
- if url: (self.show_copy_dialog("YouTube", url) if self.is_remote() else self.open_browser(url))
730
+ if url: (self.show_copy_dialog("Media", url) if self.is_remote() else self.open_browser(url))
736
731
 
737
- elif cmd in ["OPEN_HOME_APP", "OPEN_HOME"]:
732
+ elif cmd in ["OPEN_HOME"]:
738
733
  url = "https://mytunes-pro.com"
739
734
  if self.is_remote(): self.show_copy_dialog("MyTunes Home", url)
740
735
  else: self.open_browser(url, app_mode=False)
@@ -742,8 +737,6 @@ class MyTunesApp:
742
737
  elif cmd == "OPEN_PARTNER":
743
738
  self.open_browser("https://postgresql.co.kr")
744
739
 
745
- elif cmd == "SHARE":
746
- self.handle_share(current_list)
747
740
 
748
741
  elif cmd == "RESIZE":
749
742
  self.stdscr.clear()
@@ -774,30 +767,6 @@ class MyTunesApp:
774
767
  if success:
775
768
  self.selection_idx = max(0, min(self.selection_idx, len(self.get_current_list()) - 1))
776
769
 
777
- def handle_share(self, current_list):
778
- """Sub-logic for SHARE command."""
779
- if not current_list or not (0 <= self.selection_idx < len(current_list)): return
780
- target_item = current_list[self.selection_idx]
781
- url = target_item.get('url')
782
- title = target_item.get('title', 'Unknown Title')
783
-
784
- if not url: return
785
- if time.time() - self.sent_history.get(url, 0) < 5:
786
- self.status_msg = "⚠️ Already Shared Recently!"; return
787
-
788
- def send_share_async(payload, headers, url_to_share, title_to_share):
789
- try:
790
- resp = requests.post(self.share_api_url, json=payload, headers=headers, timeout=3)
791
- if resp.status_code == 200:
792
- self.sent_history[url_to_share] = time.time()
793
- self.status_msg = f"🚀 Shared: {self.truncate(title_to_share, 40)}..."
794
- else: self.status_msg = f"❌ Share Error: {resp.status_code}"
795
- except: self.status_msg = "❌ Network Error (API)"
796
-
797
- payload = {"title": title, "url": url, "duration": target_item.get('duration', '--:--'),
798
- "country": self.dm.get_country(), "timestamp": time.time()}
799
- headers = {"Content-Type": "application/json", "x-mytunes-secret": "mytunes-v1-secret-8822"}
800
- threading.Thread(target=send_share_async, args=(payload, headers, url, title), daemon=True).start()
801
770
 
802
771
 
803
772
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mytunes-pro
3
- Version: 2.0.3
3
+ Version: 2.0.4
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
@@ -17,18 +17,23 @@ Requires-Dist: yt-dlp
17
17
  Requires-Dist: pusher
18
18
  Dynamic: license-file
19
19
 
20
- # 🎵 MyTunes Pro (Korean)
20
+ # 🎵 MyTunes Pro - Professional TUI Edition v2.0.4
21
21
 
22
- ## 🚀 Professional TUI Music Player v2.0.3
22
+ ## 🚀 Terminal-based Media Workflow Experiment v2.0.4
23
23
 
24
- MyTunes Pro는 **Context7**의 심층 리서치를 기반으로 제작된 **Premium CLI Music Player**입니다.
25
- Python `curses` 라이브러리를 사용하여 터미널 환경에서도 **GUI급의 유려한 UX**를 제공하며,
26
- `mpv` 플레이어의 강력한 IPC 제어 기능을 통해 끊김 없는 백그라운드 재생을 지원합니다.
24
+ > [!IMPORTANT]
25
+ > **Legal Disclaimer:** This project is a personal, non-commercial research experiment for developer education.
26
+ > It does not host, provide, or distribute any media content.
27
+ > All media sources are independently accessed and configured by the user.
28
+ > Users are solely responsible for ensuring that their usage complies with the terms of service of any third-party platforms accessed via this tool.
27
29
 
28
- > **💡 개발 배경**
29
- > 프로그램은 하루 종일 터미널을 보는 개발자들이 **작업 흐름을 끊지 않고** 편하게 음악을 듣기 위해 만들어졌습니다.
30
- > 특히 **모니터가 없는(Headless) 미니 PC (Debian Server)**를 거실이나 책상의 '뮤직 스테이션'으로 활용하고자 했던 개인적인 필요에서 시작되었습니다.
31
- > 복잡한 설정 없이, 터미널 하나만 있으면 어디서든 당신만의 오디오 플레이어가 됩니다.
30
+ MyTunes Pro is a developer-focused **CLI Media Tool** for experimenting with terminal-based media workflows.
31
+ It utilizes the Python `curses` library to provide a structured TUI (Terminal User Interface) for handling media URLs,
32
+ leveraging the `mpv` engine for local media processing and playback.
33
+
34
+ > **💡 Project Note**
35
+ > This tool was designed for personal research into how terminal users can interact with media sources without interrupting their developer workflow.
36
+ > It explores the integration between local CLI environments (like Headless Debian Servers) and external media handling utilities.
32
37
 
33
38
  ![Python](https://img.shields.io/badge/Python-3.9%2B-blue.svg)
34
39
  ![License](https://img.shields.io/badge/License-MIT-green.svg)
@@ -41,27 +46,24 @@ Python `curses` 라이브러리를 사용하여 터미널 환경에서도 **GUI
41
46
 
42
47
  ---
43
48
 
44
- ## ✨ 주요 기능
49
+ ## ✨ Core Features
45
50
 
46
- - **강력한 검색**: `yt-dlp` 엔진을 사용하여 광고 없는 고음질 오디오 스트리밍.
47
- - **쾌적한 조작**: `curses` 기반 TUI로 빠르고 직관적인 인터페이스.
48
- - **연속 재생**: 곡이 끝나면 **리스트의 다음 곡을 자동으로 재생**합니다.
49
- - **이어듣기**: 중단된 위치부터 **이어서 재생**할지 선택할 있습니다.
50
- - **한글 최적화**: 한글 자소 조합 대기 시간 없이 즉시 반응하는 **숫자 단축키** 지원.
51
- - **스마트 기능**: 즐겨찾기, 재생 기록(최대 100곡), 자동 음악 필터링 검색.
52
- - **라이브 (F8)**: 전 세계 유저들과 함께 듣는 **실시간 음악 대시보드** (전용 팝업).
53
- - **공유 (F9)**: 내가 듣는 곡을 **라이브 스테이션에 즉시 송출**하여 함께 즐깁니다.
54
- - **비주얼**: 현대적인 심볼 아이콘(⌕, ★, ◷)과 깔끔한 디자인.
51
+ - **Media Handling**: Support for loading and processing media URLs using external extraction tools.
52
+ - **TUI Workflow**: Efficient, low-latency interface built on the `curses` library.
53
+ - **Workflow Persistence**: Handles sequential media loading and state restoration.
54
+ - **Terminal Optimization**: Performance-focused design that prioritizes keyboard-driven interactions.
55
+ - **Smart Management**: Optional user-configured collections, interaction history, and metadata handling.
56
+ - **External Integration**: Capabilities to load media links into external viewer/player environments.
55
57
 
56
58
  ---
57
59
 
58
- ## 💻 구동 환경 안내
60
+ ## 💻 Environment & Integration
59
61
 
60
- **MyTunes Pro**는 터미널(CLI) 기반 애플리케이션입니다. 운영체제에서 고음질 오디오를 재생하기 위해 **`mpv`**라는 엔진을 사용합니다.
62
+ **MyTunes Pro** is a CLI-based tool. It can integrate with externally installed media processing tools.
61
63
 
62
- - **macOS**: 터미널(iTerm2, Warp 추천) 지원. Python 3.9 이상 필요.
63
- - **Linux**: 우분투, 데비안 등 모든 리눅스 배포판 지원.
64
- - **Windows**: **WSL(Windows Subsystem for Linux)** 환경이 필요합니다. (아래 가이드를 참고하세요.)
64
+ - **External Tools**: This project can interface with user-installed utilities like `mpv` and media extraction tools. No third-party tools are bundled with this software.
65
+ - **macOS/Linux**: Native terminal support.
66
+ - **Windows**: Recommended to use with **WSL (Windows Subsystem for Linux)**.
65
67
 
66
68
  ---
67
69
 
@@ -182,8 +184,6 @@ Windows 환경에서 한글 검색이 안 되거나 설치가 어려운 분들
182
184
  | **`+`** | **볼륨 UP** | 볼륨 +5% (단축키 `=`와 동일) |
183
185
  | **`-`** | **볼륨 DOWN** | 볼륨 -5% (단축키 `_`와 동일) |
184
186
  | **`F7`** | **유튜브 열기** | 현재 곡을 브라우저에서 보기 |
185
- | **`F8`** | **라이브 (Live)** | **실시간 음악 대시보드 열기** (전용 팝업창) |
186
- | **`F9`** | **공유 (Share)** | **현재 곡을 라이브 스테이션에 즉시 공유** |
187
187
  | **`6`** | **뒤로가기** | 이전 화면으로 이동 (단축키 `Q`, `h`와 동일) |
188
188
  | **`L`** | **앞으로** | 이전 화면에서 앞화면으로 다시 이동 (`Right Arrow`) |
189
189
  | **`ESC`** | **배경재생** | **음악 끄지 않고 나가기** (백그라운드 재생) |
@@ -210,107 +210,48 @@ Windows 환경에서 한글 검색이 안 되거나 설치가 어려운 분들
210
210
  ---
211
211
  ---
212
212
 
213
- # 🎵 MyTunes Pro (English)
214
-
215
- **Modern CLI YouTube Music Player (v2.0.3)**
216
- A lightweight, keyboard-centric terminal player for streaming YouTube music.
217
-
218
213
  ---
219
214
 
220
- ## 💻 Environment Support
215
+ # 🎵 MyTunes Pro (Experimental Media Tool - KR)
221
216
 
222
- **MyTunes Pro** is a Terminal-native application.
217
+ ## 🚀 터미널 기반 미디어 워크플로우 실험 v2.0.3
223
218
 
224
- - **macOS**: Native Terminal support. Python 3.9+ required.
225
- - **Linux**: Supports all distributions (Ubuntu, Debian, etc.).
226
- - **Windows**: Requires **WSL (Windows Subsystem for Linux)**.
219
+ > [!IMPORTANT]
220
+ > **법적 면책 고지:** 프로젝트는 개발자 교육 및 연구를 목적으로 하는 개인적, 비상업적 실험입니다.
221
+ > 소프트웨어는 어떠한 미디어 콘텐츠도 직접 호스팅하거나 배포하지 않습니다.
222
+ > 모든 미디어 소스는 사용자의 로컬 환경에서 직접 구성되고 접근되며, 사용자는 외부 플랫폼의 이용 약관을 준수할 책임이 있습니다.
227
223
 
228
- ---
229
-
230
- ## 🚀 Quick Start
224
+ MyTunes Pro는 개발자를 위해 설계된 **CLI 미디어 실험 도구**입니다.
225
+ Python `curses` 라이브러리를 통해 터미널 환경에서 미디어 URL을 로드하고 관리하며,
226
+ 사용자가 설치한 `mpv` 등의 외부 도구와 연동하여 미디어 워크플로우를 테스트할 수 있습니다.
231
227
 
232
- On modern macOS/Linux systems (PEP 668), using **`pipx`** is highly recommended.
228
+ ## 주요 특징
233
229
 
234
- ### 1. Recommended (pipx)
235
- ```bash
236
- pipx install mytunes-pro
237
- pipx ensurepath
238
- source ~/.zshrc # or source ~/.bashrc to apply changes immediately
239
- ```
240
-
241
- ### 2. Standard pip
242
- ```bash
243
- pip install mytunes-pro --break-system-packages
244
- ```
245
-
246
- Run simply by typing **`mp`** in your terminal!
247
-
248
- ---
249
-
250
- ## 🛠 Prerequisites
251
-
252
- ### macOS (Homebrew)
253
- ```bash
254
- brew install mpv python3 pipx
255
- ```
256
-
257
- ### Linux (Ubuntu/Debian)
258
- ```bash
259
- sudo apt update
260
- sudo apt install mpv python3 python3-pip pipx python3-venv -y
261
- ```
262
-
263
- ### Windows (Beginner's WSL Guide)
264
-
265
- 1. **Install WSL**:
266
- ```powershell
267
- wsl --install -d Debian
268
- ```
269
- **Restart your computer** after installation.
270
-
271
- 2. **Install Core Tools**:
272
- ```bash
273
- sudo apt update && sudo apt install mpv python3-pip pipx -y
274
- ```
275
-
276
- 4. **Install MyTunes**:
277
- ```bash
278
- pipx install mytunes-pro
279
- pipx ensurepath
280
- source ~/.bashrc
281
- ```
282
-
283
- ---
284
-
285
- ## ⌨️ English Controls
286
-
287
- | Key | Function | Description |
288
- | :--- | :--- | :--- |
289
- | **`1`** | **Search** | Open search bar (Same as `S`) |
290
- | **`2`** | **Favs** | View favorites list (Same as `F`) |
291
- | **`3`** | **Hist** | View history (Same as `R`) |
292
- | **`4`** | **Main** | Go to Main Menu (Same as `M`) |
293
- | **`5`** | **Add/Del** | Toggle Favorite (Same as `A`) |
294
- | **`+`** | **Vol Up** | Volume +5% (Same as `=`) |
295
- | **`-`** | **Vol Down** | Volume -5% (Same as `_`) |
296
- | **`6`** | **Back** | Go back (Same as `Q`, `h`) |
297
- | **`L`** | **Forward** | Go forward (`Right Arrow`) |
298
- | **`ESC`** | **Bg Play** | **Exit app but keep music playing** |
230
+ - **미디어 핸들링**: 외부 추출 도구를 사용한 미디어 URL 로드 및 처리 지원.
231
+ - **TUI 워크플로우**: `curses` 라이브러리 기반의 효율적인 터미널 인터페이스.
232
+ - **작업 유지**: 순차적 미디어 로딩 및 마지막 작업 상태 복원 기능.
233
+ - **환경 연동**: 사용자에 의해 구성된 외부 미디어 도구와의 연동 지원. (본 소프트웨어는 외부 도구를 포함하여 배포하지 않습니다.)
299
234
 
300
235
  ---
301
236
 
302
237
  ## 🔄 Changelog
303
238
 
239
+ ### v2.0.4 (2026-02-01)
240
+ - **Legal Polish**: Comprehensive scrubbing of brand identifiers and service-oriented terminology across the ecosystem.
241
+ - **Localization**: Fully localized Korean landing page and technical experiment descriptions.
242
+ - **Educational Focus**: Added explicit project disclaimers to all web footers.
243
+ - **Project Scope**: Solidified positioning as a "Media Handling Experiment" rather than a music player.
244
+
304
245
  ### v2.0.3 (Input Handling & Unicode Stability)
305
246
 
306
247
  - **Input Logic**: Replaced legacy `getch()` with `get_wch()` in all UI dialogs (`ask_resume`, `show_copy_dialog`) for robust wide-character and Unicode support.
307
- - **Architecture**: Refactored the input handling system into a modular, command-based architecture (v2.0.3).
248
+ - **Architecture**: Refactored the input handling system into a modular, command-based architecture (v2.0.3).
308
249
  - **Decoupling**: Separated input collection (`get_next_event`), event normalization, and command execution.
309
250
  - **Improved ESC Handling**: Enhanced detection of ESC and multi-byte sequences (including Option+Backspace) for smoother navigation.
310
251
 
311
252
  ### v2.0.2 (Stability & Browser Optimization)
312
253
 
313
- - **Browser Launch**: Switched to fully decoupled `subprocess.Popen` logic for browser opening. This eliminates occasional TUI freezes when launching YouTube (F7) or Live Station (F8) by bypassing `webbrowser` library limitations.
254
+ - **Browser Launch**: Switched to fully decoupled `subprocess.Popen` logic for browser opening. This eliminates occasional TUI freezes when launching Media Links (F7) or Dashboard (F8) by bypassing `webbrowser` library limitations.
314
255
  - **App Mode Restore**: Fixed and improved Chrome/Brave App Mode (Popup) for the Live Station on macOS.
315
256
  - **Improved Remote Detection**: Refined SSH/WSL detection to ensure local browser features are correctly enabled where possible.
316
257
 
@@ -325,7 +266,6 @@ sudo apt install mpv python3 python3-pip pipx python3-venv -y
325
266
 
326
267
  - **Domain Migration**: Updated all branding and internal links to support `mytunes-pro.com`.
327
268
  - **Realtime Stability**: Fixed critical state-management bugs in the live dashboard that caused list clearing and duplicated track entries.
328
- - **Pusher Channel Synchronization**: Unified communication across the transition to ensure zero-latency sharing on the new `mytunes-pro` channel.
329
269
  - **Improved Empty State**: Redesigned the "SIGNAL LOST" screen into a more descriptive "READY TO RECEIVE" interface for better UX.
330
270
 
331
271
  ### v1.9.8 (Realtime Stabilization)
@@ -333,7 +273,7 @@ sudo apt install mpv python3 python3-pip pipx python3-venv -y
333
273
  - **UI Refinement**: Implemented in-list "Now Playing" sticky behavior with auto-scroll synchronization for a seamless browsing experience.
334
274
  - **Queue System Optimization**: Capped incoming track queue at 200 items with a "200+" notification indicator for high-traffic stability.
335
275
  - **Popup UI Consistency**: Unified Live Station popup dimensions to 620x900 across Web and TUI.
336
- - **Improved YouTube Playback**: Optimized the YouTube player hook to resolve initialization race conditions and syntax edge cases.
276
+ - **Improved Media Playback**: Optimized the media player hook to resolve initialization race conditions and syntax edge cases.
337
277
 
338
278
  ### v1.9.7 (Analytics)
339
279
 
@@ -393,7 +333,7 @@ sudo apt install mpv python3 python3-pip pipx python3-venv -y
393
333
  ### v1.8.4
394
334
 
395
335
  - **Python Crash Fix (WSL)**: Eliminated premature termination by implementing `start_new_session=True` for browser launches, isolating them from the TUI process group.
396
- - **Hybrid Browser Strategy**: Switched to the standard `webbrowser` library for F7 (YouTube links) for maximum internal stability.
336
+ - **Hybrid Browser Strategy**: Switched to the standard `webbrowser` library for F7 (Media links) for maximum internal stability.
397
337
  - **Global Error Protection**: Wrapped the main application loop in an exception guard to catch and log transient OS errors without crashing the entire app.
398
338
  - **Refined Process Cleanup**: Specialized the `pkill` logic to prevent accidental self-termination while maintaining reliable MPV management.
399
339
 
@@ -440,7 +380,7 @@ sudo apt install mpv python3 python3-pip pipx python3-venv -y
440
380
  ### v1.7.5
441
381
 
442
382
  - **WSL Integration**: Fully optimized browser launch from WSL by utilizing `cmd.exe` to trigger native Windows browsers.
443
- - **F7 Windows Resolve**: Fixed an issue where YouTube (F7) wouldn't open in WSL environments.
383
+ - **F7 Windows Resolve**: Fixed an issue where Media links (F7) wouldn't open in WSL environments.
444
384
  - **F8 App Mode (WSL/Win)**: Enhanced flags to ensure "App Mode" (no address bar) works consistently even when launched from WSL.
445
385
 
446
386
  ### v1.7.4
@@ -450,7 +390,7 @@ sudo apt install mpv python3 python3-pip pipx python3-venv -y
450
390
 
451
391
  ### v1.7.3
452
392
 
453
- - **Windows Fixes**: Resolved issue where F7 (YouTube) failed to open browsers on Windows by implementing `os.startfile` logic.
393
+ - **Windows Fixes**: Resolved issue where F7 (Media) failed to open browsers on Windows by implementing `os.startfile` logic.
454
394
  - **F8 Initialization**: Improved Live Station (F8) window sizing on Windows by forcing a clean session state.
455
395
  - **Robustness**: Enhanced cross-platform browser redirection logic to ensure consistent behavior.
456
396
 
@@ -470,7 +410,6 @@ sudo apt install mpv python3 python3-pip pipx python3-venv -y
470
410
  ### v1.6.0
471
411
 
472
412
  - **Global Version Synchronization**: Synchronized version 1.6.0 across CLI, README, and Web interface.
473
- - **Dependency Fix**: Ensured `pusher` dependency is correctly included for real-time features.
474
413
 
475
414
  ### v1.5.6
476
415
 
@@ -0,0 +1,8 @@
1
+ mytunes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ mytunes/app.py,sha256=iu9LN4WtJrSQLSMreBMZqnXYotm_9Bk5eoQVTxk6dCo,57463
3
+ mytunes_pro-2.0.4.dist-info/licenses/LICENSE,sha256=lOrP0EIjxcgJia__W3f3PVDZkRd2oRzFkyH2g3LRRCg,1063
4
+ mytunes_pro-2.0.4.dist-info/METADATA,sha256=H_ujUXf1ofYs1seveke-gV_ivc-VAPYU9kKJgpaCpdE,22542
5
+ mytunes_pro-2.0.4.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
6
+ mytunes_pro-2.0.4.dist-info/entry_points.txt,sha256=6-MsC13nIgzLvrREaGotc32FgxHx_Iuu1z2qCzJs1_4,65
7
+ mytunes_pro-2.0.4.dist-info/top_level.txt,sha256=KWzdFyNNG_sO7GT83-sN5fYArP4_DL5I8HYIwgazXyY,8
8
+ mytunes_pro-2.0.4.dist-info/RECORD,,
@@ -1,8 +0,0 @@
1
- mytunes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- mytunes/app.py,sha256=LQY9p6w25cIz1WBJ4LIWmX4BsvfHotZ_FVZffqjGy7A,59351
3
- mytunes_pro-2.0.3.dist-info/licenses/LICENSE,sha256=lOrP0EIjxcgJia__W3f3PVDZkRd2oRzFkyH2g3LRRCg,1063
4
- mytunes_pro-2.0.3.dist-info/METADATA,sha256=xQW9fpXYf9jho1a3RBirqRHy6xYoeiUCWeHtzXeoL-g,23396
5
- mytunes_pro-2.0.3.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
6
- mytunes_pro-2.0.3.dist-info/entry_points.txt,sha256=6-MsC13nIgzLvrREaGotc32FgxHx_Iuu1z2qCzJs1_4,65
7
- mytunes_pro-2.0.3.dist-info/top_level.txt,sha256=KWzdFyNNG_sO7GT83-sN5fYArP4_DL5I8HYIwgazXyY,8
8
- mytunes_pro-2.0.3.dist-info/RECORD,,