Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Sage Media Server driver (beta)
#1
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).


Attached Files
.zip   Sage_Templates-0.01.zip (Size: 161.78 KB / Downloads: 33)
.cqcdrvpack   SageMediaServer_Dev_1.1.3.CQCDrvPack (Size: 18.01 KB / Downloads: 41)
.cqcdrvpack   SagePlayer_Dev_2.7.8.CQCDrvPack (Size: 10.94 KB / Downloads: 43)
.cqcmacropack   SageMacros_0.1.CQCMacroPack (Size: 12.37 KB / Downloads: 21)
.cqcdrvpack   SagePlayer_2_7_9.CQCDrvPack (Size: 10.9 KB / Downloads: 7)
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.
Reply
#2
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!
Reply
#3
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...
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.
Reply
#4
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!
Reply
#5
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...
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.
Reply
#6
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.
Brian - a long time user that rarely messes with the system now
Other systems used:
SageTV w/ cablecard tuner & multiple extenders for viewing
BlueIris and IP cameras for CCTV
Incredible PBX for home phone
Reply
#7
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.
Reply
#8
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...
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.
Reply
#9
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!
Reply
#10
- Updated the SageTCPServer, the volume control was broken...
- Added a MediaPosition field to SagePlayer.
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.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  OpenWeatherMap Weather Driver Using OneCall API kblagron 13 5,574 02-24-2023, 02:07 AM
Last Post: kblagron
  Onkyo/Integra Receiver Driver sic0048 6 536 01-08-2023, 10:24 PM
Last Post: kblagron
  RainMachine Sprinkler Irrigation Controller Driver kblagron 60 24,140 07-17-2022, 08:36 PM
Last Post: kblagron
  SmartThings API V1 driver kfly 5 1,416 02-22-2022, 07:55 AM
Last Post: kfly
  Tesla Driver Driver kfly 14 6,826 02-21-2022, 10:11 AM
Last Post: kfly
  Help on editing existing Driver Spot 5 1,132 02-03-2022, 06:50 PM
Last Post: kblagron
  New to driver development - where to start? jokermac 2 1,009 09-22-2021, 04:01 PM
Last Post: Spot
  Yamaha RX-V673 IP control Driver jdmevo123 22 12,480 03-27-2021, 03:02 PM
Last Post: Spot
  Updated SMS Driver gReatAutomation 0 950 01-28-2021, 12:53 PM
Last Post: gReatAutomation
  Russound MCA-66 on TCP driver lapointe.sc@gmail.com 5 3,260 05-24-2020, 06:23 AM
Last Post: gReatAutomation

Forum Jump:


Users browsing this thread: 1 Guest(s)