{"id":25932621,"url":"https://github.com/entonio/radiotaboleta","last_synced_at":"2026-04-19T07:37:37.453Z","repository":{"id":236495197,"uuid":"791641406","full_name":"entonio/RadioTaboleta","owner":"entonio","description":"Internet radio receiver. Media Player Daemon (mpd) client, running in the menubar / systray.","archived":false,"fork":false,"pushed_at":"2024-06-03T02:07:25.000Z","size":2213,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-06-03T17:12:05.169Z","etag":null,"topics":["mpd","mpd-client","radio-receiver","radio-stations"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/entonio.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":"2024-04-25T05:03:40.000Z","updated_at":"2024-06-03T02:07:23.000Z","dependencies_parsed_at":"2024-06-02T16:57:47.434Z","dependency_job_id":"fd7a76ba-e0a6-4e7e-8486-32b0c8ef94ab","html_url":"https://github.com/entonio/RadioTaboleta","commit_stats":null,"previous_names":["entonio/radiotaboleta"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/entonio%2FRadioTaboleta","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/entonio%2FRadioTaboleta/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/entonio%2FRadioTaboleta/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/entonio%2FRadioTaboleta/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/entonio","download_url":"https://codeload.github.com/entonio/RadioTaboleta/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241763764,"owners_count":20016161,"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":["mpd","mpd-client","radio-receiver","radio-stations"],"created_at":"2025-03-04T00:38:34.677Z","updated_at":"2026-04-19T07:37:32.393Z","avatar_url":"https://github.com/entonio.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"RádioTaboleta\n=============\n\nThis is a macOS menubar and Windows systray app for controlling the [Media Player Daemon (mpd)](https://musicpd.org/). Users can specify a list of radio streams in a config file, and playback parameters in another. The intent is to play the role of a radio receiver, now that those appliances are not as ubiquitous as before.\n\nThe mpd instance can be local or remote. One of the original goals was to be able to control an office's PA from a workstation, but it will work the same with mpd running in the workstation itself.\n\nThis app is not especially well-written or structured, it grew out of curiosity for the libraries used, the UX was developed as it went along, and it ended up meeting a demand nicely. Do not take it as a model on how to program in go.\n\n\u003cimg align=\"right\" width=\"36%\" alt=\"macOS: menubar\" src=\"https://github.com/entonio/RadioTaboleta/assets/5048472/5517c1d7-4e40-4659-9ee4-a18225fcc7c1\"/\u003e\n\nOn macOS, the app runs in the menubar, requiring the space usually taken by 5-6 icons in order to show the name of the station being played. Changing that is trivial if you want to, but will not provide the optimal UX.\n\nOn Windows, the app is a regular systray app, responding to right clicks.\n\nClicking the server name will run a shell command to restart the server. This may be useful if mpd doesn't recover properly from sleep mode, or hangs in some other way.\n\nClicking the song name will save it to an SQLite database file if specified in the configuration. A value `$HOME` in the path will be replaced by the user's home directory.\n\nThe configuration Stations field can be used to specify a link to download the radio stations file from. If it doesn't work for some reason, the local file is used.\n\nThe word _taboleta_ vaguely refers to the informal config file format used, and it's written precisely as intended.\n\nSettings.taboleta\n-----------------\nSample ettings file:\n```\n# look for mpd at localhost:32123\nMpd         localhost:32123\n\n# set volume to 9%\nVolume      9\n\n# play each station for 10 seconds in zapping mode\nZapping     10\n\n# resume playing on startup\nPlayback    start\n\n# dial the predefined station on startup\nRadio       predefined\n\n# delete the sequence \"[onAir:\u003cany characters\u003e]\" from song titles\nTrim        \\[onAir:.+\\]\n\n# language (pt, en)\nLanguage    en\n\n# store the clicked titles at $HOME/Musicas.sqlite\nSQLite      $HOME/Musicas.sqlite\n\n# stop mpd, the OS service manager should respawn it\nRestart     killall -9 mpd\n\n# link to download the stations list from\nStations    https://some.link/to/your/playlist\n```\n\nBuilding\n--------\nThe build scripts are provided in the `/scripts` folder. These are generic build + packaging scripts for go apps, and are not part of the project per se. You have to put them somewhere in your path and then call `xgob.sh` from the root of the project (the level above `/source`).\n\nLicense\n-------\nExcept where/if otherwise specified, all the files in this app are copyright of the app contributors mentioned in the `NOTICE` file and licensed under the [Apache 2.0 License](http://www.apache.org/licenses/LICENSE-2.0).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fentonio%2Fradiotaboleta","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fentonio%2Fradiotaboleta","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fentonio%2Fradiotaboleta/lists"}