mytunes-pro 1.8.4__py3-none-any.whl → 1.8.5__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
@@ -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.5"
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:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mytunes-pro
3
- Version: 1.8.4
3
+ Version: 1.8.5
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.5)**
23
23
  터미널 환경에서 **YouTube 음악을 검색하여 듣는** 가볍고 빠른 키보드 중심의 플레이어입니다.
24
24
  한국어 입력 환경에서도 **숫자 키(1~5)**를 통해 지연 없는 쾌적한 조작이 가능합니다.
25
25
 
@@ -296,7 +296,12 @@ 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.5 (Latest)
300
+
301
+ - **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.
302
+ - **Improved UI Flow**: Enhanced keyboard navigation experience across all list views (Main, Search, Favorites, History).
303
+
304
+ ### v1.8.4
300
305
 
301
306
  - **Python Crash Fix (WSL)**: Eliminated premature termination by implementing `start_new_session=True` for browser launches, isolating them from the TUI process group.
302
307
  - **Hybrid Browser Strategy**: Switched to the standard `webbrowser` library for F7 (YouTube links) for maximum internal stability.
@@ -0,0 +1,8 @@
1
+ mytunes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ mytunes/app.py,sha256=HyaRwiTtall9kcCj9JOs-93QPk6Nr15HQC_3ENfvqgI,59636
3
+ mytunes_pro-1.8.5.dist-info/licenses/LICENSE,sha256=lOrP0EIjxcgJia__W3f3PVDZkRd2oRzFkyH2g3LRRCg,1063
4
+ mytunes_pro-1.8.5.dist-info/METADATA,sha256=uFEB7IuCMadyb02juYp_6sCkI6GAuWhJ4_Y67GGo7eI,17561
5
+ mytunes_pro-1.8.5.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
6
+ mytunes_pro-1.8.5.dist-info/entry_points.txt,sha256=6-MsC13nIgzLvrREaGotc32FgxHx_Iuu1z2qCzJs1_4,65
7
+ mytunes_pro-1.8.5.dist-info/top_level.txt,sha256=KWzdFyNNG_sO7GT83-sN5fYArP4_DL5I8HYIwgazXyY,8
8
+ mytunes_pro-1.8.5.dist-info/RECORD,,
@@ -1,8 +0,0 @@
1
- mytunes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- mytunes/app.py,sha256=l9KMZxjy_BvLGI9Pphk5E1QYBMFWQ2ICWijCjWYM3ks,59186
3
- mytunes_pro-1.8.4.dist-info/licenses/LICENSE,sha256=lOrP0EIjxcgJia__W3f3PVDZkRd2oRzFkyH2g3LRRCg,1063
4
- mytunes_pro-1.8.4.dist-info/METADATA,sha256=tHjXf9El5TQnO2Ty-uq-ARJB2Yya4sR4puj5QAWIL_8,17271
5
- mytunes_pro-1.8.4.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
6
- mytunes_pro-1.8.4.dist-info/entry_points.txt,sha256=6-MsC13nIgzLvrREaGotc32FgxHx_Iuu1z2qCzJs1_4,65
7
- mytunes_pro-1.8.4.dist-info/top_level.txt,sha256=KWzdFyNNG_sO7GT83-sN5fYArP4_DL5I8HYIwgazXyY,8
8
- mytunes_pro-1.8.4.dist-info/RECORD,,