mytunes-pro 1.8.4__tar.gz → 1.8.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: 1.8.4
3
+ Version: 1.8.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
@@ -19,7 +19,7 @@ Dynamic: license-file
19
19
 
20
20
  # 🎵 MyTunes Pro (Korean)
21
21
 
22
- **현대적인 CLI 유튜브 뮤직 플레이어 (v1.8.4)**
22
+ **현대적인 CLI 유튜브 뮤직 플레이어 (v1.8.8)**
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.4)**
211
+ **Modern CLI YouTube Music Player (v1.8.8)**
212
212
  A lightweight, keyboard-centric terminal player for streaming YouTube music.
213
213
 
214
214
  ---
@@ -296,7 +296,26 @@ sudo apt install mpv python3 python3-pip pipx python3-venv -y
296
296
 
297
297
  ## 🔄 Changelog
298
298
 
299
- ### v1.8.4 (Latest)
299
+ ### v1.8.8 (Latest)
300
+
301
+ - **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.
302
+
303
+ ### v1.8.7
304
+
305
+ - **Syntax Fix (WSL)**: Corrected a typo in the browser launch command that caused a crash on Linux/WSL systems.
306
+
307
+ ### v1.8.6
308
+
309
+ - **Browser Popup Optimization (Context7)**: Improved Live Station (F8) experience with optimized CLI flags for a perfectly minimalist UI.
310
+ - **Forced Window Dimensions**: Implemented profile isolation using a timestamped `user-data-dir` to ensure window size and position are always respected, overriding session memory.
311
+ - **UI Cleanup**: Automatically hides distraction-bars (translation, password, automation infobars) and enables instant autoplay for live streams.
312
+
313
+ ### v1.8.5
314
+
315
+ - **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.
316
+ - **Improved UI Flow**: Enhanced keyboard navigation experience across all list views (Main, Search, Favorites, History).
317
+
318
+ ### v1.8.4
300
319
 
301
320
  - **Python Crash Fix (WSL)**: Eliminated premature termination by implementing `start_new_session=True` for browser launches, isolating them from the TUI process group.
302
321
  - **Hybrid Browser Strategy**: Switched to the standard `webbrowser` library for F7 (YouTube links) for maximum internal stability.
@@ -1,6 +1,6 @@
1
1
  # 🎵 MyTunes Pro (Korean)
2
2
 
3
- **현대적인 CLI 유튜브 뮤직 플레이어 (v1.8.4)**
3
+ **현대적인 CLI 유튜브 뮤직 플레이어 (v1.8.8)**
4
4
  터미널 환경에서 **YouTube 음악을 검색하여 듣는** 가볍고 빠른 키보드 중심의 플레이어입니다.
5
5
  한국어 입력 환경에서도 **숫자 키(1~5)**를 통해 지연 없는 쾌적한 조작이 가능합니다.
6
6
 
@@ -189,7 +189,7 @@ Windows 환경에서 한글 검색이 안 되거나 설치가 어려운 분들
189
189
 
190
190
  # 🎵 MyTunes Pro (English)
191
191
 
192
- **Modern CLI YouTube Music Player (v1.8.4)**
192
+ **Modern CLI YouTube Music Player (v1.8.8)**
193
193
  A lightweight, keyboard-centric terminal player for streaming YouTube music.
194
194
 
195
195
  ---
@@ -277,7 +277,26 @@ sudo apt install mpv python3 python3-pip pipx python3-venv -y
277
277
 
278
278
  ## 🔄 Changelog
279
279
 
280
- ### v1.8.4 (Latest)
280
+ ### v1.8.8 (Latest)
281
+
282
+ - **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.
283
+
284
+ ### v1.8.7
285
+
286
+ - **Syntax Fix (WSL)**: Corrected a typo in the browser launch command that caused a crash on Linux/WSL systems.
287
+
288
+ ### v1.8.6
289
+
290
+ - **Browser Popup Optimization (Context7)**: Improved Live Station (F8) experience with optimized CLI flags for a perfectly minimalist UI.
291
+ - **Forced Window Dimensions**: Implemented profile isolation using a timestamped `user-data-dir` to ensure window size and position are always respected, overriding session memory.
292
+ - **UI Cleanup**: Automatically hides distraction-bars (translation, password, automation infobars) and enables instant autoplay for live streams.
293
+
294
+ ### v1.8.5
295
+
296
+ - **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.
297
+ - **Improved UI Flow**: Enhanced keyboard navigation experience across all list views (Main, Search, Favorites, History).
298
+
299
+ ### v1.8.4
281
300
 
282
301
  - **Python Crash Fix (WSL)**: Eliminated premature termination by implementing `start_new_session=True` for browser launches, isolating them from the TUI process group.
283
302
  - **Hybrid Browser Strategy**: Switched to the standard `webbrowser` library for F7 (YouTube links) for maximum internal stability.
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "mytunes-pro"
7
- version = "1.8.4"
7
+ version = "1.8.8"
8
8
  authors = [
9
9
  { name = "loxo", email = "loxo5432@gmail.com" },
10
10
  ]
@@ -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.4"
38
+ APP_VERSION = "1.8.8"
39
39
 
40
40
  # === [Strings & Localization] ===
41
41
  STRINGS = {
@@ -620,14 +620,24 @@ class MyTunesApp:
620
620
  if self.selection_idx > 0:
621
621
  self.selection_idx -= 1
622
622
  if self.selection_idx < self.scroll_offset: self.scroll_offset = self.selection_idx
623
+ elif current_list:
624
+ # v1.8.5 - Wrapping: Top to Bottom
625
+ self.selection_idx = len(current_list) - 1
626
+ h, _ = self.stdscr.getmaxyx()
627
+ # Maintain scroll consistency (h - 10 matches draw() layout)
628
+ list_area_height = h - 10
629
+ self.scroll_offset = max(0, self.selection_idx - list_area_height + 1)
623
630
  elif key == curses.KEY_DOWN or k_char in ['j', 'ㅓ']:
624
631
  if self.selection_idx < len(current_list) - 1:
625
632
  self.selection_idx += 1
626
633
  h, _ = self.stdscr.getmaxyx()
627
- # Use h - 10 to match inner_h in draw() (h - footer_h(5) - header_top(3) - borders(2))
628
634
  list_area_height = h - 10
629
635
  if self.selection_idx >= self.scroll_offset + list_area_height:
630
636
  self.scroll_offset = self.selection_idx - list_area_height + 1
637
+ elif current_list:
638
+ # v1.8.5 - Wrapping: Bottom to Top
639
+ self.selection_idx = 0
640
+ self.scroll_offset = 0
631
641
 
632
642
  # Enter / Select: Enter Only (L moved to Forward)
633
643
  elif key == '\n' or key == 10 or key == 13:
@@ -748,20 +758,31 @@ class MyTunesApp:
748
758
  self.status_msg = "🌐 Opening YouTube in Browser..."
749
759
  threading.Thread(target=webbrowser.open, args=(url,), daemon=True).start()
750
760
 
751
- # Open Live Station: F8
761
+ # Open Live Station (F8): App Mode with Optimized Flags (v1.8.6)
752
762
  elif key == curses.KEY_F8:
753
763
  live_url = "https://mytunes.postgresql.co.kr/live/"
754
764
  if self.is_remote():
755
765
  self.show_copy_dialog("Live Station", live_url)
756
766
  return
757
767
 
758
- # App Mode Flags
768
+ # v1.8.6 - Force window size/position by isolating profile
769
+ temp_user_data = os.path.join(tempfile.gettempdir(), f"mytunes_v186_{int(time.time() / 10)}")
770
+
771
+ # Optimized Flag Set (Context7 Research)
759
772
  flags = [
760
773
  f"--app={live_url}",
761
774
  "--window-size=712,800",
762
775
  "--window-position=100,100",
763
- "--new-window",
776
+ f"--user-data-dir={temp_user_data}",
764
777
  "--no-first-run",
778
+ "--no-default-browser-check",
779
+ "--disable-default-apps",
780
+ "--disable-infobars",
781
+ "--disable-translate",
782
+ "--disable-features=Translation",
783
+ "--disable-save-password-bubble",
784
+ "--autoplay-policy=no-user-gesture-required",
785
+ "--new-window",
765
786
  "--disable-extensions"
766
787
  ]
767
788
 
@@ -773,6 +794,7 @@ class MyTunesApp:
773
794
  for b_path in browsers:
774
795
  if os.path.exists(b_path):
775
796
  try:
797
+ # Use -na to open a fresh instance
776
798
  subprocess.Popen(["open", "-na", b_path, "--args"] + flags, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
777
799
  launched = True; break
778
800
  except: pass
@@ -809,8 +831,14 @@ class MyTunesApp:
809
831
 
810
832
  if not launched:
811
833
  try:
812
- # Fallback for WSL to CMD
813
- subprocess.Popen(["cmd.exe", "/c", f"start chrome --app={live_url}"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, start_new_session=True)
834
+ # Fallback for WSL to CMD (Convert path to Windows format)
835
+ win_user_data = temp_user_data
836
+ try:
837
+ # Use wslpath -w to convert /tmp/... to C:\Users\...
838
+ win_user_data = subprocess.check_output(['wslpath', '-w', temp_user_data], text=True).strip()
839
+ except: pass
840
+
841
+ subprocess.Popen(["cmd.exe", "/c", f"start chrome --app={live_url} --user-data-dir={win_user_data}"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, start_new_session=True)
814
842
  launched = True
815
843
  except: pass
816
844
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mytunes-pro
3
- Version: 1.8.4
3
+ Version: 1.8.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
@@ -19,7 +19,7 @@ Dynamic: license-file
19
19
 
20
20
  # 🎵 MyTunes Pro (Korean)
21
21
 
22
- **현대적인 CLI 유튜브 뮤직 플레이어 (v1.8.4)**
22
+ **현대적인 CLI 유튜브 뮤직 플레이어 (v1.8.8)**
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.4)**
211
+ **Modern CLI YouTube Music Player (v1.8.8)**
212
212
  A lightweight, keyboard-centric terminal player for streaming YouTube music.
213
213
 
214
214
  ---
@@ -296,7 +296,26 @@ sudo apt install mpv python3 python3-pip pipx python3-venv -y
296
296
 
297
297
  ## 🔄 Changelog
298
298
 
299
- ### v1.8.4 (Latest)
299
+ ### v1.8.8 (Latest)
300
+
301
+ - **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.
302
+
303
+ ### v1.8.7
304
+
305
+ - **Syntax Fix (WSL)**: Corrected a typo in the browser launch command that caused a crash on Linux/WSL systems.
306
+
307
+ ### v1.8.6
308
+
309
+ - **Browser Popup Optimization (Context7)**: Improved Live Station (F8) experience with optimized CLI flags for a perfectly minimalist UI.
310
+ - **Forced Window Dimensions**: Implemented profile isolation using a timestamped `user-data-dir` to ensure window size and position are always respected, overriding session memory.
311
+ - **UI Cleanup**: Automatically hides distraction-bars (translation, password, automation infobars) and enables instant autoplay for live streams.
312
+
313
+ ### v1.8.5
314
+
315
+ - **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.
316
+ - **Improved UI Flow**: Enhanced keyboard navigation experience across all list views (Main, Search, Favorites, History).
317
+
318
+ ### v1.8.4
300
319
 
301
320
  - **Python Crash Fix (WSL)**: Eliminated premature termination by implementing `start_new_session=True` for browser launches, isolating them from the TUI process group.
302
321
  - **Hybrid Browser Strategy**: Switched to the standard `webbrowser` library for F7 (YouTube links) for maximum internal stability.
File without changes
File without changes