SageTV Community  

Go Back   SageTV Community > SageTV Development and Customizations > SageTV Studio

Notices

SageTV Studio Discussion related to the SageTV Studio application produced by SageTV. Questions, issues, problems, suggestions, etc. relating to the Studio software application should be posted here.

Reply
 
Thread Tools Search this Thread Display Modes
  #61  
Old 04-10-2011, 11:59 AM
tmiranda's Avatar
tmiranda tmiranda is online now
SageTVaholic
 
Join Date: Jul 2005
Location: Central Florida, USA
Posts: 5,805
Greg,

I remember reading a post by you a while ago where you mentioned you have an automated way of savings STV changes to a .stvi file and have it automatically reloaded each time you edit the STV. Is that someplace in these tools that I am not seeing or is it something that has not been posted?

If the tool does what I think you said it does I would really like to use it. Right now I take great pains to make sure I keep a copy of the "base" SageTV7.xml file that I started with but if I'm understand what your tool does I would not have to worry so much about that. Correct?
__________________

Sage Server: 8th gen Intel based system w/32GB RAM running Ubuntu Linux, HDHomeRun Prime with cable card for recording. Runs headless. Accessed via RD when necessary. Four HD-300 Extenders.
Reply With Quote
  #62  
Old 04-10-2011, 12:35 PM
GKusnick's Avatar
GKusnick GKusnick is offline
SageTVaholic
 
Join Date: Dec 2005
Posts: 5,083
I use the built-in UID File Difference to save changes in STVI form, and the V7 plugin manager to load STVIs at startup. The step in between those two is to package the saved STVI in plugin form. I have Ant scripts that do that from within the Netbeans IDE, but I have not published those scripts, and they don't really have much to do with my Studio Tools plugins.

I know Slugger has similar scripts for automating his plugin builds, and I seem to recall that he may have published them at some point. If so, you may be able to adapt them for STVI packaging. But again, these would be scripts that you would use from within your Java IDE as part of your plugin build process, after you have finished your Studio work and saved the result.

However you do it, you'll still need a base STV to compare against in order to generate the STVI in the first place. But you won't necessarily need to keep that base STV beyond the point at which you generate the STVI. This is true regardless of whether you automate the plugin packaging or not.
__________________
-- Greg
Reply With Quote
  #63  
Old 04-10-2011, 01:47 PM
Slugger Slugger is offline
SageTVaholic
 
Join Date: Mar 2007
Location: Kingston, ON
Posts: 4,008
My automation is more to do with automatically generating plugin manifests from good builds and automatically submitting the build to Google Code then submitting the manifest to SageTV. "Auto generating" the manifest just means automatically grabbing the md5 hash of the built zips and inserting it into the manifest, auto updating the mod date of the plugin, auto inserting svn change logs, etc., etc. Most of the manifest is static, but the parts that aren't are automated. The ant task for submitting the manifest to SageTV's site is in my dev-tools jar on my project site. The auto upload to Google Code can be seen in any of my build.xml files (in svn). You'll see the reference to the external jar I use to import that task. The generation of the manifest uses standard ant tasks and any of my bulid.xml files for my bigger plugins (sjq, sre, sagealert) will show how I do that.

Not sure if this is what you're looking for, but saw this thread and figured I'd just describe what tools I have in this area.
__________________
Twitter: @ddb_db
Server: Intel i5-4570 Quad Core, 16GB RAM, 1 x 128GB OS SSD (Win7 Pro x64 SP1), 1 x 2TB media drive
Capture: 2 x Colossus
STB Controller: 1 x USB-UIRT
Software:Java 1.7.0_71; SageTV 7.1.9
Clients: 1 x HD300, 2 x HD200, 1 x SageClient, 1 x PlaceShifter
Plugins: Too many to list now...
Reply With Quote
  #64  
Old 04-10-2011, 04:29 PM
tmiranda's Avatar
tmiranda tmiranda is online now
SageTVaholic
 
Join Date: Jul 2005
Location: Central Florida, USA
Posts: 5,805
Those tools are not what I was thinking of. I thought you had an extension to your Studio Tools that automatically generated and saved the .stvi when Studio was shutdown and then automatically imported it when Studio was started. Doing it manually is easy enough but if I could do it all automatically instead of in 3 or 4 steps that's even easier.

Tom
__________________

Sage Server: 8th gen Intel based system w/32GB RAM running Ubuntu Linux, HDHomeRun Prime with cable card for recording. Runs headless. Accessed via RD when necessary. Four HD-300 Extenders.
Reply With Quote
  #65  
Old 04-10-2011, 09:46 PM
GKusnick's Avatar
GKusnick GKusnick is offline
SageTVaholic
 
Join Date: Dec 2005
Posts: 5,083
Nope, nothing like that. There is a feature in my Studio Tools that lets you enable and disable STVIs from within Studio by checking checkboxes. But no automatic save-and-reload.
__________________
-- Greg
Reply With Quote
  #66  
Old 04-11-2011, 05:55 AM
tmiranda's Avatar
tmiranda tmiranda is online now
SageTVaholic
 
Join Date: Jul 2005
Location: Central Florida, USA
Posts: 5,805
Quote:
Originally Posted by GKusnick View Post
Nope, nothing like that. There is a feature in my Studio Tools that lets you enable and disable STVIs from within Studio by checking checkboxes. But no automatic save-and-reload.
OK. Maybe an idea for the future?
__________________

Sage Server: 8th gen Intel based system w/32GB RAM running Ubuntu Linux, HDHomeRun Prime with cable card for recording. Runs headless. Accessed via RD when necessary. Four HD-300 Extenders.
Reply With Quote
  #67  
Old 05-30-2011, 09:34 PM
Fonceur's Avatar
Fonceur Fonceur is offline
Sage Icon
 
Join Date: Jan 2008
Location: DDO, QC
Posts: 1,915
Running SageTV 7.0.23 with GKusnick's Tools Library 1.4.7, I am getting:

EXCEPTION java.lang.NoSuchMethodError: gkusnick.sagetv.api.MediaPlayerAPI.StartPlaylist(Lgkusnick/sagetv/api/PlaylistAPI$Playlist

I know this used to work fine before... That's for a call like:

Code:
API sageApi = new API(this.context);
MediaPlayerAPI sageApiMediaPlayer = new MediaPlayerAPI(sageApi);
sageApiMediaPlayer.StartPlaylist(playlist);
__________________
SageTCPServer (2.3.5): Open source TCP interface to the SageTV API
MLSageTV (3.1.8)/Sage Media Server (1.13): SageTV plugin for MainLobby/CQC
TaSageTV (2.58)/TaSTVRemote (1.14): Monitor/control SageTV with an Android device
TbSageTV (1.02)/STVRemote (1.11): Monitor/control SageTV with a PlayBook 2
TiSageTV (1.64)/TiSTVRemote (1.09): Monitor/control SageTV with an iPhone/iPod/iPad
Reply With Quote
  #68  
Old 05-30-2011, 09:49 PM
GKusnick's Avatar
GKusnick GKusnick is offline
SageTVaholic
 
Join Date: Dec 2005
Posts: 5,083
Where did playlist come from? From the error message it looks like it's an array, not a singleton Playlist object. In which case the message is correct: there is no method by that name that takes an array.

And by the way, you don't need to instantiate MediaPlayerAPI yourself. There's a perfectly good instance already in sageApi.mediaPlayerAPI.
__________________
-- Greg
Reply With Quote
  #69  
Old 05-30-2011, 09:54 PM
Fonceur's Avatar
Fonceur Fonceur is offline
Sage Icon
 
Join Date: Jan 2008
Location: DDO, QC
Posts: 1,915
Quote:
Originally Posted by GKusnick View Post
Where did playlist come from?
It's not an array, it comes from something like:

PlaylistAPI.Playlist playlist = sageApiPlaylist.GetNowPlayingList();

Quote:
There's a perfectly good instance already in sageApi.mediaPlayerAPI.
Thanks, I'll get rid of those.
__________________
SageTCPServer (2.3.5): Open source TCP interface to the SageTV API
MLSageTV (3.1.8)/Sage Media Server (1.13): SageTV plugin for MainLobby/CQC
TaSageTV (2.58)/TaSTVRemote (1.14): Monitor/control SageTV with an Android device
TbSageTV (1.02)/STVRemote (1.11): Monitor/control SageTV with a PlayBook 2
TiSageTV (1.64)/TiSTVRemote (1.09): Monitor/control SageTV with an iPhone/iPod/iPad
Reply With Quote
  #70  
Old 05-30-2011, 10:05 PM
GKusnick's Avatar
GKusnick GKusnick is offline
SageTVaholic
 
Join Date: Dec 2005
Posts: 5,083
Quote:
Originally Posted by Fonceur View Post
That's for a call like:
Quote:
Originally Posted by Fonceur View Post
it comes from something like:
Not sure what to tell you. It should work. So if your code is merely something like what you posted, then perhaps the problem lies in the difference between what you posted and your actual code.

Do note that in addition to api.mediaPlayerAPI.StartPlaylist(playlist), there's also a playlist.StartPlaylist() method that takes no arguments, so passing in a playlist to the second one would be an error. Again, without seeing your actual code, it's hard to know precisely where the error is originating.
__________________
-- Greg
Reply With Quote
  #71  
Old 05-30-2011, 10:24 PM
Fonceur's Avatar
Fonceur Fonceur is offline
Sage Icon
 
Join Date: Jan 2008
Location: DDO, QC
Posts: 1,915
Quote:
Originally Posted by GKusnick View Post
there's also a playlist.StartPlaylist() method that takes no arguments, so passing in a playlist to the second one would be an error.
I tried playlist.StartPlaylist(), and got a similar error:

Code:
EXCEPTION java.lang.NoSuchMethodError:
gkusnick.sagetv.api.PlaylistAPI$Playlist.StartPlaylist()V AT 
sagetcpserver.SagePlayer.processIncomingMessages(SagePlayer.java:311)
I'm not sure if the "V" before the "AT" is part or the exception message or a typo in the tools (it was also there for the other method)...

As for the "something like", that's because that was one way of getting a playlist, another is through sageApi.playlistAPI.FindPlaylist(plName).

EDIT: Same error with playlist.StartPlaylistAt(0).
__________________
SageTCPServer (2.3.5): Open source TCP interface to the SageTV API
MLSageTV (3.1.8)/Sage Media Server (1.13): SageTV plugin for MainLobby/CQC
TaSageTV (2.58)/TaSTVRemote (1.14): Monitor/control SageTV with an Android device
TbSageTV (1.02)/STVRemote (1.11): Monitor/control SageTV with a PlayBook 2
TiSageTV (1.64)/TiSTVRemote (1.09): Monitor/control SageTV with an iPhone/iPod/iPad

Last edited by Fonceur; 05-30-2011 at 11:06 PM.
Reply With Quote
  #72  
Old 05-30-2011, 11:59 PM
GKusnick's Avatar
GKusnick GKusnick is offline
SageTVaholic
 
Join Date: Dec 2005
Posts: 5,083
Try doing a clean build of your project that depends on ToolsLib. Apparently the documented result type of StartPlaylist() and StartPlaylistAt() changed at some point from void to int, and your JAR is still looking for the void version.

However I'm not convinced that int is really the correct result type, since the description of the returned value says that it's either true or an error message. So maybe Object ought to be the proper result type for these methods. If we can get a clarification on this, I can change it in the next rev of my library (which will probably again require a clean build of your code that depends on it). I'll submit a bug report on that.
__________________
-- Greg
Reply With Quote
  #73  
Old 05-31-2011, 07:40 AM
Fonceur's Avatar
Fonceur Fonceur is offline
Sage Icon
 
Join Date: Jan 2008
Location: DDO, QC
Posts: 1,915
Quote:
Originally Posted by GKusnick View Post
Try doing a clean build of your project that depends on ToolsLib.
OK thanks, that fixed it.
__________________
SageTCPServer (2.3.5): Open source TCP interface to the SageTV API
MLSageTV (3.1.8)/Sage Media Server (1.13): SageTV plugin for MainLobby/CQC
TaSageTV (2.58)/TaSTVRemote (1.14): Monitor/control SageTV with an Android device
TbSageTV (1.02)/STVRemote (1.11): Monitor/control SageTV with a PlayBook 2
TiSageTV (1.64)/TiSTVRemote (1.09): Monitor/control SageTV with an iPhone/iPod/iPad
Reply With Quote
  #74  
Old 06-17-2011, 06:53 PM
GKusnick's Avatar
GKusnick GKusnick is offline
SageTVaholic
 
Join Date: Dec 2005
Posts: 5,083
ToolsLib version 1.5 has been uploaded with API wrappers current as of SageTV V7.1.9, including the new Security API.

Note that the result types of the StartPlaylist and StartPlaylistAt wrappers have changed (again) from int to Object, reflecting a change in the underlying API. This means that plugins using these two wrapper methods will need to be recompiled in order to bind properly to the changed method signatures.
__________________
-- Greg
Reply With Quote
  #75  
Old 07-02-2011, 01:37 PM
Fonceur's Avatar
Fonceur Fonceur is offline
Sage Icon
 
Join Date: Jan 2008
Location: DDO, QC
Posts: 1,915
Just to report that gkusnick.sagetv.api.Utility.ExecuteProcess is broken, but gkusnick.sagetv.api.Utility.ExecuteProcessReturnOutput works fine...

Code:
EXCEPTION java.lang.ClassCastException: java.lang.String 
cannot be cast to java.lang.Process AT 
gkusnick.sagetv.api.Utility.ExecuteProcess(Utility.java:363)
__________________
SageTCPServer (2.3.5): Open source TCP interface to the SageTV API
MLSageTV (3.1.8)/Sage Media Server (1.13): SageTV plugin for MainLobby/CQC
TaSageTV (2.58)/TaSTVRemote (1.14): Monitor/control SageTV with an Android device
TbSageTV (1.02)/STVRemote (1.11): Monitor/control SageTV with a PlayBook 2
TiSageTV (1.64)/TiSTVRemote (1.09): Monitor/control SageTV with an iPhone/iPod/iPad
Reply With Quote
  #76  
Old 07-02-2011, 02:19 PM
GKusnick's Avatar
GKusnick GKusnick is offline
SageTVaholic
 
Join Date: Dec 2005
Posts: 5,083
Quote:
Originally Posted by Fonceur View Post
Just to report that gkusnick.sagetv.api.Utility.ExecuteProcess is broken, but gkusnick.sagetv.api.Utility.ExecuteProcessReturnOutput works fine...

Code:
EXCEPTION java.lang.ClassCastException: java.lang.String 
cannot be cast to java.lang.Process AT 
gkusnick.sagetv.api.Utility.ExecuteProcess(Utility.java:363)
I'm away from home and not in a position to verify this, but if true it looks like a change in the underlying API that's not reflected in the documentation (which clearly indicates that ExecuteProcess returns a java.lang.Process).

I'll do some testing when I get a chance.
__________________
-- Greg
Reply With Quote
  #77  
Old 08-30-2011, 09:26 PM
Fonceur's Avatar
Fonceur Fonceur is offline
Sage Icon
 
Join Date: Jan 2008
Location: DDO, QC
Posts: 1,915
Did you get any chance to look at the ExecuteProcess?
__________________
SageTCPServer (2.3.5): Open source TCP interface to the SageTV API
MLSageTV (3.1.8)/Sage Media Server (1.13): SageTV plugin for MainLobby/CQC
TaSageTV (2.58)/TaSTVRemote (1.14): Monitor/control SageTV with an Android device
TbSageTV (1.02)/STVRemote (1.11): Monitor/control SageTV with a PlayBook 2
TiSageTV (1.64)/TiSTVRemote (1.09): Monitor/control SageTV with an iPhone/iPod/iPad

Last edited by Fonceur; 08-30-2011 at 09:36 PM.
Reply With Quote
  #78  
Old 08-31-2011, 11:08 PM
GKusnick's Avatar
GKusnick GKusnick is offline
SageTVaholic
 
Join Date: Dec 2005
Posts: 5,083
Quote:
Originally Posted by Fonceur View Post
Did you get any chance to look at the ExecuteProcess?
Sorry; I've been tied up with family crises for the last couple of months. Haven't been home for more than a couple of weeks since June. I do have these issues bookmarked to look at when I can, but that won't be till maybe mid-September.
__________________
-- Greg
Reply With Quote
  #79  
Old 01-08-2017, 09:32 AM
jusjoken jusjoken is offline
Sage Icon
 
Join Date: Dec 2005
Location: Minneapolis MN
Posts: 2,169
I have copied these tools to BinTray and created v9 manifests for these so we retain this great set of tools.

k
Reply With Quote
  #80  
Old 01-08-2017, 03:43 PM
wayner wayner is offline
SageTVaholic
 
Join Date: Jan 2008
Location: Toronto, ON
Posts: 6,576
Holy necropost Batman! Over five years.
__________________
New Server - Sage9 on unRAID 2xHD-PVR, HDHR for OTA
Old Server - Sage7 on Win7Pro-i660CPU with 4.6TB, HD-PVR, HDHR OTA, HVR-1850 OTA
Clients - 2xHD-300, 8xHD-200 Extenders, Client+2xPlaceshifter and a WHS which acts as a backup Sage server
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
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

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
New tools for Studio users GKusnick SageTV Studio 206 11-29-2009 10:08 PM
Looking for Word to PDF & HTML conversion tools (for SageTV manual) Opus4 General Discussion 14 11-09-2005 11:20 AM
any chances of altering the graphics in sage without studio? studio users please read reboot_this SageTV Customizations 1 12-03-2004 04:03 AM


All times are GMT -6. The time now is 05:40 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Copyright 2003-2005 SageTV, LLC. All rights reserved.