Autor Tópico: Simple RSS Jukebox  (Lida 11973 vezes)

0 Membros e 1 Visitante estão vendo este tópico.

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Simple RSS Jukebox
« Online: Maio 05, 2011, 07:07:26 pm »
Conforme explicado por Shantic em seu blog, exceto pelo controle remoto este firmware do PBO funciona no S9:

http://www.patriotmemory.com/forums/showthread.php?6454-BETA.P70R2-Moddable-bootcode-neutral

Eu estava curiosíssimo para ver o tal Simply RSS jukebox em operação, mas como  eu não tenho o remoto do PBO nem o conhecimento necessário (por enquanto) para fazer o patch do firmware incluindo o irfake devidamente configurado, não pude testar isso.

Exemplos do Jukebox em operação:



« Última modificação: Julho 26, 2011, 05:02:27 pm por Jefferson »
http://jefferson-ryan.blogspot.com
http://ryan.com.br

Se o que você escreve não merece sua atenção, vai merecer a atenção de quem?!

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Simple RSS Jukebox
« Responder #1 Online: Maio 06, 2011, 07:00:29 pm »
Com a ajuda de Shantic, que me forneceu o firmware do PBO adaptado para o remoto do S9 via irfake, eu pude descobrir como funciona o tal Simple RSS Jukebox.

O que eu descobri está relatado no fórum de Shantic:
http://dpi.mx/s9mod/forum/mod-hacks/pbo-firmware-on-s9/#p235

Depois eu coloco um resumo em português aqui.

O Jukebox é muito interessante, mas um tanto inconveniente, por dois motivos:

  • Toda vez que você acrescentar ou remover filmes precisa rodar o script de atualização, porque o Jukebox só enxerga os arquivos listados no arquivo RSS.
  • Para entrar no Jukebox você precisa ir pelo menu IMS. Não é possível evocá-lo enquanto você está passeando pelas pastas.

Tirando esses problemas, que não são tão graves assim, a idéia parece muito interessante. Você pode ter várias Jukeboxes. Uma para animação, outra para comédia, outra para ação, etc. Cada Jukebox, usando o script original, corresponde a uma pasta no HDD. Então os filmes precisam estar separados por pastas. Porém como a tal Jukebox é um arquivo texto, me parece perfeitamente viável criar um programa no Windows que gere a Jukebox sem se preocupar com divisão por pastas. Assim, um filme que seja comédia e animação poderia figurar em duas Jukeboxes mesmo havendo apenas uma cópia no HDD (com o script original não dá).

 


« Última modificação: Maio 06, 2011, 09:17:28 pm por Jefferson »
http://jefferson-ryan.blogspot.com
http://ryan.com.br

Se o que você escreve não merece sua atenção, vai merecer a atenção de quem?!

FORUM.RYAN.COM.BR

Re: Simple RSS Jukebox
« Responder #1 Online: Maio 06, 2011, 07:00:29 pm »

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Simple RSS Jukebox
« Responder #2 Online: Maio 07, 2011, 12:06:56 am »
Eu esqueci de confirmar que o S9, com o Simple RSS Jukebox instalado, fica mesmo com essa aparência (entrando por IMS -> Jukebox):



A imagem abaixo, chamada de "moviesheet", precisa ser gerada antecipadamente. Cada pasta de filme deve ter a sua, prontinha. A jukebox limita-se a exibi-la. Numa TV de pelo menos 720p o resultado fica excelente. Numa TV comum há uma certa dificuldade para ler o texto.



Eu expliquei como criar moviesheets para o S9, usando o Thumbgen, há algum tempo no Buzz:

http://www.google.com/buzz/117578158927571476541/MvtnJ5PWdi7
http://jefferson-ryan.blogspot.com
http://ryan.com.br

Se o que você escreve não merece sua atenção, vai merecer a atenção de quem?!

Offline RobertoZoom

  • Novato
  • *
  • Mensagens: 5
  • Aprovação: +0/-0
    • Ver Perfil
Re: Simple RSS Jukebox
« Responder #3 Online: Junho 11, 2011, 04:00:28 pm »
Ryan

primeiro grato pela resposta,
como vc você, estou fissurado para testar um movie jukebox no S9 (em princípio era o yamj, mas você nos apresentou uma versão mais simples, porém funcional - o Simple RSS).  Queria te perguntar algumas coisas para não brickar meu s9 :

a) a versão do site do Shantic (POBOX para s9 - http://dpi.mx/s9mod/2011/04/pbo-firmware-on-s9/) já está com o controle do S9 funcional ? Se não estiver você poderia me disponibilizar o fw já com o controle configurado ? 

b) Isto funciona com HD externo via usb? (neste caso parece que terei que instalar o fw, e mais descompactar uma parte para o HD né ? o HD pode já conter dados ou vai precisar ser reformatado ? 

c) posso fazer estes procedimentos sem me valer de TELNET ?   


agradeceria se pudesse me dar estes passos iniciais para eu poder testar esta solução no s9 , porque praticamente optei pelo realtek 1073 por esta comodidade de incluir capas de filmes (aliás fica um alerta , existem no ebay equipamentos IDÊNTICOS em aparência, mas com chip amlogic , e valor em torno de 65$ , fazem o que prometem, mas dificilmente sairá fw alternativo nãot em um sistema tão aberto quanto o realtek).

[]s


« Última modificação: Junho 13, 2011, 05:24:20 am por Jefferson »

Offline RobertoZoom

  • Novato
  • *
  • Mensagens: 5
  • Aprovação: +0/-0
    • Ver Perfil
Re: Simple RSS Jukebox
« Responder #4 Online: Julho 17, 2011, 09:39:41 pm »


Pessoal, não sei se o projeto está parado , mas recebi um S10 (mesmo hardware que o s9, porém com leitor de DVD físico embutido). Aí estou fazendo umas comparações com o S9 que tenho, e mais um philips 5965k . Se quiserem faço um review comparativo entre as duas versões.

Ryan, não querendo te incomodar - mas já incomodando, onde eu consigo o Fw com Simple RSS jukebox, e com o controle JÁ setado para os padrões do s9 ? estou babando para testar, e estou com medo de baixar um Fw que não tenha os códigos do controle do S9 e eu fique sem poder recuperar .

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Simple RSS Jukebox
« Responder #5 Online: Julho 17, 2011, 09:53:51 pm »
onde eu consigo o Fw com Simple RSS jukebox, e com o controle JÁ setado para os padrões do s9 ? estou babando para testar, e estou com medo de baixar um Fw que não tenha os códigos do controle do S9 e eu fique sem poder recuperar .

O firmware fornecido por Shantic é este:
http://www.fileserve.com/file/4cfvdhq
http://jefferson-ryan.blogspot.com
http://ryan.com.br

Se o que você escreve não merece sua atenção, vai merecer a atenção de quem?!

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Simple RSS Jukebox
« Responder #6 Online: Julho 18, 2011, 07:47:36 am »
O Simple RSS Jukebox tem uns bugs muito estranhos. Agorinha estava fazendo testes com ele e mesmo seguindo cuidadosamente os passos que dei no forum de Shantic, não funcionava de jeito nenhum. O sintoma é que ao selecionar a jukebox, uma mensagem de erro pisca rapidamente na tela e você não vai a lugar nenhum.

Então eu substituí no HDD os arquivos gerados pelo script
Jukebox.rss
Jukebox.xml

por cópias de backup que eu fiz de quando eu tive sucesso. Funcionou na primeira tentativa.
Então eu apaguei os dois arquivos e mandei rodar o script novamente. Com os arquivos recriados também funcionou na primeira tentativa.

 :blink:

Durante meus primeiros testes eu cheguei à conclusão de que arquivos necessários para o funcionamento da Jukebox são corrompidos sem razão aparente. Este pode ter sido mais um caso.

De qualquer forma eu estou trabalhando em um programa para automatizar isso de forma que o usuário não precise fazer nada via Telnet. Meu programa deverá criar a jukebox (rodar o script, atualizar menu, etc) com apenas uma pequena ajuda do usuário.
http://jefferson-ryan.blogspot.com
http://ryan.com.br

Se o que você escreve não merece sua atenção, vai merecer a atenção de quem?!

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Simple RSS Jukebox
« Responder #7 Online: Julho 18, 2011, 07:58:09 am »
Como sem minhas instruções nem eu mesmo consigo botar esse negócio para rodar, vou repetir tudo aqui, em português, esclarecendo a ampliando onde necessário.

Com o firmware instalado (PBO com suporte ao remoto S9) e um HDD SATA montado no S9, é preciso fazer duas coisas:

(presumindo que os filmes estejam no diretório "filmes" no HDD)

1) Via telnet:
cd /usr/local/etc/srjg
./jukebox_update.sh -p /tmp/hdd/volumes/HDD1/filmes/ -i


Isto criará dois arquivos no diretório "filmes":

Jukebox.rss <-Note que neste a primeira letra é maiúscula
jukebox.xml


2) No IMS, entre no item "Movie Jukebox" e adicione a seguinte "jukebox":
 
/tmp/hdd/volumes/HDD1/filmes/Jukebox.rss

Cuidado. Você precisa "digitar" com o remoto exatamente como acima, respeitando maiúsculas e minúsculas.

Não adianta tentar usar os itens "HDD Jukebox" e "USB Jukebox" porque eles apontam para diretórios e arquivos completamente sem relação com o que é criado pelo script (via Telnet).

« Última modificação: Julho 18, 2011, 08:03:24 am por Jefferson »
http://jefferson-ryan.blogspot.com
http://ryan.com.br

Se o que você escreve não merece sua atenção, vai merecer a atenção de quem?!

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Simple RSS Jukebox
« Responder #8 Online: Julho 18, 2011, 08:02:22 am »
A "moviewall" é formada pelos arquivos "folder.jpg" encontrados em cada pasta de filme pelo script de atualização. Quando você seleciona um filme nessa "moviewall" é a vez da "moviesheet" aparecer.

 
Para que isso funcione corretamente cada pasta de filme precisa ter dois arquivos de imagem:

  • folder.jpg -> para compor a "moviewall"
  • about.jpg -> "moviesheet" com a sinopse. Você pode usar Thumbgen ou TvixIE para criar isto.

Edit: Isso foi ampliado na versão 4.1:
Citar
MovieName.jpg and MovieName_sheet.jpg are now detected as proper thumbnails and moviesheets respectively.
« Última modificação: Julho 21, 2011, 05:18:43 pm por Jefferson »
http://jefferson-ryan.blogspot.com
http://ryan.com.br

Se o que você escreve não merece sua atenção, vai merecer a atenção de quem?!

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Simple RSS Jukebox
« Responder #9 Online: Julho 18, 2011, 08:25:59 am »
Exemplo funcional de jukebox.xml, com apenas dois filmes para facilitar a visualização:

Código: [Selecionar]
<?xml version="1.0" encoding="UTF-8"?>
<Jukebox>
  <Path></Path>
  <Temp>/tmp/</Temp>
  <Category>
    <background>/usr/local/etc/srjg/background.jpg</background>
    <title>JUKEBOX</title>
    <link>Jukebox.rss</link>
    <alt_background>"background.jpg"</alt_background>
    <alt_title>"Kids Movies"</alt_title>
    <alt_link>"Jukebox.rss"</alt_link>
    <MovieInfo_Template>MovieInfo_Template.rss</MovieInfo_Template>
    <MovieInfo_RSS>MovieInfo.rss</MovieInfo_RSS>
    </Category>
<Movie>
<id>1</id>
<title>filme1</title>
<poster>/tmp/hdd/volumes/HDD1/filmes/Primeiro Filme/folder.jpg</poster>
<info>/tmp/hdd/volumes/HDD1/filmes/Primeiro Filme/about.jpg</info>
<file>/tmp/hdd/volumes/HDD1/filmes/Primeiro Filme/filme1.avi</file>
</Movie>
<Movie>
<id>2</id>
<title>filme2</title>
<poster>/tmp/hdd/volumes/HDD1/filmes/SegundoFilme/folder.jpg</poster>
<info>/tmp/hdd/volumes/HDD1/filmes/SegundoFilme/about.jpg</info>
<file>/tmp/hdd/volumes/HDD1/filmes/SegundoFilme/filme2.avi</file>
</Movie>
</Jukebox>

O conteúdo de TITLE é extraído do nome do AVI e é o que será exibido na parte inferior da tela quando o respectivo thumbnail estiver selecionado na MovieWall.

Eu não lembro de onde vem <alt_title>"Kids Movies"</alt_title>

Exemplo de arquivo Jukebox.rss que funciona:

(aparentemente a única coisa que precisa ser editada é a sexta linha)

Código: [Selecionar]
<?xml version="1.0" ?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<onEnter>showIdle();</onEnter>

<script>
Jukebox = "/tmp/hdd/volumes/HDD1/filmes/jukebox.xml";
Jukebox_ok = loadXMLFile(Jukebox);
if (Jukebox_ok == null) {
Jukebox_itemSize = 0;
print("Load Jukebox fail ", Jukebox);
}
else {
Jukebox_itemSize = getXMLElementCount("Jukebox", "Movie");
print("Jukebox Item Size = ", Jukebox_itemSize);
}
if (Jukebox_itemSize &gt; 0) {
Jukebox_Path = getXMLText("Jukebox", "Path");
Jukebox_Temp = getXMLText("Jukebox", "Temp");
Category_Title = getXMLText("Jukebox", "Category", "title");
Category_Background =Jukebox_Path + getXMLText("Jukebox", "Category", "background");
Category_RSS =Jukebox_Path + getXMLText("Jukebox", "Category", "link");
MovieInfo_Template =Jukebox_Path + getXMLText("Jukebox", "Category", "MovieInfo_Template");
MovieInfo_RSS = Jukebox_Temp + getXMLText("Jukebox", "Category", "MovieInfo_RSS");
count=0;
while(1) {
Movie_ID = getXMLText("Jukebox", "Movie", count, "id");
Movie_Title = getXMLText("Jukebox", "Movie", count, "title");
Movie_Poster = Jukebox_Path + getXMLText("Jukebox", "Movie", count, "poster");
Movie_Info = Jukebox_Path + getXMLText("Jukebox", "Movie", count, "info");
Movie_File = Jukebox_Path + getXMLText("Jukebox", "Movie", count, "file");

Movie_ID_Array = pushBackStringArray(Movie_ID_Array, Movie_ID);
Movie_Title_Array = pushBackStringArray(Movie_Title_Array, Movie_Title);
Movie_Poster_Array = pushBackStringArray(Movie_Poster_Array, Movie_Poster);
Movie_Info_Array = pushBackStringArray(Movie_Info_Array, Movie_Info);
Movie_File_Array = pushBackStringArray(Movie_File_Array, Movie_File);

count += 1;
if (count &gt; Jukebox_itemSize) {
break;
}
}
}
setFocusItemIndex(0);
Current_Item_index=0;
</script>

<mediaDisplay
    name=photoView

rowCount=2
columnCount=6
imageFocus=null
showHeader=no
showDefaultInfo=no
drawItemBorder=no

viewAreaXPC=0
viewAreaYPC=0
viewAreaWidthPC=100
viewAreaHeightPC=100

itemGapXPC=0.7
itemGapYPC=1
itemWidthPC=14.06
itemHeightPC=35.42
itemOffsetXPC=5.5
itemOffsetYPC=12.75
itemBorderPC=0
itemBorderColor=7:99:176
itemBackgroundColor=-1:-1:-1

sideTopHeightPC=0
sideBottomHeightPC=0
bottomYPC=100

idleImageXPC=67.81
idleImageYPC=89.17
idleImageWidthPC=4.69
idleImageHeightPC=4.17
backgroundColor=-1:-1:-1

     >

<idleImage> image/POPUP_LOADING_01.png </idleImage>
<idleImage> image/POPUP_LOADING_02.png </idleImage>
<idleImage> image/POPUP_LOADING_03.png </idleImage>
<idleImage> image/POPUP_LOADING_04.png </idleImage>
<idleImage> image/POPUP_LOADING_05.png </idleImage>
<idleImage> image/POPUP_LOADING_06.png </idleImage>
<idleImage> image/POPUP_LOADING_07.png </idleImage>
<idleImage> image/POPUP_LOADING_08.png </idleImage>


<backgroundDisplay>
<image redraw="no" offsetXPC="0" offsetYPC="0" widthPC="100" heightPC="100">
<script>
print(Category_Background);
</script>
</image>
</backgroundDisplay>

<text redraw="no" align="center" offsetXPC="2.5" offsetYPC="3" widthPC="90" heightPC="10" fontSize="20" backgroundColor="-1:-1:-1" foregroundColor="192:192:192">
<script>
print(Category_Title);
</script>
</text>

<onUserInput>
<script>
userInput = currentUserInput();
Current_Item_index=getFocusItemIndex();
Max_index = (-1 + Jukebox_itemSize);
Prev_index = (-1 + Current_Item_index);
Next_index = (1 + Current_Item_index);
Prev10_index = (-10 + Current_Item_index);
Next10_index = (10 + Current_Item_index);

if (userInput == "pageup" &amp;&amp; Current_Item_index &gt; 9) {
setFocusItemIndex(Prev10_index);
"true";
redrawDisplay();
} else if (userInput == "pagedown"  &amp;&amp; Current_Item_index &lt; (Max_index - 9)) {
setFocusItemIndex(Next10_index);
"true";
redrawDisplay();
} else if (userInput == "left") {
"false";
} else if (userInput == "right"  &amp;&amp; Current_Item_index &gt; (Max_index - 5)) {
       "true";
                                       redrawDisplay();
} else if (userInput == "enter") {

Current_Movie_Link=getStringArrayAt(Movie_rss_Array , Current_Item_index);
writeStringToFile(Jukebox_Temp+"Current_Movie_Link", Current_Item_index);

Current_Movie_Title=getStringArrayAt(Movie_Title_Array , Current_Item_index);
writeStringToFile(Jukebox_Temp+"Current_Movie_Title", Current_Movie_Title);

Current_Movie_File=getStringArrayAt(Movie_File_Array , Current_Item_index);
writeStringToFile(Jukebox_Temp+"Current_Movie_File", Current_Movie_File);

Current_Movie_Info=getStringArrayAt(Movie_Info_Array , Current_Item_index);
writeStringToFile(Jukebox_Temp+"Current_Movie_Info", Current_Movie_Info);

MovieInfo="";
MovieInfo=pushBackStringArray(MovieInfo, "&lt;?xml version='1.0' encoding='UTF-8' ?&gt;");
MovieInfo=pushBackStringArray(MovieInfo, "&lt;rss version='2.0' xmlns:dc='http://purl.org/dc/elements/1.1/' &gt; ");
MovieInfo=pushBackStringArray(MovieInfo, "&lt;onEnter&gt;showIdle();&lt;/onEnter&gt; ");
MovieInfo=pushBackStringArray(MovieInfo, "&lt;mediaDisplay name='onePartView' ");
MovieInfo=pushBackStringArray(MovieInfo, "itemBackgroundColor='0:0:0' ");
MovieInfo=pushBackStringArray(MovieInfo, "backgroundColor='0:0:0' ");
MovieInfo=pushBackStringArray(MovieInfo, "sideColorBottom='0:0:0' ");
MovieInfo=pushBackStringArray(MovieInfo, "sideColorTop='0:0:0' ");
MovieInfo=pushBackStringArray(MovieInfo, "sideTopHeightPC='0' ");
MovieInfo=pushBackStringArray(MovieInfo, "sideBottomHeightPC='0' ");
MovieInfo=pushBackStringArray(MovieInfo, "itemGap='0' ");
MovieInfo=pushBackStringArray(MovieInfo, "itemGapXPC='0' ");
MovieInfo=pushBackStringArray(MovieInfo, "itemGapYPC='0' ");
MovieInfo=pushBackStringArray(MovieInfo, "itemWidthPC='9' ");
MovieInfo=pushBackStringArray(MovieInfo, "itemHeightPC='5.7' ");
MovieInfo=pushBackStringArray(MovieInfo, "itemBorderPC='0' ");
MovieInfo=pushBackStringArray(MovieInfo, "rowCount='1' ");
MovieInfo=pushBackStringArray(MovieInfo, "columnCount='1' ");
MovieInfo=pushBackStringArray(MovieInfo, "itemPerPage='1' ");
MovieInfo=pushBackStringArray(MovieInfo, "imageBorderPC='0' ");
MovieInfo=pushBackStringArray(MovieInfo, "itemBorderColor='-1:-1:-1' ");
MovieInfo=pushBackStringArray(MovieInfo, "itemImageWidthPC='0' ");
MovieInfo=pushBackStringArray(MovieInfo, "itemImageHeightPC='0' ");
MovieInfo=pushBackStringArray(MovieInfo, "itemXPC='100' ");
MovieInfo=pushBackStringArray(MovieInfo, "itemYPC='100' ");
MovieInfo=pushBackStringArray(MovieInfo, "centerHeightPC='100' ");
MovieInfo=pushBackStringArray(MovieInfo, "showHeader='no' ");
MovieInfo=pushBackStringArray(MovieInfo, "showDefaultInfo='no' ");
MovieInfo=pushBackStringArray(MovieInfo, "idleImageWidthPC='9' ");
MovieInfo=pushBackStringArray(MovieInfo, "idleImageHeightPC='16' ");
MovieInfo=pushBackStringArray(MovieInfo, "&gt; ");

MovieInfo=pushBackStringArray(MovieInfo, "&lt;idleImage&gt; image/POPUP_LOADING_01.png &lt;/idleImage&gt; ");
MovieInfo=pushBackStringArray(MovieInfo, "&lt;idleImage&gt; image/POPUP_LOADING_02.png &lt;/idleImage&gt; ");
MovieInfo=pushBackStringArray(MovieInfo, "&lt;idleImage&gt; image/POPUP_LOADING_03.png &lt;/idleImage&gt; ");
MovieInfo=pushBackStringArray(MovieInfo, "&lt;idleImage&gt; image/POPUP_LOADING_04.png &lt;/idleImage&gt; ");
MovieInfo=pushBackStringArray(MovieInfo, "&lt;idleImage&gt; image/POPUP_LOADING_05.png &lt;/idleImage&gt; ");
MovieInfo=pushBackStringArray(MovieInfo, "&lt;idleImage&gt; image/POPUP_LOADING_06.png &lt;/idleImage&gt; ");
MovieInfo=pushBackStringArray(MovieInfo, "&lt;idleImage&gt; image/POPUP_LOADING_07.png &lt;/idleImage&gt; ");
MovieInfo=pushBackStringArray(MovieInfo, "&lt;idleImage&gt; image/POPUP_LOADING_08.png &lt;/idleImage&gt; ");

MovieInfo=pushBackStringArray(MovieInfo, "&lt;backgroundDisplay&gt; ");
MovieInfo=pushBackStringArray(MovieInfo, "&lt;image offsetXPC='0' offsetYPC='0' widthPC='100' heightPC='100' &gt; ");
MovieInfo=pushBackStringArray(MovieInfo, Current_Movie_Info);
MovieInfo=pushBackStringArray(MovieInfo, "&lt;/image&gt; ");
MovieInfo=pushBackStringArray(MovieInfo, "&lt;/backgroundDisplay&gt; ");

MovieInfo=pushBackStringArray(MovieInfo, "&lt;onUserInput&gt;");
MovieInfo=pushBackStringArray(MovieInfo, "&lt;script&gt; ");
MovieInfo=pushBackStringArray(MovieInfo, "userInput = currentUserInput();");
MovieInfo=pushBackStringArray(MovieInfo, "if (userInput == &amp;quot;left&amp;quot;) {&amp;quot;true&amp;quot;; } else if (userInput == &amp;quot;right&amp;quot;) {&amp;quot;true&amp;quot;; }");
MovieInfo=pushBackStringArray(MovieInfo, "&lt;/script&gt; ");
MovieInfo=pushBackStringArray(MovieInfo, "&lt;/onUserInput&gt;");

MovieInfo=pushBackStringArray(MovieInfo, "&lt;itemDisplay&gt; ");
MovieInfo=pushBackStringArray(MovieInfo, "&lt;image offsetXPC='0' offsetYPC='0' widthPC='100' heightPC='100' &gt; ");
MovieInfo=pushBackStringArray(MovieInfo, "&lt;script&gt; ");
MovieInfo=pushBackStringArray(MovieInfo, "if(getItemInfo(&amp;quot;Info&amp;quot;) == &amp;quot;PLAY&amp;quot;) ");
MovieInfo=pushBackStringArray(MovieInfo, "if(getDrawingItemState() == &amp;quot;focus&amp;quot;) { ");
MovieInfo=pushBackStringArray(MovieInfo, "&amp;quot;" + Jukebox_Path + "Yamj_play_selected.png" + "&amp;quot;; ");
MovieInfo=pushBackStringArray(MovieInfo, "} else { ");
MovieInfo=pushBackStringArray(MovieInfo, "&amp;quot;" + Jukebox_Path + "Yamj_play_selected.png" + "&amp;quot;; ");
MovieInfo=pushBackStringArray(MovieInfo, "} ");
MovieInfo=pushBackStringArray(MovieInfo, "&lt;/script&gt; ");
MovieInfo=pushBackStringArray(MovieInfo, "&lt;/image&gt; ");

MovieInfo=pushBackStringArray(MovieInfo, "&lt;text offsetXPC='20' offsetYPC='0' widthPC='100' heightPC='100' backgroundColor='-1:-1:-1' fontSize='15'&gt; ");
MovieInfo=pushBackStringArray(MovieInfo, "&lt;script&gt;getItemInfo(&amp;quot;Info&amp;quot;);&lt;/script&gt; ");
MovieInfo=pushBackStringArray(MovieInfo, "&lt;foregroundColor&gt; ");
MovieInfo=pushBackStringArray(MovieInfo, "&lt;script&gt; ");
MovieInfo=pushBackStringArray(MovieInfo, "if(getDrawingItemState() == &amp;quot;focus&amp;quot;) &amp;quot;192:192:0&amp;quot;; else &amp;quot;101:101:101&amp;quot;; ");
MovieInfo=pushBackStringArray(MovieInfo, "&lt;/script&gt; ");
MovieInfo=pushBackStringArray(MovieInfo, "&lt;/foregroundColor&gt; ");
MovieInfo=pushBackStringArray(MovieInfo, "&lt;/text&gt; ");
MovieInfo=pushBackStringArray(MovieInfo, "&lt;/itemDisplay&gt; ");
MovieInfo=pushBackStringArray(MovieInfo, "&lt;/mediaDisplay&gt; ");

MovieInfo=pushBackStringArray(MovieInfo, "&lt;channel&gt; ");
MovieInfo=pushBackStringArray(MovieInfo, "&lt;title&gt;Movies&lt;/title&gt; ");
MovieInfo=pushBackStringArray(MovieInfo, "&lt;link&gt;rss_file://" + MovieInfo_RSS+"&lt;/link&gt; ");
MovieInfo=pushBackStringArray(MovieInfo, "&lt;menu&gt;main menu&lt;/menu&gt; ");

MovieInfo=pushBackStringArray(MovieInfo, "&lt;item&gt; ");
MovieInfo=pushBackStringArray(MovieInfo, "&lt;title&gt;"+ Current_Movie_Title+ "&lt;/title&gt; ");
MovieInfo=pushBackStringArray(MovieInfo, "&lt;Info&gt;PLAY&lt;/Info&gt; ");
MovieInfo=pushBackStringArray(MovieInfo, "&lt;media:thumbnail url='" + Jukebox_Path + "Yamj_play_selected.png' width='0' height='0' /&gt; ");

MovieInfo=pushBackStringArray(MovieInfo, "&lt;enclosure url='"+Current_Movie_File + "' /&gt; ");
MovieInfo=pushBackStringArray(MovieInfo, "&lt;/item&gt; ");
MovieInfo=pushBackStringArray(MovieInfo, "&lt;/channel&gt; ");
MovieInfo=pushBackStringArray(MovieInfo, "&lt;/rss&gt; ");
writeStringToFile(MovieInfo_RSS, MovieInfo);
jumpToLink("moviesheet");
"false";
}
</script>
</onUserInput>

<!-- Show Folder Name -->
<text offsetXPC=7 offsetYPC=88.8 widthPC=60 heightPC=5 fontSize=14 useBackgroundSurface=yes foregroundColor=195:196:195 redraw=yes lines=1>
 <script>
    displayTitle=getStringArrayAt(Movie_Title_Array , -1);
    displayTitle;
 </script>
</text>


<!-- Show Page Info -->
<text offsetXPC=85 offsetYPC=88.8 widthPC=8 heightPC=5 fontSize=14 foregroundColor=195:196:195 useBackgroundSurface=yes redraw=yes lines=1>
 <script>
  pageInfo = Add(getFocusItemIndex(),1) + "/" + Jukebox_itemSize;
  pageInfo;
 </script>
</text>

<itemDisplay>

<!-- Bottom Layer focus/unfocus -->
<image offsetXPC=0 offsetYPC=0 widthPC=100 heightPC=100>

 <script>
  if (getDrawingItemState() == "focus")
  {
      "/usr/local/etc/srjg/focus.png";
  }
  else
  {
      "/usr/local/etc/srjg/unfocus.png";
  }
 </script>
</image>

<!-- Top Layer folder.jpg -->
<image offsetXPC=8.2 offsetYPC=5.5 widthPC=84.25 heightPC=89.25>
 <script>
 
  thumbnailPath = getStringArrayAt(Movie_Poster_Array , -1);
  thumbnailPath;
 </script>
</image>

</itemDisplay>
</mediaDisplay>

<moviesheet>
    <link>
       <script>
           print("rss_file://"+MovieInfo_RSS);
       </script>
    </link>
</moviesheet>



<channel>
<title><script>Category_Title;</script></title>
<link><script>Category_RSS;</script></link>
<itemSize><script> Jukebox_itemSize;</script></itemSize>
</channel>
</rss>

« Última modificação: Julho 21, 2011, 05:07:19 pm por Jefferson »
http://jefferson-ryan.blogspot.com
http://ryan.com.br

Se o que você escreve não merece sua atenção, vai merecer a atenção de quem?!

FORUM.RYAN.COM.BR

Re: Simple RSS Jukebox
« Responder #9 Online: Julho 18, 2011, 08:25:59 am »