03-30-2009, 11:43 AM
(This post was last modified: 07-19-2014, 08:13 AM by Dean Roddey.)
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?
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

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).
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
- PlayMode : Stop,Play,Pause
- CurMedia* : renamed to Media*, more fields exposed.

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).
Field Generator 0.65: Create CQC fields on the fly, from external applications.
Mobile templates 0.4: Main resolution of 320x480 with navigation side bars (384x544).
Sage Media Server 1.1.3 + Sage Player 2.7.8: Display and manipulate SageTV information or player.
TaRIVA 1.26: Android RIVA client.
Mobile templates 0.4: Main resolution of 320x480 with navigation side bars (384x544).
Sage Media Server 1.1.3 + Sage Player 2.7.8: Display and manipulate SageTV information or player.
TaRIVA 1.26: Android RIVA client.