A full plugin for the DAB, DAB+, FM Monkeyboard (Pro and Standard), http://www.monkeyboard.org/products is ready for testing. There may be bugs, there may be issues, it may crash. But hopefully, it all just works.
The plugin should work with CF 3.5 and up, as its compiled using .NET 3.5, but only tested on CF 4.3. Grab it from the CF Market, http://www.centrafuse.com/us/apps/details/161
Important: Use settings to set "Enable Plugin for Radio" to On. Else it will not show the GUI or work as a plugin as its other purpose is to provide configuration settings to the radio module. Make sure you do not enable the radio module and the plugin at the same time.
Important #2: Help me to help you and provide log files. Centrafuse.log, error.log and dabfmmonkey.log. Clean them out, start CF, reproduce the issue, close CF. Send me the log files and indicate where / when the error happened.
If you get the error message "Lost contact with radio", you're most likely running (active in CF) both the radio module and the plugin. Both are trying to control the radio and corrupting the serial communication. Or the USB cable has issues. Dodgy / cheap USB cables can cause connectivity issues.
- All of the boards functionality is supported.
- Hotkeys for steering wheel integration. See Settings for a list of hotkeys. Hotkeys can be changed by user. (Also supports Load Radio Preset 1 to 8 wiki.centrafuse.com/wiki/Hotkeys.ashx)
- COM port autodetection
- Fully supports language convertions (please send me your translated XML files)
- CF 3.5 and up
- RadioDNS / RadioVIS (www.radiodns.org)
Attachment 3984 Attachment 4021 Attachment 4022
Note that only the Pro board supports SLS (both boards support RadioVIS on DAB supported radio stations)
For the most part, it mirrors the way CF radio modules work, and the graphics and layout have been copied from CF. Most buttons use both short press and long press to maximize GUI real estate usage, and to keep the plugin as identical to radio modules as possible.
DAB/FM: Switches to FM Mode. Button text is updated to reflect the ensemble name
Select: A scroll list of all DAB programs is shown to select from. Programs in Blacklist are suppressed
Scan: Wipes all programs from the board (not favorites) and scans for DAB programs
<: Go to first program: Anyone got a better suggestion for how to use this button?
>: Go to last program: Anyone got a better suggestion for how to use this button?
<<: Previous program. Wraps around and skips blacklisted channels
>>: Next program. Wraps around and skips blacklisted channels
Scrolling text: %/% = Signal Strength / Quality
SLS/RadioVIS: When there's an image to show, it's overlaid the favorites list. Click on the image and it will disappear. If RadioVIS service is available, SLS is not used.
Note: If using RadioVIS, it must be explicitly enabled in Settings along with Internet usage. Default is off.
DAB/FM: Switches to DAB Mode
Tune: A dialog box for entering the FM Frequency
Scan: Searches up for next FM channel
<: Changes frequency down by 50Hz
>: Changes frequency up by 50Hz
<<: Searches down for next FM channel
>>: Searches Up for next FM channel
Scrolling text: % = Signal Strength
DAB/FM: Long press: BBE/EQ configuration screen
Select/Tune: Long press: Toggles between Forced Mono and Auto Stereo. If text is in italics, its in forced Mono mode
+: Add current channel / frequency to favorites
<: Long press: Changes the boards internal volume down
>: Long press: Changes the boards internal volume up
Trashcan: Delete selected channel / frequency from favorites
Trashcan: Long press: Blacklists DAB channels from appearing in lists
CF's top right <<:Legacy mode: Previous favoriteCF's top right >>:
New mode: Works like "normal" <<Legacy mode: Next favorite
New mode: Works like "normal" >>
There are around 10 configuration settings + hotkey definitions. For the most part they are self explanatory, but a selection of settings are documented here:
- Enable Plugin for Radio: Unless its set to "On", the plugin will close at startup to avoid conflicting with the Radio Module. Make sure the Monkeyboard Radio module is NOT enabled in CF, else there will be conflicts over who controlls the radio.
- China Mode: Don't enable unless you're really in China as wrong DAB frequencies will be scanned
- Legacy Buttons: Changes the function of the top right << and >> buttons
- Internet / RadioVIS: Both options must be enabled to use RadioVIS and RadioVIS will supress DAB RDS text and images. Not all stations support RadioVIS and SLS/RDS text will be used if not available. Don't enable unless you really have internet access.
- ECC region: Set it to your area to speed up locating the RadioVIS image. Leaving blank will scan all ECC codes. Setting wrong value will prevent RadioVIS from finding any images.
- Paul C converted my Listview to Advanced listview. Without his assistance it would have taken another couple of weeks to complete.
- CF forums for help during the initial radio module. A lot of code was copied across to this plugin.
- CF for providing CF and an SDK (Even though the SDK documentation leaves a lot to be desired!)
- Testers who provided feedback and/or
- provided donations.
- Some settings can only be changed by restarting CF. One of these settings are hotkey definitions as they are read during startup and can't be freed up during runtime.
- Error handing could be better. Period.
- RadioVIS requires the correct ECC code to locate the image. Currently the KeyStone chip does not provide the ECC codes. Upto 20 DNS lookups are used to get around this.
- RadioVIS does not work on FM as the KeyStone chip does not provide the "PI" code required to locate the image. Email Monkeyboard/KeyStone if you want this feature.
- Some Centrafuse versions must have "Auto Start Music" set to On, else audio plugins, including this one, won't open the GUI. Upgrading to latest CF does not fix the issue.
Please report any issues here, (and not in the Radio Module thread), as well as suggestions and feature requests. Please leave "Log Events" on if you're reporting an issue and either email or PM it to me. It contains a lot of information and might pinpoint the issue.
Last edited by johnjore; 02-21-2014 at 05:11 AM. Reason: the world has moved on
Plugin is available from the market: http://www.centrafuse.com/us/apps/details/161. Grab it from there.
Experimental releases will be posted here, but day-to-day downloads should now be downloaded from the Market.
New version 4.2.11 is available from the market.
Any issues, post back here, with log files.
01: If no DAB channels are stored on board, and no DAB channels are found after a rescan, the plugin ended up in an undefined state.
02: Fixed capturing of CENTRAFUSE.MAIN.FASTFORWARD and .REWIND events. Better handling of changing audio plugins.
03: Fixed mute after DAB Scan.
- If config.xml is corrupt, its removed and replaced at startup
- Status text during DAB Scanning now fits within the window
- Prev/Next button: New or Legacy mode. Default is New (current mode)
- If in Legacy mode, the 2x top right buttons will scroll through favorites
- Stereo mode selection is now persistent across restarts
- Recovers (more) gracefully if non-valid FM frequency selected
- Hibernation/sleep support
- Timing issue on Hibernation/Sleep
- Internal cleanup & too many bug fixes to list
- Added support for Radio Favorites Hotkeys 1 to 8 (See http://wiki.centrafuse.com/wiki/Hotkeys.ashx)
- API Support for other plugins to query status:
- Get MODE (DAB/FM/UNDEFINED)
- Get CHANNEL (Active Frequency or Channel)
Additional queries can be added by request. This allows integration with the CF LogoDashboard Plugin (and others)06:
- Experiemental RadioDNS and RadioVIS support
- Various internal optimizations and fixes
- RadioDNS and RadioVIS: Couple of bug fixes
- Saving a new stations will include DAB mode (DAB or DAB+)
- Pause/Resume of plugin caused corruption to the boards I/O traffic
- Hotkeys stopped working after entering 'Settings'
- Works with the Garmin Mobile PC Plugin (Prev/Next Track)
- Added support for ATT and mapFactor Navigator plugin
- "Next/Prev" and steering wheel integration now requires only one button for each action for both mediaplayer and this plugin
- General cleanup and internal changes
- Added support for CF 4.4.6 internal mixer for ATT
- Fixed a hibernation/suspend issue introduced in 09
Last edited by johnjore; 03-03-2014 at 11:01 AM.
Source code is made available @ https://cfmonkeyboardplugin.codeplex.com. It's currently licensed under LGPL. If you see any errors or omissions in the way its done, please let me know.
Too many CF plugins go stale, out-dated and no longer work as a result of CF changes. By making the source code available, the future of the plugin depends on its users, not me.
Forking open source software is pretty easy, but please avoid forking this if at all possible as I fail to see any good reasons to fork it at this point in time.
Btw, be gentle . I'm not a developer by profession. You're more than welcome to help fix bugs, optimize, clean it up and so forth.
The codeplex site will be updated and cleaned-up over the next few days / weeks / months / years.
Last edited by johnjore; 05-15-2013 at 01:42 PM. Reason: Source code has been released
While the plugin is installed the next/back buttons do not work for mp3/videos. They work fine to skip forward/back dab channels however.
Uninstalling the plugin fixes the issue and I am able to skip mp3/video again, installing the plugin brings the issue back.
I've tried completely deleting all plugin files from program files and program data but the issue still remains.
My bad. I captured the 2x events instead of passing them to other plugins. Should be fixed with latest dll.
Did some additional testing, and fixing, when changing between audio plugins.
Last edited by johnjore; 02-09-2013 at 05:27 AM.
I swapped out the dll but did not try deleting the config files at the same time, will do a fresh install copy the new dll and post back.
No need to delete any other files. My guess its CF's DLLCache playing up, and its loading the initial DLL instead of the updated one. See post #2 for some suggestions.
Yep, in the end all I needed to do was delete the dll from program files, delete the whole mokeyboard dllcache folder, copy the new dll to program files and fire up CF. It's working sweet now :)
Couple of questions\suggestions,
Pressing "select" to bring up the list of DAB channels, up the top there is + and - buttons, pressing either of these gives the error "Cannot add/remove to current list", what functions do these buttons perform? Perhaps they could add/remove channels to the favourites list of the main plugin screen.
The main CF next/back buttons scroll through every channel stored on the board, I guess you would need to blacklist channels you don't want to listen to? Perhaps the next/back could scroll through your favourites list instead. Reason being you can change station anywhere from within CF and only hear your fav stations, if you occasionally want one of the other stations you can just open the plugin and select it, rather than re-scan for blacklisted channels.
Slideshow images, does the plugin display them straight away, or do they take some time to load etc. I've noticed that sometimes the images are there but more often they are not. I'm uncertain if this is due to loading, not being broadcasted or the plugin not always displaying.
Everythings working well with the latest dll, thanks for your efforts on this plugin :)
nicr4wks, thanks for the feedback.
Select: +/-: It's part of the CF Filebrowser api, can't remove/hide the buttons. Long term plan is to not use this API but do what the CF Mixer does.
Can't assign the additional features to these buttons in a nice way as I can't "mark" in the view what the current status is. (if the channel is in fav or not).
Do you think it makes sense to move this functionality to the list view in the middle of the main screen? Or is that inefficient use of GUI real estate usage and full screen is better due to the number of channels listed?
Blacklist: Yes, and the functionality is already there. See post #1 on how to invoke it. If channel is blacklisted, it no longer shows up in Select, nor gets included in next/prev buttons.
If you're referring to "Next/Back" icons at the top right of the screen, that might make sense. I think its the way CF Radio modules work, but, for FM or driving to a new location it's a pain, as you need to open the full plugin to scan for a new channel as nothing in that area would be i Fav. Most painfull when I'm in the navigation application (external app) as there area few buttons to press to get to back to the plugin.
Maybe I'll make it an option for users to select "New" or "Legacy" way of working.
SLS: Very dependent on signal strength/quality and the current broadcaster. Some broadcasters send many images in rapid succession, others very slowly. I display the image as soon as I manage to assemble one. It stays active until the next image is retrieved, or user clicks on something to hide it.
Btw, each time a channel is changed, it must start from scratch to re-assemble the bits to make up the image. Try turning OFF plugin logging, as writing to disk slows down the timer which gathers the bits to make up the image.
Keep the suggestion coming. They'll all be added to the todo list for future work/eval, after all bugs and issues are fixed.
How does the plugin handle resume from standby, does it re-scan for the monkeyboard or just assume it's still connected? Occasionally my board is not detected by the OS immediately upon resume and can take 5-10secs. This seems to be enough time for the plugin to throw up a "Monkeyboard not initialized" error, usually the message goes away but the main plugin screen remains frozen in place, I can press the 'now playing' button in the top left corner and can see the background change to the home screen, but the plugin remains frozen in place on my screen covering the home screen buttons (music/videos/nav/etc), a restart of CF fixes this.
Also after performing a full DAB scan the volume is reset to minimum, not sure if this is the plugin or because the monkeyboard is reset?
Last edited by nicr4wks; 02-12-2013 at 09:40 PM.
|« Previous Thread | Next Thread »|