mytunes-pro 1.8.1__py3-none-any.whl → 1.8.3__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 +40 -24
- {mytunes_pro-1.8.1.dist-info → mytunes_pro-1.8.3.dist-info}/METADATA +10 -4
- mytunes_pro-1.8.3.dist-info/RECORD +8 -0
- mytunes_pro-1.8.1.dist-info/RECORD +0 -8
- {mytunes_pro-1.8.1.dist-info → mytunes_pro-1.8.3.dist-info}/WHEEL +0 -0
- {mytunes_pro-1.8.1.dist-info → mytunes_pro-1.8.3.dist-info}/entry_points.txt +0 -0
- {mytunes_pro-1.8.1.dist-info → mytunes_pro-1.8.3.dist-info}/licenses/LICENSE +0 -0
- {mytunes_pro-1.8.1.dist-info → mytunes_pro-1.8.3.dist-info}/top_level.txt +0 -0
mytunes/app.py
CHANGED
|
@@ -35,7 +35,7 @@ MPV_SOCKET = "/tmp/mpv_socket"
|
|
|
35
35
|
LOG_FILE = "/tmp/mytunes_mpv.log"
|
|
36
36
|
PID_FILE = "/tmp/mytunes_mpv.pid"
|
|
37
37
|
APP_NAME = "MyTunes Pro"
|
|
38
|
-
APP_VERSION = "1.8.
|
|
38
|
+
APP_VERSION = "1.8.3"
|
|
39
39
|
|
|
40
40
|
# === [Strings & Localization] ===
|
|
41
41
|
STRINGS = {
|
|
@@ -809,7 +809,7 @@ class MyTunesApp:
|
|
|
809
809
|
os.path.join(os.environ.get('PROGRAMFILES(X86)', 'C:\\Program Files (x86)'), 'Microsoft\\Edge\\Application\\msedge.exe'),
|
|
810
810
|
os.path.join(os.environ.get('PROGRAMFILES', 'C:\\Program Files'), 'Microsoft\\Edge\\Application\\msedge.exe'),
|
|
811
811
|
]
|
|
812
|
-
# v1.8.
|
|
812
|
+
# v1.8.2 - Maximum precision: --app flag MUST be exact and first for reliable popup mode
|
|
813
813
|
win_flags = [
|
|
814
814
|
f'--app={live_url}',
|
|
815
815
|
'--window-size=712,800',
|
|
@@ -826,31 +826,47 @@ class MyTunesApp:
|
|
|
826
826
|
launched = True; break
|
|
827
827
|
except: pass
|
|
828
828
|
|
|
829
|
-
# 3. WSL (Run Windows Chrome
|
|
829
|
+
# 3. WSL (Run Windows Chrome directly if possible, fallback to cmd.exe)
|
|
830
830
|
elif self.is_wsl():
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
831
|
+
# v1.8.3 - Direct binary execution for maximum precision (Avoids cmd.exe shell splitting)
|
|
832
|
+
# We try standard Windows installation paths via /mnt/c/
|
|
833
|
+
wsl_win_paths = [
|
|
834
|
+
"/mnt/c/Program Files/Google/Chrome/Application/chrome.exe",
|
|
835
|
+
"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe",
|
|
836
|
+
"/mnt/c/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe",
|
|
837
|
+
"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe",
|
|
838
|
+
"/mnt/c/Program Files/Microsoft/Edge/Application/msedge.exe",
|
|
839
|
+
]
|
|
840
|
+
# Same precise flags for App Mode
|
|
841
|
+
wsl_win_flags = [
|
|
842
|
+
f'--app={live_url}',
|
|
843
|
+
'--window-size=712,800',
|
|
844
|
+
'--window-position=100,100',
|
|
845
|
+
'--new-window',
|
|
846
|
+
'--no-first-run',
|
|
847
|
+
'--disable-extensions'
|
|
848
|
+
]
|
|
849
|
+
|
|
850
|
+
launched_direct = False
|
|
851
|
+
for p in wsl_win_paths:
|
|
852
|
+
if os.path.exists(p):
|
|
853
|
+
try:
|
|
854
|
+
# Direct execution from WSL to Windows binary is extremely stable
|
|
855
|
+
subprocess.Popen([p] + wsl_win_flags, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
|
|
856
|
+
launched = True; launched_direct = True; break
|
|
857
|
+
except: pass
|
|
858
|
+
|
|
859
|
+
if not launched_direct:
|
|
850
860
|
try:
|
|
851
|
-
|
|
861
|
+
# Final fallback: cmd.exe start (Literal strings, no title)
|
|
862
|
+
cmd_fallback = f'start chrome --app={live_url} --window-size=712,800 --new-window'
|
|
863
|
+
subprocess.Popen(["cmd.exe", "/c", cmd_fallback], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
|
|
852
864
|
launched = True
|
|
853
|
-
except:
|
|
865
|
+
except:
|
|
866
|
+
try:
|
|
867
|
+
subprocess.Popen(["cmd.exe", "/c", "start", live_url], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
|
|
868
|
+
launched = True
|
|
869
|
+
except: pass
|
|
854
870
|
|
|
855
871
|
# 4. Native Linux
|
|
856
872
|
else:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mytunes-pro
|
|
3
|
-
Version: 1.8.
|
|
3
|
+
Version: 1.8.3
|
|
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
|
|
@@ -19,7 +19,7 @@ Dynamic: license-file
|
|
|
19
19
|
|
|
20
20
|
# 🎵 MyTunes Pro (Korean)
|
|
21
21
|
|
|
22
|
-
**현대적인 CLI 유튜브 뮤직 플레이어 (v1.8.
|
|
22
|
+
**현대적인 CLI 유튜브 뮤직 플레이어 (v1.8.3)**
|
|
23
23
|
터미널 환경에서 **YouTube 음악을 검색하여 듣는** 가볍고 빠른 키보드 중심의 플레이어입니다.
|
|
24
24
|
한국어 입력 환경에서도 **숫자 키(1~5)**를 통해 지연 없는 쾌적한 조작이 가능합니다.
|
|
25
25
|
|
|
@@ -208,7 +208,7 @@ Windows 환경에서 한글 검색이 안 되거나 설치가 어려운 분들
|
|
|
208
208
|
|
|
209
209
|
# 🎵 MyTunes Pro (English)
|
|
210
210
|
|
|
211
|
-
**Modern CLI YouTube Music Player (v1.8.
|
|
211
|
+
**Modern CLI YouTube Music Player (v1.8.3)**
|
|
212
212
|
A lightweight, keyboard-centric terminal player for streaming YouTube music.
|
|
213
213
|
|
|
214
214
|
---
|
|
@@ -296,7 +296,13 @@ sudo apt install mpv python3 python3-pip pipx python3-venv -y
|
|
|
296
296
|
|
|
297
297
|
## 🔄 Changelog
|
|
298
298
|
|
|
299
|
-
### v1.8.
|
|
299
|
+
### v1.8.3 (Latest)
|
|
300
|
+
|
|
301
|
+
- **Direct Binary Execution (WSL)**: Resolved shell parsing issues by bypassing `cmd.exe` and directly executing Windows browser binaries via `/mnt/c/` paths.
|
|
302
|
+
- **App Mode Reliability**: Guaranteed 712x800 popup mode by ensuring flags are delivered directly to the browser process without intermediate shell mangling.
|
|
303
|
+
- **Fixed URL Resolution**: Eliminated the "Empty URL" bug by standardizing argument passing between WSL and Windows.
|
|
304
|
+
|
|
305
|
+
### v1.8.1
|
|
300
306
|
|
|
301
307
|
- **Fixed App Mode (WSL/Win)**: Guaranteed the browser opens in a clean "App Mode" popup by fixing shell quoting issues in the launch command.
|
|
302
308
|
- **URL Resolution Fix**: Resolved the "Empty URL" bug on WSL/Windows by ensuring the `--app` flag is correctly parsed by the native Windows shell.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
mytunes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
mytunes/app.py,sha256=-bEfxmLNP_nSrvdoZNw3WQTgtlkn5dwUON7XgG_7ufw,61946
|
|
3
|
+
mytunes_pro-1.8.3.dist-info/licenses/LICENSE,sha256=lOrP0EIjxcgJia__W3f3PVDZkRd2oRzFkyH2g3LRRCg,1063
|
|
4
|
+
mytunes_pro-1.8.3.dist-info/METADATA,sha256=hY0oW58qdE_X9QE3vH-6LaX5R05XUljQ6IZCAfJbdbE,16657
|
|
5
|
+
mytunes_pro-1.8.3.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
6
|
+
mytunes_pro-1.8.3.dist-info/entry_points.txt,sha256=6-MsC13nIgzLvrREaGotc32FgxHx_Iuu1z2qCzJs1_4,65
|
|
7
|
+
mytunes_pro-1.8.3.dist-info/top_level.txt,sha256=KWzdFyNNG_sO7GT83-sN5fYArP4_DL5I8HYIwgazXyY,8
|
|
8
|
+
mytunes_pro-1.8.3.dist-info/RECORD,,
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
mytunes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
mytunes/app.py,sha256=cMlDP9j0M7AtoJtgCQiYDysG9TmoDknq-yZG3Th76Oc,60962
|
|
3
|
-
mytunes_pro-1.8.1.dist-info/licenses/LICENSE,sha256=lOrP0EIjxcgJia__W3f3PVDZkRd2oRzFkyH2g3LRRCg,1063
|
|
4
|
-
mytunes_pro-1.8.1.dist-info/METADATA,sha256=WMwanWpyV1OEIPMJJHgiHjSqZ0RhY9Yrf1NcOwjvqpw,16208
|
|
5
|
-
mytunes_pro-1.8.1.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
6
|
-
mytunes_pro-1.8.1.dist-info/entry_points.txt,sha256=6-MsC13nIgzLvrREaGotc32FgxHx_Iuu1z2qCzJs1_4,65
|
|
7
|
-
mytunes_pro-1.8.1.dist-info/top_level.txt,sha256=KWzdFyNNG_sO7GT83-sN5fYArP4_DL5I8HYIwgazXyY,8
|
|
8
|
-
mytunes_pro-1.8.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|