APL Tablo Client

That may be kwel to some, but you provide most of the pertentant information already. The streaming URL could be helpful for some discovering they can use virtually any player they choose. These just don’t fit into the shell scripts (batch files) I have working already.

Then again, as this grows, who knows how much this is going to grow. I may have some ability be automated. Or create lines to incorporate into “system scheduler”!

…are you really allowed to share things based on discussions you’ve seen?

I currently pull the following characters out of filenames automatically ~#%&*{}\:<>?/+|"], I’ve thought about the possibility of someone wanting to choose the outbound file name, but I haven’t implemented any choices along those lines quite yet…maybe :slight_smile:

How long should I leave Export complete up there before clearing it?

I previously had it overwrite the file, but there were times, with ComSkip, that I had already exported the file, but I wanted to re-analyze it with ComSkip instead of my own analysis…and I didn’t want to go through the process of re-exporting it, so I wrote it to check to see if the export was already there, and if so, don’t do anything with it, but re-analyze, if that’s the option chosen…I put a note in the log telling you that it it didn’t re-export, but I suppose I should give you some sort of indication in the GUI as well :slight_smile:

If you check the log when you tell it to do that, you’ll see it log something along the lines of ‘Do Something’…before I published this utility I was working on building that GUI, and then came across all of the ‘it’s not working’ problems with linux and such, so got distracted with that and other things…build gui’s is really not my favorite part of coding…but my eventual plan for those is to provide a gui and allow you to select one/many of the genres available, and treat it very similar to the same function of only a single…that one’s still a work in progress :slight_smile:

So…I haven’t put the time into figuring this particular one out…everything that happens on the right click kicks off a thread, so that the main window is still responsive, while the other thread is out there doing its thing. The thing I’ve noticed, that you picked up on, is that you can only launch a thread on a given record once, the second time you try to do it, it doesn’t do ANYTHING…nothing at all, just seems to ignore you altogether. I suspect it’s a problem of me not stopping the thread when it’s done, or something along those lines, due to the fact that I can re-use it by either closing the window and re-opening, or hitting the ‘refresh table’ button, it’s never been high on my priority list of things to fix…but it is certainly on my list.

100% correct…I copied this project from another one where I did have some menus defined and functional, but never got around to putting that functionality into this tool. My eventual plans are to have an actual settings menu, allow you to disable the Tablos that you don’t want to work with at the moment, manage the blacklist, etc…but I’ve had other ‘more pressing’ things on my list since I published it, so I haven’t gotten to those yet…

As you pointed out in another post…this is still a Beta…I expect the 1.0 version will have all of the planned (at the time) functions built out…I published this when I did because you ‘goaded’ me with my ‘soon’ comment, so I made soon, sooner than my otherwise plan, and yall can enjoy the fruits of my labor before they are truly ripe, and help guide the future of it also.

I provided that for you actually…you requested the Object ID…I wasn’t interested in providing the object ID specifically, because it’s pretty single use type of functionality, but, with the URL that I provide, all of the information the Tablo has on the object (including the object id) is available to you…so instead of providing just the one piece you were wanting, I decided to provide everything, and let you, the consumer, decide if you wanted to utilize that information or not.

I haven’t been smote by the Tablo gods yet, so I hope the information leak wasn’t too serious

1 Like

Nuvyyo is a small consumer products company.

Unlike commercial products I doubt they enabled API’s based on a specific NDA. They didn’t see it coming.

But now the genie is out of the bottle.

That’s all this list is suppose to be, sorry it the tone came across as complaints. Yes, after I made the “soon” comment and then you released it… I kind of felt a bit obligated to give it a try. :nerd_face: I wasn’t actually complaining, just sharing some experiences supposedly to help get things working from perspective of other’s.
.

Guess I’ve only actually have an apostrophe, semi-colon and exclamation. Generally modern file-managers seem to overlook all theses, even if they don’t belong. Just suggesting because it’s possible to be a problem someday for someone, maybe.

You kind of answered this… just some sort of indication, it’s already done if I try to do it again… protect user from them selves. click - click - click, “it don’t work” :wink:

The log to be the same and what’s displayed in the terminal as the program is running, I do watch it… but missed the Do Something since I was cleaning up my Shows list. But if these are because you trying to “make it work with linux” oh… sorry about the hassle

Well, it’s unlikely I’d use the watch function much, but who knows how this will evolve. Or how other user user will benefit - Just “kicking the tires” at it goes.

Kind of like here when someone points out, they’ve already openly released much of the code as to how to interact with their device… but they everyone else to sign a NDA saying they won’t let anyone else know. (ok, I’ve kind of paraphrased and added sarcasm)

He didn’t actually tell much. It’s known tablo has no security, HTTPS, sign/log in, verification, authentication or parental controls.

Much of the info I’ve gathered came from old web pages and watching network traffic in a browser.

If you plan was to release a Windows platform application - really sorry for the detour. Slightly feared it may be, discovered a java program! It’s my [mis]understanding java is platform independent and portable. So I got involved. I do really appreciate having a list with an actual schedule, in date order. This fills a big deficit I believe! After that, truly, at this point I can’t say where I’ll go with it… wait and see.

https://www.tablotv.com/software-license-agreement/

You shall not reverse engineer, disassemble, reverse translate, decompile or in any other manner decode the Software except to the extent the Software is distributed with any Open Source Software that prohibits the imposition of such a restriction or to the extent the foregoing restriction is expressly prohibited by applicable law notwithstanding a contractual obligation to the contrary.

To whom and to what was this in reference to?

To anyone who reverse engineers, or reverse translates, or decodes and then discloses what would be a products proprietary or intellectual property.

Why?

Are you thinking that myself specifically or anyone on this thread are doing that?

Wouldn’t know what Nuvyyo considers are proprietary or intellectual property.

Or what decodes or reverse means.

Or, since they supply the stack, what part of the layout really is intellectual property of pixelworks/xcode.

When I got my tablo I specially looked for a EULA or “click here to agree” to be bound to some license agreement - NONE. Not even the upgrade, or the next.

IF YOU DO NOT ACCEPT THE TERMS AND CONDITIONS OF THIS AGREEMENT PLEASE DO NOT DOWNLOAD, INSTALL, OR USE THE SOFTWARE AND DOCUMENTATION AND PROMPTLY RETURN OR DESTROY THE SOFTWARE AND DOCUMENTATION.

They just politely ask you not to use it if you don’t agree… What if I ask if I could try it out first? I may be waiting for an answer as far as I know.

Section 3 references this now 404 link www.Nuvyyo.com/opensource !? I’ve pointed out tablo has lighttpd, “Open Source licensed under the revised BSD license”, which in part stats:

  • Redistributions in binary form must reproduce the above copyright notice,
    this list of conditions and the following disclaimer in the documentation
    and/or other materials provided with the distribution.

It’s redistributed… where’s it’s included copyright notice?

IF YOU DOWNLOAD, INSTALL, OR USE THE SOFTWARE AND/OR DOCUMENTATION, YOU WILL HAVE ACCEPTED AND AGREED TO THESE TERMS AND CONDITIONS.

I needed an exemption to make a final decision, that was in agreement for my money they accepted :neutral_face:

I apologize, got sucked into another thread hijacking.

APL Tablo is awesome already, by the time it’s “released” it’s bound to be amazing!

1 Like

You will find that version .10 offers show filters that include Pilot, so you can find anything on your Tablo that’s a Pilot, I hope you will find the other tags available useful as well

1 Like

You sir, are my hero! Thank you so much. I like the other tags as well.

These aren’t sort options or considered “tag” Season 1 - Episode 1, would equate to pilot… generally.

It appears tags aren’t specific to the “object”, of course, it’s just a record of the “series” and it only premieres once same for new. These would only apply to type series then individual episodes. APL Tablo doesn’t show the schedule for the shows… currently.


How do you remove something from being blacklisted? I sort on scheduled and :heavy_check_mark: show blacklisted. I’ve got one N, there doesn’t seem to be an option to remove it. I’ve moved down the list NG,G all just allow me to Add.


When a shows status is Recording, it’s size is always 1K, no matter how long it’s into the process, refresh or restart it’s size is 1,024 — but I know it’s not
Recording in process - does it protect the user from themselves. If I inadvertently click export while a recording is in process, will it let me know it’ll be flubbed up? Am I sure I want to continue kind of warning (I didn’t want to find out for myself).

version APL Tablo .10 has no console output! Clarify this has nothing to do with function. When I launch the jar I’d get lines of [info] status or update. Now - nothing - not even initial APL Tablo .10

Other than I don’t like it, I guess it’s my problem. Cleared APLTablo.log and there’ nothing there either, now that’s a shame.

###Log4J Settings
log4j.logger.com.apl.Tablo=info
#log4j.logger.com.apl.controllers.Functions=info

log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%-5p] %m%n

log4j.appender.FileAppender=org.apache.log4j.RollingFileAppender
log4j.appender.FileAppender.File=APLTablo.log
log4j.appender.FileAppender.MaxFileSize=5MB
log4j.appender.FileAppender.MaxBackupIndex=1
log4j.appender.FileAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.FileAppender.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%-5p] %m%n

log4j.rootLogger=error, Console, FileAppender

Not that I recall changing anything, but is this where I can set to debug?

Tags are specific to an airing of a show, so some airings of a show may be new, while others are not, some might be a series/series premier, while others are not…

You currently have one option…go into the DB and remove it manually…how you say?..well, that’s a bit more difficult…it’s an SQLite DB, so you can use any DB client you would like…I personally use
https://dbeaver.io/download/
…when I finish building out the GUI, I’ll have a ‘Manage Blacklist’ capability that will allow you to remove shows/genres from the blacklist.

I agree…the information I’m presenting is what the Tablo is presenting to me…it’s almost like they wanted to provide a ‘hey…something’s here, but I don’t know how big yet’ type of thing…I’ve considered leaving the size blank while the status is Recording, because Tablo’s not giving me ‘actual’ info on how big it is, so I would almost prefer to not show anything than the 1k that it gives me

That’s the weird part…it might not actually be flubbed up…so, I’ve done exactly that, told it to export a show that’s currently recording…what I found is that it ‘catches up’ to live, and continues exporting as long as the stream is good…so, in theory you COULD start exporting something before it’s done, and it should be able to export it and catch all the way to the end and then when the stream is over, it’ll stop streaming/writing…and you should have a complete file :slight_smile:

I knew I was forgetting something when I packaged it up this morning. I’ll fix this in .11, but you can fix it for yourself now. In the APLTablo.properties file, replace

log4j.logger.com.apl.Tablo=info
with
log4j.logger.com.apl.MainApp=info

I did some major re-writing of code and moving things around between .09 and .10 and eliminated the ‘Tablo’ object altogether…so the main class is now MainApp, where I store all of the goodies…so the logging needed to change to the new one as well…sorry I forgot about that when packaging it up this morning.

Relatively minor, yet a what a PITA :slight_smile:
Does this line

log4j.rootLogger=error, Console, FileAppender

set logging/verbose level? ie) info,warn,error,debug


SQlite DB directly editing isn’t a big problem, for now. I’d toss in DB Browser for SQLite, it works across multiple platforms, it’s intuitive, let’s you brows data and directly edit. It’s designed for users and developers.


As for exporting a recording in process, ffmpeg never reaches an EOF, so why would it stop… just the same as recording OTA, or -i http://file.over.slow.inter.net It doesn’t really care at what rate the segments arrive (well I’m sure there’s some cut-off).
Because I can stream an “in process” recording via the playlist URL.

Ok here’s-the-thing, if user does start to export, not noticing it’s still recording, and thinking in a few minutes they’ll get another… will you indicate that they are about to export a recording in process and it may take until the set time the recording is finished to before you can shut the program down :neutral_face: ?