content/projects/ommp.ko.md (3903B)
1 +++
2 title = "ommp"
3 description = "Rust 로 만든 터미널 음악 재생기. MPD 도 데몬도 없다."
4 weight = 20
5 date = 2026-08-01
6
7 [extra]
8 tier = "landing"
9
10 eyebrow = "터미널 음악 재생기 · Rust"
11 tagline = "터미널 음악 재생기는 대개 먼저 띄워 둬야 하는 무언가의 클라이언트다. ommp 는 그 전부다. 실행하면 재생되고, 끄면 남는 것이 없다."
12 lang = "Rust"
13 license = "Apache-2.0"
14 version = ""
15 platform = "Linux"
16 repo = "https://github.com/sqzer-x/ommp"
17 stars = 0
18 accent = "#7fc0d4"
19 mark = ""
20 logo = ""
21
22 actions = [
23 { label = "웹사이트", url = "https://ommp.sqzer.com", style = "primary" },
24 { label = "소스", url = "https://github.com/sqzer-x/ommp", style = "ghost" },
25 ]
26
27 facts = [
28 { value = "8", label = "오디오 형식" },
29 { value = "3", label = "이미지 프로토콜" },
30 { value = "0", label = "띄울 데몬" },
31 { value = "Apache-2.0", label = "라이선스" },
32 ]
33
34 features_eyebrow = "기능"
35 features_title = "라이브러리, 재생 목록, 그리고 앨범 아트"
36 features_intro = "화면은 세 칸이다. 왼쪽이 훑고, 가운데가 줄을 세우고, 오른쪽이 표지와 지금 곡을 보여 준다."
37 # 항목은 아래 [[extra.features]] 에 있다. 인라인 테이블은 TOML 1.0 에서
38 # 한 줄을 넘지 못하고, 이 설명들은 한 줄에 들어가지 않는다.
39
40 session_eyebrow = "설치"
41 session_title = "명령 하나, 그다음이 음악"
42 session_shell = "zsh"
43 session_caption = "인터페이스 아이콘에 Nerd Font 가, 색에 24비트 지원 터미널이 필요하다."
44 session_lines = [
45 { kind = "cmd", text = "$ cargo install ommp" },
46 { kind = "comment", text = "# Arch 라면: yay -S ommp" },
47 { kind = "cmd", text = "$ ommp" },
48 { kind = "comment", text = "# ~/Music 을 읽고 하위 디렉터리까지 훑는다. 바뀌면 바로 따라간다" },
49 { kind = "out", text = " Ctrl+S 검색 artist: album: genre: *.flac" },
50 { kind = "out", text = " Ctrl+H 키 목록" },
51 ]
52
53 cta_title = "~/Music 에 음악을 두고 실행하면 됩니다."
54 cta_text = "설정할 것이 없다. 앨범 아트는 파일 안의 태그에서 나온다."
55 cta_actions = [
56 { label = "ommp.sqzer.com", url = "https://ommp.sqzer.com", style = "primary" },
57 { label = "소스", url = "https://github.com/sqzer-x/ommp", style = "ghost" },
58 ]
59
60 [[extra.features]]
61 title = "여덟 가지 형식"
62 desc = "FLAC, MP3, M4A, OGG, WAV, Opus, AAC, WMA 를 PulseAudio 나 ALSA 로 낸다."
63
64 [[extra.features]]
65 title = "앨범 아트를 실제로 그린다"
66 desc = "Kitty 그래픽, Sixel, iTerm2 프로토콜 중 되는 것을 시작할 때 알아서 고른다. 아무것도 없으면 블록 문자로 떨어지는데, 그래도 표지는 보인다."
67
68 [[extra.features]]
69 title = "생각하는 대로 훑는다"
70 desc = "아티스트, 앨범, 장르, 형식, 디렉터리, 재생 목록. 위쪽 탭이 왼쪽 칸을 바꾼다."
71
72 [[extra.features]]
73 title = "필드 검색"
74 desc = "Ctrl+S 를 누르면 치는 대로 걸러진다. artist:radiohead, album:ok computer, genre:rock, *.flac."
75
76 [[extra.features]]
77 title = "기억한다"
78 desc = "음량과 재생 목록과 칸 배치가 다시 켜도 그대로고, 파일이 생기거나 사라지면 라이브러리가 따라간다."
79
80 [[extra.features]]
81 title = "마우스도 쓴다"
82 desc = "누르고 굴리고 끌어서 칸 크기를 바꾼다. 키보드로도 전부 되고, Ctrl+H 가 목록을 보여 준다."
83
84 +++
85
86 앨범 아트는 음악 파일의 태그에서 읽으므로 옆에 따로 둘 것이 없다. 터미널이 어떤
87 그리기 프로토콜을 지원하는지는 시작할 때 알아낸다. Ghostty, Kitty, WezTerm,
88 Konsole 은 실제 이미지가 나오고, foot 과 Sixel 을 켜서 빌드한 xterm 도 그렇다.