v 0.11.0 Release Announcment

Added by Hammel over 7 years ago

PiBox Media Center v0.11.0 Release Notes

Additional Information

General Status
PiBox Media Center is a 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.

Highlights for this release include
  • Support for Raspberry Pi Model 2
  • A new app: picam (webcam on the connected monitor)
  • Switched VideoLib database to JSON and added support for TV series
  • Video selection now includes poster and series artwork plus summaries
  • Video playback now supports both HDMI and analog audio
  • Major performance improvements in the video front end app and webcam playback
  • Made fbturbo the default X server
  • New functionality and JSON support to libpibox
  • Minor UI cleanup including dropping the X cursor
  • Added support for multicast registration of IoT devices along with REST interface definition
  • Major code cleanup of Pibox Network Config and associated libpnc.
  • Upgrades to latest upstream firmware
  • Verified compatibility with available upstream rootfs packages
  • Bump cross toolchain gcc to 4.8.5
  • Improved metabuild for opkgs
  • Improved cross-toolchain builds for all opkgs
  • Updates to piboxd server unit tests

PiBox Media Player's can now perform better in video selections as long as the VideoLib app was used to reduce the
size of poster art.

Where this is headed
Near term plans include support for a PC-based XM Satellite Receiver and improving the Video Front End UI to be more Plex-like.

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, additional media player apps and voice and smartphone control.

0.12 Plans
  • Android app remote control over wifi
  • 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
  • TV app using USB adpater
  • Music player app

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.


Repository: appmgr
Bump to version 0.11
RM #511: Minor tweek to getops to add usage statement.
RM #511: Allow setting toolchain, staging and opkg directories on the command line.
General: Migrated priv setting to renamed pibox-network-config.
RM #437: Migrate to GitLab.
Repository: bluez
Bump to version 0.11
RM #547: Switch to version.txt.
RM #252: Integrate build of BlueZ 5 version. The default is the 4.x version. Setting B5=1 bulds the 5 version. PiBox defaults to the 4.x version for now.
RM #252: Switch repos for bluez-tools to github. Change package name to bluez-tools.
General: Fix clone command format in help text.
General: Fix REPO env var to point to GitLab.
RM #252: Initial import of BlueZ Tools packaging metabuild.
Repository: crtmpserver
Bump to version 0.11
RM #547: Switch to version.txt.
RM #437: Migrate to GitLab.
Repository: launcher
Bump to version 0.11
RM #511: Allow setting toolchain, staging and opkg directories on the command line.
General: Migrated netconfig.xml to renamed pibox-network-config.
RM #437: Migrate to GitLab.
Repository: libpbox
Bump to version 0.11
RM #525: Don't remove m4 directory on distclean.
RM #525: Remove unused AM_PROG_AR from that was causing problems on CentOS 6.x. Fix to work correctly with sysroot. Add m4 directory because build fails without it on CentOS 6.x.
RM #502: Added client call to piboxd to send device protocol messages and get responses. Added unit tests for this new function.
RM #510: Added unit test for log format given new configuration timestamps and headers.
RM #510: Added configurable timestamps.
RM #510: Added configurable timestamps and header to log messages.
RM #509: Added parson library to libpibox.
RM #510: Add function, file and line to logs automatically by wrapping pncLogger() with a macro.
RM #464: Added unit tests for utility functions of the library.
RM #464: Integrate logger unit tests and stubs for utils tests.
RM #464: Replace exit() with return() in rpi.c unit tests.
RM #464: Replaced logger functions with fprintf().
RM #464: Reset verbose to

on pncLoggerInit().
RM #464: Update variation usage for test that don't use that value to use V_ANY.
RM #464: Add V_ANY to reflect functions that might test both normal and negative tests.
RM #464: Fix comment for rpiSave tests to reflect variation argument is unused.
RM #464: Add ability to run individual or sets of tests, defaulting to all tests. This required a change to make all tests have the same prototype structure of accepting an int argument and returning an int value.
RM #492, RM #493: Remove use of gettext for multi-language support. It breaks on CentOS under Buildroot and we don't use it anyway.
RM #485: Switch to GSList for config file processing to ensure FIFO processing of existing file content.
General: code cleanup - tabs to spaces.
RM #485: Remove test-generated data file. General cleanup on ptests/rpi.c.
RM #485: Test that value is an integer before further testing in validate_set. Fix log messages to include function name and remove extraneous memory free in validate_display_rotate. Make sure inputs are valid before saving them in rpiSetValue. Make sure required fields are added, if needed in rpiInit.
RM #485: Completed rpi API for config.txt handling. Extended unit tests to cover basics of that API. Fixed bugs exposed in logging API while testing rpi API.
RM #485: Added stubs of rpi API for managing the config.txt file. Added stubs of unit test framework.
RM #457: Prevent segfaults if pncLogger is called with null format string.
RM #457: Add missing prototype for pncStripNewline to utils.h. Add missing header reference for ctype.h to utilc.c.
RM #457: Add pncToLower() function.
RM #457: Add debug symbols to library to make it easier to debug with gdb.
RM #457: Change from gchar to char in prototype for pncLoggerInit to match function.
RM #457: Fix prototype for pncLoggerInit() to include gchar pointer parameter.
RM #457: Corrected call to get verbosity API function in DBG macros.
RM #457: Add setter/getter for log verbosity level.
RM #457: Fix deprecated reference to loggerLocal to use new library naming prefix.
RM #457: Convert to a properly built library package, with proper library API structure. This is an initial migration from app-specific functions such as logging and utilities to a common library.
RM #437: Migrate to GitLab.
Repository: metabuild
Bump to version 0.11
RM #538: Switch to version 5 as the default build because the old build used which isn't available anymore.
RM #548: Add metabuild cdtools script so this repo can be managed by the scripts too.
RM #548: Add version bump function.
RM #548: Add metabuild, libpibox and pibox-network-config to config files.
RM #547: Add version.txt file.
RM #539: Added picam cdtools env script.
General: code cleanup - tabs to spaces in
RM #539: Add picam to repo configuration files.
RM #539: Catch when cdx doesn't move to a src directory.
RM #539: Updated README to match GitHub template (which are good enough for here).
RM #539: Added help text to remind how to use MakeChangelong. Added output of error file is one is generated.
General: Added README so gitlab will be happy.
RM #539: Added option to tag repos. Added test-project repo for testing changes like this in the metadata repo.
RM #511: Set toolchain, staging and opkg directory configurations for all apps.
RM #511: Add options for specifying toolchain and staging trees, defaulting to XID and STAGING if set. Added options to aide in debugging individual app builds.
General: Restructure to move deprecated/unused repos into a single block.
General: Restructure to move deprecated/unused repos into a single block.
General: Minor comment addition
General: Updated all repos to gitlab. Added pibox-network-config and bluez. Disabled crtmpserver since it's not used anymore and the upstream repo is down.
RM #437: Migrate to
RM #437: Migrate omxplayer to gitlab.
Repository: mjpg-streamer
Bump to version 0.11
RM #547: Switch to version.txt file.
RM #535: Added support for building either mainline or raspicam port of mjpeg-streamer. The latter is built with HW=rpi.
RM #437: Migrate to GitLab.
Repository: monkey
Bump to version 0.11
RM #547: Switch to version.txt
General: migrate to gitlab.
Repository: omxplayer
Bump to version 0.11
RM #547: Switch to version.txt.
RM #511: Fix omx to support multiple toolchain/staging tree builds.
RM #448: Make STAGING configurable in the omxplayer's Makefile.include.
RM #437: Correct URL for gitlab repo.
RM #437: Migrated to gitlab from gitorious.
General: Upstream master is not building for me. Backtracked to commit c5ab808, which precedes a bump in ffmpeg version. This seems to fix the problem.
Repository: pibox
RM #538: Fix URL for pibox source when packaging source.
Bump to version 0.11
RM #463: Add wifi tuning parameters to bootup, some of which are disabled since they may not really be needed.
RM #463: Add network performance measurement tools.
Merge branch 'master' of
RM #463: Updates for new wifi adapters and general cleanup.
RM #538: Force snd driver to create required sound devices by using proper bootloader config.
RM #538: Load uvcvideo by default instead of via usbhandler.conf.
RM #535: Added support for raspicam but keep it commented out because the camera didn't really work.
RM #538: Adding perl for future development (OpenXM app).
RM #544: Bump libpng to 1.6.25.
RM #544: Disable webp, as its not being used and the upstream wasn't responding.
RM #544: Bump libpng to 1.6.25.
RM #544: Bump strace.
Merge branch 'mjhammel/rpi2'
RM #547: Switched to a version.txt file for pibox core platform.
General: Disable cursor if /etc/X11/nocursor exists. Useful for non-desktop uses of PiBox.
RM #543: Add HW to pibox-version file.
RM #535: Migrate to jpeg-turbo.
RM #511: Fix initialization of doFile to be 0, not 1.
RM #511: Copy all firmware to boot partition. Only copy
files if specified. Fix up kernel files based on HW.
RM #511: Bump rpi1 kernel to 4.4.y.
RM #511: Fix gles build on rpi1 after integration with rpi2 build.
RM #511: Copy dhcpd.conf to /etc/dhcp directory so it works in either location.
RM #511: Enable new framebuffer configs now that fbturbo is the default.
RM #511: Enable fbturbo as the default X server driver.
RM #530: Added extended color depth configuration that can be used with fbturbo once that is the default X server driver.
RM #511: Support alternative kernel name (kernel7.img) for rpi2 hardware.
RM #511: Fix gles to build for either rpi or rpi2 hardware.
RM #511: Support rpi2's use of mainline upstream kernel.
RM #511: Fix gles to build for either rpi or rpi2 hardware.
RM #511: Bump vim to move to github from googlecode.
Merge branch 'mjhammel/rpi2' of into mjhammel/rpi2
RM #511: Remove mysql from dev platform. It isn't used in media server and doesn't build anymore.
RM #511: Add removal of second patch from libpng for bump to 1.6.22.
RM #511: Patches to bump libpng to 1.6.22.
General: Upstream changed archives to not include version number in extracted directory. This fixes that so we can have multiple versions of Crosstool-NG.
Merge branch 'master' into mjhammel/rpi2
RM #511: Don't create m4 directory as it is now included in the upstream repo for libpibox.
RM #511: Add reference for rpi2 to HW env var.
RM #511: Copy firmware subdirectories, which are recent additions upstream.
Merge branch 'master' of
General: Added support for generating release image file instead of installing directly to device.
Merge branch 'master' into mjhammel/rpi2
RM #511: Copy in all the firmware files instead of just the ones we need for the original Pi boards.
RM #511: New xcc config files for the RPI2. These are used by setting HW=rpi2 on the GNU Make command line, as in "make HW=rpi2 rpifw-pkg kernel-pkg gles buildroot-pkg pkg-scripts"
Batch buildroot to build ncurses on gcc > 5.0
change from sh to bash when calling buildme.pibox so that pushd is available
added gitignore to ignore dot-files
Merge branch 'master' of
RM #492, RM #493: Update to support cmake 2.8 or later, which should be in use on recent CentOS and Fedora releases.
General: Add missing cleanup of a stamp file.
RM #492, RM #493: Update Crosstool-NG to 1.22.0 and bump to gcc 4.8.5.
RM #492, RM #493: Bring buildroot build up to date using 2015.02 release.
RM #492, RM #493: Bring buildroot up to date using 2015.02 release.
RM #441: Added display_rotate default to config.txt, so it can be properly handled by user-space tools and libpibox.
RM #457: Migrate from archive download to git download for pibox-network-config repo.
RM #457: Added libpibox to development platform build.
RM #457: Migrate to pibox-network-config from bui-network-config.
RM #457: Updated bui-network-config package to build with library from cleaned up upstream repo.
RM #451: Fixed mount of USB sticks that don't have a partition table. These are usually vfat partitions written directly to the device, sans partition table.
RM #461: Minor optimization for SMB configuration.
RM #462: Remove pidofproc and killproc references.
RM #252: Added bluetooth and alsa init scripts. Default configurations will need to be created manually by apps.
RM #426: Add mkdir's to pre-volatile processing during firstboot to remove missing directory messages.
General: Fix name to match published named (PiBox Development Platform). Clean up /etc/issue formatting.
General: Updated to reflect changed repository (from gitorious to gitlab).
RM #458: Switched to command line specification of the device so that the
option could be used to skip creating a data partition.
RM #456: Fix mount point for mmc devices to be under /media and not be under /media/usb.
RM #449: Add support for 3rd partition when making the SD card. This means the default requirement for an SD card should now be 4GB (in anticipation of remote upgrade capabilities).
RM #436: Added double
option to mkfs commands to force file system creation even if there is already a filesystem. Cleaned up parted usage.
RM #442: Fixed package makefile for bui-network-config to work correctly with GitLab.
General: Migrated cloning of bui-network-config from gitorious to gitlab.
General: Late bump to 0.10.0 for dev platform.
General: Bump to 1.23.2 to support Buildroot 2013.02.
General: Add version to output string.
RM #438: Bump Busybox to latest release.
RM #438: Add support for Buildroot 2015.02.
RM #438: Switch git id for kernel to head of rpi-3.14.y branch.
RM #438: Remove LD_LIBRARY_PATH from make env when building Buildroot. Add freetype dir to rpi-tools target build. Both in support of bump to Buildroot 2015.02.
RM #438: Bumped to 2015.02.
RM #437: Migrate to GitLab.
Repository: piboxd
Bump to version 0.11
General: add
to gcc options.
RM #538: Update default config to show sample use of raspi cam config.
RM #535: Modified default dimensions of mjpeg_streamer image to best-result with new webcam on both web UI and console UI.
RM #537: Add WEBCAM configuration option to config file to allow dynamic configuration of webcam command.
RM #503: Changed "echo" to "fail" in various places. Added additional/missing headers to some tests.
RM #535: Add
option to mjpg_streamer command since my only webcams require it.
RM #535: Add reuseaddr on messaging socket.
RM #511: Allow setting toolchain, staging and opkg directories on the command line.
RM #503: Verified and updated unit tests giflist through sipv4.
RM #502: Add
option to keep the daemon running which is useful for seeding the daemon with data for testing with other tools, like the pibox library. Added
option to kill any running piboxd daemons.
RM #509: Moved parson library to libpibox.
General: Run as sudo if using verbose above 3 to avoid broken pipe error on exit of test script. RM #503: Updating unit tests. Clean up unit tests so they are less verbose by default and specify PASS or FAIL after the test name. Added validation tests for everything up to heartbeate and made sure they properly clean up so they can all be run in sequence from a single test run. Allow generation of a unique UUID for some tests. Capture connection reset by peer message from nc but don't assume failure because of it. Run piboxd with
to limit stream timeouts to something useful within the unit tests. Check for core files ater each test run and notify user.
RM #503: Don't abort a failed stream as that leaves a core file. Use exit() instead.
RM #503: Test for invalid action type before testing for invalid timestamp to avoid incorrect error message in the former case.
RM #503: Added logging messages and test for null queue when testing expiration of a stream.
General: Remove instance of egyption brackets.
RM #508: Completed support for IoT messaging between devices and piboxd and between piboxd and apps. Updated unit tests script and cleaned it up a little.
RM #501: Implemented multicast server to handle IoT device registration.
RM #501: Add missing "$" to PIBOX_PORT when referenced in nc calls.
RM #501: Implemented multicast server for accepting device node registration requests. Added unit test to verify inbound message handling.
General: Code cleanup : tabs to spaces.
RM #457: Completed port for libpiboxnet by applying fixes (mostly in the new libraries: libpiboxnet and libpixbox) and removing old code that is now in the libraries. All functionality passes the server tests.
RM #457: Extend test to support running with valgrind, split out SIPV4 subtests to be callable individually and report pass/fail, launch piboxd and kill it automatically when running the tests. All of this is part of the port of piboxd to libpiboxnet.
RM #457: Extend suppression file to ignore gobject, libpixman and a few others that are not part of the code under test.
RM #457: Remove extraneous file.
RM #457: Initial porting to libpibox and libpiboxnet. Still much work to be done in the port to libpiboxnet.
RM #437: Migrate to GitLab.
Repository: piboxwww
Bump to version 0.11
RM #547: Switch to version.txt.
RM #437: Migrate to GitLab.
Repository: picam
Bump to version 0.11
RM #547: Add version.txt to
RM #541: Added generic piboxd message function. This is temporary, it should move into libpibox for general app use.
RM #541: Send messages to piboxd to start and stop webcam.
RM #541: Don't stat() the "filename" since that's actually a URL.
RM #541: Allow setting URL to connect to in the config file. Makes it easier to test.
RM #541: Add libuuid to build, required for webcam message to piboxd.
RM #541: Switch from
-r to -b
for omxplayer arg because the latter seems to muck up the HDMI display when the app exits.
RM #541: Initial import of picam application.
Repository: piclock
Bump to version 0.11
RM #511: Allow setting toolchain, staging and opkg directories on the command line.
RM #437: Migrate to GitLab.
Repository: pmsui
Bump to version 0.11
RM #547: Switch to version.txt.
General: Formatting update.
General: Updated readme's.
General: Disable screensaver, blanking and DPMS. Don't show the cursor either.
RM #511: Switch to running from inittab for media server/player for both rpi1 and rpi2.
RM #437: Migrate to GitLab.
Repository: pnc
Bump to version 0.11
RM #547: Switch to version.txt.
RM #525: Another cross fix: Fedora doesn't support
correctly for linking, apparently, but CentOS does.
RM #525: Fix cross compilation for both Fedora and CentOS 6.7.
RM #517: Updated README so I don't forget what this repo really is.
RM #492, RM #493: Remove use of gettext for multi-language support. It breaks on CentOS under Buildroot and we don't use it anyway.
RM #457: Fix potential segfaults by testing input arguments to callbacks for list handlers.
RM #457: Add check for null argument to pncNetInterfaceValid().
RM #457: Cleanup compile time warnings and errors introduced when upgrading to gcc 5.1.
RM #457: Revert to shared library use for pibox-network-config from static library used in previous debugging.
RM #457: There were many mistakes in the port to the pnc library. These updates fix all known errors and allow pibox-network-config to properly generate data files under test mode. Removed glade files: this is no longer managed by glade. If you want UI updates, you gotta do it by hand now.
RM #457: Fixed leaks exposed by Valgrind. Fixed errors in startup not exposed before switch to library that have to do with using uninitialized variables in UI. Switched to use static library for pibox-network-config, possibly only for initial testing.
RM #457: Pass log file name (if any) to pncLoggerInit().
RM #457: Remove return value from pncSetInterfaceField. Check for invalid idx in get/setHostAPField().
RM #457: Add missing reference to glib.h in pnc.h so library users don't need to.
RM #457: Add missing clear and remove functions to API needed by piboxd.
RM #457: Added pncSetInterfaceField() to libpiboxnet API.
RM #457: Remove gdk dependency from network library.
RM #457: Remove UI callbacks and update API to support passing in required character strings for address type.
RM #457: Remove UI callbacks and update API to support passing in required character strings for address type.
RM #457: Remove all references to local utils/log modules in favor of libpibox versions. Changed pncUpdateInterface() to take addr, netmask and gateway arguments instead of calling back to the UI to get them. Caller now makes that UI call before calling pncUpdateInterface. Removed UI callbacks from network library. Callers now handle UI callbacks before calling library API functions.
RM #457: Mirgrate stripNewline() calls to use libpibox pncStripNewline().
RM #457: Switched to using g_strdup from strdup.
RM #457: Switched to using g_strdup from strdup. Moved showIPInStatusBar to callbacks.c and out of network library.
RM #457: Switched to using g_strdup from strdup. Moved showIPInStatusBar to callbacks.c and out of network library.
RM #457: Ported to use libpibox's logger service.
RM #457: Renamed upstream project to pibox/pibox-network-config and adjusted cdtools accordingly.
RM #457: More migration to a proper library API: merged save.h and load.h to pnc.h (public API) and pncPrivate.h (internal API) and migrated all data structure access in those modules to get/set functions. Use libtools features to export only regex specified functions.
RM #457: Fix header directory name for library in packaging.
RM #457: Change all references to bui-network-config to pibox-network-config.
RM #457: Add
to library naming.
RM #457: Converted from bui to pibox and changed the library prefix to pnc.
RM #457: Change package name to buinet so headers get put into a decent directory.
RM #457: Set include install directory to buinet. Make sure cross tools are available to install processing.
RM #457: Make sure all installed files are properly owned.
RM #457: Integrate libtool use to generate shared library for load/save functions.
RM #457: Integrate libtool use.
RM #457: Quiet complaints from autoconf on build. Cleanup generated files on distclean.
RM #457: First step in creating a library for bui-network-config: clean up the build so it's generated the same as all other PiBox packages and create an opkg for it (so it's easier to update).
RM #455: Added base network address to hostap configuration.
RM #439: Fix load of hostap config to default to TKIP to match clients expectations.
RM #437: Migrate to GitLab.
Repository: psplash
Bump to version 0.11
RM #547: Switch to version.txt.
RM #437: Migrate to GitLab.
Repository: videofe
Bump to version 0.11
RM #538: Fix off-by-one memory allocations and properly test for failed retrieval of JSON values.
RM #538: Set omxplayer to play out both hdmi and analog outputs by default.
RM #542: Fix buffer overruns in genVideo. Change program flow to make free'ing buffers cleaner.
RM #542: Add valgrind support for checking for memory leaks. Use gtk suppression file to skip gtk-and-friends when looking for leaks.
General: Minor logging updates.
RM #542: Add valid field to movie and episode structs.
RM #542: Fix bug when calculating size of buffer for image paths. Test required fields and mark entries valid or invalid. Skip adding entries to display list if they are marked invalid.
RM #542, RM #414: Added Pango-rendered overview to display with a semi-transparent overlay between the text and poster. Added series poster above episode poster, overlaying the latter with the overview. Fixed problem with resizing and repositioning of windows on startup.
RM #542, RM #515: Port to libpibox (pncLogger). Ported db handling to new JSON-based formats generated by VideoLib. Add TV Episodes option via TAB key in main interface. Show episode poster.
RM #542, RM #515: Port to libpibox (pncLogger). Fix bug where %s is not a standalone argument but part of a larger argument (as in file://dvd/%s) in spawnPlayer.
RM #515: Migrate to libpibox version of logging library.
RM #542: Add menu bar that works with TAB to switch between Movies and TV Episodes. It's just the menu, but it's Cairo based so the same events work on it as the rest of the interface. This was required prior to designing a way for working with either types of db formats.
RM #511: Set new default for vtsrc and vttmp to 3 and 4, respectively, to support changes in kernel and inittab for upcoming 0.11.0 release.
RM #511: Return index from parse(). Added logging in spawnPlayer() to figure that out.
RM #529: Fixed handling of filenames with spaces in the name.
RM #528: Fix focus into view widget at startup so keyboard arrow keys work as expected.
RM #527: Add mkv m4v avi to default player configuration.
RM #527: Add mkv m4v avi to default player configuration.
RM #511: Allow setting toolchain, staging and opkg directories on the command line.
RM #520: Fixed reversed processing of global home key configuration so ESC exits the program.
RM #519, RM #520: Added PiBox specific configuration to opkg. Migrated to libpibox for utils functions. Added some test files.
RM #469: Prevent segfault when moving from video with a poster to one without a poster.
RM #469: Display text if no poster is available.
RM #445, RM #450: Fix incorrect handling of home key configuration.
RM #445, RM #450: Add parse function for converting command string to args for execve.
RM #445, RM #450: Add parse function for converting a command string into args for execve.
RM #445, RM #450: Add embedded option to allow using on the desktop too. Add support for multiple players.
RM #445, RM #450: Add embedded option to allow using on the desktop too. Add support for multiple players.
RM #445, RM #450: Fix segfaults in config file parsing. Add embedded option to allow using on the desktop too. Add support for multiple players.
RM #445, RM #450: Add support for file type specific players, and thus configurable players.
RM #437: Migrate to GitLib.
Repository: videolib
Bump to version 0.11
RM #554: Added support for compressing poster images.
RM #554: Add support for running a custom script for compressing poster images. Provide default script and allow editing and saving changes.
RM #547: Switch to version.txt.
RM #470: Add overview to top level JSON output so front ends can get to it easily.
RM #470: Clean up old db files before saving. Add some missing fields that make it easier for the front end to know what to display. Clean up properly when rescanning all video entries.
RM #470: Added simple about dialog.
RM #470: Add title bar text to shell.
RM #470: Implemented load/save for tv episodes.
RM #470: Fix setting alternative to actually update the entry to the alternative series and matching season/episode numbers.
RM #470: Provide separate fields for file title and real title for use with TV episodes. Scan the correct DB type when clicking on alternatives.
RM #470: Moved common code to updateEntry and let queryDB and setID call it as appropriate.
RM #470: Add logo at the bottom of the details frame. If the episode name is provided in the JSON, use it as the "TMDB name". Change "TMDB Name" label to "Video Title" Use the episode overview if available, otherwise use the series overview.
RM #470: Added TVDB class and extended UI class to support TV episode data from This basically works but load/save and alternatives are not yet implemented.
RM #524, RM #486, RM #468, RM #344, RM #343: Refactored code to be much simpler, putting more of the load in MovieDB from UI. Also allows saving and better use of JSON data from upstream db. Changed from flat file db to saving all JSON data for all movies. Added VideoLib specific fields to json to make it easier to edit which alternative to use. Fixed scanning to only scan new videos unless specifically requested to rebuild database. Dropped multiple poster sizes to simplify code.
General: Added test files.
RM #444: When pulling a TV episode from JSON, save it's ID to the object ID.
RM #444: Fix use of Alternates dialog with TV series. Cleaned up MovieDB structure and fixed findEpisode to strip special characters to better match local filenames to upstream episode names.
RM #444: Add tool for copying a directory listing for the purposes of testing the app without touching an existing tree.
RM #444: Add support for scanning for TV episodes separately from videos.
General: Fix copyrights in source files.
General: Code cleanup.
RM #443: Add support for scans using user-defined extensions that are saved in session data.
RM #437: Migrate to GitLab.
RM #425: Fix rpm build and add launcher script.