Charmed Quark Systems, Ltd. - Support Forums and Community

Full Version: Sage Media Server driver (beta)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
This thread contains modified/enhanced versions of the SageTCP Driver v.3 drivers developed by beelzerob (please consult it for the installation instructions).


Sage Media Server

Sage Media Server branched of Sage Media at version 2.6.6 or so (the current version requires CQC 3.0.2 and up...). Instead of relying on getting limited information (TXT) every 5 minutes and performing query to get more specific details, on launch this version tries to pull all the information (XML) and only get incremental updates afterward...

The installation instructions are the same (the SageTCPServer wiki and post #43 contain detailed instructions). Make sure to use the latest versions of the support files (SageTCPServer.jar and the macros included with the templates). Since the driver's name is different, you can run both instances at the same time, just add an extra local.<port> to your sage.properties...

What has been added?
  • The string list field for the Recorded shows and Upcoming recordings gained more details.
  • A string list field with the Favorites/Manual recording jobs is available.
  • The list of video files (Media center/Video) can be queried.
  • The selected Recorded show and Upcoming recordings have their own fields and contain more information.
  • Information about the Channels and their contents is available.
  • The QueryTextVal method gives access to some information on a per client basis.


Sage Player

Since I didn't like having the Command field as an enumeration of 30 to 40 items, I broke it down in multiple fields... The good part is that it makes it easier to build a new template, as SagePlayer.Transport now contains all the
play/pause/rewind/next/etc in a single field... The bad part is that it breaks backward compatibility with existing templates.

New command fields
  • AspectRatio : AspectRatio4_3, AspectRatio16_9, AspectRatioFill, AspectRatioSource
  • Command : Delete, Info ,Options ,Quit ,Power ,PowerOn ,PowerOff
  • DVDControl : DVD_Menu, DVD_NextChapter, DVD_PrevChapter, DVD_Return, DVD_TitleMenu
  • ExtenderControl :EnterStandby, ExitStandby, Reboot
  • Media : DVD, Library, MusicJukebox, PictureLibrary, Search, VideoLibrary
  • Menus : Favorite, Guide, Home, LiveTV, RecordingSchedule, Setup, TV
  • Numbers : Num0, Num1, Num2, Num3, Num4, Num5, Num6, Num7, Num8, Num9
  • Navigation : Back, Forward, Down, Left, Right, Up, PageDown, PageLeft, PageRight, PageUp, Select
  • TVControl : ChannelDown, ChannelUp, DontLike, Guide, PreviousChannel, TimeScroll, VolumeDown, VolumeUp, Watched
  • Transport Stop, Play, Pause, Eject, PlayFaster, PlaySlower, FastForward, Next, Previous, Record, Rewind, SkipBack
Read only fields
  • PlayMode : Stop,Play,Pause
  • CurMedia* : renamed to Media*, more fields exposed.
I am still opened to shuffling commands around, duplicating some (like Guide in TVControl and Menus), renaming/combining/splitting fields, so lets the feedback start... Wink


Changed recently:

Added individual lists for the Recorded shows and Upcoming recordings.

Transport.SkipBack is now the old Transport.Rewind.

Added support for multiple lineups.

Empty lists should no longer create issues for the QueryTextVal methods.

Added some backdoor methods (QueryTextVal) to simultaneously access the same templates from different clients...

I added some StringList of all the Channels to the Sage Media server, and you can feed one back to SagePlayer.MediaChannel to change the channel... Just not sure how to handle multiple lineup currently, so everything is added together.

I also fixed the SagePlayer.WindowingMode field definition.

For CQC 4.5.5 and beyond, a new SageTV driver is attached. Some long standing network issues were fixed and it required a slight tweak to the player driver to make it compile. So use the 2.79 version once you go beyond 4.5.5.


Templates

In order to demonstrate more advanced functions, a set of templates is included (split into 2 files, due to the forum's limitations). Just unzip the 2 files and use the CQC Admin Interface import feature. The templates have mostly been realized by jrlewis and I, with some other testers. You will need to load the Sage_Main template as a starting point. Known issue: in order to speed up the reload time when going back to already visited templates, their contents are stored, unfortunately the logic to clear the cache if you revisit the template a few hours later has not been implemented. For a smoother integration, the monikers should be: SageRepo (CQC Sage Media Server), SagePlayer1/2/3 (CQC Sage Player) and CQCRepo (movie repository).
Hi Fonceur,

I am making successful use of your driver. I have an observation/question about the DeleteShow field.

When I pass it the RecordedShowID of the SelectedRecordedShow, it properly deletes the show (I can watch it disappear from the menu of recordings in the Sage UI), but it doesn't delete from the RecordedShows StringList.

Is there some way to make that happen?

Thanks for any advice!
SamVimes2 Wrote:When I pass it the RecordedShowID of the SelectedRecordedShow, it properly deletes the show (I can watch it disappear from the menu of recordings in the Sage UI), but it doesn't delete from the RecordedShows StringList.
In principle it should update within 5 minutes, but I guess I could look into something more instantaneous...
Thanks very much for taking a look at that. I also have a question about the "Power" "PowerOn" and "PowerOff" enums in the Command field.

I'm trying to use them with a HD-200. Power successfully toggles the unit into 'StandBy' mode, but PowerOn and PowerOff don't seem to do anything.

Do you think we could have "Power" exposed as an RW boolean field, to be able to directly address it? This would help with "Shutdown" macros and things.

Also, more generally, is there anyway to actually power the unit on/off remotely (ie, not just standby, but the equivalent of hitting the power button on the remote)?

Thanks again for all your work on this. The sage box is really the best media playback solution coupled with CQC i've found yet - makes me regret all the time i've spent struggling with the various software playback options!
As for the various Power options, there is a specific field for the Extender controls, but that's for the HD100 and hasn't been updated for the HD200. The ones in command are more generic and are probably done for a Sage client.

As far as I know, putting a HD200 off is just putting it in standby, there is no "hard shutdown" available programmatically ... And if the unit is really off, then it's not listening for communication and could not be switched on that way...
Fonceur Wrote:As far as I know, putting a HD200 off is just putting it in standby, there is no "hard shutdown" available programmatically ... And if the unit is really off, then it's not listening for communication and could not be switched on that way...

That is what I was thinking as well and the reason why you would never want to "power down" the extender completely. Sleep mode is as far as you would want to go in order to maintain control over the unit. Otherwise you will not be able to turn it back on remotely and would have to go to where the extender is located to physically turn it back on.
Thanks for the info guys. I'm still learning about my extender (went with this phrasing rather than "learning about my unit" but it's not a lot better).

Is there a way to discretely put the HD200 in/out of standby? ie, a PowerOff command that will put it in standby if it's not, and do nothing if it already is? I'd love to add such a command to my "shut down the media center" macro.
SamVimes2 Wrote:Is there a way to discretely put the HD200 in/out of standby?
As I said, try the SagePlayer.ExtenderControl, all 3 should work on a HD100 and 1 or 2 probably works on a HD200...
Fonceur Wrote:As I said, try the SagePlayer.ExtenderControl, all 3 should work on a HD100 and 1 or 2 probably works on a HD200...

Only reboot works on my HD200. Any chance of an update to get a RW Power field? or failing that, making it work with the HD200?

thanks very much!
- Updated the SageTCPServer, the volume control was broken...
- Added a MediaPosition field to SagePlayer.