Yatoro is a standalone VIM-like Apple Music player written in Swift intended to be used in a Terminal emulator.
Yatoro strives for bringing all the features of the Apple Music app into your Terminal.
- Active Apple Music subscription
- macOS Sonoma or higher
- MusicKit library is only available on macOS for now. The workaround for Linux is being actively looked into, if you have any ideas please let me know
- Terminal of your preference
brew tap jayadamsmorgan/yatoro
brew install yatoro
Check out build instructions.
-
Important: Add both your Terminal and the Yatoro application in
System Settings -> Privacy & Security -> Media & Apple Music -
Run the app
The player is still early in the development, so the features are quite limited for now.
| Feature | Status | Comments |
|---|---|---|
| Playing music | Working | |
| Player controls | Working | |
| Now playing artwork | Working | |
| Status line | Working | |
| Command line | Working | |
| Searching music | Working | Only with :search command |
| Player queue | Working | Only adding to queue with :addToQueue command |
| Coloring the UI | Working | Check THEMING |
| Mouse controls | TBD | |
| Arrow navigation | TBD |
Feel free to suggest new features through issues!
Some of the options might be configured with command line arguments. Check Yatoro -h.
Another way to configure everything is configuration file. Check CONFIGURATION.
Command line arguments will overwrite the options set in configuration file.
| Action | Modifier | Button |
|---|---|---|
| Play/Pause Toggle | p |
|
| Play | SHIFT |
p |
| Pause | CTRL |
p |
| Stop | c |
|
| Clear queue | x |
|
| Close last search result or detail page | ESC |
|
| Play next | f |
|
| Play previous | b |
|
| Start seeking forward | CTRL |
f |
| Start seeking backward | CTRL |
b |
| Stop seeking | g |
|
| Restart song | r |
|
| Start searching | s |
|
| Station from current entry | CTRL |
s |
| Open command line | SHIFT |
: |
| Quit application | q |
|
| Quit application (2) | CTRL |
c |
Yatoro has a VIM-like command line. Check full command description in COMMANDS.
Check CONTRIBUTING and CODE_OF_CONDUCT.