SageTV Community  

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

Notices

SageTV Clients Development This forum is for discussions relating to SageTV Open Source Clients Development.

Reply
 
Thread Tools Search this Thread Display Modes
  #81  
Old 09-16-2015, 01:12 PM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
Quote:
Originally Posted by Narflex View Post
Sean,

For the question about buffering..I'd definitely recommend that it's drawn to a secondary surface and then blitted to the screen or swapped (i.e. swap the main surface pointer with the secondary one). If you don't do that then you'll likely end up with tearing during animations. It's possible you are using OpenGL in a way where this is already being done though.
Jeff, yeah, I'm using a FrameBuffer to hold the primary surface. So, all render operations happen to that surface until a swap buffer is reached, and then I render that texture to the main ui. Once I have the completed frame, I then store it, so that if during the process of creating a new frame, opengl handles a call to render the UI, then I just give it the last frame. This works in both continous and non-continous rendering modes. I think under the hood, the opengl stuff, would be similar to what is in the jogl implementation.

My rendering gltich that I was having was too fold... one, I was using some System.out print statements for debugging, and they were happening in the UI rendering, and this was dramatically slowing down the frame rate And the other glitch I had was that after I capturing the framebuffer completion, I wasn't rendering it to the screen until the NEXT frame completion (a bug in my logic)... so this was leading some very weird results.

Right now, it feels smooth. I just need to work on the shape rendering parts (lines, rectangles, circles, etc) and tweak the touch/gesture to mouse/keyboard actions.
Reply With Quote
  #82  
Old 09-16-2015, 04:45 PM
samgreco samgreco is offline
Sage Expert
 
Join Date: Jul 2004
Location: Villa Park, IL (Outside Chicago)
Posts: 617
Well this is happening way faster than I expected Very happy to see this.

I have an Amazon FireTV and would be happy to see if it works on that anytime you're ready.
Reply With Quote
  #83  
Old 09-16-2015, 05:04 PM
jm9843 jm9843 is offline
Sage Aficionado
 
Join Date: Oct 2003
Posts: 288
Quote:
Originally Posted by stuckless View Post
Video will be a different story... so at the very worst, you'l be able to access sagetv and interact with the UI, but video playback (which is coming much later) might be a challenge. In my brief research, it might be that video playback might only be supported on Android 5 (since I think i might need to take advantage of video apis that were added in 5).
Have you looked into ExoPlayer at all? It might be the way to go instead of the Android MediaPlayer API.
Reply With Quote
  #84  
Old 09-16-2015, 05:58 PM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
Quote:
Originally Posted by samgreco View Post
Well this is happening way faster than I expected Very happy to see this.

I have an Amazon FireTV and would be happy to see if it works on that anytime you're ready.
I think this would work on a FireTV as well... but again, video playback will be the key.

Quote:
Originally Posted by jm9843 View Post
Have you looked into ExoPlayer at all? It might be the way to go instead of the Android MediaPlayer API.
I'll definately look into this. Thanks. I won't be looking at Video for at least a month... but this sounds promising. The challenge will be to see if it can be embedded and allow the sagetv overlay.
Reply With Quote
  #85  
Old 09-17-2015, 06:36 AM
tmiranda's Avatar
tmiranda tmiranda is offline
SageTVaholic
 
Join Date: Jul 2005
Location: Central Florida, USA
Posts: 5,851
Quote:
Originally Posted by stuckless View Post
FYI... SageTV UI doesn't work well on a phone (might be ok on a tablet though). I think that eventually someone will want to make a STV that is designed for a small screen.
Sean, I'm very happy you are working on this. The STV work is something I can help with. Let me know when you have something to test and I will take a stab at the UI.
__________________

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
  #86  
Old 09-17-2015, 08:13 AM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
Quote:
Originally Posted by tmiranda View Post
Sean, I'm very happy you are working on this. The STV work is something I can help with. Let me know when you have something to test and I will take a stab at the UI.
Thanks Tom... I know Plucky showed an interest in this as well.

As of now, I have a most of the UI working "ok" on my phone. I'm still tweaking stuff. And the gestures on the phone/tablet are not ideal for what I want, so I'm still tweaking that as well.

The basics is working, ie, you can swipe up/down/left/right to simulate remote up/down/left/right, and tap and click are the same. The animations are pretty smooth on the phone, once things gets cached, but some screens are still not a smooth as I would like. Keyboard handling will be tricky, since I need to map everything into AWT key codes (same with mouse actions, but there are fewer of those)

I'm hoping to test this on my Nexus Player this weekend, and if I can get a simple "server selector" window showing, then I might release something for people to play with. My fear is that if I do that then I'll bombarded with "this isn't working" posts... which I already know, since there is LOTS that don't work
Reply With Quote
  #87  
Old 09-17-2015, 08:56 AM
tmiranda's Avatar
tmiranda tmiranda is offline
SageTVaholic
 
Join Date: Jul 2005
Location: Central Florida, USA
Posts: 5,851
Quote:
Originally Posted by stuckless View Post
Thanks Tom... I know Plucky showed an interest in this as well.

As of now, I have a most of the UI working "ok" on my phone. I'm still tweaking stuff. And the gestures on the phone/tablet are not ideal for what I want, so I'm still tweaking that as well.

The basics is working, ie, you can swipe up/down/left/right to simulate remote up/down/left/right, and tap and click are the same. The animations are pretty smooth on the phone, once things gets cached, but some screens are still not a smooth as I would like. Keyboard handling will be tricky, since I need to map everything into AWT key codes (same with mouse actions, but there are fewer of those)

I'm hoping to test this on my Nexus Player this weekend, and if I can get a simple "server selector" window showing, then I might release something for people to play with. My fear is that if I do that then I'll bombarded with "this isn't working" posts... which I already know, since there is LOTS that don't work
It can't hurt to have two different STV options My intent would be to keep the look and feel as consistent with the default STV as possible. I am guessing that Plucky will do something a lot fancier. Choice is good.

When you are ready you can email me the test package.
__________________

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
  #88  
Old 09-17-2015, 09:36 AM
Fuzzy's Avatar
Fuzzy Fuzzy is offline
SageTVaholic
 
Join Date: Sep 2005
Location: Jurupa Valley, CA
Posts: 9,957
I'm wondering how much theming changes could be made to gemstone to get it up and running on a small touchscreen. I believe even the menu structure was modular in it, so we could possibly move away from the 'three cascading menus on screen at the same time' to a more classic 'single menu per display' mode, while still leveraging all that the dynamic menus system has to offer, as well as keeping all the views and such (each view might need some tweaking to work best on a small touch screen as well).
__________________
Buy Fuzzy a beer! (Fuzzy likes beer)

unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers.
Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA.
Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S
Other Clients: Mi Box in Master Bedroom, HD-200 in kids room
Reply With Quote
  #89  
Old 09-17-2015, 09:46 AM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
Quote:
Originally Posted by Fuzzy View Post
I'm wondering how much theming changes could be made to gemstone to get it up and running on a small touchscreen. I believe even the menu structure was modular in it, so we could possibly move away from the 'three cascading menus on screen at the same time' to a more classic 'single menu per display' mode, while still leveraging all that the dynamic menus system has to offer, as well as keeping all the views and such (each view might need some tweaking to work best on a small touch screen as well).
I haven't tried Phoenix yet as well. It does use modular single menu view, that flips to new submenus. But the problem with Phoenix, if I recall, is that it doesn't work with a Mouse. So it would be problematic for mobile interactions.

Once I release something, people can try Gemstone on it, and see what happens.
Reply With Quote
  #90  
Old 09-17-2015, 10:23 AM
Fuzzy's Avatar
Fuzzy Fuzzy is offline
SageTVaholic
 
Join Date: Sep 2005
Location: Jurupa Valley, CA
Posts: 9,957
Quote:
Originally Posted by stuckless View Post
I haven't tried Phoenix yet as well. It does use modular single menu view, that flips to new submenus. But the problem with Phoenix, if I recall, is that it doesn't work with a Mouse. So it would be problematic for mobile interactions.

Once I release something, people can try Gemstone on it, and see what happens.
I've used a touch device with gemstone in the past (via RDP on my tablet), and I will say that it does have issues. Primarily the issue is that a menu item can be both submenu have a 'default item' in them that is carried out if the parent item is clicked on. This doesn't work for a click-only interface, as you can't navigate to the lower menus, because all you can do is click, which performs the default action. It might work to simply disable default action clicks on the mobile theme. Aside from that, it would need some always on-screen buttons, like option, for instance, and a bunch of scaling changes to make onscreen elements larger (like the touch region of the transport bar).
__________________
Buy Fuzzy a beer! (Fuzzy likes beer)

unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers.
Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA.
Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S
Other Clients: Mi Box in Master Bedroom, HD-200 in kids room
Reply With Quote
  #91  
Old 09-17-2015, 11:40 AM
nyplayer nyplayer is offline
SageTVaholic
 
Join Date: Sep 2005
Posts: 4,997
Quote:
Originally Posted by stuckless View Post
Thanks Tom... I know Plucky showed an interest in this as well.

As of now, I have a most of the UI working "ok" on my phone. I'm still tweaking stuff. And the gestures on the phone/tablet are not ideal for what I want, so I'm still tweaking that as well.

The basics is working, ie, you can swipe up/down/left/right to simulate remote up/down/left/right, and tap and click are the same. The animations are pretty smooth on the phone, once things gets cached, but some screens are still not a smooth as I would like. Keyboard handling will be tricky, since I need to map everything into AWT key codes (same with mouse actions, but there are fewer of those)

I'm hoping to test this on my Nexus Player this weekend, and if I can get a simple "server selector" window showing, then I might release something for people to play with. My fear is that if I do that then I'll bombarded with "this isn't working" posts... which I already know, since there is LOTS that don't work
You mean it is not working yet?????



Just Kidding.
Appreciate you guys moving Sage forward.
Reply With Quote
  #92  
Old 09-17-2015, 12:30 PM
Narflex's Avatar
Narflex Narflex is online now
Sage
 
Join Date: Feb 2003
Location: Redondo Beach, CA
Posts: 6,349
@Sean - if you want any more tips on doing the media player side let me know; I can just ask the guys who did the Android app for Google Fiber what they'd recommend for doing a media player implementation that uses a custom source protocol (as I know they did this for the app we used on Fiber at one point).
__________________
Jeffrey Kardatzke
Google
Founder of SageTV
Reply With Quote
  #93  
Old 09-17-2015, 07:34 PM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
Quote:
Originally Posted by Narflex View Post
@Sean - if you want any more tips on doing the media player side let me know; I can just ask the guys who did the Android app for Google Fiber what they'd recommend for doing a media player implementation that uses a custom source protocol (as I know they did this for the app we used on Fiber at one point).
Thanks Jeff... that would be awesome. I'm not there yet, but when I do, I will definately need help
Reply With Quote
  #94  
Old 09-18-2015, 07:40 AM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
@Jeff, out of curiosity, did the Android team go with a placeshifter approach for the UI, or did they opt to create a native UI and simply make rest calls back to SageTV?
Reply With Quote
  #95  
Old 09-18-2015, 07:51 AM
Fuzzy's Avatar
Fuzzy Fuzzy is offline
SageTVaholic
 
Join Date: Sep 2005
Location: Jurupa Valley, CA
Posts: 9,957
Quote:
Originally Posted by stuckless View Post
@Jeff, out of curiosity, did the Android team go with a placeshifter approach for the UI, or did they opt to create a native UI and simply make rest calls back to SageTV?
I believe their UI is completely unique on the android google fiber app. They really would have had no reason to duplicate the STV, as they don't have any real customization options on google fiber anyway, and the only content that is dealt with is recordings.
__________________
Buy Fuzzy a beer! (Fuzzy likes beer)

unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers.
Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA.
Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S
Other Clients: Mi Box in Master Bedroom, HD-200 in kids room
Reply With Quote
  #96  
Old 09-18-2015, 10:24 AM
Bucsfan2008 Bucsfan2008 is offline
Sage User
 
Join Date: Jan 2008
Posts: 29
Thank you!

I do not have the skillset to do what all of you are doing here, but I would like to thank you! I believe it is the right way to go using and Android or other player to load SageTV into already existing media players kind of like Kodi is with the Amazon Fire TV. I will be donating for your efforts. That being said, Kodi is no SageTV but perhaps somethings can be learned by what they are doing.

I can say that with their version 15 and above, they have used "inverted BOB" to improve deinterlacing tremendously with MPEG interlacing playback. I would say it is on par or better than the Ceton Echo. I don't know if there is anything that can be done here in the SageTV community and wish I could help, I just don't know how to code or write software.

Again, Thank you and Cheers!!
Reply With Quote
  #97  
Old 09-18-2015, 03:17 PM
Narflex's Avatar
Narflex Narflex is online now
Sage
 
Join Date: Feb 2003
Location: Redondo Beach, CA
Posts: 6,349
@Sean - I asked them for advice and they highly recommended to use ExoPlayer. It's not part of the normal Android SDK...it's an open source library that's a media player with a huge amount of capabilities. You can definitely override the feeding of source data into it.
__________________
Jeffrey Kardatzke
Google
Founder of SageTV
Reply With Quote
  #98  
Old 09-18-2015, 04:09 PM
Gustovier Gustovier is offline
Sage Aficionado
 
Join Date: Nov 2010
Location: Chicago
Posts: 460
Quote:
Originally Posted by Narflex View Post
@Sean - I asked them for advice and they highly recommended to use ExoPlayer. It's not part of the normal Android SDK...it's an open source library that's a media player with a huge amount of capabilities. You can definitely override the feeding of source data into it.

I'm wondering if that's better than libVlc that's what the Emby team is using for their android and androidTV apps
Reply With Quote
  #99  
Old 09-18-2015, 07:59 PM
jm9843 jm9843 is offline
Sage Aficionado
 
Join Date: Oct 2003
Posts: 288
Re: ExoPlayer

Quote:
Originally Posted by stuckless View Post
I'll definately look into this. Thanks. I won't be looking at Video for at least a month... but this sounds promising. The challenge will be to see if it can be embedded and allow the sagetv overlay.
SageTV's overlay should be doable with ExoPlayer. Here's a tutorial/scaffold for a custom MediaController class, and here's a description of where it should be instantiated in ExoPlayer's PlayerActivity class.

For the curious, Google Developers did a 10 minute overview of ExoPlayer here. They use it internally for the Google Play Movies and YouTube Android apps.
Reply With Quote
  #100  
Old 09-19-2015, 08:40 AM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
I'll start by saying that this is a RANT, so make of it what you will....

I was pretty excited about this weekend. I even got up at 5am this morning, because I woke up early, and started thinking about what I wanted to achieve, and I couldn't get back to sleep.

My main objective was to setup my AndroidTV Nexus Player (developer edition), and then publish my current SageTV placeshifter app to it, and do some final testing before I release an Alpha build of that, in case people what to see it running for themselves. (All in all, that should be about 30 minutes, maybe a little longer if run into some software issues).

Well, it's now 5 hours later, and I quickly got past the "hook up the AndroidTV unit", but thanks to Google, that's as far I'll get, this weekend, and likely, ever.

I've often said that what Google needs, is a few stupid people. I mean they have to world's top talent (so they lead you to believe), but I think they are really, really, lacking stupid people. You know people with marginal levels of common sense. People that can go back to the "smart" people, and say, "hey, not everyone that is going to use this is going to have 3 Phd's, do you think we can make it 'easy' for them". Sadly that is not the case, but I long for a Google that has a few stupid people.

The problem for a company, like Google, that has the best and brightest, is that to these people, every problem appears trivial, so there's a disconnect from reality, or from the reality of "stupid people", like myself.

When Google announced that they were starting Android TV a couple years back, I signed up for a Developer preview. Shortly after, Google sent me a free Android TV (ADT-1) unit, and I started working on Android TV apps. Developing for ADT was pretty easy... Turn it on, and then you can connect the Android Tools to it over WiFi and publish your apps to it, and debug them, etc. It was pretty easy, to say the least, but I think Google found that person and fired him/her. (Likely the smart people at Google thought that idea of plug it in, and it would just work, was an oversimplification of a hard problem, so get rid of that person)

A couple months back (or longer), Google released Android version 5.0.2 for ADT. Of course I accepted that update (why not??). That apparently, was a mistake.

So, today, I go to wirelessly connect to the ADT to install my app, but, I can't connect? I re-read through the documention for ADT, and it seems easy enough, and it hasn't changed, but yet, I can't connect to it. So, I google, and sure enough, the smart folks at Google decided that enabling the WiFi debugging, by default, was bad, and that instead you need to manually connect your computer to the physical device, and enter a command to put it into WIFI mode. (I mean as developer, who doesn't want to physically connect to their device that hooked up to your TV in the other side of the house, when you could have easily just connected over WiFi)

Putting aside that now you need a laptop to connect to the ADT1, physically, which I do have, but of course, connecting the ADT1 to a computer requires a special USB cable, that I don't have (or I can't find), so I can't actually use my ADT1 developer edition to develop. What an epic fail

So, I decided to do a factory reset on my ADT, hoping that it would restore it back to the previous developer version, that actually worked. Sadly it still remained at 5.0.2. (But of course I also got subjected to the process of my controller not actually pairing to the unit, etc, just to waste another hour)

So, at this point, I won't be releasing anything. And to be honest, I'm so fed up with Google (this is a tipping point for me), that I'm not sure I even want to develop with Android. I just seems that with every release they go out of their way to make it harder and harder to be a "hobby" developer.

My only plea to Google is PLEASE FOR THE LOVE OF ALL THINGS GOOD... HIRE SOME STUPID PEOPLE... PLEASE!!!

https://plus.googleapis.com/11310814...ts/VbHWMJZFdLG
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
Finally, a fully functional SageTV client on android and iphone! mkanet SageTV v7 Customizations 12 01-12-2013 12:22 AM
SageTV Placeshifter for Android nyle SageTV Placeshifter 5 12-31-2011 10:40 AM
Sage should get an android client running on this Deacon Crusher Hardware Support 1 09-29-2010 11:30 AM
Android client? equalize SageTV Placeshifter 1 07-22-2010 09:37 AM


All times are GMT -6. The time now is 11:15 AM.


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