{"id":19696737,"url":"https://github.com/freshollie/monkeyboard-radio-android","last_synced_at":"2025-04-29T11:32:14.059Z","repository":{"id":91857014,"uuid":"61198535","full_name":"freshollie/monkeyboard-radio-android","owner":"freshollie","description":"Monkeyboard - FM \u0026 DAB/DAB+ radio for android","archived":false,"fork":false,"pushed_at":"2020-11-07T18:38:49.000Z","size":20573,"stargazers_count":38,"open_issues_count":10,"forks_count":18,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-04-05T15:11:20.857Z","etag":null,"topics":["android","audio","car","dab","fm-radio","keystone","monkeyboard","radio"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/freshollie.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","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":"2016-06-15T10:13:49.000Z","updated_at":"2025-01-24T21:09:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"564a2b72-53ec-4f64-882c-a018e463ae97","html_url":"https://github.com/freshollie/monkeyboard-radio-android","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freshollie%2Fmonkeyboard-radio-android","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freshollie%2Fmonkeyboard-radio-android/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freshollie%2Fmonkeyboard-radio-android/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freshollie%2Fmonkeyboard-radio-android/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/freshollie","download_url":"https://codeload.github.com/freshollie/monkeyboard-radio-android/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251494036,"owners_count":21598219,"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":["android","audio","car","dab","fm-radio","keystone","monkeyboard","radio"],"created_at":"2024-11-11T19:36:01.280Z","updated_at":"2025-04-29T11:32:14.053Z","avatar_url":"https://github.com/freshollie.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Monkeyboard - FM \u0026 DAB/DAB+ radio for android\n\n\u003cimg align=\"right\" src=\"screenshots/demo.gif\"\u003e\n\n[Latest Release on Github](../../releases)\n\n[Get it on F-Droid](https://f-droid.org/packages/com.freshollie.monkeyboard.keystoneradio/)\n\nBuilds have only been properly tested on android 4.1 and 8.0 in an emulator, as well as 5.1 and 6.0 on real devices.\n\nIf the app crashes on your system submit an issue with a full log file (Google it if you dont know how to do this)\n\n## About\n\nA [Monkeyboard](http://www.monkeyboard.org/products/85-developmentboard/80-dab-fm-digital-radio-development-board) \n(Keystone radio) is a full DAB/DAB+ \u0026 FM radio on a circuitboard.\n\nThis app interfaces with a Monkeyboard and provides a control and feedback interface for the user. \nThe Monkeyboard communicates via USB serial, and so to use the board a USB Host cable is required to connect the \nboard to the android device.\n\nThe app is designed to act as if it is a normal music player as so will act accordingly. Audio focus will be \nfollowed, and a mediaplayer notification is provided. \n\nThe Monkeyboard does not transmit audio over the USB connection, it is only outputted directly from the board itsself. \nThe user will need to mix this audio with the tablet audio externally. (Think of the android device as being a \nscreen for the Monkeyboard)\n\nThe interface is designed to work on all device sizes.\n\n## Features\n\n- DAB Slideshow! This streams an image, broadcast by the radio station, from the board and displays it along side the program text information. **This does not require internet**\n- DAB Program text\n- FM RDS information\n- Radio station list. Editable FM saved stations list\n- Player notificiation controls\n- Automatic android audio handling (Radio will not play over the top of any other android audio)\n- Support for media button input. As well as others keyboard input (TAB to scrolldown the station list, UP Arrow to scroll up, ENTER to select a station)\n\n## Future improvements\n\n- Due to the developmental process of this app (and it being my first android mediaplayer app), the activity service stack can be simplified. \nCurrently the activity and the service need to be modulised instead of bundling lots of the code into Radio API which shouldn't be there.\n\n## Libraries\n\n- [usb-serial-for-android](https://github.com/freshollie/usb-serial-for-android) - A forked version of usb-serial-for-android with slight modifications to reduce a verbose log output.\n- [SnappySmoothScroller](https://github.com/nshmura/SnappySmoothScroller)\n\n## Contributing\n\nIf you wish to make a fix, fork this project, commit, and make a pull request describing the fix in detail.\n\nIf you wish to report a bug, create an issue and I will look into it.\n\n## Cloning submodules\n\nBuilding this repository requires downloading the submodule `usb-serial-for-android`\n\nAfter cloning the repository\n\n`git submodule init`\n\n`git submodule update usb-serial-for-android`\n\n## Screenshots\n\n### Android 6.0\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"screenshots/main_interface.png\" alt=\"Main interface\" width=\"800\"/\u003e\n\u003c/p\u003e\n\n### Android 4.1\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"screenshots/android_16.png\" alt=\"Interface on android 4.1\" width=\"800\"/\u003e\n\u003c/p\u003e\n\n### Media notificiation\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"screenshots/notification.png\" alt=\"Notification with controls, program infromation, and slideshow image\" width=\"800\"/\u003e\n\u003c/p\u003e\n\n### Settings\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"screenshots/settings_interface.png\" align=\"center\" alt=\"Settings interface\" width=\"800\"/\u003e\n\u003c/p\u003e\n\n### DAB Radio search\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"screenshots/dab_search.gif\" alt=\"Searching interface\" width=\"800\"/\u003e\n\u003c/p\u003e\n\n\n### Designed for all screens\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"screenshots/portrait.png\" alt=\"Main interface protrait\" width=\"400\"/\u003e\n\u003c/p\u003e\n\n\n## Licence\n\n    GPL 3.0\n   \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreshollie%2Fmonkeyboard-radio-android","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffreshollie%2Fmonkeyboard-radio-android","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreshollie%2Fmonkeyboard-radio-android/lists"}