V0.10.0 Release Announcement

Added by Hammel over 9 years ago

PiBox Media Server / PiBox Media Player v0.10.0 Release Notes

Additional Information

General Status
PiBox Media Server and PiBox Media Player are consumer oriented distributions for distributed media playback in travel trailers without Internet connectivity. The UI is based on GTK+ with Cairo and the system runs on the Raspberry Pi optimized PiBox Developement Platform distribution.

This release marks a fully functional software implementation for both the Media Server and Media Player with a true consumer-oriented UI. All known UI issues are addressed so the user experience should be clean and comfortable.

The Media Server auto mounts media sticks and can play them with the custom front end to the hardware accelerated omxplayer. The front end allows selection of videos and displays poster art based on a database generated on the media stick using the desktop and Java-based VideoLib application. Audio always plays through the Raspberry Pi audio port with video always played through the HDMI port.

The Media Server also exports video directories to the Media Player which automatically mounts them. It plays videos with the same omxplayer front end used by the Media Server.

The default configuration, which is designed to work optimally with the Favi keyboard, provides a simple interface using just the arrow, enter and escape keys, with full keyboard use provided in the network configuration application.

A webcam interface can be played at the same time that video is played on the server and the player. Webcam access is through the web interface, available on both the Server and Player. The web interface uses Basic Authentication and allows for multiple users. Network configuration can also be updated through the web interface.

Extensive investigation has been done to identify the most stable hardware for both the server and player. This includes definition of a specific USB network dongle and integration considerations with displays ranging from HDMI monitors and TVs to LCD touchscreens and projectors.

Where this is headed
Near term plans include development of some simple hardware components to support battery power, simple cases for use with handheld pico projectors and integration of a multiport USB shield for the Media Server.

The long term plans include integration with BLE devices to provide a wider-scale Internet of Things infrastructure, taking PiBox from the trailer into the home. Additional work is planned for WiFi Direct, improving boot times and overall performance and additional media player apps.

Getting involved
PiBox is currently a one man project. I'd like to have more users of the system and welcome new developers.

To get started using the system please download the tarball, unpack it and use the mksd card to format your SD card. Then use the mkinstall script to install the distribution to the SD card.

To get started with development, please read the developer wiki on how to build the PiBox Development Platform.

Contact me at or if you're interested in helping out, have ideas for improvement or just want to know how to use the system.

0.10 Development Summary:
  • Customizable launcher app provides new UI
  • Added privileged and unprivileged app configuration
  • Cleaned up web UI to have consistent appearance
  • Changed coloring of server/player UI icons to match web UI icons.
  • Add user authentication to web interface and user management component.
  • Added MAC ACL to hostap configuration in Web UI.
  • Moved to omxplayer master branch
  • Moved to Linux kernel 3.14 branch from Rasperry Pi github repository.
  • Quieted the startup messages
  • Completely fixed keyboard access on first boot
  • Made all apps use consistent keyboard navigation
  • Fixed poster scaling in videofe
  • Added PiClock app
0.11 Plans
  • Android app remote control over wifi
0.12 Plans
  • Hardware related projects
    • Custom cases
    • Rechargable LiPo battery supply w/ power on/off
    • Integrate multiport USB "shield" with Media Server
  • Possible BLE (Bluetooth Low Energy) dongle integration
0.13 Plans
  • TV app using USB adpater
  • Music player app


Repository: appmgr
RM #425: Make videofe privileged for now to allow for vt changes in an root-run X session.
RM #424: Bump to version 0.10.0 (opkg)
RM #424: Bump to version 0.10.0.
RM #384: Added disabled stubs for later use with PiBoid.
RM #420: Added piclock to priviliged apps.
RM #415: Make reboot a privileged app.
RM #388, RM #410: Fixed config file format to use name:value pairs. Added support for privileged apps.
RM #401: Fixed location of lock file to /var/lock instead of /tmp.
RM #392: Clear the current settings if the current app exits on its own. This allows the app to be restarted without having to change to a different app first.
RM #360: Integrate use of launcher app as the default application.
RM #351: Make sure inbound args are passed through completely.
Repository: crtmpserver
RM #424: Bump to version 0.10.0 (opkg)
RM #424: Bump to version 0.10.0.
RM #285: Move init script out of the way of the 2nd stage init to avoid problems with keyboards.
RM #402: Moved init script to before the 2nd stage init script to avoid problems with keyboard input.
Repository: launcher
RM #424: Bump to version 0.10.0 (opkg)
RM #424: Bump to version 0.10.0.
RM #423: Updated splash image color to match web interface colors.
RM #413: Removed a bunch of unused and unnecessary code. The unnecessary code was essentially duplicate signal callbacks that are not needed under PiBox.
RM #413: Add timestamps to log output to aid in performance testing.
RM #415: Use fully qualified path to reboot.
RM #412: Moved Mask.png to /etc/launcher in packaging - this is why highlight went missing. Also update the ownership and permissions now that launcher is run as user nobody.
RM #285: Added user and camera icons for use with the web interface.
Allow left mouse button to accept currently selected app
RM #398: Run bui-network-config in embedded mode.
RM #394: Update all icons to flat style with common coloring/decorations.
RM #377: Fix sizing of new power icons so they display correctly on ARM.
Merge branch 'master' of ssh://
RM #377: Cleanup to create the default launcher configuration, including restart/netconfig/terminal apps.
RM #360: Added log message for unknown keys.
Merge branch 'master' of ssh://
RM #383: Removed extra test data, keeping just enough for current config example.
RM #383: Fix problems with data types related to width/height of icons. Clean up usage of cairo_t in do_drawing so it only needs to be created and destroyed once. Adjust offsets for highlight so it looks better behind selected icon. Add maxApps to keep track of number of available app descriptions found.
RM #383: Resize icons to be square because it appears that non-square PNGs on ARM fail to load in Cairo (but work fine on Intel).
RM #383: Create required directories after installation.
RM #383: Add notify() function and APPMGR_PORT to send commands to appMgr Add support for keypad arrow keys Add support for RETURN key and keypad ENTER Add function called on window expose to set the first app as the selected app so the white highlight is properly displayed.
RM #383: Changed test description files to use current production commands, as taken from pmsui's panel configuration.
RM #383: Update test data to use new splash images. Remove old test image.
RM #383: Increase splash widget size and decrease size of description widget.
RM #383: Add highlight to app icons. Clean up and center display of splash image. Clean up and center app descriptive text. Add support for arrow keys to select app icon. Fix gpointer compile warnings. Load gtkrc from data dir or install dir.
RM #383: More integration of splash and description and cleaning up icon displays. Merged handlers for cairo paint operations.
Initial import
Repository: mjpg-streamer
General: Remove stamp files that were accidently committed.
RM #424: Bump to version 0.10.0 (opkg)
RM #424: Bump to version 0.10.0.
Repository: monkey
RM #424: Bump to version 0.10.0 (opkg)
RM #424: Bump to version 0.10.0.
RM #422: Install as and then move it to only if that file doesn't already exist.
RM #421: Added default configuration file that moves the pid to /var/run.
RM #285: Remove creation of DEFAULT file. This is superceded by piboxd handling.
General: The init script needs to be moved before the 2nd stage UI init script to avoid problems with keyboard input.
RM #285: Add AUTH support to monkey using a default user.
Repository: omxplayer
RM #424: Bump to version 0.10.0 (opkg)
RM #424: Bump to version 0.10.0.
RM #417: Fix ownership of /dev/vchiq so omxplayer can access when it's run as the user nobody.
RM #400: Moved to master branch of github repo. Updated this metabuild's Makefile for omxplayer to properly build help files so master branch builds correctly.
Repository: pibox
RM #303: Bumped kernel to 3.14.y to try and get TV working better. Kernel seems to work fine with the rest of the system so I'm keeping it on this rev.
General: Add smbclient library to core.
RM #$13: Copy the saved fontconfig directory to the cache directory before starting any apps.
RM #413: Create the fontcache on first boot and save a copy of it so it doesn't have to be rebuilt each time.
RM #417: Fix group on vchiq so non-root video players can access it.
RM #360: Quiet X startup.
RM #360: Move UI init script to accommodate cleaner boots and assist in fix of keyboard input on boot.
General: Quiet the boot messages.
RM #308: Remove old package and patches for xcc.
RM #308: Remove old packages and patches from buildroot configuration.
RM #348: Updated MakeChangelog to allow choosing dates instead of tags in case start tags don't exist in some projects (like new apps).
Repository: piboxd
RM #424: Bump to version 0.10.0 (opkg)
RM #424: Bump version to 0.10.0.
General: Updated tests that stopped working after Fedora update.
General: add sample piboxd.cfg.
General: Add support for unmounting smb mounts.
RM #374: Added support for retrieving the MAC ACL list for the caller.
RM #374: Changed MA_MFLIST to support a new subAction field for get/set options.
RM #409: Added support for missing hostapd.conf lines to loadHostAP(). This causes the lines in question to show up anytime updates are applied to that file. Removed support for deprecated message action MA_MFENABLE. Enabling MAC ACL is now port of the original setAP() processing.
RM #409: The MAC ACL setting is now passed with the normal setAP request so no longer needs a separate defined action in the messaging protocol.
RM #374: Added support for MA_MFENABLE, MA_MFLIST and MA_RESTART actions for MT_NET.
RM #374: Added MA_MFENABLE, MA_MFLIST and MA_RESTART actions for MT_NET.
RM #285: Added support for MT_PW/MA_DEL to delete a user.
RM #285: Move check for payload to MA_SAVE only (MA_GET doesn't need it) in handlePW. Also, make sure cleanup is properly handled for the socket descriptor in handlePW.
RM #285: add support for MA_GET to MT_PW.
RM #285: comment update to reflect actual code for MT_PW, MA_GET.
RM #285: Added support for MT_PW and associated actions for changing a user password in the web service.
RM #285: Added MT_PW and associated actions to diagram.
RM #399: Added support for MA_GETIP message action.
RM #399: Updated message format diagram to include MA_GETMAC and MA_GETIP.
RM #398: Add support for inbound MA_GETMAC request, which returns the MAC address of the specified interface or a single space character if the interface does not exist.
Repository: piboxwww
RM #424: Bump to version 0.10.0 (opkg)
RM #424: Bump to version 0.10.0.
RM #384: Switch to default msgProcessor port number.
RM #384: Update message protocol for MT_KEY.
RM #384: Add support for PiBoid passthrough to AppMgr.
RM #407: Cleaned up webcam UI to match the settings and users UI.
RM #406: Added dialog notice about the password being updated prior to being redirected.
RM #404: Added init script to make sure a log file exists and is writable by the web server on every restart.
RM #374: Added support for setting MAC ACLs.
RM #409: Pass MAC ACL setting with the rest of the MA_SETAP configuration and drop separate MA_MFENABLE processing.
RM #374: Add support for mac filtering in hostapd.
RM #285: Add support for creating a log file on installation and disable logging by default.
RM #285: Add missing "!" when checking for delete parameter.
RM #285: Add support for deleting a user.
RM #285: Add usersPW.js script to support saving changes.
RM #285: Retrieving from a text input field with jquery requires use of val().
RM #285: Integrated a user selection page that allows creating, updating and deleting users.
RM #285: Don't include the xcf files in the images directory of the packaging.
RM #385: Added XCF images used to create icons.
RM #285: Cleaned up icons to more closely match the ones used on the attached display (under launcher) and added users icon to front page.
RM #285: Extend the artificial delay after updating a password before reloading the front page.
RM #285: Set the action bit for MA_SAVE.
RM #285: Fix POST var name for pw.
RM #285: Implemented test for admin password change, including a new password set page and the ability to send a new MT_PW message to piboxd to handle the password update.
RM #399: Added IP address below MAC address and integrated new MA_GETIP messaging with piboxd.
RM #398: Add mac address field to ipv4 settings tab of web interface.
Repository: piclock
RM #424: Bump to version 0.10.0 (opkg)
RM #424: Bump to version 0.10.0.
RM #425: Add missing pthread.h include to piclock.c.
RM #423: Update splash image color to match web UI colors.
RM #411: Fixed screen flicker by switching cairo operations to a pixmap and copying from that pixmap during expose events for the widget. Also fixed ownership of piclock binary on install to be root.root.
RM #391: Added support for UI keysyms file.
RM #297: Fixed problem with piclock exits causing a restart immediately by having the ENTER key queued and passed to the launcher. The way around this was to use a different key to activate the Home button in piclock - in this case the space bar - so that the queued key doesn't active the launcher on piclock's exit.
RM #297: Moved system clock setting to right before exit, to remove time changes from UI code. Fixed bug where changing the day of the month was not updating the system clock.
RM #297: Renamed remaining "clock" functions to "piclock" for consistency.
RM #297: Switch top level layout to a table to help in centering time setting UI components on the right.
RM #297: Potential fix for setting time. A struct is updated by a callback but the actual time change is haned in a g_timer to avoid problems with setting the time inside the gtk callback.
RM #297: Switched to settimeofday() to see if that works better than stime().
RM #297: Adjusted layout of settings column UI components. Added sample gtkrc to be able to test appearance similar to what the default PiBox Media Server UI looks like.
RM #297: Add icon and splash image. Updated template.
RM #297: Fix initalization of hour spinner. Update system time with every user update.
RM #297: Fix typos in opkg'ing Makefile.
RM #297: Fix keyboard navigation to use Ctrl-<arrow keys> for month and year. That's more consistant with the arrow key usage of moving around the days of the month.
RM #297: Removed unused code brought from videofe template. Merged callbacks when changing hour/minute/pm. Fixed hour hand bug in gtk_piclock_set_time().
RM #297: Add keyboard navigation to calendar widget. Add callbacks for spinners to set clock. Add apply and home buttons.
RM #297: Moved labels after spinners to match checkbox behaviour. Updated comments.
RM #297: Added a real custom widget that draws the analog clock. This is a merger of the ZetCode custom widget example and the clockwidget example I found on github (appropriate credit provided).
RM #297: Initial import of PiClock.
Repository: pmsui
RM #424: Bump to version 0.10.0 (opkg)
RM #424: Bump to version 0.10.0.
RM #413: Copy the saved fontconfig directory to /var/cache.
RM #413: Remove murrine engine from gtkrc. It isn't installed and removing the reference doesn't change the UI but does speed up boot time a bit.
RM #391: Add a keysyms file for the UI.
RM #360: Quiet X startup.
RM #360: Add Xearly start/stop scripts. These start X early and then stop it again before it is restarted by the PiBox core. This works around the problem with having to restart X manually from the PiBox core X start in order to get keyboard input working.
RM #360: Remove background image (displayed by Xearly and/or psplash). Don't start matchbox panel anymore (now handled by launcher instead).
RM #379: Created default background image (Media Server image) and updated xinitrc to use it.
Repository: psplash
RM #424: Bump to 0.10.0.
General: bump to verison 0.9 (forgot to do this with the real 0.9 release).
RM #377: Renamed S80stopsplash to S97stopsplash.
RM #360: Move psplash stop to right before X(late) is started.
Repository: videofe
RM #425: Fix broken log messages.
RM #425: Fixed minor bugs with logging during initialization.
RM #425: Change default vt to 2 and tmp vt to 3.
RM #424: Bump to 0.10.0.
General: commented out unused signal handler.
General: Code cleanup - tabs to spaces.
RM #346: Added player field to cliOptions and added support for it to the config file only.
RM #423: Update splash image color to match web UI colors.
RM #417: Fix permissions and ownership of installed files to match launcher requirements.
RM #417: Fix owner/group of videofe after installation.
RM #391: Added support for UI keysyms file.
RM #394: Update launcher icon and splash image to be consistent with stock styles.
RM #393: Added support for setting the to and back VTs in config file.
RM #386: Fix key_press to return false if no matching key found so default handler is run or true if we intercept the keypress.
RM #390: Remove extraneous header for videos.
RM #360: Add launcher config and icon files to packaging.
RM #386: Add Ctrl-Q and HOME button to quit the app.
RM #387: Changed from positioning to scaling the image to fit the window.
Repository: videolib
RM #332: Cleaned up poster buttons and added ability to view in actual or fitted size.
General: Merge branch 'master' of