{"id":13752511,"url":"https://github.com/mdbraber/radiobar","last_synced_at":"2025-05-09T19:32:24.788Z","repository":{"id":44556384,"uuid":"163397791","full_name":"mdbraber/radiobar","owner":"mdbraber","description":"macOS menubar app to listen to streaming radio","archived":false,"fork":false,"pushed_at":"2023-05-22T21:36:44.000Z","size":209,"stargazers_count":56,"open_issues_count":6,"forks_count":8,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-08-03T09:04:05.852Z","etag":null,"topics":["macos","menubar","python","radio","rumps","vlc"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mdbraber.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-12-28T10:27:36.000Z","updated_at":"2024-02-17T10:13:29.000Z","dependencies_parsed_at":"2024-08-03T09:03:55.111Z","dependency_job_id":null,"html_url":"https://github.com/mdbraber/radiobar","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdbraber%2Fradiobar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdbraber%2Fradiobar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdbraber%2Fradiobar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdbraber%2Fradiobar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mdbraber","download_url":"https://codeload.github.com/mdbraber/radiobar/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224880776,"owners_count":17385367,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["macos","menubar","python","radio","rumps","vlc"],"created_at":"2024-08-03T09:01:06.861Z","updated_at":"2024-11-16T05:30:39.074Z","avatar_url":"https://github.com/mdbraber.png","language":"Python","funding_links":[],"categories":["Entertainment"],"sub_categories":["Radio/Radio-esque"],"readme":"## RadioBar\n\nmacOS menubar app to play user-defined radio stations with help from [rumps](https://github.com/jaredks/rumps) and VLC. It includes a `remote` to switch channels, on/off, pause/resume etc. Forked from [RadioBar](https://github.com/wass3r/RadioBar) by [David May](https://github.com/wass3r)\n\n![screenshot](screenshot.png)\n\n## Features\n\n- ▶️ **Show _Now Playing_ information (in menubar and/or notifications)**\n- ⚡ **Lightweight and fast!**\n- 🖥️ **Menubar only, no Dock icon**\n- 🎵 **Add any streaming URL that VLC can play**\n- 💤 **Stop playing when macOS goes to sleep**\n- 🕹️ **Remote control via scripts and launchers such as Alfred**\n\n\n## Installation\n\nMake 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](https://github.com/jaredks/rumps) to use the `sleep()` and `wake()` events (see [PR #109](https://github.com/jaredks/rumps/pull/109))\n\n- Adapt `channels.json` to your needs\n- Check the source code to e.g. change notification settings (manual for now)\n- Build the `.app` using `python setup.py py2app` (see [Development](#Development))\n- Install the `.app` from the `dist/` directory\n\nCurrently 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!\n\n## Usage\n\n- Click a channel to start streaming (a ✔ is shown in front)\n- Click the current channel to pause streaming (a `-` is shown in front)\n- Click \"Stop\" to stop streaming a channel\n- \"Now Playing\" information shows on top of the menu and/or in menubar (truncated for long titles on smaller screens)\n- Notifications are show when the \"Now playing\" information changes (unless it's the channel / show name)\n\nCheck `radiobar.py` source code to set options to show notifications or show nowplaying in the menubar.\n\nPause / 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.\n\nWhen 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](https://github.com/jaredks/rumps/pull/109)).\n\n## Remote\n\nUse 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\n- `n` - switch to channel _n_ in your list (starting at 1) - start playing if stopped\n- `off` - stop playing raudio\n- `pause` - pause playing radio (don't switch station, but stop streaming)\n- `resume` | `on` - resume playing radio (start streaming again)\n- `nowplaying` - output the now playing info \n- `show` - output the now playing info and trigger a notification\n\n## Development\n\nMake sure you have VLC installed, ie. `brew cask install vlc`.\n\nTested in Python 2.7.x and 3.x. To run, try:\n\n1. `pip install -r requirements.txt`\n2. `python radiobar.py`\n\nTo re-build the macOS app, run:\n\n1. `rm -rf ./dist/ ./build/`\n2. `python setup.py py2app`\n\nYou can also use the supplied `Makefile` to use `make clean`, `make build` (default) and `make install` (to copy the new .app to `/Applications`)\n\n## Bugs\n\n- \"Now playing\" integration is experimental and might not work as expected\n\n-  \u003cdel\u003eSleep / wake only works when using a [patched version](https://github.com/mdbraber/rumps) of `rumps` until [PR #109](https://github.com/jaredks/rumps/pull/109) gets merged.\u003c/del\u003e. This is now merged in `rumps` `master`.\n\n- `parse_with_options` might 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 :-)\n\n- To use it with the current VLC (\u003e= 3.x) we need to preload the `libvlccore.dylib` as a workaround. See \nhttps://github.com/oaubert/python-vlc/issues/37 for more info.\n\n## Credits\n\nThis is a fork of RadioBar built by [wass3r](https://github.com/wass3r/RadioBar/) (David May). All credits for the intial concept go to him!\n\n## License\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmdbraber%2Fradiobar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmdbraber%2Fradiobar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmdbraber%2Fradiobar/lists"}