Giter Club home page Giter Club logo

monkeyboard-radio-android's Introduction

Monkeyboard - FM & DAB/DAB+ radio for android

Latest Release on Github

Get it on F-Droid

Builds 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.

If the app crashes on your system submit an issue with a full log file (Google it if you dont know how to do this)

About

A Monkeyboard (Keystone radio) is a full DAB/DAB+ & FM radio on a circuitboard.

This app interfaces with a Monkeyboard and provides a control and feedback interface for the user. The Monkeyboard communicates via USB serial, and so to use the board a USB Host cable is required to connect the board to the android device.

The app is designed to act as if it is a normal music player as so will act accordingly. Audio focus will be followed, and a mediaplayer notification is provided.

The Monkeyboard does not transmit audio over the USB connection, it is only outputted directly from the board itsself. The user will need to mix this audio with the tablet audio externally. (Think of the android device as being a screen for the Monkeyboard)

The interface is designed to work on all device sizes.

Features

  • 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
  • DAB Program text
  • FM RDS information
  • Radio station list. Editable FM saved stations list
  • Player notificiation controls
  • Automatic android audio handling (Radio will not play over the top of any other android audio)
  • 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)

Future improvements

  • Due to the developmental process of this app (and it being my first android mediaplayer app), the activity service stack can be simplified. Currently the activity and the service need to be modulised instead of bundling lots of the code into Radio API which shouldn't be there.

Libraries

Contributing

If you wish to make a fix, fork this project, commit, and make a pull request describing the fix in detail.

If you wish to report a bug, create an issue and I will look into it.

Cloning submodules

Building this repository requires downloading the submodule usb-serial-for-android

After cloning the repository

git submodule init

git submodule update usb-serial-for-android

Screenshots

Android 6.0

Main interface

Android 4.1

Interface on android 4.1

Media notificiation

Notification with controls, program infromation, and slideshow image

Settings

Settings interface

DAB Radio search

Searching interface

Designed for all screens

Main interface protrait

Licence

GPL 3.0

monkeyboard-radio-android's People

Contributors

freshollie avatar poussinou avatar rudloff avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

monkeyboard-radio-android's Issues

A display issue

Dear developer!
In the process of using, I found a bug in layout / display. As shown in the figure, in the first page, the icon and the following text overlap each other. . This may be an adaptation problem. I suspect it is because display and font size are set to large (mainly due to display size).
Because of some problems with my eyesight, I often use the largest font and display.
297165ECE247F4EDC808C49B7E0633F7

App version is 2.1.7, my mobile phone is Google nexus 6, screen resolution setting is 1920* 1080, font size and display size are the largest ! ! !, Android system is 8.0.
The above is a description of the problem. The overall experience of the software is good. You can see that the design is very attentive. Thank you very much for the efforts of the developers all the time. I hope to receive a reply.
Thank you!
bug-keyston

Libraries

Hi,
I am trying to setup the Project in B4A, but it takes forever to find all the needed libraries. Could you pls share the needed libraries?

Regards
Silvester

Clicking on + icon crashes the app

Expected behavior

I should be able to add channels on clicking the + icon.

Actual behavior

But the app crashes on clicking the + icon after launching the app.

How to reproduce

  1. Install the app from releases page.
  2. Launch the app.
  3. Click on + icon.

    The app crashes.
  • App Version: 2.1.4
  • Device: Samsung Galaxy J5
  • Operating System: Android 6.0.1

Recording Of The Bug

https://youtu.be/Lj7tINMNGns

Volume control from head unit

It looks like there's a bug with the handleSetVolumeRequest() function in RadioplayerService.java. The code segments in this function is never executed when using the volume control on the device, so the volume always stays at the default level.

When part of the code in the function is commented out it works as expected.

  public void handleSetVolumeRequest(final int newVolume) {
        //handleAction(
        //        new Runnable() {
        //            @Override
         //           public void run() {
                        volume = newVolume;
                        radio.setVolume(volume);
                        saveVolume();
                    //}
               // }
        //);
    }

App crashes on screen rotation during DAB search

Expected behavior

The app must be stable during screen rotation during DAB search of radio stations.

Actual behavior

But the app crashes on rotating the screen during DAB search of stations.

How to reproduce

  1. Install the app from releases page.
  2. Launch the app.
  3. Click on settings option from top right corner of the app. And click on "Perform DAB Search" option. It will start searching for stations.
  4. Now change the orientation of the screen to landscape mode.

    The app crashes.
  • App Version: 2.1.4
  • Device: Samsung Galaxy J5
  • Operating System: Android 6.0.1

Recording Of The Bug

https://youtu.be/x26gXXADee8

[Monkeyboard Keystone Radio][3.0]The app crashing when going radio station while all chanel

Expected behavior

The app most be cilick this radio station

Actual behavior

the app crashes on when i click on several times of radio stations.

How to reproduce

  • download the app
  • open it
  • click (+) button to add Chanel
    add some of Chanel
  • then long press radio channel and then touch any channel
  • note the bug

information

App version:v3.0
OS:Android 6.0.1,8.1
Operating system: samsung j2,samsung j7

Recording Of The Bug

https://youtu.be/DBwMpSZ45Do

Add FM support

By popular request I will be adding FM support with references to this issue

slideshow support

I see the new monkeyboard has slideshow support.
Would it be possible to implement this feature in this app?

thanks,

Manifest

Hi, can you please fix the problems in your repo we are talking about on this page ?

By the way, are you ok with the inclusion of your app in the IzzyOnDroid Fdroid compatible repo (more info here) ? This will allow users to have automatic updates of your app trough F-Droid if they have enabled this specific repo. The only thing you will have to do is to tag the releases properly, like specified in this discussion on Gitlab.

Audio routing

As the monkeyboard outputs audio to a 3.5mm jack, and not over USB; if the board was connected to the line-in/mic-in of a USB sound card, would it be possible for the application to setup audio routing withing Android. Directing the audio input to the speakers or USB sound card?

Give permanent usb permission

Hi,
Is it possible to grant a permanent permission for USB access.
After each reconnect, ask android for permission.
It is not possible to give it permanently.
Apparently, something has to be changed in the usb driver.

Thanks for this cool software!

Error running latest codebase on API below 23

With the latest version of your code - the error "Unfortunately, Monkeyboard Dab Radio has stopped" is still produced on devices running API level below 23 when the application is launched.

Running with API level 22 (5.1) the error is triggered by the .setForeground method. I believe this is caused by the usage of the certain View methods that are missing in API below 23. Ref: https://code.google.com/p/android/issues/detail?id=186273

Running with API level 17 (4.2) the error is somewhat different. See log files for details.

20170217-API_17-4.2.2-log.txt

20170217-API_22-5.1.1-log.txt

Heavy load in new version

The new version has heavy cpu load, 122% on an octacore (Odroid XU4)
Old version (# BETA 1.2.2) has 25-40%.

PID USER PR NI VIRT RES SHR S[%CPU] %MEM TIME+ ARGS
4648 u0_a78 10 -10 997M 81M 50M S 29.3 4.0 9:36.63 com.freshollie.monkeyboard.keystoneradio

Selectable theme colour

To quote @Jesey158 from #3

I got the link from Walter Zengel, because I have used the app of him so far.
Have now your current app on my Nexus 7 (2013) with Timurt's kernel installed. Works so far quite well. The tablet is installed in the Audi and connected with a Joycon.exc to the Can bus. So I can control the tablet via the steering wheel remote control. Your app also reacts very well to select the stations with the next track previus track.
But when I press the back button closes the app, but the audio output continues unfortunately. Is it possible to use the exit button with a hardware key?
And the app is blue as a background. How could I change the red (because in the Audi)

I have created a new issue for this problem as it does not relate to #3.

To summarise, the radio player will act like any other media player. The pause button can be used to pause it or the enter key while in the app.

I will look into theming

Add bluetooth support

Quoting @Meteln00b in #5

Mr. Zengel directed me to your site. Is it possible to implement Bluetooth support? If so, I would have a little source code for you if you want. Bluetooth is used to replace the UART-USB solution. If you want to talk german, no problem.

Hi @Metaln00b I have made a new issue for this as it does not relate to FM development. Unfortunately I do not own the equipment to develop bluetooth for this app.

Unless someone else is willing to develop this and create a pull request I will not be able to develop this at the moment.

You could fork the repository and attempt this yourself.

APP CRASH WHEN PRESS IN SERVEL TIMES RADIO STATIONS WHILE MARK ALL CHANEL

Expected behavior

The app must be stable when click on several times of radio stations.

Actual behavior

But the app crashes on when i click on several times of radio stations.

How to reproduce

  • download the app
  • open it
  • click (+) button to add Chanel
  • add some of Chanel
  • then long press radio channel and then touch any channel
  • note the bug

Browser : 2.1.4
Operating system: android 5.1

Recording Of The Bug

https://www.youtube.com/watch?v=zZD-mKa0hwE

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.