Skip to main content

A lightweight, keyboard-centric terminal player for streaming YouTube music.

Project description

๐ŸŽต MyTunes Pro (Korean)

ํ˜„๋Œ€์ ์ธ CLI ์œ ํŠœ๋ธŒ ๋ฎค์ง ํ”Œ๋ ˆ์ด์–ด (v1.9.8)
ํ„ฐ๋ฏธ๋„ ํ™˜๊ฒฝ์—์„œ YouTube ์Œ์•…์„ ๊ฒ€์ƒ‰ํ•˜์—ฌ ๋“ฃ๋Š” ๊ฐ€๋ณ๊ณ  ๋น ๋ฅธ ํ‚ค๋ณด๋“œ ์ค‘์‹ฌ์˜ ํ”Œ๋ ˆ์ด์–ด์ž…๋‹ˆ๋‹ค.
ํ•œ๊ตญ์–ด ์ž…๋ ฅ ํ™˜๊ฒฝ์—์„œ๋„ **์ˆซ์ž ํ‚ค(1~5)**๋ฅผ ํ†ตํ•ด ์ง€์—ฐ ์—†๋Š” ์พŒ์ ํ•œ ์กฐ์ž‘์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ’ก ๊ฐœ๋ฐœ ๋ฐฐ๊ฒฝ
์ด ํ”„๋กœ๊ทธ๋žจ์€ ํ•˜๋ฃจ ์ข…์ผ ํ„ฐ๋ฏธ๋„์„ ๋ณด๋Š” ๊ฐœ๋ฐœ์ž๋“ค์ด ์ž‘์—… ํ๋ฆ„์„ ๋Š์ง€ ์•Š๊ณ  ํŽธํ•˜๊ฒŒ ์Œ์•…์„ ๋“ฃ๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค.
ํŠนํžˆ **๋ชจ๋‹ˆํ„ฐ๊ฐ€ ์—†๋Š”(Headless) ๋ฏธ๋‹ˆ PC (Debian Server)**๋ฅผ ๊ฑฐ์‹ค์ด๋‚˜ ์ฑ…์ƒ์˜ '๋ฎค์ง ์Šคํ…Œ์ด์…˜'์œผ๋กœ ํ™œ์šฉํ•˜๊ณ ์ž ํ–ˆ๋˜ ๊ฐœ์ธ์ ์ธ ํ•„์š”์—์„œ ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
๋ณต์žกํ•œ ์„ค์ • ์—†์ด, ํ„ฐ๋ฏธ๋„ ํ•˜๋‚˜๋งŒ ์žˆ์œผ๋ฉด ์–ด๋””์„œ๋“  ๋‹น์‹ ๋งŒ์˜ ์˜ค๋””์˜ค ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

Python License

๐Ÿ“ธ Screenshots

Main Search
Play List

โœจ ์ฃผ์š” ๊ธฐ๋Šฅ

  • ๊ฐ•๋ ฅํ•œ ๊ฒ€์ƒ‰: yt-dlp ์—”์ง„์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ด‘๊ณ  ์—†๋Š” ๊ณ ์Œ์งˆ ์˜ค๋””์˜ค ์ŠคํŠธ๋ฆฌ๋ฐ.
  • ์พŒ์ ํ•œ ์กฐ์ž‘: curses ๊ธฐ๋ฐ˜ TUI๋กœ ๋น ๋ฅด๊ณ  ์ง๊ด€์ ์ธ ์ธํ„ฐํŽ˜์ด์Šค.
  • ์—ฐ์† ์žฌ์ƒ: ํ•œ ๊ณก์ด ๋๋‚˜๋ฉด ๋ฆฌ์ŠคํŠธ์˜ ๋‹ค์Œ ๊ณก์„ ์ž๋™์œผ๋กœ ์žฌ์ƒํ•ฉ๋‹ˆ๋‹ค.
  • ์ด์–ด๋“ฃ๊ธฐ: ์ค‘๋‹จ๋œ ์œ„์น˜๋ถ€ํ„ฐ ์ด์–ด์„œ ์žฌ์ƒํ• ์ง€ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ•œ๊ธ€ ์ตœ์ ํ™”: ํ•œ๊ธ€ ์ž์†Œ ์กฐํ•ฉ ๋Œ€๊ธฐ ์‹œ๊ฐ„ ์—†์ด ์ฆ‰์‹œ ๋ฐ˜์‘ํ•˜๋Š” ์ˆซ์ž ๋‹จ์ถ•ํ‚ค ์ง€์›.
  • ์Šค๋งˆํŠธ ๊ธฐ๋Šฅ: ์ฆ๊ฒจ์ฐพ๊ธฐ, ์žฌ์ƒ ๊ธฐ๋ก(์ตœ๋Œ€ 100๊ณก), ์ž๋™ ์Œ์•… ํ•„ํ„ฐ๋ง ๊ฒ€์ƒ‰.
  • ๋ผ์ด๋ธŒ (F8): ์ „ ์„ธ๊ณ„ ์œ ์ €๋“ค๊ณผ ํ•จ๊ป˜ ๋“ฃ๋Š” ์‹ค์‹œ๊ฐ„ ์Œ์•… ๋Œ€์‹œ๋ณด๋“œ (์ „์šฉ ํŒ์—…).
  • ๊ณต์œ  (F9): ๋‚ด๊ฐ€ ๋“ฃ๋Š” ๊ณก์„ ๋ผ์ด๋ธŒ ์Šคํ…Œ์ด์…˜์— ์ฆ‰์‹œ ์†ก์ถœํ•˜์—ฌ ํ•จ๊ป˜ ์ฆ๊น๋‹ˆ๋‹ค.
  • ๋น„์ฃผ์–ผ: ํ˜„๋Œ€์ ์ธ ์‹ฌ๋ณผ ์•„์ด์ฝ˜(โŒ•, โ˜…, โ—ท)๊ณผ ๊น”๋”ํ•œ ๋””์ž์ธ.

๐Ÿ’ป ๊ตฌ๋™ ํ™˜๊ฒฝ ์•ˆ๋‚ด

MyTunes Pro๋Š” ํ„ฐ๋ฏธ๋„(CLI) ๊ธฐ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค. ๊ฐ ์šด์˜์ฒด์ œ์—์„œ ๊ณ ์Œ์งˆ ์˜ค๋””์˜ค๋ฅผ ์žฌ์ƒํ•˜๊ธฐ ์œ„ํ•ด **mpv**๋ผ๋Š” ์—”์ง„์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • macOS: ํ„ฐ๋ฏธ๋„(iTerm2, Warp ์ถ”์ฒœ) ์ง€์›. Python 3.9 ์ด์ƒ ํ•„์š”.
  • Linux: ์šฐ๋ถ„ํˆฌ, ๋ฐ๋น„์•ˆ ๋“ฑ ๋ชจ๋“  ๋ฆฌ๋ˆ…์Šค ๋ฐฐํฌํŒ ์ง€์›.
  • Windows: WSL(Windows Subsystem for Linux) ํ™˜๊ฒฝ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. (์•„๋ž˜ ๊ฐ€์ด๋“œ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.)

๐Ÿš€ ๋น ๋ฅธ ์„ค์น˜ (Quick Install)

์ตœ์‹  macOS/Linux ์‹œ์Šคํ…œ(PEP 668)์—์„œ๋Š” pipx ์‚ฌ์šฉ์„ ๊ฐ•๋ ฅํžˆ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

1. ์ถ”์ฒœ ๋ฐฉ์‹ (pipx)

์ž๋™์œผ๋กœ ๊ฒฉ๋ฆฌ๋œ ํ™˜๊ฒฝ์„ ๋งŒ๋“ค๊ณ  ๋ช…๋ น์–ด๋ฅผ ๋“ฑ๋กํ•ด์ค๋‹ˆ๋‹ค.

# pipx install ์ดํ›„ ๋ช…๋ น์–ด ๋“ฑ๋ก์„ ์œ„ํ•ด ensurepath ์‹คํ–‰ ์‹œ์  ํ™•์ธ!
pipx install mytunes-pro
pipx ensurepath
source ~/.zshrc  # ๋˜๋Š” source ~/.bashrc (ํ˜„์žฌ ํ„ฐ๋ฏธ๋„์— ์ฆ‰์‹œ ์ ์šฉ)

2. ์ผ๋ฐ˜ pip ๋ฐฉ์‹

๋งŒ์•ฝ externally-managed-environment ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๋ฉด ์•„๋ž˜ ํ”Œ๋ž˜๊ทธ๋ฅผ ์ถ”๊ฐ€ํ•˜์„ธ์š”:

pip install mytunes-pro --break-system-packages

์„ค์น˜ ํ›„ ํ„ฐ๋ฏธ๋„ ์–ด๋””์„œ๋“  **mp**๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค!

๐Ÿ”„ ์ตœ์‹  ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ (Update)

์ด๋ฏธ ์„ค์น˜๋˜์–ด ์žˆ๋‹ค๋ฉด ์•„๋ž˜ ๋ช…๋ น์–ด๋กœ ๊ฐ„๋‹จํžˆ ์ตœ์‹  ๊ธฐ๋Šฅ์„ ๋ฐ˜์˜ํ•˜์„ธ์š”:

pipx upgrade mytunes-pro

๐Ÿ›  ํ™˜๊ฒฝ๋ณ„ ์š”๊ตฌ์‚ฌํ•ญ (Prerequisites)

์‹คํ–‰ ์ „ ๊ฐ ์šด์˜์ฒด์ œ์— ๋งž๋Š” ํ•„์ˆ˜ ๋„๊ตฌ๋“ค์„ ์„ค์น˜ํ•ด ์ฃผ์„ธ์š”.

macOS (Homebrew ์‚ฌ์šฉ)

brew install mpv python3 pipx

Linux (Ubuntu/Debian)

sudo apt update
sudo apt install mpv python3 python3-pip pipx python3-venv -y

Windows (์ดˆ๋ณด์ž์šฉ WSL ๊ฐ€์ด๋“œ)

Windows ํ™˜๊ฒฝ์—์„œ ํ•œ๊ธ€ ๊ฒ€์ƒ‰์ด ์•ˆ ๋˜๊ฑฐ๋‚˜ ์„ค์น˜๊ฐ€ ์–ด๋ ค์šด ๋ถ„๋“ค์„ ์œ„ํ•œ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค.

โ“ WSL์ด๋ž€?
์œˆ๋„์šฐ ์•ˆ์—์„œ ๋ฆฌ๋ˆ…์Šค๋ฅผ ์•ฑ์ฒ˜๋Ÿผ ์“ธ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. MyTunes๋Š” ์ด ํ™˜๊ฒฝ์—์„œ ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

  1. WSL ์„ค์น˜ํ•˜๊ธฐ:

    • ์‹œ์ž‘ ๋ฒ„ํŠผ ์šฐํด๋ฆญ -> ํ„ฐ๋ฏธ๋„(๊ด€๋ฆฌ์ž) ์‹คํ–‰.
    • ์•„๋ž˜ ๋ช…๋ น์–ด ์ž…๋ ฅ ํ›„ ์žฌ๋ถ€ํŒ…:
      wsl --install -d Debian
      
  2. ํ•„์ˆ˜ ๋„๊ตฌ ์„ค์น˜:

    sudo apt update && sudo apt install mpv python3-pip pipx -y
    
  3. MyTunes ์„ค์น˜:

    pipx install mytunes-pro
    pipx ensurepath
    source ~/.bashrc  # ์„ค์ • ์ฆ‰์‹œ ๋ฐ˜์˜
    

๐Ÿง‘โ€๐Ÿ’ป ๊ฐœ๋ฐœ์ž์šฉ ์ˆ˜๋™ ์„ค์น˜ (Manual Installation)

์ง์ ‘ ์†Œ์Šคํฌ๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ๊ฐœ๋ฐœ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์•„๋ž˜ ๊ณผ์ •์„ ๋”ฐ๋ฅด์„ธ์š”.

  1. ์ €์žฅ์†Œ ํด๋ก :

    git clone https://github.com/postgresql-co-kr/mytunes.git
    cd mytunes
    
  2. ๊ฐ€์ƒํ™˜๊ฒฝ ์„ค์ •:

    python3 -m venv venv
    source venv/bin/activate  # macOS/Linux
    pip install -r requirements.txt
    
  3. ์‹คํ–‰:

    python3 mytune.py
    

โŒจ๏ธ ์กฐ์ž‘ ๋ฐฉ๋ฒ• (Controls)

MyTunes Pro๋Š” ํ‚ค๋ณด๋“œ๋งŒ์œผ๋กœ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค.
ํ•œ๊ธ€ ์ž…๋ ฅ ์ƒํƒœ์—์„œ๋„ ๋Š๊น€ ์—†๋Š” ์กฐ์ž‘์„ ์œ„ํ•ด ์ˆซ์ž ๋‹จ์ถ•ํ‚ค ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

โšก๏ธ ์ฆ‰์‹œ ๋ฐ˜์‘ ๋‹จ์ถ•ํ‚ค (์ˆซ์žํ‚ค)

ํ•œ์˜ ์ „ํ™˜ ์—†์ด ์–ธ์ œ๋“  ๋ˆ„๋ฅด๋ฉด ์ฆ‰์‹œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

ํ‚ค ๊ธฐ๋Šฅ ์„ค๋ช…
1 ๊ฒ€์ƒ‰ (Search) ์Œ์•… ๊ฒ€์ƒ‰์ฐฝ ์—ด๊ธฐ (๋‹จ์ถ•ํ‚ค S์™€ ๋™์ผ)
2 ์ฆ๊ฒจ์ฐพ๊ธฐ (Fav) ์ €์žฅ๋œ ์ฆ๊ฒจ์ฐพ๊ธฐ ๋ชฉ๋ก ๋ณด๊ธฐ (๋‹จ์ถ•ํ‚ค F์™€ ๋™์ผ)
3 ๊ธฐ๋ก (History) ์ตœ๊ทผ ์žฌ์ƒํ•œ 100๊ณก ๋ณด๊ธฐ (๋‹จ์ถ•ํ‚ค R์™€ ๋™์ผ)
4 ๋ฉ”์ธ (Main) ๋ฉ”์ธ ํ™”๋ฉด์œผ๋กœ ๋Œ์•„๊ฐ€๊ธฐ (๋‹จ์ถ•ํ‚ค M์™€ ๋™์ผ)
5 ์ถ”๊ฐ€/์‚ญ์ œ ์„ ํƒํ•œ ๊ณก ์ฆ๊ฒจ์ฐพ๊ธฐ ํ† ๊ธ€ (๋‹จ์ถ•ํ‚ค A์™€ ๋™์ผ)
+ ๋ณผ๋ฅจ UP ๋ณผ๋ฅจ +5% (๋‹จ์ถ•ํ‚ค =์™€ ๋™์ผ)
- ๋ณผ๋ฅจ DOWN ๋ณผ๋ฅจ -5% (๋‹จ์ถ•ํ‚ค _์™€ ๋™์ผ)
F7 ์œ ํŠœ๋ธŒ ์—ด๊ธฐ ํ˜„์žฌ ๊ณก์„ ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋ณด๊ธฐ
F8 ๋ผ์ด๋ธŒ (Live) ์‹ค์‹œ๊ฐ„ ์Œ์•… ๋Œ€์‹œ๋ณด๋“œ ์—ด๊ธฐ (์ „์šฉ ํŒ์—…์ฐฝ)
F9 ๊ณต์œ  (Share) ํ˜„์žฌ ๊ณก์„ ๋ผ์ด๋ธŒ ์Šคํ…Œ์ด์…˜์— ์ฆ‰์‹œ ๊ณต์œ 
6 ๋’ค๋กœ๊ฐ€๊ธฐ ์ด์ „ ํ™”๋ฉด์œผ๋กœ ์ด๋™ (๋‹จ์ถ•ํ‚ค Q, H์™€ ๋™์ผ)
ESC ๋ฐฐ๊ฒฝ์žฌ์ƒ ์Œ์•… ๋„์ง€ ์•Š๊ณ  ๋‚˜๊ฐ€๊ธฐ (๋ฐฑ๊ทธ๋ผ์šด๋“œ ์žฌ์ƒ)

๐Ÿงญ ๊ธฐ๋ณธ ํƒ์ƒ‰

ํ‚ค ๋™์ž‘
โ†‘ / โ†“ / k / j ๋ฆฌ์ŠคํŠธ ์œ„/์•„๋ž˜ ์ด๋™ (Vim ํ‚ค ์ง€์›)
Enter / l ์„ ํƒ / ์žฌ์ƒ (ํ•œ๊ธ€ ใ…ฃ๋„ ์ง€์›)
Space ์žฌ์ƒ / ์ผ์‹œ์ •์ง€ (Play/Pause)
- / + ๋ณผ๋ฅจ ์กฐ์ ˆ (- / +)
, / . 10์ดˆ ๋’ค๋กœ / ์•ž์œผ๋กœ ๊ฐ๊ธฐ
< / > 30์ดˆ ๋’ค๋กœ / ์•ž์œผ๋กœ ๊ฐ๊ธฐ (Shift)
Backspace / h / q ๋’ค๋กœ ๊ฐ€๊ธฐ / ๊ฒ€์ƒ‰์–ด ์ง€์šฐ๊ธฐ
/ ๊ฒ€์ƒ‰ (Vim Style)

๐Ÿ“‚ ๋ฐ์ดํ„ฐ ์ €์žฅ

  • ์ฆ๊ฒจ์ฐพ๊ธฐ์™€ ์žฌ์ƒ ๊ธฐ๋ก์€ ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ์˜ ~/.pymusic_data.json ํŒŒ์ผ์— ์˜๊ตฌ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.
  • ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ ํ›„ ๋‹ค์‹œ ์‹คํ–‰ํ•ด๋„ ๋ฐ์ดํ„ฐ๊ฐ€ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.


๐ŸŽต MyTunes Pro (English)

Modern CLI YouTube Music Player (v1.9.8)
A lightweight, keyboard-centric terminal player for streaming YouTube music.


๐Ÿ’ป Environment Support

MyTunes Pro is a Terminal-native application.

  • macOS: Native Terminal support. Python 3.9+ required.
  • Linux: Supports all distributions (Ubuntu, Debian, etc.).
  • Windows: Requires WSL (Windows Subsystem for Linux).

๐Ÿš€ Quick Start

On modern macOS/Linux systems (PEP 668), using pipx is highly recommended.

1. Recommended (pipx)

pipx install mytunes-pro
pipx ensurepath
source ~/.zshrc  # or source ~/.bashrc to apply changes immediately

2. Standard pip

pip install mytunes-pro --break-system-packages

Run simply by typing mp in your terminal!


๐Ÿ›  Prerequisites

macOS (Homebrew)

brew install mpv python3 pipx

Linux (Ubuntu/Debian)

sudo apt update
sudo apt install mpv python3 python3-pip pipx python3-venv -y

Windows (Beginner's WSL Guide)

  1. Install WSL:

    wsl --install -d Debian
    

    Restart your computer after installation.

  2. Install Core Tools:

    sudo apt update && sudo apt install mpv python3-pip pipx -y
    
  3. Install MyTunes:

    pipx install mytunes-pro
    pipx ensurepath
    source ~/.bashrc
    

โŒจ๏ธ English Controls

Key Function Description
1 Search Open search bar (Same as S)
2 Favs View favorites list (Same as F)
3 Hist View history (Same as R)
4 Main Go to Main Menu (Same as M)
5 Add/Del Toggle Favorite (Same as A)
+ Vol Up Volume +5% (Same as =)
- Vol Down Volume -5% (Same as _)
6 Back Go back (Same as Q, H)
ESC Bg Play Exit app but keep music playing

๐Ÿ”„ Changelog

v1.9.8 (Realtime Stabilization)

  • UI Refinement: Implemented in-list "Now Playing" sticky behavior with auto-scroll synchronization for a seamless browsing experience.
  • Queue System Optimization: Capped incoming track queue at 200 items with a "200+" notification indicator for high-traffic stability.
  • Popup UI Consistency: Unified Live Station popup dimensions to 620x900 across Web and TUI.
  • Improved YouTube Playback: Optimized the YouTube player hook to resolve initialization race conditions and syntax edge cases.

v1.9.7 (Analytics)

  • Analytics: Integrated Google Analytics 4 (GA4) into the landing page and realtime feed to track visitor traffic and usage patterns.

v1.9.6 (Realtime UX)

  • 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.

v1.9.5

  • 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.

v1.9.4

  • 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.

v1.9.3

  • Hotfix for Startup: Fixed a syntax error introduced in v1.9.2 that prevented the application from starting.

v1.9.2

  • 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.

v1.9.1

  • 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.

v1.9.0

  • 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.

v1.8.9

  • 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.

v1.8.8

  • 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.

v1.8.7

  • Syntax Fix (WSL): Corrected a typo in the browser launch command that caused a crash on Linux/WSL systems.

v1.8.6

  • Browser Popup Optimization (Context7): Improved Live Station (F8) experience with optimized CLI flags for a perfectly minimalist UI.
  • Forced Window Dimensions: Implemented profile isolation using a timestamped user-data-dir to ensure window size and position are always respected, overriding session memory.
  • UI Cleanup: Automatically hides distraction-bars (translation, password, automation infobars) and enables instant autoplay for live streams.

v1.8.5

  • 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.
  • Improved UI Flow: Enhanced keyboard navigation experience across all list views (Main, Search, Favorites, History).

v1.8.4

  • Python Crash Fix (WSL): Eliminated premature termination by implementing start_new_session=True for browser launches, isolating them from the TUI process group.
  • Hybrid Browser Strategy: Switched to the standard webbrowser library for F7 (YouTube links) for maximum internal stability.
  • Global Error Protection: Wrapped the main application loop in an exception guard to catch and log transient OS errors without crashing the entire app.
  • Refined Process Cleanup: Specialized the pkill logic to prevent accidental self-termination while maintaining reliable MPV management.

v1.8.3

  • Direct Binary Execution (WSL): Resolved shell parsing issues by bypassing cmd.exe and directly executing Windows browser binaries via /mnt/c/ paths.
  • App Mode Reliability: Guaranteed 712x800 popup mode by ensuring flags are delivered directly to the browser process without intermediate shell mangling.
  • Fixed URL Resolution: Eliminated the "Empty URL" bug by standardizing argument passing between WSL and Windows.

v1.8.1

  • Fixed App Mode (WSL/Win): Guaranteed the browser opens in a clean "App Mode" popup by fixing shell quoting issues in the launch command.
  • URL Resolution Fix: Resolved the "Empty URL" bug on WSL/Windows by ensuring the --app flag is correctly parsed by the native Windows shell.
  • Reliable Popup UI: Standardized on start "" chrome for WSL to ensure flags are never misidentified as window titles.

v1.8.0

  • 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.
  • 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.

v1.7.9

  • Pure CMD-based Launch (WSL/Win): Final fix for WSL-to-Windows browser launch using cmd.exe /c with native %LOCALAPPDATA% expansion.
  • 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.
  • Stable Window Sizing: Guaranteed 712x800 window size for Live Station (F8) from WSL by correctly isolating browser profiles via native Windows paths.

v1.7.8

  • 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.
  • Improved Security & Isolation: Profiles are now created in the standard Windows LOCALAPPDATA directory with native permissions, ensuring Chrome can always access its data.
  • Backslash Consistency: Forced backslash-only paths through pure PowerShell logic, fixing the mixed-slash issue seen in WSL.

v1.7.7

  • PowerShell Launch (WSL/Win): Switched to powershell.exe for launching browsers from WSL to ensure robust argument parsing and path handling.
  • Directory Fix: Resolved "cannot read or write" error on Windows/WSL by utilizing $env:TEMP directly within a native shell context.
  • Reliable Sizing: Guaranteed window size application by combining isolated profiles with PowerShell's superior process management.

v1.7.6

  • 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.
  • WSL Path Translation: Implemented automatic Windows temp path resolution in WSL to enable session persistence and profile isolation.

v1.7.5

  • WSL Integration: Fully optimized browser launch from WSL by utilizing cmd.exe to trigger native Windows browsers.
  • F7 Windows Resolve: Fixed an issue where YouTube (F7) wouldn't open in WSL environments.
  • F8 App Mode (WSL/Win): Enhanced flags to ensure "App Mode" (no address bar) works consistently even when launched from WSL.

v1.7.4

  • 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.
  • Improved Isolation: Switched to higher-frequency session rotation for Live Station (F8) to guarantee window size and position persistence fixes.

v1.7.3

  • Windows Fixes: Resolved issue where F7 (YouTube) failed to open browsers on Windows by implementing os.startfile logic.
  • F8 Initialization: Improved Live Station (F8) window sizing on Windows by forcing a clean session state.
  • Robustness: Enhanced cross-platform browser redirection logic to ensure consistent behavior.

v1.7.2

  • Windows Optimization: Fixed an issue where the Live Station (F8) window size was not correctly applied on Windows.
  • Improved Browser Support: Added Microsoft Edge to the automatic browser detection list.
  • Robust Launch Logic: Enhanced browser internal flags for a better initial window experience.

v1.7.1

  • Performance & Logic Optimization: Standardized browser launch logic for Live Station (F8) across Mac, Windows, and Linux.
  • UI Polish: Silenced browser launch warnings in the terminal and added professional UI flags (disable translation/bubble) for a cleaner experience.
  • Improved Popup Behavior: Optimized web interface to reuse the same window for Live Station, matching CLI application behavior.
  • Global Sync: Version 1.7.1 synchronization across all platforms.

v1.6.0

  • Global Version Synchronization: Synchronized version 1.6.0 across CLI, README, and Web interface.
  • Dependency Fix: Ensured pusher dependency is correctly included for real-time features.

v1.5.6

  • 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.
  • Bug Fix: Resolved an issue where the 'Search Results History' was not displaying correctly in the background.

v1.5.5

  • Search Result History: Automatically saves up to 200 search results.
  • Enhanced Search UX: Previously searched items are displayed in the background automatically when opening search.
  • Deduplication: Automatically removes duplicate search results to keep history clean.

v1.5.4

  • Documentation Refinement: Clarified installation steps and removed redundant WSL locale guide.
  • Code Cleanup: Reverted unnecessary locale settings in source code.

v1.5.3

  • Locale Optimization: Removed complicated locale generation steps for Windows/WSL users. Now relies on standard system locale or simple C.UTF-8 fallback.

v1.5.2

  • Documentation: Major README overhaul for beginner friendliness. Added dedicated Windows/WSL "Zero-to-Hero" guide.

v1.5.0

  • Release: Milestone v1.5.0 release with polished documentation and stable features.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mytunes_pro-1.9.8.tar.gz (35.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mytunes_pro-1.9.8-py3-none-any.whl (27.1 kB view details)

Uploaded Python 3

File details

Details for the file mytunes_pro-1.9.8.tar.gz.

File metadata

  • Download URL: mytunes_pro-1.9.8.tar.gz
  • Upload date:
  • Size: 35.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mytunes_pro-1.9.8.tar.gz
Algorithm Hash digest
SHA256 77ca819f9df1325ce4e6011d935d3d7363b4093011bcf096139355109056b663
MD5 5d98a4648454e9d9a384880e36727244
BLAKE2b-256 0068a3a649dfdbe174d14832b54890a8d145d65af52ffd1c258e0dee6827e8e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for mytunes_pro-1.9.8.tar.gz:

Publisher: pypi.yml on postgresql-co-kr/mytunes

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mytunes_pro-1.9.8-py3-none-any.whl.

File metadata

  • Download URL: mytunes_pro-1.9.8-py3-none-any.whl
  • Upload date:
  • Size: 27.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mytunes_pro-1.9.8-py3-none-any.whl
Algorithm Hash digest
SHA256 d2cdc58b75bc879d65809302d666d6ff82b02bf301d1d53d4a408e5cf815dd57
MD5 63662d7cf4f7008186b6975cef832155
BLAKE2b-256 ff9f2b6c39ca9b46b157623ab6ec4f9282bc4d2f4c3fd12a38d1d2946885ee90

See more details on using hashes here.

Provenance

The following attestation bundles were made for mytunes_pro-1.9.8-py3-none-any.whl:

Publisher: pypi.yml on postgresql-co-kr/mytunes

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page