▶️Show Now Playing information (in menubar and/or notifications)
- ⚡ Lightweight and fast!
🖥️Menubar only, no Dock icon 🎵Add any streaming URL that VLC can play 💤Stop playing when macOS goes to sleep 🕹️Remote control via scripts and launchers such as Alfred
Make sure you have
vlc installed, e.g. using
brew cask install vlc. Also, if you don't have Python installed, install it with
brew install python3. Use the
master repo of rumps to use the
wake() events (see PR #109)
channels.jsonto your needs
- Check the source code to e.g. change notification settings (manual for now)
- Build the
python setup.py py2app(see Development)
- Install the
Currently no packaged
.app is distributed because I've not yet been able to include an easy way to change / update channels. Suggestions for an easy / simple mechanism are welcome!
- Click a channel to start streaming (a ✔ is shown in front)
- Click the current channel to pause streaming (a
-is shown in front)
- Click "Stop" to stop streaming a channel
- "Now Playing" information shows on top of the menu and/or in menubar (truncated for long titles on smaller screens)
- Notifications are show when the "Now playing" information changes (unless it's the channel / show name)
radiobar.py source code to set options to show notifications or show nowplaying in the menubar.
Pause / resume stops streaming (but shows the channel as paused). It's not buffering radio (which didn't seem logical for live radio). You can also use the
remote.py to automate switching channels, see below.
When macOS sleeps streaming will be stopped and you have to manually resume it (this is a feature). This only works if you're using the latest version of
rumps (see PR #109).
Use the include
remote.py to send commands to a running RadioBar instance to change channels and switch on/off. You can also use the command as part of an Alfred workflow.
remote.py understands the following commands:
n- switch to channel n in your list (starting at 1) - start playing if stopped
off- stop playing raudio
pause- pause playing radio (don't switch station, but stop streaming)
on- resume playing radio (start streaming again)
nowplaying- output the now playing info
show- output the now playing info and trigger a notification
Make sure you have VLC installed, ie.
brew cask install vlc.
Tested in Python 2.7.x and 3.x. To run, try:
pip install -r requirements.txt
To re-build the macOS app, run:
rm -rf ./dist/ ./build/
python setup.py py2app
You can also use the supplied
Makefile to use
make build (default) and
make install (to copy the new .app to
"Now playing" integration is experimental and might not work as expected
parse_with_optionsmight not not be needing the second argument (
timeout) in your version. You could remove it (not sure yet if it makes any difference). I'm still trying to implement a hook that watches for metadata changes for now playing. Tips welcome :-)
To use it with the current VLC (>= 3.x) we need to preload the
libvlccore.dylibas a workaround. See https://github.com/oaubert/python-vlc/issues/37 for more info.
This is a fork of RadioBar built by wass3r (David May). All credits for the intial concept go to him!