Author Topic: Reinventing the wheel  (Read 4528 times)

tschak909

  • LinuxMCE God
  • ****
  • Posts: 5495
  • DOES work for LinuxMCE.
    • View Profile
Re: Reinventing the wheel
« Reply #15 on: June 09, 2010, 04:42:01 pm »
Really, my frustration stems from the fact that people aren't exploring the codebase, and asking questions of those of us who have been here a while.

We have an amazing architecture here, that is unparalleled in so many areas, and while there are some weak areas in the area of Orbiter, the architecture is such that all these pieces can be replaced.

At this point, myself, along with anyone else interested, are trying to build a series of "toys" in a set of UI toolkits, trying to find something to standardize on for the next generation of Orbiter. I have gone over this in the Clutter thread, so I won't recap it all here. But right now, it's all about trying to spur a curiosity in the codebase. This system can do ANYTHING, it's _DESIGNED_ this way, it's not a side effect, or a consequence, but it is the result of applying enterprise design patterns to the problems of home automation. While there are obvious warts in the code (yes, they are everywhere, for various reasons), these can be and are being fixed, we just need more hands.

Chris, I know you're looking at this from the standpoint of a salesman, that's not what we need at this point. We need a few more people who are willing to understand the architecture, and not dismiss it as "crap" because they do not understand it yet.

-Thom

totallymaxed

  • LinuxMCE God
  • ****
  • Posts: 4360
  • Smart Home Consulting
    • View Profile
    • Dianemo - at home with technology
Re: Reinventing the wheel
« Reply #16 on: June 09, 2010, 05:35:20 pm »
Yeah but you know I *had* to have the Beta! Don't get me wrong - I'm not complaining about stability here. You won't see a "this is why I left LinuxMCE post from me!". This post was about making a suggestion which I hoped would save someone time and improve ease of maintenance and promote involvement by devs from other projects. I've seen a lot of frustration on the forum and started thinking - is this the right path? Is there a way to solve this? The answer was no, not right now, but it was worth asking I think. Thanks for the info all.

Chris

Well I think in retrospect keeping 0710 as the 'stable' version so that community members who were not interested in 081-alpha/beta testing could stick with it would have been sensible. But thats 'water under the bridge' now.

However as you were backed into a corner on the usage of 0810... you did not really need to expose your GF to it...buying a cheap DVD player comes to mind or booting into some other media player software when she comes over is another option ;-)

All the best


Andrew
Andy Herron,
Convergent Home Technologies Ltd
United Kingdom

Read My Blog; http://ellipticalcurve.com

Contact me for Smart Home consulting advice here;
@herron on Twitter, totallymaxed+consulting@gmail.com via email or PM me here.

Get a Dianemo S License: http://forum.linuxmce.org/index.php?topic=8880.0
iOS Orbiter: http://wiki.linuxmce.org/index.php/Dianemo_iOS_Orbiter
Follow us on Facebook: https://www.facebook.com/pages/Dianemo-Home-Automation/226019387454465

Sales & Info:
http://www.dianemo.co.uk

chrisbirkinshaw

  • Guru
  • ****
  • Posts: 431
    • View Profile
Re: Reinventing the wheel
« Reply #17 on: June 09, 2010, 08:15:30 pm »
@Andrew Exactly :-) I have LMCE 810 running in a VM for fun/testing. It has some zwave stuff and a USB-UIRT attached. However I can control all the zwave stuff without LMCE and can play the GF a video from the Xtreamer (albeit with a much worse UI than LMCE). Even when 810 is stable I think I'll keep the Xtreamer as a backup - a core hardware failure is never out of the question. As I said I am not complaining - I understand the risks of running beta software.

@Thom Yes this must be extremely frustrating. I'm just not sure what the answer is. Have the LMCE senior developers made some presentation to the dev communities of Xine, Mplayer, Myth etc? Perhaps we could make a slideshow describing all the cool architecture features and fire it over? I am up for doing this with a little guidance. If the system really is amazing under the hood (I believe you from what I've seen) then those guys should get fired up.



valent

  • Guru
  • ****
  • Posts: 380
    • View Profile
    • /kernel_reloaded/
Re: Reinventing the wheel
« Reply #18 on: June 14, 2010, 04:21:36 pm »
I see what you are getting at Chris, and I completely agree, but I thing that lmce devels know that they shouldn't keep their own patches and fork upstream core, that is road to disaster.

I'm a involved with Fedora project and they have a really strong "upstream only" [1] policy and if there isn't such a policy in LinuxMCE project I strongly suggest you thing about it. You can borrow ideas from Fedora wiki and make a similar wiki page on LMCE wiki, I can do it but I need to know do you agree with all ideas on Fedora wiki or some should be changed or even add some new ones?

[1] https://fedoraproject.org/wiki/PackageMaintainers/WhyUpstream
LinuxMCE - If it was easy, everybody would be doing it!!
My setup - http://wiki.linuxmce.org/index.php/User:Valent

valent

  • Guru
  • ****
  • Posts: 380
    • View Profile
    • /kernel_reloaded/
Re: Reinventing the wheel
« Reply #19 on: June 29, 2010, 12:30:25 pm »
I have just found out this video: http://www.youtube.com/watch?v=a6Colv6_pH0

showing that even a much bigger and commercial project like Control4 just go the easier and smarter way of using an existing media player like XBMC. Guys I urge you to please include XBMC in LinuxMCE ASAP becuse current media player is just years behind XBMC, it has no support for multiple audio streams, multiple subtitles, heck subtitles aren't even enabled by default and when they are enabled each update disables them, and each subtitle needs to be renamed from standard name scheme movie.srt to movie.avi.srt. Each appliance I tested ranging from cheap DVD/DivX players, multiple media centers (Moovida, XBMC, Boxee, GeeXBox and others), any small hdd based divx/mkv player., etc... and yes there is also support for built in multiple audio streams and multiple subtitles in mkv files.

Just to implement all this you will need lots of work, and when you implement all of them LinuxMCE media player will still be 2nd rate player missing lots of fancy features that others have.

I'm not trying to dump on your work, just to say again what is said in this thread so many times - why reinvent the wheel? Use some other proven media player like XBMC to play media from DCE wrapped plugin. Just look how Control4 guys did it.

If you say - if you want ot then go and do it, I can't because I don't know how to code, but if you say to us if you wan't this feature it will cost you $$$, that split amongst a few people who would really like to see this feature wouldn't be too expensive and I'll be the first to donate for this feature.

Of if you have some tedious tasks that we can trade - maybe some of us can write WIKI documentation (within our level of knowledge), send xy press releases, paint your toe nails, wash your feet, you name it ;)
* valent flame on ;)
« Last Edit: July 20, 2010, 10:20:37 am by valent »
LinuxMCE - If it was easy, everybody would be doing it!!
My setup - http://wiki.linuxmce.org/index.php/User:Valent

totallymaxed

  • LinuxMCE God
  • ****
  • Posts: 4360
  • Smart Home Consulting
    • View Profile
    • Dianemo - at home with technology
Re: Reinventing the wheel
« Reply #20 on: June 29, 2010, 12:58:23 pm »
I have just found out this video: http://www.youtube.com/watch?v=a6Colv6_pH0

showing that even a much bigger and commercial project like Control4 just go the easier and smarter way of using an existing media player like XBMC. Guys I urge you to please include XBMC in LinuxMCE ASAP becuse current media player is just years behind XBMC, it has no support for multiple audio streams, multiple subtitles, heck subtitles aren't even enabled by default and when they are enabled each update disables them, and each subtitle needs to be renamed from standard name scheme movie.srt to movie.avi.srt. Each appliance I tested ranging from cheap DVD/DivX players, multiple media centers (Moovida, XBMC, Boxee, GeeXBox and others), any small hdd based divx/mkv player., etc... and yes there is also support for built in multiple audio streams and multiple subtitles in mkv files.
The internal media player in LinuxMCE supports multiple audio streams, multiple subtitles and all DVD options in ripped DVD's. Our customer use these options heavily. If you using a remote Orbiter to control the MD that is playing the DVD stream then you also get access to the DVD main menu & setup menus on the Orbiter you are controlling playback from. This remote Orbiter might be an iPad, and in-wall touch panel, a ASUS EeeTouch, a DT366 or DT362, iPhone, iPad Touch, Android Phone or tablet or pretty much anything else you can run a modern Web browser on.

The Orbiter UI is lacking in a number areas and support for some aspects of mkv's etc are also an area that needs some development and we all know what those are...there are many threads that discuss these here in the forum. The problem with Moovida, XBMC, Boxee, GeeXBox and others however is that their UI does not scale well (or in some case at all) when you try to move them to other devices like touch panels or handheld devices. So you end up with a compromise which is probably why no one has really put any effort into this.

Instead of moaning about it to the Dev's you should create a new thread here and try to gather some like-minded people around your proposal and get your proposal implemented. Everyone on the development team is fully engaged in what they are already working on so you need to look outside the Dev team to get this new capability added. If your proposal is something others also want then making it a reality should be doable.

All the best


Andrew
Quote

Just to implement all this you will need lots of work, and when you implement all of them LinuxMCE media player will still be 2nd rate player missing lots of fancy features that others have.

I'm not trying to dump on your work, just to say again what is said in this thread so many times - why reinvent the wheel? Use some other proven media player like XBMC to play media from DCE wrapped plugin. Just look how Control4 guys did it.

If you say - if you want ot then go and do it, I can't because I don't know how to code, but if you say to us if you wan't this feature it will cost you $$$, that split amongst a few people who would really like to see this feature wouldn't be too expensive and I'll be the first to donate for this feature.

Of if you have some tedious tasks that we can trade - maybe some of us can write WIKI documentation (within our level of knowledge), send xy press releases, paint your toe nails, lick you balls, you name it ;)
* valent flame on ;)
Andy Herron,
Convergent Home Technologies Ltd
United Kingdom

Read My Blog; http://ellipticalcurve.com

Contact me for Smart Home consulting advice here;
@herron on Twitter, totallymaxed+consulting@gmail.com via email or PM me here.

Get a Dianemo S License: http://forum.linuxmce.org/index.php?topic=8880.0
iOS Orbiter: http://wiki.linuxmce.org/index.php/Dianemo_iOS_Orbiter
Follow us on Facebook: https://www.facebook.com/pages/Dianemo-Home-Automation/226019387454465

Sales & Info:
http://www.dianemo.co.uk

tschak909

  • LinuxMCE God
  • ****
  • Posts: 5495
  • DOES work for LinuxMCE.
    • View Profile
Re: Reinventing the wheel
« Reply #21 on: June 29, 2010, 02:20:08 pm »
and once again, valent talks out of his arse... You simply do not understand the code base we have, or what we have left to do.

-Thom

chrisbirkinshaw

  • Guru
  • ****
  • Posts: 431
    • View Profile
Re: Reinventing the wheel
« Reply #22 on: June 30, 2010, 09:33:19 pm »
Valent if you are keen then you should be able to knock up a GSD device to control the XBMC as if it were a STB. I am guessing that then you just need to make a device template for it which includes the launching of the app itself. I really don't know about that last bit though. You'll need to ask around. It may be possible to do it all without coding anything more than ruby but I'm not certain.

tschak909

  • LinuxMCE God
  • ****
  • Posts: 5495
  • DOES work for LinuxMCE.
    • View Profile
Re: Reinventing the wheel
« Reply #23 on: June 30, 2010, 09:59:54 pm »
chrisberkinshaw, that would not work. You need to study the media system more...

You would hit brick walls very quickly, with that approach.

The reason being, is that because there would be no plugin to handle the media stream (Media stream in this case is an object containing media metadata properties that the Media PlugIn uses to route things to their correct devices. see src/MediaStream.cpp), the device would be treated as a non-pluto media type. This means it would attempt to try and find a tuner card to send the output to, and  failing that, it would try to switch media inputs for connected pipes to the device. Since it would be an embedded media player, there would be no pipes to switch to, and you would in essence have a window that would not be properly mapped into Orbiter.

You need a media plugin, to create a new media stream type, which defines, whether it is audio, video, etc. And to find the media player for a given entertainment area, and send the appropriate play commands to it.

While the Player could possibly be implemented as a GSD, the PlugIn must be done in C++, as it needs to run in the DCE Router's memory space, and grab pointers into the Media Plugin to call functions such as RegisterMediaPlugin, etc.

-Thom

totallymaxed

  • LinuxMCE God
  • ****
  • Posts: 4360
  • Smart Home Consulting
    • View Profile
    • Dianemo - at home with technology
Re: Reinventing the wheel
« Reply #24 on: July 01, 2010, 07:35:38 pm »
chrisberkinshaw, that would not work. You need to study the media system more...

You would hit brick walls very quickly, with that approach.

The reason being, is that because there would be no plugin to handle the media stream (Media stream in this case is an object containing media metadata properties that the Media PlugIn uses to route things to their correct devices. see src/MediaStream.cpp), the device would be treated as a non-pluto media type. This means it would attempt to try and find a tuner card to send the output to, and  failing that, it would try to switch media inputs for connected pipes to the device. Since it would be an embedded media player, there would be no pipes to switch to, and you would in essence have a window that would not be properly mapped into Orbiter.

You need a media plugin, to create a new media stream type, which defines, whether it is audio, video, etc. And to find the media player for a given entertainment area, and send the appropriate play commands to it.

While the Player could possibly be implemented as a GSD, the PlugIn must be done in C++, as it needs to run in the DCE Router's memory space, and grab pointers into the Media Plugin to call functions such as RegisterMediaPlugin, etc.

-Thom

Thom - I think Chris was suggesting running xbmc on a external machine and treating that whole machine like an STB.... at least that was my take. Now doing that would be pretty crazy I agree!...but I cant see why that would not work as its what we already do with hardware STB's etc.

Andrew
Andy Herron,
Convergent Home Technologies Ltd
United Kingdom

Read My Blog; http://ellipticalcurve.com

Contact me for Smart Home consulting advice here;
@herron on Twitter, totallymaxed+consulting@gmail.com via email or PM me here.

Get a Dianemo S License: http://forum.linuxmce.org/index.php?topic=8880.0
iOS Orbiter: http://wiki.linuxmce.org/index.php/Dianemo_iOS_Orbiter
Follow us on Facebook: https://www.facebook.com/pages/Dianemo-Home-Automation/226019387454465

Sales & Info:
http://www.dianemo.co.uk