Charmed Quark Systems
Google
WWW CharmedQuark.com

Go Back   Charmed Quark Systems > General Discussion > Beta Driver Development
Register FAQ Members List Calendar Mark Forums Read

Beta Driver Development Discussion of new drivers, finding someone to write a new driver, etc...

Reply
 
Thread Tools Display Modes
  #1  
Old 03-30-2009, 11:43 AM
Fonceur Fonceur is offline
 
Join Date: Sep 2008
Location: Canada
Posts: 1,057
Default Sage Media Server driver (beta)

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... ;)


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.


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
File Type: cqcdrvpack SageMediaServer_Dev_1.1.3.CQCDrvPack (18.0 KB, 31 views)
File Type: cqcdrvpack SagePlayer_Dev_2.7.8.CQCDrvPack (10.9 KB, 39 views)
File Type: cqcmacropack SageMacros_0.1.CQCMacroPack (12.4 KB, 16 views)
File Type: zip Sage_Templates-0.01.zip (161.8 KB, 17 views)
__________________
Fonceur's Place
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.

Last edited by Fonceur : 04-13-2011 at 10:46 AM.
Reply With Quote
  #2  
Old 04-05-2009, 03:16 PM
SamVimes2 SamVimes2 is offline
 
Join Date: Oct 2005
Location: New York, New York
Posts: 1,291
Default

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 With Quote
  #3  
Old 04-05-2009, 04:44 PM
Fonceur Fonceur is offline
 
Join Date: Sep 2008
Location: Canada
Posts: 1,057
Default

Quote:
Originally Posted by SamVimes2
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...
__________________
Fonceur's Place
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 With Quote
  #4  
Old 04-06-2009, 04:35 AM
SamVimes2 SamVimes2 is offline
 
Join Date: Oct 2005
Location: New York, New York
Posts: 1,291
Default

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 With Quote
  #5  
Old 04-06-2009, 06:34 AM
Fonceur Fonceur is offline
 
Join Date: Sep 2008
Location: Canada
Posts: 1,057
Default

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's Place
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 With Quote
  #6  
Old 04-06-2009, 08:42 AM
sic0048 sic0048 is offline
 
Join Date: Jun 2005
Location: South Carolina
Posts: 3,140
Default

Quote:
Originally Posted by Fonceur
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

"Really dear, it was too good of a deal to pass up. Besides, look at what it does now...."
I think my wife is getting a little tired of hearing this
Reply With Quote
  #7  
Old 04-06-2009, 09:18 AM
SamVimes2 SamVimes2 is offline
 
Join Date: Oct 2005
Location: New York, New York
Posts: 1,291
Default

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 With Quote
  #8  
Old 04-06-2009, 09:53 AM
Fonceur Fonceur is offline
 
Join Date: Sep 2008
Location: Canada
Posts: 1,057
Default

Quote:
Originally Posted by SamVimes2
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's Place
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 With Quote
  #9  
Old 04-06-2009, 02:58 PM
SamVimes2 SamVimes2 is offline
 
Join Date: Oct 2005
Location: New York, New York
Posts: 1,291
Default

Quote:
Originally Posted by Fonceur
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 With Quote
  #10  
Old 04-16-2009, 07:35 AM
Fonceur Fonceur is offline
 
Join Date: Sep 2008
Location: Canada
Posts: 1,057
Default

- Updated the SageTCPServer, the volume control was broken...
- Added a MediaPosition field to SagePlayer.
__________________
Fonceur's Place
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.

Last edited by Fonceur : 04-16-2009 at 08:11 AM.
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -8. The time now is 10:52 PM.


Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.