SageTV Community  

Go Back   SageTV Community > SageTV Development and Customizations > SageTV v7 Customizations
Forum Rules FAQs Community Downloads Today's Posts Search

Notices

SageTV v7 Customizations This forums is for discussing and sharing user-created modifications for the SageTV version 7 application created by using the SageTV Studio or through the use of external plugins. Use this forum to discuss plugins for SageTV version 7 and newer.

Reply
 
Thread Tools Search this Thread Display Modes
  #321  
Old 01-17-2011, 08:26 PM
phelme's Avatar
phelme phelme is offline
Sage Icon
 
Join Date: Dec 2006
Posts: 1,151
Quote:
Originally Posted by Slugger View Post
The difference might seem subtle, but hopefully it's clear?
Perfectly. Thanks.
__________________
Server: AMD 9600 Phenom on XP, Gigabyte GA-MA78GPM, 2GB RAM, 320+250+500 GB SATA drives, HDHomeRun Prime, HD-PVR x.5.1, Paterson serial
Client/Encoder:AMD 3800+ X2, 512 MB RAM, ATI X1650 XT, nMediaPC case, Hauppauge HD-PVR, Cyberlink/ArcSoft decoders, USB-UIRT
Client/Encoder: AMD 3800+ X2, 512 MB RAM, 6150 graphics, nMediaPC case, ArcSoft decoders
Client: HD300, Asus Pundit P1-AH1, AMD 3800+ X2 CPU, 1 GB RAM, 6150 graphics, ArcSoft decoders
Backup: Synology
SageTV version: FINAL
Reply With Quote
  #322  
Old 01-17-2011, 08:40 PM
phelme's Avatar
phelme phelme is offline
Sage Icon
 
Join Date: Dec 2006
Posts: 1,151
Now that I understand I need to handle the resource intensive stuff outside of the cron job, I see that I have to add a few calls to add the media files to the queue so I can handle calling mediashrink from there.

I've added the ServerClient object as in the archive script example:

ServerClient clnt = new ServerClient();

But trying to create the object is failing (exception dump follows). I'm running this under Eclipse (with the groovy plug-in) and my tasks are being handled by a SJQv4 Task Client service on XP. Everything else SageTV wise has been working under Eclipse until this point.

Something about the H2 database I guess... wondering if I'm suppose to set up something else since I'm running this under Eclipse? I'm kind of a newbie at the Sage API so forgive me.


Code:
LOG4J: Configured Logging for: sagex-api using file: sagex-api.log4j.properties

Embedded SageAPI is not functional.  We are most likely running remotely.

Adding Remote Server: sagetv-server

FATAL - H2 JDBC driver is missing!
java.lang.ClassNotFoundException: org.h2.Driver
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at com.google.code.sagetvaddons.sjq.server.DataStore.<init>(DataStore.java:141)
	at com.google.code.sagetvaddons.sjq.server.DataStore.<init>(DataStore.java:59)
	at com.google.code.sagetvaddons.sjq.server.DataStore$1.initialValue(DataStore.java:66)
	at com.google.code.sagetvaddons.sjq.server.DataStore$1.initialValue(DataStore.java:62)
	at java.lang.ThreadLocal.setInitialValue(Unknown Source)
	at java.lang.ThreadLocal.get(Unknown Source)
	at com.google.code.sagetvaddons.sjq.server.DataStore.get(DataStore.java:85)
	at com.google.code.sagetvaddons.sjq.network.ServerClient.<init>(ServerClient.java:70)
	at com.google.code.sagetvaddons.sjq.network.ServerClient.<init>(ServerClient.java:74)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77)
	at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:102)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:52)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:190)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:194)
	at mediashrink_test_CRON.run(mediashrink_test_CRON.groovy:99)
	at groovy.lang.GroovyShell.runScriptOrMainOrTestOrRunnable(GroovyShell.java:264)
	at groovy.lang.GroovyShell.run(GroovyShell.java:227)
	at groovy.lang.GroovyShell.run(GroovyShell.java:157)
	at groovy.ui.GroovyMain.processOnce(GroovyMain.java:496)
	at groovy.ui.GroovyMain.run(GroovyMain.java:311)
	at groovy.ui.GroovyMain.process(GroovyMain.java:297)
	at groovy.ui.GroovyMain.processArgs(GroovyMain.java:112)
	at groovy.ui.GroovyMain.main(GroovyMain.java:93)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:108)
	at org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:130)
FATAL - H2 JDBC driver is missing!
java.lang.ClassNotFoundException: org.h2.Driver
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at com.google.code.sagetvaddons.sjq.server.DataStore.<init>(DataStore.java:141)
	at com.google.code.sagetvaddons.sjq.server.DataStore.<init>(DataStore.java:59)
	at com.google.code.sagetvaddons.sjq.server.DataStore$1.initialValue(DataStore.java:66)
	at com.google.code.sagetvaddons.sjq.server.DataStore$1.initialValue(DataStore.java:62)
	at java.lang.ThreadLocal.setInitialValue(Unknown Source)
	at java.lang.ThreadLocal.get(Unknown Source)
	at com.google.code.sagetvaddons.sjq.server.DataStore.get(DataStore.java:99)
	at com.google.code.sagetvaddons.sjq.network.ServerClient.<init>(ServerClient.java:70)
	at com.google.code.sagetvaddons.sjq.network.ServerClient.<init>(ServerClient.java:74)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77)
	at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:102)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:52)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:190)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:194)
	at mediashrink_test_CRON.run(mediashrink_test_CRON.groovy:99)
	at groovy.lang.GroovyShell.runScriptOrMainOrTestOrRunnable(GroovyShell.java:264)
	at groovy.lang.GroovyShell.run(GroovyShell.java:227)
	at groovy.lang.GroovyShell.run(GroovyShell.java:157)
	at groovy.ui.GroovyMain.processOnce(GroovyMain.java:496)
	at groovy.ui.GroovyMain.run(GroovyMain.java:311)
	at groovy.ui.GroovyMain.process(GroovyMain.java:297)
	at groovy.ui.GroovyMain.processArgs(GroovyMain.java:112)
	at groovy.ui.GroovyMain.main(GroovyMain.java:93)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:108)
	at org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:130)
FATAL - H2 JDBC driver is missing!
java.lang.ClassNotFoundException: org.h2.Driver
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at com.google.code.sagetvaddons.sjq.server.DataStore.<init>(DataStore.java:141)
	at com.google.code.sagetvaddons.sjq.server.DataStore.<init>(DataStore.java:59)
	at com.google.code.sagetvaddons.sjq.server.DataStore$1.initialValue(DataStore.java:66)
	at com.google.code.sagetvaddons.sjq.server.DataStore$1.initialValue(DataStore.java:62)
	at java.lang.ThreadLocal.setInitialValue(Unknown Source)
	at java.lang.ThreadLocal.get(Unknown Source)
	at com.google.code.sagetvaddons.sjq.server.DataStore.get(DataStore.java:99)
	at com.google.code.sagetvaddons.sjq.network.ServerClient.<init>(ServerClient.java:70)
	at com.google.code.sagetvaddons.sjq.network.ServerClient.<init>(ServerClient.java:74)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77)
	at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:102)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:52)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:190)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:194)
	at mediashrink_test_CRON.run(mediashrink_test_CRON.groovy:99)
	at groovy.lang.GroovyShell.runScriptOrMainOrTestOrRunnable(GroovyShell.java:264)
	at groovy.lang.GroovyShell.run(GroovyShell.java:227)
	at groovy.lang.GroovyShell.run(GroovyShell.java:157)
	at groovy.ui.GroovyMain.processOnce(GroovyMain.java:496)
	at groovy.ui.GroovyMain.run(GroovyMain.java:311)
	at groovy.ui.GroovyMain.process(GroovyMain.java:297)
	at groovy.ui.GroovyMain.processArgs(GroovyMain.java:112)
	at groovy.ui.GroovyMain.main(GroovyMain.java:93)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:108)
	at org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:130)
FATAL - H2 JDBC driver is missing!
java.lang.ClassNotFoundException: org.h2.Driver
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at com.google.code.sagetvaddons.sjq.server.DataStore.<init>(DataStore.java:141)
	at com.google.code.sagetvaddons.sjq.server.DataStore.<init>(DataStore.java:59)
	at com.google.code.sagetvaddons.sjq.server.DataStore$1.initialValue(DataStore.java:66)
	at com.google.code.sagetvaddons.sjq.server.DataStore$1.initialValue(DataStore.java:62)
	at java.lang.ThreadLocal.setInitialValue(Unknown Source)
	at java.lang.ThreadLocal.get(Unknown Source)
	at com.google.code.sagetvaddons.sjq.server.DataStore.get(DataStore.java:99)
	at com.google.code.sagetvaddons.sjq.network.ServerClient.<init>(ServerClient.java:70)
	at com.google.code.sagetvaddons.sjq.network.ServerClient.<init>(ServerClient.java:74)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77)
	at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:102)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:52)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:190)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:194)
	at mediashrink_test_CRON.run(mediashrink_test_CRON.groovy:99)
	at groovy.lang.GroovyShell.runScriptOrMainOrTestOrRunnable(GroovyShell.java:264)
	at groovy.lang.GroovyShell.run(GroovyShell.java:227)
	at groovy.lang.GroovyShell.run(GroovyShell.java:157)
	at groovy.ui.GroovyMain.processOnce(GroovyMain.java:496)
	at groovy.ui.GroovyMain.run(GroovyMain.java:311)
	at groovy.ui.GroovyMain.process(GroovyMain.java:297)
	at groovy.ui.GroovyMain.processArgs(GroovyMain.java:112)
	at groovy.ui.GroovyMain.main(GroovyMain.java:93)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:108)
	at org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:130)
FATAL - H2 JDBC driver is missing!
java.lang.ClassNotFoundException: org.h2.Driver
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at com.google.code.sagetvaddons.sjq.server.DataStore.<init>(DataStore.java:141)
	at com.google.code.sagetvaddons.sjq.server.DataStore.<init>(DataStore.java:59)
	at com.google.code.sagetvaddons.sjq.server.DataStore$1.initialValue(DataStore.java:66)
	at com.google.code.sagetvaddons.sjq.server.DataStore$1.initialValue(DataStore.java:62)
	at java.lang.ThreadLocal.setInitialValue(Unknown Source)
	at java.lang.ThreadLocal.get(Unknown Source)
	at com.google.code.sagetvaddons.sjq.server.DataStore.get(DataStore.java:99)
	at com.google.code.sagetvaddons.sjq.network.ServerClient.<init>(ServerClient.java:70)
	at com.google.code.sagetvaddons.sjq.network.ServerClient.<init>(ServerClient.java:74)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77)
	at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:102)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:52)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:190)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:194)
	at mediashrink_test_CRON.run(mediashrink_test_CRON.groovy:99)
	at groovy.lang.GroovyShell.runScriptOrMainOrTestOrRunnable(GroovyShell.java:264)
	at groovy.lang.GroovyShell.run(GroovyShell.java:227)
	at groovy.lang.GroovyShell.run(GroovyShell.java:157)
	at groovy.ui.GroovyMain.processOnce(GroovyMain.java:496)
	at groovy.ui.GroovyMain.run(GroovyMain.java:311)
	at groovy.ui.GroovyMain.process(GroovyMain.java:297)
	at groovy.ui.GroovyMain.processArgs(GroovyMain.java:112)
	at groovy.ui.GroovyMain.main(GroovyMain.java:93)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:108)
	at org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:130)
FATAL - H2 JDBC driver is missing!
java.lang.ClassNotFoundException: org.h2.Driver
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at com.google.code.sagetvaddons.sjq.server.DataStore.<init>(DataStore.java:141)
	at com.google.code.sagetvaddons.sjq.server.DataStore.<init>(DataStore.java:59)
	at com.google.code.sagetvaddons.sjq.server.DataStore$1.initialValue(DataStore.java:66)
	at com.google.code.sagetvaddons.sjq.server.DataStore$1.initialValue(DataStore.java:62)
	at java.lang.ThreadLocal.setInitialValue(Unknown Source)
	at java.lang.ThreadLocal.get(Unknown Source)
	at com.google.code.sagetvaddons.sjq.server.DataStore.get(DataStore.java:99)
	at com.google.code.sagetvaddons.sjq.network.ServerClient.<init>(ServerClient.java:70)
	at com.google.code.sagetvaddons.sjq.network.ServerClient.<init>(ServerClient.java:74)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77)
	at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:102)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:52)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:190)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:194)
	at mediashrink_test_CRON.run(mediashrink_test_CRON.groovy:99)
	at groovy.lang.GroovyShell.runScriptOrMainOrTestOrRunnable(GroovyShell.java:264)
	at groovy.lang.GroovyShell.run(GroovyShell.java:227)
	at groovy.lang.GroovyShell.run(GroovyShell.java:157)
	at groovy.ui.GroovyMain.processOnce(GroovyMain.java:496)
	at groovy.ui.GroovyMain.run(GroovyMain.java:311)
	at groovy.ui.GroovyMain.process(GroovyMain.java:297)
	at groovy.ui.GroovyMain.processArgs(GroovyMain.java:112)
	at groovy.ui.GroovyMain.main(GroovyMain.java:93)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:108)
	at org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:130)
FATAL - H2 JDBC driver is missing!
java.lang.ClassNotFoundException: org.h2.Driver
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at com.google.code.sagetvaddons.sjq.server.DataStore.<init>(DataStore.java:141)
	at com.google.code.sagetvaddons.sjq.server.DataStore.<init>(DataStore.java:59)
	at com.google.code.sagetvaddons.sjq.server.DataStore$1.initialValue(DataStore.java:66)
	at com.google.code.sagetvaddons.sjq.server.DataStore$1.initialValue(DataStore.java:62)
	at java.lang.ThreadLocal.setInitialValue(Unknown Source)
	at java.lang.ThreadLocal.get(Unknown Source)
	at com.google.code.sagetvaddons.sjq.server.DataStore.get(DataStore.java:99)
	at com.google.code.sagetvaddons.sjq.network.ServerClient.<init>(ServerClient.java:70)
	at com.google.code.sagetvaddons.sjq.network.ServerClient.<init>(ServerClient.java:74)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77)
	at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:102)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:52)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:190)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:194)
	at mediashrink_test_CRON.run(mediashrink_test_CRON.groovy:99)
	at groovy.lang.GroovyShell.runScriptOrMainOrTestOrRunnable(GroovyShell.java:264)
	at groovy.lang.GroovyShell.run(GroovyShell.java:227)
	at groovy.lang.GroovyShell.run(GroovyShell.java:157)
	at groovy.ui.GroovyMain.processOnce(GroovyMain.java:496)
	at groovy.ui.GroovyMain.run(GroovyMain.java:311)
	at groovy.ui.GroovyMain.process(GroovyMain.java:297)
	at groovy.ui.GroovyMain.processArgs(GroovyMain.java:112)
	at groovy.ui.GroovyMain.main(GroovyMain.java:93)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:108)
	at org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:130)
FATAL - H2 JDBC driver is missing!
java.lang.ClassNotFoundException: org.h2.Driver
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at com.google.code.sagetvaddons.sjq.server.DataStore.<init>(DataStore.java:141)
	at com.google.code.sagetvaddons.sjq.server.DataStore.<init>(DataStore.java:59)
	at com.google.code.sagetvaddons.sjq.server.DataStore$1.initialValue(DataStore.java:66)
	at com.google.code.sagetvaddons.sjq.server.DataStore$1.initialValue(DataStore.java:62)
	at java.lang.ThreadLocal.setInitialValue(Unknown Source)
	at java.lang.ThreadLocal.get(Unknown Source)
	at com.google.code.sagetvaddons.sjq.server.DataStore.get(DataStore.java:99)
	at com.google.code.sagetvaddons.sjq.network.ServerClient.<init>(ServerClient.java:70)
	at com.google.code.sagetvaddons.sjq.network.ServerClient.<init>(ServerClient.java:74)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77)
	at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:102)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:52)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:190)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:194)
	at mediashrink_test_CRON.run(mediashrink_test_CRON.groovy:99)
	at groovy.lang.GroovyShell.runScriptOrMainOrTestOrRunnable(GroovyShell.java:264)
	at groovy.lang.GroovyShell.run(GroovyShell.java:227)
	at groovy.lang.GroovyShell.run(GroovyShell.java:157)
	at groovy.ui.GroovyMain.processOnce(GroovyMain.java:496)
	at groovy.ui.GroovyMain.run(GroovyMain.java:311)
	at groovy.ui.GroovyMain.process(GroovyMain.java:297)
	at groovy.ui.GroovyMain.processArgs(GroovyMain.java:112)
	at groovy.ui.GroovyMain.main(GroovyMain.java:93)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:108)
	at org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:130)
__________________
Server: AMD 9600 Phenom on XP, Gigabyte GA-MA78GPM, 2GB RAM, 320+250+500 GB SATA drives, HDHomeRun Prime, HD-PVR x.5.1, Paterson serial
Client/Encoder:AMD 3800+ X2, 512 MB RAM, ATI X1650 XT, nMediaPC case, Hauppauge HD-PVR, Cyberlink/ArcSoft decoders, USB-UIRT
Client/Encoder: AMD 3800+ X2, 512 MB RAM, 6150 graphics, nMediaPC case, ArcSoft decoders
Client: HD300, Asus Pundit P1-AH1, AMD 3800+ X2 CPU, 1 GB RAM, 6150 graphics, ArcSoft decoders
Backup: Synology
SageTV version: FINAL
Reply With Quote
  #323  
Old 01-17-2011, 08:49 PM
Slugger Slugger is offline
SageTVaholic
 
Join Date: Mar 2007
Location: Kingston, ON
Posts: 4,008
Add the h2-1.x.y.jar file from SageTV\JARs\ to your project's classpath in Eclipse. You may also need to add it to the service task client's lib dir, if it's not already there (though I thought I packaged it up).
__________________
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
  #324  
Old 01-17-2011, 09:11 PM
phelme's Avatar
phelme phelme is offline
Sage Icon
 
Join Date: Dec 2006
Posts: 1,151
Quote:
Originally Posted by Slugger View Post
Add the h2-1.x.y.jar file from SageTV\JARs\ to your project's classpath in Eclipse. You may also need to add it to the service task client's lib dir, if it's not already there (though I thought I packaged it up).
Cool. Was just in the shower and was thinking it would be something like that. Thanks!
__________________
Server: AMD 9600 Phenom on XP, Gigabyte GA-MA78GPM, 2GB RAM, 320+250+500 GB SATA drives, HDHomeRun Prime, HD-PVR x.5.1, Paterson serial
Client/Encoder:AMD 3800+ X2, 512 MB RAM, ATI X1650 XT, nMediaPC case, Hauppauge HD-PVR, Cyberlink/ArcSoft decoders, USB-UIRT
Client/Encoder: AMD 3800+ X2, 512 MB RAM, 6150 graphics, nMediaPC case, ArcSoft decoders
Client: HD300, Asus Pundit P1-AH1, AMD 3800+ X2 CPU, 1 GB RAM, 6150 graphics, ArcSoft decoders
Backup: Synology
SageTV version: FINAL
Reply With Quote
  #325  
Old 01-18-2011, 07:32 PM
lenkost lenkost is offline
Sage User
 
Join Date: Sep 2008
Posts: 65
Hello,
I have 2 tasks in Queued Tasks marked Orange with state "Started". When click I get a message "Unknown state STARTED" and no option to delete it. What is it and how do I get rid of it?
Thank you.
__________________
Vostro 200, Intel Core 2 Duo 2.53Ghz, Windows XP Pro as a Server and Client
Quad Core 2.66 PC on 1000 MHz network for Comskip and AirVideo
4 x Comcast RNG110 tuners, 3 x Firewire + 1 USB-Uirt Channel control
4 x HD-PVR, 1 WinTV 1850 Composite and TS
SageTV V7.0.23
Reply With Quote
  #326  
Old 01-18-2011, 07:53 PM
Slugger Slugger is offline
SageTVaholic
 
Join Date: Mar 2007
Location: Kingston, ON
Posts: 4,008
Started state means the task was assigned to a client, but the client never acknowledged receiving the task. This is a bug. Have a look at the sjqagent.log file for the task client that was assigned the task. Are there any errors? Can you reproduce it? If so, how?

You would have to manually edit the database to get rid of those tasks (http://sage_server_ip:8082). Leaving them there does no harm. A future build will detect and remove those.
__________________
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
  #327  
Old 01-18-2011, 10:24 PM
lenkost lenkost is offline
Sage User
 
Join Date: Sep 2008
Posts: 65
I cannot reproduce it. It was there for a while. Will wait for the next build.

Will the solution for #89 be included in the next build?

The Plugin "Always Show Submenues" conflicts with SJQ UI. If both enabled, TV submenu is not displayed.

Is it possible to include abbreviated show name and recorded time on the main Queued Tasks screen?

Thank you.
__________________
Vostro 200, Intel Core 2 Duo 2.53Ghz, Windows XP Pro as a Server and Client
Quad Core 2.66 PC on 1000 MHz network for Comskip and AirVideo
4 x Comcast RNG110 tuners, 3 x Firewire + 1 USB-Uirt Channel control
4 x HD-PVR, 1 WinTV 1850 Composite and TS
SageTV V7.0.23

Last edited by lenkost; 01-18-2011 at 10:31 PM.
Reply With Quote
  #328  
Old 01-19-2011, 07:20 AM
tmiranda's Avatar
tmiranda tmiranda is offline
SageTVaholic
 
Join Date: Jul 2005
Location: Central Florida, USA
Posts: 5,851
Quote:
Originally Posted by lenkost View Post
The Plugin "Always Show Submenues" conflicts with SJQ UI. If both enabled, TV submenu is not displayed.

Is it possible to include abbreviated show name and recorded time on the main Queued Tasks screen.
Open tickets for these items so I remember to look at it. Thanks.
__________________

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
  #329  
Old 01-19-2011, 09:10 AM
Slugger Slugger is offline
SageTVaholic
 
Join Date: Mar 2007
Location: Kingston, ON
Posts: 4,008
Quote:
Originally Posted by lenkost View Post
I cannot reproduce it. It was there for a while. Will wait for the next build.

Will the solution for #89 be included in the next build?
The next build will fix dangling tasks is started state (simply by detecting them and removing them). But the underlying problem - the problem that caused them to get in that state in the first place - won't be fixed. Why? I can't reproduce it here myself so if no one can tell me how to reproduce it then I have no chance to fix it.
__________________
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
  #330  
Old 01-19-2011, 12:15 PM
lenkost lenkost is offline
Sage User
 
Join Date: Sep 2008
Posts: 65
I have a task in this state created on 01/18/2011-20:00:00 and started on 01/19/2011-10:46:08
Agent runs on another computer as a service.
My sjqagent.log has only some old records:

Code:
2010-12-14 03:38:43,562 INFO  [Config]: Watching 'C:\sjqagent\bin\..\conf'
2010-12-14 20:33:55,390 INFO  [Config]: Watching 'C:\sjqagent\bin\..\conf'
2010-12-14 20:41:23,515 INFO  [Config]: Watching 'C:\sjqagent\bin\..\conf'
2010-12-14 21:10:36,513 INFO  [Config]: Watching 'C:\sjqagent\bin\..\conf'
2011-01-14 23:08:57,461 INFO  [Config]: Watching 'C:\sjqagent\bin\..\conf'
Wrapper.log has tons of messages like this:

Code:
INFO   | jvm 1    | 2011/01/19 10:45:00 | log4j:ERROR Attempted to append to closed appender named [sjqAgentApp].
INFO   | jvm 1    | 2011/01/19 10:45:00 | log4j:ERROR Attempted to append to closed appender named [sjqAgentApp].
INFO   | jvm 1    | 2011/01/19 10:45:27 | log4j:ERROR Attempted to append to closed appender named [sjqAgentApp].
INFO   | jvm 1    | 2011/01/19 10:45:27 | log4j:ERROR Attempted to append to closed appender named [sjqAgentApp].
INFO   | jvm 1    | 2011/01/19 10:45:27 | log4j:ERROR Attempted to append to closed appender named [sjqAgentApp].
INFO   | jvm 1    | 2011/01/19 10:45:28 | log4j:ERROR Attempted to append to closed appender named [sjqAgentApp].
INFO   | jvm 1    | 2011/01/19 10:45:29 | log4j:ERROR Attempted to append to closed appender named [sjqAgentApp].
INFO   | jvm 1    | 2011/01/19 10:45:29 | log4j:ERROR Attempted to append to closed appender named [sjqAgentApp].
INFO   | jvm 1    | 2011/01/19 10:45:30 | log4j:ERROR Attempted to append to closed appender named [sjqAgentApp].
INFO   | jvm 1    | 2011/01/19 10:45:30 | log4j:ERROR Attempted to append to closed appender named [sjqAgentApp].
INFO   | jvm 1    | 2011/01/19 11:18:10 | log4j:ERROR Attempted to append to closed appender named [sjqAgentApp].
INFO   | jvm 1    | 2011/01/19 11:18:10 | log4j:ERROR Attempted to append to closed appender named [sjqAgentApp].
sjq.log around 01/18/2011-20:00:00

Code:
2011-01-18 19:59:44,375 WARN  [TaskQueue]: No clients available to accept task of type 'HDCOMSKIP'
2011-01-18 19:59:44,922 WARN  [TaskQueue]: Client does not have enough free resources to perform this task! [0 < 25]; skipping: Client[host=192.168.0.111:23344,state=ONLINE,lastUpdate=Tue Jan 18 19:59:45 EST 2011]
2011-01-18 19:59:45,250 INFO[ListenerClient]: Disconnected from 192.168.0.111:23344
2011-01-18 19:59:45,250 WARN  [TaskQueue]: No clients available to accept task of type 'HDCOMSKIP'
2011-01-18 19:59:56,563 INFO  [TaskQueue]: Scheduling queue processor for ~8 seconds from now!
2011-01-18 20:00:00,828 INFO  [Plugin]: Event received: RecordingStopped
2011-01-18 20:00:00,859 INFO  [TaskQueue]: Scheduling queue processor for ~8 seconds from now!
2011-01-18 20:00:00,859 INFO  [TvRecordingTaskLoader]: Added task 'HDCOMSKIP' to queue! [1312]
2011-01-18 20:00:01,297 INFO  [Plugin]: Event received: RecordingStarted
2011-01-18 20:00:01,547 INFO  [Plugin]: Event received: RecordingStopped
2011-01-18 20:00:01,688 INFO  [Plugin]: Event received: RecordingStarted
2011-01-18 20:00:02,094 INFO  [Plugin]: Event received: RecordingStopped
2011-01-18 20:00:02,094 INFO  [TvRecordingTaskLoader]: Added task 'HDCOMSKIP' to queue! [1313]
2011-01-18 20:00:02,375 INFO  [Plugin]: Event received: RecordingStarted
2011-01-18 20:00:04,563 INFO  [TaskQueue]: Running queue processor now!
2011-01-18 20:00:04,953 WARN  [TaskQueue]: Client does not have enough free resources to perform this task! [0 < 25]; skipping: Client[host=192.168.0.111:23344,state=ONLINE,lastUpdate=Tue Jan 18 20:00:06 EST 2011]
2011-01-18 20:00:05,266 INFO[ListenerClient]: Disconnected from 192.168.0.111:23344
2011-01-18 20:00:05,266 WARN  [TaskQueue]: No clients available to accept task of type 'HDCOMSKIP'
2011-01-18 20:00:05,641 WARN  [TaskQueue]: Client does not have enough free resources to perform this task! [0 < 25]; skipping: Client[host=192.168.0.111:23344,state=ONLINE,lastUpdate=Tue Jan 18 20:00:06 EST 2011]
2011-01-18 20:00:05,922 INFO[ListenerClient]: Disconnected from 192.168.0.111:23344
2011-01-18 20:00:05,922 WARN  [TaskQueue]: No clients available to accept task of type 'HDCOMSKIP'
2011-01-18 20:00:06,359 WARN  [TaskQueue]: Client does not have enough free resources to perform this task! [0 < 25]; skipping: Client[host=192.168.0.111:23344,state=ONLINE,lastUpdate=Tue Jan 18 20:00:07 EST 2011]
2011-01-18 20:00:06,578 INFO[ListenerClient]: Disconnected from 192.168.0.111:23344
2011-01-18 20:00:06,578 WARN  [TaskQueue]: No clients available to accept task of type 'HDCOMSKIP'
2011-01-18 20:00:06,953 WARN  [TaskQueue]: Client does not have enough free resources to perform this task! [0 < 25]; skipping: Client[host=192.168.0.111:23344,state=ONLINE,lastUpdate=Tue Jan 18 20:00:08 EST 2011]
2011-01-18 20:00:07,234 INFO[ListenerClient]: Disconnected from 192.168.0.111:23344
2011-01-18 20:00:07,234 WARN  [TaskQueue]: No clients available to accept task of type 'HDCOMSKIP'
2011-01-18 20:00:07,766 WARN  [TaskQueue]: Client does not have enough free resources to perform this task! [0 < 25]; skipping: Client[host=192.168.0.111:23344,state=ONLINE,lastUpdate=Tue Jan 18 20:00:08 EST 2011]
2011-01-18 20:00:07,891 INFO[ListenerClient]: Disconnected from 192.168.0.111:23344
2011-01-18 20:00:07,891 WARN  [TaskQueue]: No clients available to accept task of type 'HDCOMSKIP'
2011-01-18 20:00:08,359 WARN  [TaskQueue]: Client does not have enough free resources to perform this task! [0 < 25]; skipping: Client[host=192.168.0.111:23344,state=ONLINE,lastUpdate=Tue Jan 18 20:00:09 EST 2011]
2011-01-18 20:00:08,359 INFO  [Plugin]: Event received: RecordingStarted
2011-01-18 20:00:08,656 INFO[ListenerClient]: Disconnected from 192.168.0.111:23344
2011-01-18 20:00:08,656 WARN  [TaskQueue]: No clients available to accept task of type 'HDCOMSKIP'
2011-01-18 20:00:09,078 WARN  [TaskQueue]: Client does not have enough free resources to perform this task! [0 < 25]; skipping: Client[host=192.168.0.111:23344,state=ONLINE,lastUpdate=Tue Jan 18 20:00:10 EST 2011]
2011-01-18 20:00:09,094 INFO[ListenerClient]: Disconnected from 192.168.0.111:23344
2011-01-18 20:00:09,094 WARN  [TaskQueue]: No clients available to accept task of type 'HDCOMSKIP'
2011-01-18 20:00:09,563 WARN  [TaskQueue]: Client does not have enough free resources to perform this task! [0 < 25]; skipping: Client[host=192.168.0.111:23344,state=ONLINE,lastUpdate=Tue Jan 18 20:00:10 EST 2011]
2011-01-18 20:00:09,859 INFO[ListenerClient]: Disconnected from 192.168.0.111:23344
2011-01-18 20:00:09,859 WARN  [TaskQueue]: No clients available to accept task of type 'HDCOMSKIP'
2011-01-18 20:00:10,375 WARN  [TaskQueue]: Client does not have enough free resources to perform this task! [0 < 25]; skipping: Client[host=192.168.0.111:23344,state=ONLINE,lastUpdate=Tue Jan 18 20:00:11 EST 2011]
2011-01-18 20:00:10,625 INFO[ListenerClient]: Disconnected from 192.168.0.111:23344
2011-01-18 20:00:10,625 WARN  [TaskQueue]: No clients available to accept task of type 'HDCOMSKIP'
2011-01-18 20:00:11,094 WARN  [TaskQueue]: Client does not have enough free resources to perform this task! [0 < 25]; skipping: Client[host=192.168.0.111:23344,state=ONLINE,lastUpdate=Tue Jan 18 20:00:12 EST 2011]
2011-01-18 20:00:11,391 INFO[ListenerClient]: Disconnected from 192.168.0.111:23344
2011-01-18 20:00:11,391 WARN  [TaskQueue]: No clients available to accept task of type 'HDCOMSKIP'
2011-01-18 20:00:11,891 WARN  [TaskQueue]: Client does not have enough free resources to perform this task! [0 < 25]; skipping: Client[host=192.168.0.111:23344,state=ONLINE,lastUpdate=Tue Jan 18 20:00:12 EST 2011]
2011-01-18 20:00:12,172 INFO[ListenerClient]: Disconnected from 192.168.0.111:23344
2011-01-18 20:00:12,172 WARN  [TaskQueue]: No clients available to accept task of type 'HDCOMSKIP'
2011-01-18 20:00:12,484 WARN  [TaskQueue]: Client does not have enough free resources to perform this task! [0 < 25]; skipping: Client[host=192.168.0.111:23344,state=ONLINE,lastUpdate=Tue Jan 18 20:00:13 EST 2011]
2011-01-18 20:00:12,594 INFO[ListenerClient]: Disconnected from 192.168.0.111:23344
2011-01-18 20:00:12,594 WARN  [TaskQueue]: No clients available to accept task of type 'HDCOMSKIP'
2011-01-18 20:00:13,094 WARN  [TaskQueue]: Client does not have enough free resources to perform this task! [0 < 25]; skipping: Client[host=192.168.0.111:23344,state=ONLINE,lastUpdate=Tue Jan 18 20:00:14 EST 2011]
2011-01-18 20:00:13,266 INFO[ListenerClient]: Disconnected from 192.168.0.111:23344
2011-01-18 20:00:13,266 WARN  [TaskQueue]: No clients available to accept task of type 'HDCOMSKIP'
2011-01-18 20:00:13,594 WARN  [TaskQueue]: Client does not have enough free resources to perform this task! [0 < 25]; skipping: Client[host=192.168.0.111:23344,state=ONLINE,lastUpdate=Tue Jan 18 20:00:14 EST 2011]
2011-01-18 20:00:13,688 INFO[ListenerClient]: Disconnected from 192.168.0.111:23344
2011-01-18 20:00:13,688 WARN  [TaskQueue]: No clients available to accept task of type 'HDCOMSKIP'
2011-01-18 20:00:14,203 WARN  [TaskQueue]: Client does not have enough free resources to perform this task! [0 < 25]; skipping: Client[host=192.168.0.111:23344,state=ONLINE,lastUpdate=Tue Jan 18 20:00:15 EST 2011]
2011-01-18 20:00:14,344 INFO[ListenerClient]: Disconnected from 192.168.0.111:23344
2011-01-18 20:00:14,344 WARN  [TaskQueue]: No clients available to accept task of type 'HDCOMSKIP'
2011-01-18 20:00:14,703 WARN  [TaskQueue]: Client does not have enough free resources to perform this task! [0 < 25]; skipping: Client[host=192.168.0.111:23344,state=ONLINE,lastUpdate=Tue Jan 18 20:00:15 EST 2011]
2011-01-18 20:00:15,000 INFO[ListenerClient]: Disconnected from 192.168.0.111:23344
2011-01-18 20:00:15,000 WARN  [TaskQueue]: No clients available to accept task of type 'HDCOMSKIP'
2011-01-18 20:00:15,406 WARN  [TaskQueue]: Client does not have enough free resources to perform this task! [0 < 25]; skipping: Client[host=192.168.0.111:23344,state=ONLINE,lastUpdate=Tue Jan 18 20:00:16 EST 2011]
2011-01-18 20:00:15,656 INFO[ListenerClient]: Disconnected from 192.168.0.111:23344
2011-01-18 20:00:15,656 WARN  [TaskQueue]: No clients available to accept task of type 'HDCOMSKIP'
2011-01-18 20:00:16,000 WARN  [TaskQueue]: Client does not have enough free resources to perform this task! [0 < 25]; skipping: Client[host=192.168.0.111:23344,state=ONLINE,lastUpdate=Tue Jan 18 20:00:17 EST 2011]
2011-01-18 20:00:16,203 INFO[ListenerClient]: Disconnected from 192.168.0.111:23344
sjq.log around 01/19/2011-10:46:08

Code:
2011-01-19 10:45:09,593 ERROR [Handler]: IOError
java.net.SocketException: Connection reset
	at java.net.SocketInputStream.read(Unknown Source)
	at java.net.SocketInputStream.read(Unknown Source)
	at java.io.ObjectInputStream$PeekInputStream.peek(Unknown Source)
	at java.io.ObjectInputStream$BlockDataInputStream.readBlockHeader(Unknown Source)
	at java.io.ObjectInputStream$BlockDataInputStream.refill(Unknown Source)
	at java.io.ObjectInputStream$BlockDataInputStream.read(Unknown Source)
	at java.io.DataInputStream.readUnsignedShort(Unknown Source)
	at java.io.ObjectInputStream$BlockDataInputStream.readUnsignedShort(Unknown Source)
	at java.io.ObjectInputStream$BlockDataInputStream.readUTF(Unknown Source)
	at java.io.ObjectInputStream.readUTF(Unknown Source)
	at com.google.code.sagetvaddons.sjq.listener.Handler.run(Handler.java:62)
	at java.lang.Thread.run(Unknown Source)
2011-01-19 10:45:09,609 INFO[Listener]: Received connection from: /192.168.0.111
2011-01-19 10:45:09,843 INFO  [Handler]: CMD: LOGTEST :: PEER: /192.168.0.111
2011-01-19 10:45:10,343 INFO  [Handler]: CMD: QUIT :: PEER: /192.168.0.111
2011-01-19 10:45:10,343 INFO[Listener]: Received connection from: /192.168.0.111
2011-01-19 10:45:10,546 INFO  [Handler]: CMD: UPDATE :: PEER: /192.168.0.111
2011-01-19 10:45:10,734 INFO  [TaskQueue]: Scheduling queue processor for ~8 seconds from now!
2011-01-19 10:45:11,046 INFO  [Handler]: CMD: QUIT :: PEER: /192.168.0.111
2011-01-19 10:45:18,734 INFO  [TaskQueue]: Running queue processor now!
2011-01-19 10:45:29,827 INFO  [TaskQueue]: Scheduling queue processor for ~8 seconds from now!
2011-01-19 10:45:37,827 INFO  [TaskQueue]: Running queue processor now!
2011-01-19 10:45:38,812 INFO  [TaskQueue]: Assigned task 1312 of type 'HDCOMSKIP' to Client[host=192.168.0.111:23344,state=ONLINE,lastUpdate=Wed Jan 19 10:45:27 EST 2011]
2011-01-19 10:45:38,874 INFO[Listener]: Received connection from: /192.168.0.111
2011-01-19 10:45:38,937 INFO[ListenerClient]: Disconnected from 192.168.0.111:23344
2011-01-19 10:45:39,374 INFO[ListenerClient]: Disconnected from 192.168.0.111:23344
2011-01-19 10:45:39,702 ERROR [Handler]: IOError
java.net.SocketException: Connection reset
	at java.net.SocketInputStream.read(Unknown Source)
	at java.net.SocketInputStream.read(Unknown Source)
	at java.io.ObjectInputStream$PeekInputStream.peek(Unknown Source)
	at java.io.ObjectInputStream$BlockDataInputStream.readBlockHeader(Unknown Source)
	at java.io.ObjectInputStream$BlockDataInputStream.refill(Unknown Source)
	at java.io.ObjectInputStream$BlockDataInputStream.read(Unknown Source)
	at java.io.DataInputStream.readUnsignedShort(Unknown Source)
	at java.io.ObjectInputStream$BlockDataInputStream.readUnsignedShort(Unknown Source)
	at java.io.ObjectInputStream$BlockDataInputStream.readUTF(Unknown Source)
	at java.io.ObjectInputStream.readUTF(Unknown Source)
	at com.google.code.sagetvaddons.sjq.listener.Handler.run(Handler.java:62)
	at java.lang.Thread.run(Unknown Source)
2011-01-19 10:45:39,702 INFO[Listener]: Received connection from: /192.168.0.111
2011-01-19 10:45:39,812 INFO  [Handler]: CMD: LOGTEST :: PEER: /192.168.0.111
2011-01-19 10:45:40,312 INFO  [Handler]: CMD: QUIT :: PEER: /192.168.0.111
2011-01-19 10:45:40,312 INFO[Listener]: Received connection from: /192.168.0.111
2011-01-19 10:45:40,359 INFO[ListenerClient]: Disconnected from 192.168.0.111:23344
2011-01-19 10:45:40,359 INFO  [ActiveTaskManager]: Validated 2 running task(s)!
2011-01-19 10:45:40,515 INFO  [Handler]: CMD: UPDATE :: PEER: /192.168.0.111
2011-01-19 10:45:40,812 INFO  [TaskQueue]: Scheduling queue processor for ~8 seconds from now!
2011-01-19 10:45:41,327 INFO  [Handler]: CMD: QUIT :: PEER: /192.168.0.111
2011-01-19 10:45:48,812 INFO  [TaskQueue]: Running queue processor now!
2011-01-19 10:45:59,827 INFO  [TaskQueue]: Scheduling queue processor for ~8 seconds from now!
2011-01-19 10:46:07,827 INFO  [TaskQueue]: Running queue processor now!
2011-01-19 10:47:19,890 ERROR [AgentClient]: IOError
java.net.SocketException: Connection reset
	at java.net.SocketInputStream.read(Unknown Source)
	at java.net.SocketInputStream.read(Unknown Source)
	at java.io.ObjectInputStream$PeekInputStream.peek(Unknown Source)
	at java.io.ObjectInputStream$BlockDataInputStream.peek(Unknown Source)
	at java.io.ObjectInputStream$BlockDataInputStream.peekByte(Unknown Source)
	at java.io.ObjectInputStream.readObject0(Unknown Source)
	at java.io.ObjectInputStream.readObject(Unknown Source)
	at com.google.code.sagetvaddons.sjq.listener.ListenerClient.readObj(ListenerClient.java:60)
	at com.google.code.sagetvaddons.sjq.network.AgentClient.exe(AgentClient.java:104)
	at com.google.code.sagetvaddons.sjq.server.TaskQueue$QueueProcessor.run(TaskQueue.java:131)
	at java.util.TimerThread.mainLoop(Unknown Source)
	at java.util.TimerThread.run(Unknown Source)
2011-01-19 10:47:19,921 INFO  [TaskQueue]: Scheduling queue processor for ~8 seconds from now!
2011-01-19 11:00:03,124 INFO  [Plugin]: Event received: RecordingStopped
2011-01-19 11:00:03,124 INFO  [TaskQueue]: Scheduling queue processor for ~8 seconds from now!
2011-01-19 11:00:08,999 INFO  [Plugin]: Event received: RecordingStarted
2011-01-19 11:00:12,343 INFO  [Plugin]: Event received: RecordingStopped
2011-01-19 11:00:12,359 INFO  [TvRecordingTaskLoader]: Added task 'HDCOMSKIP' to queue! [1338]
2011-01-19 11:00:18,046 INFO  [Plugin]: Event received: RecordingStarted
2011-01-19 11:05:01,812 INFO  [Plugin]: Event received: RecordingStopped
2011-01-19 11:10:03,234 INFO  [Plugin]: Event received: RecordingStopped
2011-01-19 11:18:20,609 INFO[Listener]: Received connection from: /192.168.0.111
2011-01-19 11:18:20,734 INFO  [Handler]: CMD: UPDATE :: PEER: /192.168.0.111
2011-01-19 11:18:21,437 INFO  [Handler]: CMD: QUIT :: PEER: /192.168.0.111
2011-01-19 12:00:00,765 INFO  [Plugin]: Event received: RecordingStarted
2011-01-19 12:00:01,468 INFO  [Plugin]: Event received: RecordingStopped
2011-01-19 12:00:01,468 INFO  [TvRecordingTaskLoader]: Added task 'HDCOMSKIP' to queue! [1339]
2011-01-19 12:00:02,077 INFO  [Plugin]: Event received: RecordingStarted
2011-01-19 12:20:00,187 INFO  [Plugin]: Event received: RecordingStopped
2011-01-19 12:20:00,624 INFO  [Plugin]: Event received: RecordingStarted
2011-01-19 12:48:26,749 INFO[Listener]: Received connection from: /127.0.0.1
Hope this helps.
__________________
Vostro 200, Intel Core 2 Duo 2.53Ghz, Windows XP Pro as a Server and Client
Quad Core 2.66 PC on 1000 MHz network for Comskip and AirVideo
4 x Comcast RNG110 tuners, 3 x Firewire + 1 USB-Uirt Channel control
4 x HD-PVR, 1 WinTV 1850 Composite and TS
SageTV V7.0.23
Reply With Quote
  #331  
Old 01-19-2011, 02:35 PM
Slugger Slugger is offline
SageTVaholic
 
Join Date: Mar 2007
Location: Kingston, ON
Posts: 4,008
Unfortunately, not. There are no errors showing. What I forgot to consider is that tasks is started state count against the client's resource total, so leaving them in that state will cause possible problems. I still don't see why it's happening so I'm still not able to fix the underlying problem. I will continue to work on detecting and removing those tasks, however.
__________________
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
  #332  
Old 01-19-2011, 02:38 PM
Slugger Slugger is offline
SageTVaholic
 
Join Date: Mar 2007
Location: Kingston, ON
Posts: 4,008
Also, somewhere a few pages back, I talk about how to fix the logging errors in wrapper.log - fixing that might provide exception dumps to lead us to an answer, so you will want to go back and fix that and then try to reproduce.

Basically, comment out the sagex log setting in sjqagent.log4j.properties (on the Windows service task client version only) and then restart the agent). That will allow proper logging to wrapper.log, which may provide some clues as to the problem.
__________________
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
  #333  
Old 01-20-2011, 07:15 AM
gdippel gdippel is offline
Sage Aficionado
 
Join Date: Oct 2003
Location: Bayside, New York
Posts: 301
Problem implementing "move media" script

I have installed the "move media" task using the mv_media_file.groovy script as an executable and the mv_media_test.groovy as a test script. When I apply the task to a particular file the task is returned to the queue and never runs. The sjq-agent log file shows that the groovy script that I'm using as an executable is not readable or unable to be found. I am beginning the executable groovy script with "script:" so it runs as an executable; e.g. "script:mv_media_file.groovy"

I've checked and re-checked the path and even entered it into my web browser which finds it.

BTW I have the comskip task running perfectly so I am at a loss as to why the move script can't be found.

I've attached the pertinent part of my sjq-agent log.
Attached Files
File Type: txt New Text Document.txt (666 Bytes, 156 views)
Reply With Quote
  #334  
Old 01-20-2011, 07:38 AM
Slugger Slugger is offline
SageTVaholic
 
Join Date: Mar 2007
Location: Kingston, ON
Posts: 4,008
Two points:

1) C:\program files\sagetv\sagetv\sage scripts\script:mv_media_file.groovy is not correct. It should be:

script:C:\program files\sagetv\sagetv\sage scripts\mv_media_file.groovy

2) The test script is the one not being found. You don't specify a directory path for the test script so SJQ assumes it's in the base SageTV install dir (C:\Program Files\SageTV\SageTV\). Is that where the script actually is or is it in the same dir as the exe script?
__________________
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
  #335  
Old 01-20-2011, 09:20 AM
gdippel gdippel is offline
Sage Aficionado
 
Join Date: Oct 2003
Location: Bayside, New York
Posts: 301
Quote:
Originally Posted by Slugger View Post
Two points:

1) C:\program files\sagetv\sagetv\sage scripts\script:mv_media_file.groovy is not correct. It should be:

script:C:\program files\sagetv\sagetv\sage scripts\mv_media_file.groovy

2) The test script is the one not being found. You don't specify a directory path for the test script so SJQ assumes it's in the base SageTV install dir (C:\Program Files\SageTV\SageTV\). Is that where the script actually is or is it in the same dir as the exe script?
Thanks for the quick reply. I made the above changes and the task returns to the queue with the log showing it being returned due to an attached client/extender. I do have a HD300 which is in standby mode. (log file attached as SJQ2.jpg) I have no other open clients. I'm running SJQ as a plugin, if that makes a difference.

I then created another task without the test script and the task fails. (log file attached as SJQ.jpg)
Attached Images
File Type: jpg SJQ2.jpg (157.5 KB, 147 views)
File Type: jpg SJQ Log.JPG (92.7 KB, 150 views)

Last edited by gdippel; 01-20-2011 at 09:22 AM.
Reply With Quote
  #336  
Old 01-20-2011, 11:40 AM
Slugger Slugger is offline
SageTVaholic
 
Join Date: Mar 2007
Location: Kingston, ON
Posts: 4,008
The first log happens because the Sage API is telling the script that there is at least one client or extender connected to the server. If you don't want the task to be delayed under that condition, then just remove that check from the script.

The second log happens because the file path, as specified, does not exist. Now, the error message says:

F:\SageTV Video\F:\SageTV Video\TheProducers-7876140-0.ts.properties does not exist.

The first problem is that the directory is being listed twice, so the file as listed there will never exist on a Windows system (the file path is invalid). What are the command line arguments you're passing to the script?

Second, if you're running this on a remote client then does F:\SageTV Video\ even exist? If not, you have to manually (within the script) convert the directory to a UNC path so that the remote task client can find the files it's trying to move (or ensure the task can only be ran on the SageTV server itself).
__________________
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
  #337  
Old 01-20-2011, 12:14 PM
gdippel gdippel is offline
Sage Aficionado
 
Join Date: Oct 2003
Location: Bayside, New York
Posts: 301
Quote:
Originally Posted by Slugger View Post
The first log happens because the Sage API is telling the script that there is at least one client or extender connected to the server. If you don't want the task to be delayed under that condition, then just remove that check from the script.

The second log happens because the file path, as specified, does not exist. Now, the error message says:

F:\SageTV Video\F:\SageTV Video\TheProducers-7876140-0.ts.properties does not exist.

The first problem is that the directory is being listed twice, so the file as listed there will never exist on a Windows system (the file path is invalid). What are the command line arguments you're passing to the script?

Second, if you're running this on a remote client then does F:\SageTV Video\ even exist? If not, you have to manually (within the script) convert the directory to a UNC path so that the remote task client can find the files it's trying to move (or ensure the task can only be ran on the SageTV server itself).
OK, I've edited the test script to remove the extender/client reference and that seems to take care of that problem. As to why "F:\SageTV Video" appears twice in the log, I have no idea. I'm just passing the destination directory as the executable argument (K:\). The F:\Sage TV Video is the recording path on my sage server. It's a local drive. I'm invoking the task through the Sage server GUI under the files options menu by assigning the task.
Reply With Quote
  #338  
Old 01-20-2011, 01:00 PM
Slugger Slugger is offline
SageTVaholic
 
Join Date: Mar 2007
Location: Kingston, ON
Posts: 4,008
Ok, I fixed that bug awhile ago locally, but never checked the fix into svn. Download the script again from the same spot (I've updated it). It fixes that bug (dir name used twice).
__________________
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
  #339  
Old 01-20-2011, 01:10 PM
gdippel gdippel is offline
Sage Aficionado
 
Join Date: Oct 2003
Location: Bayside, New York
Posts: 301
Quote:
Originally Posted by Slugger View Post
Ok, I fixed that bug awhile ago locally, but never checked the fix into svn. Download the script again from the same spot (I've updated it). It fixes that bug (dir name used twice).
That did the trick. Thanks for all your help.
Reply With Quote
  #340  
Old 01-21-2011, 02:12 PM
Slugger Slugger is offline
SageTVaholic
 
Join Date: Mar 2007
Location: Kingston, ON
Posts: 4,008
Groovy IDE w/SageTV + SJQv4 Support

As promised, here is the Groovy IDE I use when writing/testing Groovy scripts for use with SJQv4:

http://code.google.com/p/sagetv-addons/downloads/list

Grab the latest sagegroovy-*-x.y.z.zip for your platform (currently only Windows 32bit available).

Some notes about this package:
  • It is a standalone package; it does not require SageTV be installed locally to run it.
  • This is a Windows release only; it was tested on WinXP SP3 (32bit) and Win7 Home Premium (32bit); others have confirmed it also will work on Win7 64bit, so it should also run on any other variation of Windows 64bit
  • Just about any Groovy script you execute in SJQv4 should work just fine when run in this environment with one key exception: The SJQ4_METADATA global is NOT available to scripts run in this environment. If you rely on that map in your script you'll have to create one yourself at the top of the script when testing in this env.

Installation/Execution:

To install, unzip the download to anywhere. Be sure to maintain directory structure when unzipping. It will unzip to a dir named sagegroovy.

To execute, there are two modes:

Command Line

You can simply run a Groovy script from the command line like so:

Code:
sagegroovy.exe C:\scripts\my_script.groovy
That command will read and execute the given groovy script, dumping all output to the console. Script arguments can be appended to the end of the command line and will be available via the SJQ4_ARGS map within your script (same as SJQv4 execution environment).

GUI

If you want to use the GUI editor instead simply specify the -g command option:

Code:
sagegroovy.exe -g
This will launch the GUI editor. Details on its usage are available here. Again, command line arguments can be appended as needed. Please note that any command line arguments will be passed to each and every script edited in the GUI and for each run. To change the command line arguments requires quitting and restarting the GUI.

Specifying SageTV Server

SageGroovy/SJQv4 uses the remote APIs for all Sage API communication. By default, there is an auto discovery mechanism that will automatically find the SageTV server to connect to. Sometimes, especially on Windows, this may not work properly. If you're getting a lot of NullPointerExceptions from your scripts then it's likely not finding the Sage server automatically. Instead, just tell SageGroovy which server to connect to on the command line via the -s option:

Code:
sagegroovy.exe -s 192.168.0.1 -g arg1 arg2 arg3
If you have more than one Sage server on the LAN then the -s option is the only way to ensure which Sage server the remote APIs will end up talking to. As a matter of fact, regardless, I always recommend specifying the Sage server explicitly on the command line.

A Linux version is possible, but I haven't dug too deeply into it and probably won't unless the demand is there. I don't have a Mac so though an OS X version is possible, I don't have the hardware to build it. If someone wants it and is willing to build it, I can provide the instructions.

Happy scripting!!
__________________
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...

Last edited by Slugger; 04-03-2011 at 06:47 PM. Reason: Update Win x64 support status
Reply With Quote
Reply


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

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
Plugin: MizookLCD (Alternate SageTV LCDSmartie Plugin) cslatt SageTV Customizations 48 06-11-2012 10:44 AM
SJQv4: Technology Preview Slugger SageTV v7 Customizations 39 12-17-2010 01:17 PM
SageTV Plugin Developers: Any way to see stats for your plugin? mkanet SageTV Software 4 12-12-2010 10:33 PM
MediaPlayer Plugin/STV Import: Winamp Media Player Plugin deria SageTV Customizations 447 12-11-2010 07:38 PM
SJQv4: Design Discussion Slugger SageTV v7 Customizations 26 10-18-2010 08:22 AM


All times are GMT -6. The time now is 07:12 PM.


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