Hi all! I wanted to share a project I've been working on for the past several months with everyone here. When I recently built a new HTPC for my home theater I had decided that I didn't want the traditional front-end interface for it and instead wanted more of a "backend" solution similar to what would be used in an actual theater. Since it didn't seem like anything like that was readily available I decided to just go ahead and code my own modeled on Dolby's TMS software
The Digital Home Cinema Manager application is available from https://github.com/wmandra/DigitalHomeCinemaManager
and fully open source under the GPLv2 license. The software is designed to run on an HTPC's secondary monitor to create and manage show playlists as well as monitor HT equipment.
Here's a quick rundown of the features:
- Show playlist management including separate management of both preroll and trailer playlists. Easily disable trailers or preroll playlists on the fly.
- Auto loading of movie poster and description in UI from themoviedb.org
- Playlist scheduling. Set a time or date/time when playback will automatically start.
- Sophisticated event routing system. Trigger device actions based on events from other devices.
- Removable media storage monitoring.
Currently supported devices:
- generic serial port input (I use this to route JVC macros from an HD Fury Diva to automatically control the presets on my Sony projector).
- Denon / Marantz AVR devices (via TCP/IP).
- Sony Projectors (via SDCP/PJ Talk TCP/IP protocol).
- HD Fury devices (via TCP/IP)
- MPC-HC media player
I've designed this such that adding in support for other devices should be pretty easy so long as they have a defined protocol. If anyone wants to help contribute to the project feel free to create a fork, make changes/additions, and send a pull request.
Some additional features that are on my roadmap but not implemented yet:
- adding support for control of Lutron Caseta and Phillips Hue lights
- either a web based or native mobile remote addon
In my theater I have all my movies ripped to mkv files stored on multiple individual 3.5" hard drives. My HTPC has a hot-swap drive bay where I can quickly swap between drives based on which movie I'd like to watch. In the equipment room alongside the HTPC is a 1080p display, keyboard, and mouse connected to one of the HTPC's HDMI outputs. The other HDMI output goes to the HD Fury Diva then to the projector. Whenever I want to watch a movie, I just head into the equipment room, load the required drive and select the movie in the app to build the playlist. I'm currently using a Harmony Elite remote to control activities and a single button press to start the "Watch Movie" activity switches the Diva to the correct input, switches my AVR to correct input and volume, and sends a PLAY command to MPC-HC on the HTPC. If trailers or preroll is SDR content the Diva will trigger a macro that sends the JVC serial command to the app which has a rule configured to then send the "Film 1" calibration preset command to my Sony PJ, if the movie is then HDR another serial macro will trigger which causes the app to send the "Film 2" calibration preset to the PJ.
Here's some examples of how the event routing is configured:
Feedback and suggestions always welcome.