mytunes-pro 1.4.7__tar.gz → 2.0.5__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.5/PKG-INFO +448 -0
- mytunes_pro-2.0.5/README.md +428 -0
- {mytunes_pro-1.4.7 → mytunes_pro-2.0.5}/pyproject.toml +5 -3
- {mytunes_pro-1.4.7 → mytunes_pro-2.0.5}/src/mytunes/app.py +626 -247
- mytunes_pro-2.0.5/src/mytunes_pro.egg-info/PKG-INFO +448 -0
- mytunes_pro-2.0.5/src/mytunes_pro.egg-info/entry_points.txt +3 -0
- mytunes_pro-2.0.5/src/mytunes_pro.egg-info/requires.txt +4 -0
- mytunes_pro-1.4.7/PKG-INFO +0 -263
- mytunes_pro-1.4.7/README.md +0 -245
- mytunes_pro-1.4.7/src/mytunes_pro.egg-info/PKG-INFO +0 -263
- mytunes_pro-1.4.7/src/mytunes_pro.egg-info/entry_points.txt +0 -3
- mytunes_pro-1.4.7/src/mytunes_pro.egg-info/requires.txt +0 -2
- {mytunes_pro-1.4.7 → mytunes_pro-2.0.5}/LICENSE +0 -0
- {mytunes_pro-1.4.7 → mytunes_pro-2.0.5}/setup.cfg +0 -0
- {mytunes_pro-1.4.7 → mytunes_pro-2.0.5}/src/mytunes/__init__.py +0 -0
- {mytunes_pro-1.4.7 → mytunes_pro-2.0.5}/src/mytunes_pro.egg-info/SOURCES.txt +0 -0
- {mytunes_pro-1.4.7 → mytunes_pro-2.0.5}/src/mytunes_pro.egg-info/dependency_links.txt +0 -0
- {mytunes_pro-1.4.7 → mytunes_pro-2.0.5}/src/mytunes_pro.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1,448 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: mytunes-pro
|
|
3
|
+
Version: 2.0.5
|
|
4
|
+
Summary: A lightweight, keyboard-centric terminal player for streaming YouTube music.
|
|
5
|
+
Author-email: loxo <loxo5432@gmail.com>
|
|
6
|
+
Project-URL: Homepage, https://github.com/postgresql-co-kr/mytunes
|
|
7
|
+
Project-URL: Bug Tracker, https://github.com/postgresql-co-kr/mytunes/issues
|
|
8
|
+
Classifier: Programming Language :: Python :: 3
|
|
9
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
10
|
+
Classifier: Operating System :: OS Independent
|
|
11
|
+
Classifier: Topic :: Multimedia :: Sound/Audio :: Players
|
|
12
|
+
Requires-Python: >=3.9
|
|
13
|
+
Description-Content-Type: text/markdown
|
|
14
|
+
License-File: LICENSE
|
|
15
|
+
Requires-Dist: requests
|
|
16
|
+
Requires-Dist: urllib3<2.0.0
|
|
17
|
+
Requires-Dist: yt-dlp
|
|
18
|
+
Requires-Dist: pusher
|
|
19
|
+
Dynamic: license-file
|
|
20
|
+
|
|
21
|
+
# 🎵 MyTunes Pro - Professional TUI Edition v2.0.5
|
|
22
|
+
|
|
23
|
+
## 🚀 Terminal-based Media Workflow Experiment v2.0.5
|
|
24
|
+
|
|
25
|
+
> [!IMPORTANT]
|
|
26
|
+
> **Legal Disclaimer:** This project is a personal, non-commercial research experiment for developer education.
|
|
27
|
+
> It does not host, provide, or distribute any media content.
|
|
28
|
+
> All media sources are independently accessed and configured by the user.
|
|
29
|
+
> Users are solely responsible for ensuring that their usage complies with the terms of service of any third-party platforms accessed via this tool.
|
|
30
|
+
|
|
31
|
+
MyTunes Pro is a developer-focused **CLI Media Tool** for experimenting with terminal-based media workflows.
|
|
32
|
+
It utilizes the Python `curses` library to provide a structured TUI (Terminal User Interface) for handling media URLs,
|
|
33
|
+
leveraging the `mpv` engine for local media processing and playback.
|
|
34
|
+
|
|
35
|
+
> **💡 Project Note**
|
|
36
|
+
> This tool was designed for personal research into how terminal users can interact with media sources without interrupting their developer workflow.
|
|
37
|
+
> It explores the integration between local CLI environments (like Headless Debian Servers) and external media handling utilities.
|
|
38
|
+
|
|
39
|
+

|
|
40
|
+

|
|
41
|
+
|
|
42
|
+
## 📸 Screenshots
|
|
43
|
+
| | |
|
|
44
|
+
| :---: | :---: |
|
|
45
|
+
|  |  |
|
|
46
|
+
|  |  |
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## ✨ Core Features
|
|
51
|
+
|
|
52
|
+
- **Media Handling**: Support for loading and processing media URLs using external extraction tools.
|
|
53
|
+
- **TUI Workflow**: Efficient, low-latency interface built on the `curses` library.
|
|
54
|
+
- **Workflow Persistence**: Handles sequential media loading and state restoration.
|
|
55
|
+
- **Terminal Optimization**: Performance-focused design that prioritizes keyboard-driven interactions.
|
|
56
|
+
- **Smart Management**: Optional user-configured collections, interaction history, and metadata handling.
|
|
57
|
+
- **External Integration**: Capabilities to load media links into external viewer/player environments.
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## 💻 Environment & Integration
|
|
62
|
+
|
|
63
|
+
**MyTunes Pro** is a CLI-based tool. It can integrate with externally installed media processing tools.
|
|
64
|
+
|
|
65
|
+
- **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.
|
|
66
|
+
- **macOS/Linux**: Native terminal support.
|
|
67
|
+
- **Windows**: Recommended to use with **WSL (Windows Subsystem for Linux)**.
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## 🚀 빠른 설치 (Quick Install)
|
|
72
|
+
|
|
73
|
+
최신 macOS/Linux 시스템(PEP 668)에서는 **`pipx`** 사용을 강력히 권장합니다.
|
|
74
|
+
|
|
75
|
+
### 1. 추천 방식 (pipx)
|
|
76
|
+
자동으로 격리된 환경을 만들고 명령어를 등록해줍니다.
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
# pipx install 이후 명령어 등록을 위해 ensurepath 실행 시점 확인!
|
|
80
|
+
pipx install mytunes-pro
|
|
81
|
+
pipx ensurepath
|
|
82
|
+
source ~/.zshrc # 또는 source ~/.bashrc (현재 터미널에 즉시 적용)
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### 2. 일반 pip 방식
|
|
86
|
+
만약 `externally-managed-environment` 에러가 발생한다면 아래 플래그를 추가하세요:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
pip install mytunes-pro --break-system-packages
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
설치 후 터미널 어디서든 **`mp`**를 입력하면 실행됩니다!
|
|
93
|
+
|
|
94
|
+
### 🔄 최신 버전 업데이트 (Update)
|
|
95
|
+
이미 설치되어 있다면 아래 명령어로 간단히 최신 기능을 반영하세요:
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
pipx upgrade mytunes-pro
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## 🛠 환경별 요구사항 (Prerequisites)
|
|
104
|
+
|
|
105
|
+
실행 전 각 운영체제에 맞는 필수 도구들을 설치해 주세요.
|
|
106
|
+
|
|
107
|
+
### macOS (Homebrew 사용)
|
|
108
|
+
```bash
|
|
109
|
+
brew install mpv python3 pipx
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Linux (Ubuntu/Debian)
|
|
113
|
+
```bash
|
|
114
|
+
sudo apt update
|
|
115
|
+
sudo apt install mpv python3 python3-pip pipx python3-venv -y
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Windows (초보자용 WSL 가이드)
|
|
119
|
+
|
|
120
|
+
Windows 환경에서 한글 검색이 안 되거나 설치가 어려운 분들을 위한 가이드입니다.
|
|
121
|
+
|
|
122
|
+
> **❓ WSL이란?**
|
|
123
|
+
> 윈도우 안에서 리눅스를 앱처럼 쓸 수 있게 해줍니다. MyTunes는 이 환경에서 완벽하게 작동합니다.
|
|
124
|
+
|
|
125
|
+
1. **WSL 설치하기**:
|
|
126
|
+
- `시작` 버튼 우클릭 -> `터미널(관리자)` 실행.
|
|
127
|
+
- 아래 명령어 입력 후 **재부팅**:
|
|
128
|
+
```powershell
|
|
129
|
+
wsl --install -d Debian
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
3. **필수 도구 설치**:
|
|
133
|
+
```bash
|
|
134
|
+
sudo apt update && sudo apt install mpv python3-pip pipx -y
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
4. **MyTunes 설치**:
|
|
138
|
+
```bash
|
|
139
|
+
pipx install mytunes-pro
|
|
140
|
+
pipx ensurepath
|
|
141
|
+
source ~/.bashrc # 설정 즉시 반영
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## 🧑💻 개발자용 수동 설치 (Manual Installation)
|
|
147
|
+
|
|
148
|
+
직접 소스크드를 수정하거나 개발 버전을 사용하려면 아래 과정을 따르세요.
|
|
149
|
+
|
|
150
|
+
1. **저장소 클론**:
|
|
151
|
+
```bash
|
|
152
|
+
git clone https://github.com/postgresql-co-kr/mytunes.git
|
|
153
|
+
cd mytunes
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
2. **가상환경 설정**:
|
|
157
|
+
```bash
|
|
158
|
+
python3 -m venv venv
|
|
159
|
+
source venv/bin/activate # macOS/Linux
|
|
160
|
+
pip install -r requirements.txt
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
3. **실행**:
|
|
164
|
+
```bash
|
|
165
|
+
python3 mytune.py
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## ⌨️ 조작 방법 (Controls)
|
|
171
|
+
|
|
172
|
+
**MyTunes Pro**는 키보드만으로 모든 기능을 제어합니다.
|
|
173
|
+
한글 입력 상태에서도 끊김 없는 조작을 위해 **숫자 단축키** 사용을 권장합니다.
|
|
174
|
+
|
|
175
|
+
### ⚡️ 즉시 반응 단축키 (숫자키)
|
|
176
|
+
한영 전환 없이 언제든 누르면 즉시 실행됩니다.
|
|
177
|
+
|
|
178
|
+
| 키 | 기능 | 설명 |
|
|
179
|
+
| :--- | :--- | :--- |
|
|
180
|
+
| **`1`** | **검색 (Search)** | 음악 검색창 열기 (단축키 `S`와 동일) |
|
|
181
|
+
| **`2`** | **즐겨찾기 (Fav)** | 저장된 즐겨찾기 목록 보기 (단축키 `F`와 동일) |
|
|
182
|
+
| **`3`** | **기록 (History)** | 최근 재생한 100곡 보기 (단축키 `R`와 동일) |
|
|
183
|
+
| **`4`** | **메인 (Main)** | 메인 화면으로 돌아가기 (단축키 `M`와 동일) |
|
|
184
|
+
| **`5`** | **추가/삭제** | 선택한 곡 즐겨찾기 토글 (단축키 `A`와 동일) |
|
|
185
|
+
| **`+`** | **볼륨 UP** | 볼륨 +5% (단축키 `=`와 동일) |
|
|
186
|
+
| **`-`** | **볼륨 DOWN** | 볼륨 -5% (단축키 `_`와 동일) |
|
|
187
|
+
| **`F7`** | **유튜브 열기** | 현재 곡을 브라우저에서 보기 |
|
|
188
|
+
| **`6`** | **뒤로가기** | 이전 화면으로 이동 (단축키 `Q`, `h`와 동일) |
|
|
189
|
+
| **`L`** | **앞으로** | 이전 화면에서 앞화면으로 다시 이동 (`Right Arrow`) |
|
|
190
|
+
| **`ESC`** | **배경재생** | **음악 끄지 않고 나가기** (백그라운드 재생) |
|
|
191
|
+
|
|
192
|
+
### 🧭 기본 탐색
|
|
193
|
+
| 키 | 동작 |
|
|
194
|
+
| :--- | :--- |
|
|
195
|
+
| `↑` / `↓` / `k` / `j` | 리스트 위/아래 이동 (Vim 키 지원) |
|
|
196
|
+
| `Enter` / `l` | **선택 / 재생** |
|
|
197
|
+
| `Space` | 재생 / 일시정지 (Play/Pause) |
|
|
198
|
+
| `-` / `+` | **볼륨 조절** (- / +) |
|
|
199
|
+
| `,` / `.` | 10초 뒤로 / 앞으로 감기 |
|
|
200
|
+
| `<` / `>` | **30초** 뒤로 / 앞으로 감기 (Shift) |
|
|
201
|
+
| `Backspace` / `h` / `q` | 뒤로 가기 / 검색어 지우기 |
|
|
202
|
+
| `L` | **앞으로 가기** |
|
|
203
|
+
| `/` | **검색** (Vim Style) |
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
## 📂 데이터 저장
|
|
208
|
+
- 즐겨찾기와 재생 기록은 홈 디렉토리의 `~/.pymusic_data.json` 파일에 영구 저장됩니다.
|
|
209
|
+
- 프로그램 종료 후 다시 실행해도 데이터가 유지됩니다.
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
# 🎵 MyTunes Pro (Experimental Media Tool - KR)
|
|
217
|
+
|
|
218
|
+
## 🚀 터미널 기반 미디어 워크플로우 실험 v2.0.5
|
|
219
|
+
|
|
220
|
+
> [!IMPORTANT]
|
|
221
|
+
> **법적 면책 고지:** 본 프로젝트는 개발자 교육 및 연구를 목적으로 하는 개인적, 비상업적 실험입니다.
|
|
222
|
+
> 본 소프트웨어는 어떠한 미디어 콘텐츠도 직접 호스팅하거나 배포하지 않습니다.
|
|
223
|
+
> 모든 미디어 소스는 사용자의 로컬 환경에서 직접 구성되고 접근되며, 사용자는 외부 플랫폼의 이용 약관을 준수할 책임이 있습니다.
|
|
224
|
+
|
|
225
|
+
MyTunes Pro는 개발자를 위해 설계된 **CLI 미디어 실험 도구**입니다.
|
|
226
|
+
Python `curses` 라이브러리를 통해 터미널 환경에서 미디어 URL을 로드하고 관리하며,
|
|
227
|
+
사용자가 설치한 `mpv` 등의 외부 도구와 연동하여 미디어 워크플로우를 테스트할 수 있습니다.
|
|
228
|
+
|
|
229
|
+
## ✨ 주요 특징
|
|
230
|
+
|
|
231
|
+
- **미디어 핸들링**: 외부 추출 도구를 사용한 미디어 URL 로드 및 처리 지원.
|
|
232
|
+
- **TUI 워크플로우**: `curses` 라이브러리 기반의 효율적인 터미널 인터페이스.
|
|
233
|
+
- **작업 유지**: 순차적 미디어 로딩 및 마지막 작업 상태 복원 기능.
|
|
234
|
+
- **환경 연동**: 사용자에 의해 구성된 외부 미디어 도구와의 연동 지원. (본 소프트웨어는 외부 도구를 포함하여 배포하지 않습니다.)
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
## 🔄 Changelog
|
|
239
|
+
|
|
240
|
+
### v2.0.5 (2026-02-01)
|
|
241
|
+
- **Input Feedback Refinement**: Transitioned from blinking warnings to a static Bold Yellow status message for better accessibility and premium feel.
|
|
242
|
+
- **Auto-clear Optimization**: Implemented a 5-second auto-clear timer for all transient status messages.
|
|
243
|
+
- **Zero Latency Feedback**: Added instant redraw mechanisms to ensure input warnings appear immediately upon key press.
|
|
244
|
+
- **Stability Fixes**: Resolved a critical attribute error that caused crashes when selecting menu items.
|
|
245
|
+
- **SSL Compatibility**: Improved `urllib3` compatibility for macOS systems using LibreSSL.
|
|
246
|
+
|
|
247
|
+
### v2.0.4 (2026-02-01)
|
|
248
|
+
- **Legal Polish**: Comprehensive scrubbing of brand identifiers and service-oriented terminology across the ecosystem.
|
|
249
|
+
- **Localization**: Fully localized Korean landing page and technical experiment descriptions.
|
|
250
|
+
- **Educational Focus**: Added explicit project disclaimers to all web footers.
|
|
251
|
+
- **Project Scope**: Solidified positioning as a "Media Handling Experiment" rather than a music player.
|
|
252
|
+
|
|
253
|
+
### v2.0.3 (Input Handling & Unicode Stability)
|
|
254
|
+
|
|
255
|
+
- **Input Logic**: Replaced legacy `getch()` with `get_wch()` in all UI dialogs (`ask_resume`, `show_copy_dialog`) for robust wide-character and Unicode support.
|
|
256
|
+
- **Architecture**: Refactored the input handling system into a modular, command-based architecture (v2.0.3).
|
|
257
|
+
- **Decoupling**: Separated input collection (`get_next_event`), event normalization, and command execution.
|
|
258
|
+
- **Improved ESC Handling**: Enhanced detection of ESC and multi-byte sequences (including Option+Backspace) for smoother navigation.
|
|
259
|
+
|
|
260
|
+
### v2.0.2 (Stability & Browser Optimization)
|
|
261
|
+
|
|
262
|
+
- **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.
|
|
263
|
+
- **App Mode Restore**: Fixed and improved Chrome/Brave App Mode (Popup) for the Live Station on macOS.
|
|
264
|
+
- **Improved Remote Detection**: Refined SSH/WSL detection to ensure local browser features are correctly enabled where possible.
|
|
265
|
+
|
|
266
|
+
### v2.0.1 (Keymap Refinement & Version Sync)
|
|
267
|
+
|
|
268
|
+
- **Navigation**: Added browser-style Forward navigation (`L` / `Right Arrow`).
|
|
269
|
+
- **Keybinding Optimization**: Updated History mapping to `R` / `3` and refined Back/Forward logic.
|
|
270
|
+
- **IME Stability**: Removed unstable Korean character mappings (`ㄴ`, `ㄹ`, `ㄱ`, 등) to prevent ghost key issues in the TUI.
|
|
271
|
+
- **Global Synchronization**: Synchronized version v2.0.1 across CLI, TUI, and Web interfaces.
|
|
272
|
+
|
|
273
|
+
### v1.9.9 (Domain Migration & Realtime Sync)
|
|
274
|
+
|
|
275
|
+
- **Domain Migration**: Updated all branding and internal links to support `mytunes-pro.com`.
|
|
276
|
+
- **Realtime Stability**: Fixed critical state-management bugs in the live dashboard that caused list clearing and duplicated track entries.
|
|
277
|
+
- **Improved Empty State**: Redesigned the "SIGNAL LOST" screen into a more descriptive "READY TO RECEIVE" interface for better UX.
|
|
278
|
+
|
|
279
|
+
### v1.9.8 (Realtime Stabilization)
|
|
280
|
+
|
|
281
|
+
- **UI Refinement**: Implemented in-list "Now Playing" sticky behavior with auto-scroll synchronization for a seamless browsing experience.
|
|
282
|
+
- **Queue System Optimization**: Capped incoming track queue at 200 items with a "200+" notification indicator for high-traffic stability.
|
|
283
|
+
- **Popup UI Consistency**: Unified Live Station popup dimensions to 620x900 across Web and TUI.
|
|
284
|
+
- **Improved Media Playback**: Optimized the media player hook to resolve initialization race conditions and syntax edge cases.
|
|
285
|
+
|
|
286
|
+
### v1.9.7 (Analytics)
|
|
287
|
+
|
|
288
|
+
- **Analytics**: Integrated Google Analytics 4 (GA4) into the landing page and realtime feed to track visitor traffic and usage patterns.
|
|
289
|
+
|
|
290
|
+
### v1.9.6 (Realtime UX)
|
|
291
|
+
|
|
292
|
+
- **Incoming Queue System**: The Realtime Feed (`/live`) now queues incoming shared tracks instead of disrupting the list immediately. A "SHOW NEW TRACKS" button appears, allowing users to update the feed at their convenience, ensuring a stable viewing experience.
|
|
293
|
+
|
|
294
|
+
### v1.9.5
|
|
295
|
+
|
|
296
|
+
- **Code Cleanup**: Removed deprecated and unreachable WSL subprocess launch logic to ensure codebase cleanliness and prevent confusion. The application now exclusively uses the stable `webbrowser` module for WSL.
|
|
297
|
+
|
|
298
|
+
### v1.9.4
|
|
299
|
+
|
|
300
|
+
- **Ultimate WSL Fix**: Switched to using Python's standard `webbrowser` module for opening links in WSL. This fully delegates browser launching to the system (Windows host), ensuring maximum stability and eliminating all `subprocess` or `cmd.exe` related conflicts.
|
|
301
|
+
|
|
302
|
+
### v1.9.3
|
|
303
|
+
|
|
304
|
+
- **Hotfix for Startup**: Fixed a syntax error introduced in v1.9.2 that prevented the application from starting.
|
|
305
|
+
|
|
306
|
+
### v1.9.2
|
|
307
|
+
|
|
308
|
+
- **Disable WSL Profile Isolation**: To ensure maximum stability and prevent `cmd.exe` conflicts, MyTunes now temporarily disables profile isolation (forced window size/position) on WSL. It runs using the default Chrome profile, guaranteeing reliable launching.
|
|
309
|
+
|
|
310
|
+
### v1.9.1
|
|
311
|
+
|
|
312
|
+
- **Fix CMD Output Pollution (WSL)**: Resolved an issue where `cmd.exe` printed "UNC paths are not supported" warnings when executed from a WSL directory, corrupting the temporary path retrieval. Now parses output safely and executes from `/mnt/c` to prevent warnings.
|
|
313
|
+
|
|
314
|
+
### v1.9.0
|
|
315
|
+
|
|
316
|
+
- **Fix WSL Profile Error**: Switched to using the **native Windows TEMP directory** (e.g., `C:\Users\...\AppData\Local\Temp`) for the browser profile in WSL. This prevents file locking issues caused by Chrome treating `\\wsl$\` paths as network drives.
|
|
317
|
+
|
|
318
|
+
### v1.8.9
|
|
319
|
+
|
|
320
|
+
- **Robust WSL Path Fix**: Resolved an issue where direct browser launching (non-fallback) in WSL was still using Linux paths for the profile, causing "User Data Directory" creation errors. Path conversion is now applied globally before launch.
|
|
321
|
+
|
|
322
|
+
### v1.8.8
|
|
323
|
+
|
|
324
|
+
- **WSL Path Conversion**: Implemented `wslpath -w` logic to correctly convert Linux-style temp paths to Windows format when launching Chrome via `cmd.exe` on WSL.
|
|
325
|
+
|
|
326
|
+
### v1.8.7
|
|
327
|
+
|
|
328
|
+
- **Syntax Fix (WSL)**: Corrected a typo in the browser launch command that caused a crash on Linux/WSL systems.
|
|
329
|
+
|
|
330
|
+
### v1.8.6
|
|
331
|
+
|
|
332
|
+
- **Browser Popup Optimization (Context7)**: Improved Live Station (F8) experience with optimized CLI flags for a perfectly minimalist UI.
|
|
333
|
+
- **Forced Window Dimensions**: Implemented profile isolation using a timestamped `user-data-dir` to ensure window size and position are always respected, overriding session memory.
|
|
334
|
+
- **UI Cleanup**: Automatically hides distraction-bars (translation, password, automation infobars) and enables instant autoplay for live streams.
|
|
335
|
+
|
|
336
|
+
### v1.8.5
|
|
337
|
+
|
|
338
|
+
- **Looping Navigation (Menu Wrapping)**: Pressing UP at the first item now wraps to the last item, and pressing DOWN at the last item wraps to the first.
|
|
339
|
+
- **Improved UI Flow**: Enhanced keyboard navigation experience across all list views (Main, Search, Favorites, History).
|
|
340
|
+
|
|
341
|
+
### v1.8.4
|
|
342
|
+
|
|
343
|
+
- **Python Crash Fix (WSL)**: Eliminated premature termination by implementing `start_new_session=True` for browser launches, isolating them from the TUI process group.
|
|
344
|
+
- **Hybrid Browser Strategy**: Switched to the standard `webbrowser` library for F7 (Media links) for maximum internal stability.
|
|
345
|
+
- **Global Error Protection**: Wrapped the main application loop in an exception guard to catch and log transient OS errors without crashing the entire app.
|
|
346
|
+
- **Refined Process Cleanup**: Specialized the `pkill` logic to prevent accidental self-termination while maintaining reliable MPV management.
|
|
347
|
+
|
|
348
|
+
### v1.8.3
|
|
349
|
+
|
|
350
|
+
- **Direct Binary Execution (WSL)**: Resolved shell parsing issues by bypassing `cmd.exe` and directly executing Windows browser binaries via `/mnt/c/` paths.
|
|
351
|
+
- **App Mode Reliability**: Guaranteed 712x800 popup mode by ensuring flags are delivered directly to the browser process without intermediate shell mangling.
|
|
352
|
+
- **Fixed URL Resolution**: Eliminated the "Empty URL" bug by standardizing argument passing between WSL and Windows.
|
|
353
|
+
|
|
354
|
+
### v1.8.1
|
|
355
|
+
|
|
356
|
+
- **Fixed App Mode (WSL/Win)**: Guaranteed the browser opens in a clean "App Mode" popup by fixing shell quoting issues in the launch command.
|
|
357
|
+
- **URL Resolution Fix**: Resolved the "Empty URL" bug on WSL/Windows by ensuring the `--app` flag is correctly parsed by the native Windows shell.
|
|
358
|
+
- **Reliable Popup UI**: Standardized on `start "" chrome` for WSL to ensure flags are never misidentified as window titles.
|
|
359
|
+
|
|
360
|
+
### v1.8.0
|
|
361
|
+
|
|
362
|
+
- **Stabilized Browser Launch (Windows/WSL)**: Completely removed the `--user-data-dir` flag for all Windows-based environments. This permanently resolves the "cannot read or write" directory errors while maintaining reliable 712x800 window sizing through pure app-mode flags.
|
|
363
|
+
- **Clean CMD Execution**: Simplified the WSL-to-Windows transition by using standard `cmd.exe` calls without complex path or variable expansion, ensuring consistent behavior across all systems.
|
|
364
|
+
|
|
365
|
+
### v1.7.9
|
|
366
|
+
|
|
367
|
+
- **Pure CMD-based Launch (WSL/Win)**: Final fix for WSL-to-Windows browser launch using `cmd.exe /c` with native `%LOCALAPPDATA%` expansion.
|
|
368
|
+
- **Directory Reliability**: Ensured Chrome data directory creation and access by using native Windows shell commands, eliminating the "cannot read or write" errors seen in v1.7.8.
|
|
369
|
+
- **Stable Window Sizing**: Guaranteed 712x800 window size for Live Station (F8) from WSL by correctly isolating browser profiles via native Windows paths.
|
|
370
|
+
|
|
371
|
+
### v1.7.8
|
|
372
|
+
|
|
373
|
+
- **Native PowerShell Profile Management**: Resolved directory read/write errors in WSL by moving all profile creation and path handling to the Windows side via PowerShell.
|
|
374
|
+
- **Improved Security & Isolation**: Profiles are now created in the standard Windows `LOCALAPPDATA` directory with native permissions, ensuring Chrome can always access its data.
|
|
375
|
+
- **Backslash Consistency**: Forced backslash-only paths through pure PowerShell logic, fixing the mixed-slash issue seen in WSL.
|
|
376
|
+
|
|
377
|
+
### v1.7.7
|
|
378
|
+
|
|
379
|
+
- **PowerShell Launch (WSL/Win)**: Switched to `powershell.exe` for launching browsers from WSL to ensure robust argument parsing and path handling.
|
|
380
|
+
- **Directory Fix**: Resolved "cannot read or write" error on Windows/WSL by utilizing `$env:TEMP` directly within a native shell context.
|
|
381
|
+
- **Reliable Sizing**: Guaranteed window size application by combining isolated profiles with PowerShell's superior process management.
|
|
382
|
+
|
|
383
|
+
### v1.7.6
|
|
384
|
+
|
|
385
|
+
- **Isolated Browser Profile**: Guaranteed window sizing for the Live Station (F8) on Windows/WSL by forcing an isolated browser profile using the Windows `%TEMP%` directory.
|
|
386
|
+
- **WSL Path Translation**: Implemented automatic Windows temp path resolution in WSL to enable session persistence and profile isolation.
|
|
387
|
+
|
|
388
|
+
### v1.7.5
|
|
389
|
+
|
|
390
|
+
- **WSL Integration**: Fully optimized browser launch from WSL by utilizing `cmd.exe` to trigger native Windows browsers.
|
|
391
|
+
- **F7 Windows Resolve**: Fixed an issue where Media links (F7) wouldn't open in WSL environments.
|
|
392
|
+
- **F8 App Mode (WSL/Win)**: Enhanced flags to ensure "App Mode" (no address bar) works consistently even when launched from WSL.
|
|
393
|
+
|
|
394
|
+
### v1.7.4
|
|
395
|
+
|
|
396
|
+
- **Windows UI Refinement**: Forced Chrome "App Mode" on Windows by reordering flags and disabling extensions/default-apps to ensure a clean popup without an address bar.
|
|
397
|
+
- **Improved Isolation**: Switched to higher-frequency session rotation for Live Station (F8) to guarantee window size and position persistence fixes.
|
|
398
|
+
|
|
399
|
+
### v1.7.3
|
|
400
|
+
|
|
401
|
+
- **Windows Fixes**: Resolved issue where F7 (Media) failed to open browsers on Windows by implementing `os.startfile` logic.
|
|
402
|
+
- **F8 Initialization**: Improved Live Station (F8) window sizing on Windows by forcing a clean session state.
|
|
403
|
+
- **Robustness**: Enhanced cross-platform browser redirection logic to ensure consistent behavior.
|
|
404
|
+
|
|
405
|
+
### v1.7.2
|
|
406
|
+
|
|
407
|
+
- **Windows Optimization**: Fixed an issue where the Live Station (F8) window size was not correctly applied on Windows.
|
|
408
|
+
- **Improved Browser Support**: Added Microsoft Edge to the automatic browser detection list.
|
|
409
|
+
- **Robust Launch Logic**: Enhanced browser internal flags for a better initial window experience.
|
|
410
|
+
|
|
411
|
+
### v1.7.1
|
|
412
|
+
|
|
413
|
+
- **Performance & Logic Optimization**: Standardized browser launch logic for Live Station (F8) across Mac, Windows, and Linux.
|
|
414
|
+
- **UI Polish**: Silenced browser launch warnings in the terminal and added professional UI flags (disable translation/bubble) for a cleaner experience.
|
|
415
|
+
- **Improved Popup Behavior**: Optimized web interface to reuse the same window for Live Station, matching CLI application behavior.
|
|
416
|
+
- **Global Sync**: Version 1.7.1 synchronization across all platforms.
|
|
417
|
+
|
|
418
|
+
### v1.6.0
|
|
419
|
+
|
|
420
|
+
- **Global Version Synchronization**: Synchronized version 1.6.0 across CLI, README, and Web interface.
|
|
421
|
+
|
|
422
|
+
### v1.5.6
|
|
423
|
+
|
|
424
|
+
- **Refined Search History Display**: Improved the search preview logic to use a temporary 'search' view state, providing a smoother experience when opening and canceling search.
|
|
425
|
+
- **Bug Fix**: Resolved an issue where the 'Search Results History' was not displaying correctly in the background.
|
|
426
|
+
|
|
427
|
+
### v1.5.5
|
|
428
|
+
|
|
429
|
+
- **Search Result History**: Automatically saves up to 200 search results.
|
|
430
|
+
- **Enhanced Search UX**: Previously searched items are displayed in the background automatically when opening search.
|
|
431
|
+
- **Deduplication**: Automatically removes duplicate search results to keep history clean.
|
|
432
|
+
|
|
433
|
+
### v1.5.4
|
|
434
|
+
|
|
435
|
+
- **Documentation Refinement**: Clarified installation steps and removed redundant WSL locale guide.
|
|
436
|
+
- **Code Cleanup**: Reverted unnecessary locale settings in source code.
|
|
437
|
+
|
|
438
|
+
### v1.5.3
|
|
439
|
+
|
|
440
|
+
- **Locale Optimization**: Removed complicated locale generation steps for Windows/WSL users. Now relies on standard system locale or simple `C.UTF-8` fallback.
|
|
441
|
+
|
|
442
|
+
### v1.5.2
|
|
443
|
+
|
|
444
|
+
- **Documentation**: Major README overhaul for beginner friendliness. Added dedicated Windows/WSL "Zero-to-Hero" guide.
|
|
445
|
+
|
|
446
|
+
### v1.5.0
|
|
447
|
+
|
|
448
|
+
- **Release**: Milestone v1.5.0 release with polished documentation and stable features.
|