|
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. |
|
Thread Tools | Search this Thread | Display Modes |
#61
|
||||
|
||||
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. |
#62
|
||||
|
||||
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 |
#63
|
|||
|
|||
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... |
#64
|
||||
|
||||
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. |
#65
|
||||
|
||||
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 |
#66
|
||||
|
||||
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. |
#67
|
||||
|
||||
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 |
#68
|
||||
|
||||
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 |
#69
|
||||
|
||||
It's not an array, it comes from something like:
PlaylistAPI.Playlist playlist = sageApiPlaylist.GetNowPlayingList(); Quote:
__________________
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 |
#70
|
||||
|
||||
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 |
#71
|
||||
|
||||
Quote:
Code:
EXCEPTION java.lang.NoSuchMethodError: gkusnick.sagetv.api.PlaylistAPI$Playlist.StartPlaylist()V AT sagetcpserver.SagePlayer.processIncomingMessages(SagePlayer.java:311) 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. |
#72
|
||||
|
||||
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 |
#73
|
||||
|
||||
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 |
#74
|
||||
|
||||
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 |
#75
|
||||
|
||||
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 |
#76
|
||||
|
||||
Quote:
I'll do some testing when I get a chance.
__________________
-- Greg |
#77
|
||||
|
||||
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. |
#78
|
||||
|
||||
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 |
#79
|
|||
|
|||
I have copied these tools to BinTray and created v9 manifests for these so we retain this great set of tools.
k
__________________
If you wish to see what I am up to and support my efforts visit my Patreon page |
#80
|
|||
|
|||
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 |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|
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 |