News:

Rule #1 - Be Patient - Rule #2 - Don't ask when, if you don't contribute - Rule #3 - You have coding skills - LinuxMCE's small brother is available: http://www.agocontrol.com

Main Menu

SiriusXM

Started by kyfalcon, February 15, 2011, 07:01:59 PM

Previous topic - Next topic

huh

Cool- thanks for working on this.  I was playing with it to try something.


I can confirm that pyxis currently works out of the box.  I don't know if Pyxis changed to match the website changes, but it worked with no issues as of last night march 7, 2011.

kyfalcon

My idea was to have SIRRUS/XM show up in the media list, just like AUDIO, VIDEO etc. Then the channels icons would show up in the matrix much the same way albums or movies do. You could use the categories passed back from sirius to sort genre etc. Then when you clicked a station the artist, song and album would be listed in the now playing as you have stated. I have an 11 month old at home and my wife works second shift, so finding time to mess with this is sometimes difficult.

huh

Have you had anymore time to look at this?  I think I need to find a developer IRC that can answer a couple questions.  Really I need to know how to tie into LCME's system.

The stream from pyxis is very straight forward- it even calls mplayer to play the stream.  If LMCE would rather use xine- I don't know enough to know if/why that would be problem.  All I need to do is have a program that calls pyxis and feeds it a stream. 

Right now, I have a shortcut on my desktop with the following code:


#!/bin/bash
xterm -e pyxis "Siriusly Sinatra"


All it does is opens up a terminal, and tells pyxis to cal up the Frank Sinatra channel... 

Obvious this is far too static for what is needed to implement into LMCE, but if I knew how to get that part to call from a button called on the UI I think I can tap away at my keyboard until the next roadblock.

I don't even need someone to tell me how to do it- even just pointing to a template that does something similar would be helpful- I think.


tschak909

that's not good enough.

We support a lot of different devices, and LinuxMCE needs to be able to send a stream to those devices, not only media directors, but also Squeezeboxes, and the like.

Come on fellas, stop thinking hacks, and actually learn the system.

start with the Developers Guide on the wiki.

-Thom

kyfalcon

Sorry,

I haven't had a chance to look at it much. I am away on vacation thru the weekend so maybe I can get some time on the plane.

I will also look at the wiki!

Kevin

huh

Quote from: tschak909 on March 15, 2011, 06:02:02 AM
that's not good enough.

I totally agree.  Given my very limited (read: no programming skills) it is a start and would waste nobody else's time other than my own and those that read my posts here on the thread.

From the Developers Guide- it appears I need to learn how to use DCEGen mentioned here:  http://wiki.linuxmce.com/index.php/Developers_Guide#5._The_devices

Based on the modular design, I think my approach is correct- if I can get something static working on my core, I can then branch that into sending the same static stream to my MDs.  From there, making the stream dependent on what the user chooses would just be another piece in the puzzle.  I am pretty aware of my programming limitations and I think trying to builid a fully functioning plugin off the bat would lead to nothing but failure and a lot of frustration.

At any rate, searching the wiki for golden nuggets, I found this:   http://wiki.linuxmce.org/index.php/C%2B%2B_Project  It describes installing dcegen and the process for creating a device template.  This is the road I'm going to stumble down- so if someone knows this is the wrong road and could point me down the correct road, it would be greatly appreciated.   Even confirmation that this is the correction path would be helpful. 

As a side note, while my goal is to get Sirius working in LMCE, I wonder if most of what I have to learn to get there will differ greatly from the topic of this thread and, hence, warrant a new thread....

tschak909

That is the correct path.

And for those who take the time, I will always bend over backwards to help.

-Thom

kyfalcon

Thom,

I have the high-res vector graphics for the channel logos. What is the best size, resolution and format to create logos for use in the grid?

Thx.

Kevin

tschak909

Cool! :)

rendering them in png format 532x532 would probably be best.

-Thom

kyfalcon

Thx.

I'll try to get them done by the weekend.

kyfalcon

#25
How is this? Not a graphic artist so any suggestion will not be taken to heart. If someone who is good at this wants to provide me a vector file to use as a background, I can easily add the logos to it and raise or lower an object as needed.

ardirtbiker

not bad at all!!!   and you said you were not an artist!!!

Dennis

kyfalcon

I have created button logos for all the sirius channels that are available over the internet.

Thom,

If I want to create a grid similar to music or videos, searchable by category, do I have to do any coding, or is that all done within the database? I figure I will attack navigation and get that working before I attack sending anything to the media player.

Thanks,
Kevin

tschak909

That is all done in code. We have a Shoutcast PlugIn which does just this:

http://svn.linuxmce.org/svn/branches/LinuxMCE-0810/src/Shoutcast_Radio_Plugin/

and it is documented here:

http://wiki.linuxmce.org/index.php/MediaSourcePlugin

-Thom


kyfalcon

Ok Thom, I took a quick glance at the Shoutcast plugin and have a few questions.

First, it looks like I should be able to use most of this code as is. Meaning change the Shoutcast_Radio_Plugin class to Sirius_Radio_Plugin class and use most of the same members. I will need to add a member to handle the sirius login, retrieve cookies etc and possibly manipulate the call to createMediaStream. Is anything else going to be needed outside of this plugin?

It doesn't look like I have to change anything in the main class, other than the Class name being called. Are these correct assumptions?

Also, is this something I can do on my current setup without rebuilding the whole system, I currently am lacking a dev machine at this time.