Yadis Integration

292 views
Skip to first unread message

Ronald Muller

unread,
Sep 30, 2013, 3:12:28 PM9/30/13
to comman...@googlegroups.com

What I like to do is to create a list of all my movies and be able to play them on my media player. The list can be build from images, hold movie information and play trailers. To index the movies I use Yadis. The program creates folders with the name of the movie holding a xml file with the movie information and images. For example:

\Avatar (2009)
    data.xml
    fanart.jpg
    poster.jpg
    preview.jpg
\Ice Age 4 (2012)
    data.xml
    fanart.jpg
    poster.jpg
    preview.jpg

I want to find a way to read the movies that I have. There is no xml file with all the title of the movies. Is there a way to read a folder structure and extract the folder names?

Another option could be to use the txt file generated by Yadis that holds all movie titles, but I don't know how (and if possible) to parse a plain text file. The file looks like this:

*** NE PAS SUPPRIMER OU MODIFIER CETTE LIGNE - DO NOT DELETE OR MODIFY THIS LINE ***
background_order=before_all
background_path=background.jpg
use_icon_view=yes
icon_path=icon.aai
icon_valign=center
num_cols=7
num_rows=3
content_box_x=50
content_box_y=50
content_box_width=1820
content_box_height=980
content_box_padding_left=0
content_box_padding_right=0
content_box_padding_top=0
content_box_padding_bottom=0
icon_selection_box_width=250
icon_selection_box_height=333
paint_captions=no
paint_help_line=no
paint_path_box=no
paint_content_box_background=no
system_files=*.aai,*.jpg
item.0.caption=Alles is Familie
item.0.media_action=browse
item.0.media_url=../99/Alles Is Familie (2012)
item.0.icon_path=../99/Alles Is Familie (2012)/icon.aai
item.0.icon_sel_path=../99/Alles Is Familie (2012)/icon.aai
item.0.icon_scale_factor=0.85
item.0.icon_sel_scale_factor=1
item.0.icon_valign=center
item.1.caption=An Evening with 'Il Divo': Live in Barcelona
item.1.media_action=browse
item.1.media_url=../99/An Evening With Il Divo - Live In Barcelona
item.1.icon_path=../99/An Evening With Il Divo - Live In Barcelona/icon.aai
item.1.icon_sel_path=../99/An Evening With Il Divo - Live In Barcelona/icon.aai
item.1.icon_scale_factor=0.85
item.1.icon_sel_scale_factor=1
item.1.icon_valign=center
item.2.caption=Avatar
item.2.media_action=browse
item.2.media_url=../99/Avatar (2009)
item.2.icon_path=../99/Avatar (2009)/icon.aai
item.2.icon_sel_path=../99/Avatar (2009)/icon.aai
item.2.icon_scale_factor=0.85
item.2.icon_sel_scale_factor=1
item.2.icon_valign=center
...........

An other option can be to use the API from TMDB and scrape the information, but then I still need to know what movies I have on my system...

Does anybody have any directions on how to do this with CF?

Barry Gordon

unread,
Sep 30, 2013, 4:03:46 PM9/30/13
to comman...@googlegroups.com

I assume you want this list on your iPad so iViewer can deal with it?

 

With one of the recent changes made by CF and should be out soon, I believe they will always load what is in any folder that is in the same folder as the guiDesigner XML file.

 

Using JS and CF.loadAsset(Path_to_File) you can do almost anything. What is your media Player?  If it is a dune then a very large number of possibilities open up as the dune player can be directed by IP commands, or IR commands,  

 

I use DVDProfiler to maintain my collection. You might want to look at zappiti or myMovies PC programs for maintaining collections and driving players with excellent graphics. Unfortunately I don't think they run on the iPad.  DVDprofiler does however and I think it has a plugin to drive a player.

 

Hope that helps

(item.1.media_url=../99/An Evening With Il Divo - Live In Barcelona

/icon.aai(item.1.icon_path=../99/An Evening With Il Divo - Live In Barcelona

/icon.aai(item.1.icon_sel_path=../99/An Evening With Il Divo - Live In Barcelona

item.1.icon_scale_factor=0.85

item.1.icon_sel_scale_factor=1

item.1.icon_valign=center

item.2.caption=Avatar

item.2.media_action=browse

item.2.media_url=../99/Avatar (2009)

item.2.icon_path=../99/Avatar (2009)/icon.aai

item.2.icon_sel_path=../99/Avatar (2009)/icon.aai

item.2.icon_scale_factor=0.85

item.2.icon_sel_scale_factor=1

item.2.icon_valign=center

...........

 

An other option can be to use the API from TMDB and scrape the information, but then I still need to know what movies I have on my system...

 

Does anybody have any directions on how to do this with CF?

--
You received this message because you are subscribed to the Google Groups "CommandFusion Software" group.
To unsubscribe from this group and stop receiving emails from it, send an email to commandfusio...@googlegroups.com.
For more options, visit [Barry Gordon] b[Barry Gordon]  .

Clayton Vicente

unread,
Sep 30, 2013, 4:08:24 PM9/30/13
to comman...@googlegroups.com
Hi
Witch is your media player ? is it a Dune ? if so, i have some ideas and i believe that will be very easy for you implement that, i just need to know what media player is.
Clayton


Date: Mon, 30 Sep 2013 12:12:28 -0700
From: ronald...@me.com

To: comman...@googlegroups.com
Subject: Yadis Integration

--
You received this message because you are subscribed to the Google Groups "CommandFusion Software" group.
To unsubscribe from this group and stop receiving emails from it, send an email to commandfusio...@googlegroups.com.

Jarrod Bell

unread,
Sep 30, 2013, 7:40:22 PM9/30/13
to comman...@googlegroups.com
You would need to serve these files by HTTP web server somehow, as iViewer cannot read network paths.

Regards,

Jarrod Bell
CommandFusion
www.commandfusion.com


For more options, visit https://groups.google.com/groups/opt_out.

Clayton Vicente

unread,
Sep 30, 2013, 8:02:11 PM9/30/13
to comman...@googlegroups.com
Jarrod
If it is the Dune media player we can play any file, local or in the network, the only thing that we need is the path of the file.
So what we need to do ?
- There is a full XBMC interface for iViewer, we will use it.
- Insert all the files that we want to control in the Dune in a xbmc library.
- Now we just need to add some lines of code in the module, changing the path of the files and saving all the data from movies, tvshows, music and concerts in GlobalToken, this will let us to use all the data offline.
- now we just need to run the Xbmc module once and get all the data that we need.
- to play the files we just need to send a HTTP request for the dune.

I did something similar a long time ago when the video image of the Xbmc was very poor. I created a addon for the xbmc that let me to navigate in the Xbmc interface, but when i played a file this file played in the Dune.
Clayton


Date: Tue, 1 Oct 2013 09:40:22 +1000
From: jar...@commandfusion.com
To: comman...@googlegroups.com
Subject: Re: Yadis Integration

Jarrod Bell

unread,
Sep 30, 2013, 8:05:04 PM9/30/13
to comman...@googlegroups.com
Sure, that is an option, but its not using the files that the user originally asked about. Just giving some input on the requirements to read files on a network (not possible unless it is served via HTTP).


Regards,

Jarrod Bell
CommandFusion
www.commandfusion.com


Barry Gordon

unread,
Sep 30, 2013, 9:23:49 PM9/30/13
to comman...@googlegroups.com

My home theater is based on the Dune Player to play movies. I use a PC to display the library on the same screen that the Dune Player plays the movies on.

I use a Pronto PRO or an iPad running CF to command the PC to navigate movies and send them to the Dune.

 

In the Master bedroom I have it setup so that the Library is displayed by the Dune from files sitting on a NAS, the same NAS where the movies are.  I use myMovies and am looking at Zappiti as the librarian/Library display. They run on a PC but deposit the files on the NAS so the Dune can get at them. You can also write the files into the Dune directly using the Dune's internal HDD or a USB memory stick

 

In summary I chose to show the library display as XBMC and Kaleidescape does, putting it on the main screen so everyone can participate in the selection process. The iPad then becomes the "remote", albeit an extremely sophisticated one!

Clayton Vicente

unread,
Sep 30, 2013, 9:49:12 PM9/30/13
to comman...@googlegroups.com
Same thing here Barry, but now i only use the Xbmc. I believe that i have the codes that will set the Dune like a external player for the XBMC here, but i am not sure, i did that a long time ago. This files let us to choose a movie in the Xbmc but will play on Dune. This means that we can use the Xbmc Constellation for Ipad, the main interface of the Xbmc, the Xbmc remote for android, no matter, when we choose any file (.iso,mkv,ts,flac,mp3) this file will be played on the Dune. But now i dont have reason to use this anymore, the audio and video quality from the Xbmc running on my Xtreamer Ultra 2 and in two Zotac Nano are excelent (Marants AV7005 and JVC RS-45 in the Cinema room).
To play dics i only use the Oppo Bdp-93.
Clayton


From: ba...@the-gordons.net
To: comman...@googlegroups.com
Subject: RE: Yadis Integration
Date: Mon, 30 Sep 2013 21:23:49 -0400

Barry Gordon

unread,
Oct 1, 2013, 12:05:03 AM10/1/13
to comman...@googlegroups.com

Getting a little O/T; but . . .

I looked into XBMC and have played with it a bit, but I had developed my own system over the years which is very much like the Kaleidescape system. My Dune has a BR drive, but I almost never use it as I rip all my movies to the house NAS. The projector is a JVC RS-55 with an Anthem AVM 50v as the A/V Processor. The Theater is a dedicated room with a 7.1 sound system running at 200 watts/channel with a 2000 watt sub woofer system.  The screen is 10 feet wide (133" diagonal) and the room is acoustically conditioned for both movies and music.  For music the room has a Squeeze Transporter feeding the AVP.

 

I use a Pronto PRO as the UI (I like the hard buttons), but I have the same system running on an iPad and am about to convert it to an iPod touch. Since the system is 90% JS based, I just need to rework the graphics.  The code already senses if it is on an iPad or an iPod.

Terence

unread,
Oct 1, 2013, 1:10:21 AM10/1/13
to comman...@googlegroups.com
I remembered we had a discussion on something like this quite some time ago on this ... did a quick search and Clayton, perhaps  this was the discussion that you were mentioning?
https://groups.google.com/forum/?fromgroups#!searchin/commandfusion/xbmc$20with$20dune/commandfusion/TsHNW308YzQ/Gc8yzo41Qo0J

Clayton Vicente

unread,
Oct 1, 2013, 6:17:07 AM10/1/13
to comman...@googlegroups.com
You have a good memory Terence, i remember now. Someone from the HTForum contact me to do that, a small interface for a ipod that will play the movies from the XBMC on a Dune media player. I used it for a while too.
We can export all movies collection from the xbmc to a xml file , then we just need to parse the xml and get the data that we want. To get the images we can use the TMDB since the xml will have the TMDB ID of the movie.
Clayton


Date: Mon, 30 Sep 2013 22:10:21 -0700
From: terry...@gmail.com

To: comman...@googlegroups.com
Subject: Re: Yadis Integration

I remembered we had a discussion on something like this quite some time ago on this ... did a quick search and Clayton, perhaps  this was the discussion that you were mentioning?
https://groups.google.com/forum/?fromgroups#!searchin/commandfusion/xbmc$20with$20dune/commandfusion/TsHNW308YzQ/Gc8yzo41Qo0J

Ronald Muller

unread,
Oct 1, 2013, 2:01:15 PM10/1/13
to comman...@googlegroups.com
Thanks for all the answers and tips, this group is fantastic!

Let me answer some of the questions and comments. I'm using a Dune player to play my movies. These movies are located on my NAS in the folder "Movies". Each movie is located in a subfolder named after the movie followed by the year between brackets. I then run Yadis. This is a movie indexer like Zapetti, there are more programs out there that do the same, but this works well for me. When running Yadis it scans the movie folder and picks up movies not recognized before. If the movie is new, it reads the name from the foldername and searches for the info on TMDB.com. It then places the four files as indicated in the first post in a Yadis System folder on my NAS. I have this folder made available through a web server to serve the files to iViewer.

What I like to achieve, is to have iViewer display a list of movie covers. Pressing the cover will display movie information and have a button to start playing the movie through the Dune.

The issue is that there is no file that has all movie titles. So therefor the question if it is possible to read folder names when being served through a web server. 

The XMBC route is also interesting, I could just run XMBC to create the xml file and holds all movie information and scrape it as Clayton is proposing. I'll look into that.

Barry Gordon

unread,
Oct 1, 2013, 3:51:59 PM10/1/13
to comman...@googlegroups.com

Clearly if you write some code on a PC running 24/7 or even on the NAS you can do anything you want. I think the iPad does smb (Samba) but I do not think that CF has developed an interface to it.  I use an app on the iPad called FileBrowser which uses an SMB like connection to all servers on my LAN so I can browse and open any folder on any PC and then open any file and view it if it is textual in content.

 

Writing an app for the PC that would serve up a directory structure and then let you browse into it.

Ronald Muller

unread,
Oct 1, 2013, 4:04:05 PM10/1/13
to comman...@googlegroups.com
Just played with the XMBC and generated an xml file on my NAS holding info from all movies. I loaded this xml into iViewer and converted it into JSON. Now I have all information and it's a matter of parsing the JSON in a list. At the moment the file only hold 10 movies and works quickly. Maybe a better way is to convert the file to JSON on the server and load the JSON directly. Need to look into that.

XMBC can run on my server 24/7 updating automatically when new movies are added or deleted. Just need to find a way to export the xml from XMBC as soon as changed are detected, but this looks promising.

Barry Gordon

unread,
Oct 1, 2013, 4:09:50 PM10/1/13
to comman...@googlegroups.com

I would load the JSON file directly from the server. Once you pull it from the server it will be in the iPad as a text file.  A simple JSON.parse(file_location) will make it a Javascript object which is the easiest way to deal with it.

 

Just be careful.  If the JSON formatted file on the server has a syntax error, JSON.parse gets very unhappy and comes out with the tersest error message.  I have done this quite  bit in the past and it is very fast.

Ronald Muller

unread,
Oct 1, 2013, 4:20:28 PM10/1/13
to comman...@googlegroups.com
Barry,

Do you use an off-line converter for that? What have you used in the past?

Barry Gordon

unread,
Oct 1, 2013, 4:36:02 PM10/1/13
to comman...@googlegroups.com
No I just write the code I need. I started doing this almost 8 years ago and
have developed a program that I use to build the data structures I want.

-----Original Message-----
From: comman...@googlegroups.com [mailto:comman...@googlegroups.com]
On Behalf Of Ronald Muller
Sent: Tuesday, October 01, 2013 4:20 PM
To: comman...@googlegroups.com
Subject: RE: Yadis Integration

Clayton Vicente

unread,
Oct 1, 2013, 4:38:07 PM10/1/13
to comman...@googlegroups.com
Ronaldo,
If you have a XBMC running 27/7 you dont need anything more. You can put the xbmc to play the files on Dune, easy thing to do.
Like i said you can use the XBMC module for iViewer and then you will have everything from your movies in a nice way. Your collection will be always update too.
When you choose a movie in the Xbmc Module or in the app Contellation, or in any place, the movie will play on Dune, very nice.
I am a little busy this days, but in the next week i will get some time free, if you wanna i can help you with it (no commercial intention here, i just like to do this things)
Clayton

Date: Tue, 1 Oct 2013 13:04:05 -0700
From: ronald...@me.com

Clayton Vicente

unread,
Oct 1, 2013, 4:39:27 PM10/1/13
to comman...@googlegroups.com
Sorry,
Ronald
24/7
i hate to write in the ipad.


To: comman...@googlegroups.com
Subject: RE: Yadis Integration
Date: Tue, 1 Oct 2013 21:38:07 +0100

Clayton Vicente

unread,
Oct 1, 2013, 6:37:28 PM10/1/13
to comman...@googlegroups.com
Just to show you how works i made a little modification in the XBMCApp2.gui. Works perfectly here.
I only change the function to play movies (recents too)
To work what you need to need is insert your movies in the Xbmc (same path of course).
You have to edit the XBMCGUIApp.js
You will see in the line 31 the 
ipDune:"192.168.0150",
Just replace for your ip. Its done. When you choose a movie will play on Dune.
Nice, at least i think so.
I only modify this functions:
self.playSelectedMovie
and
self.playRecentMovie
Its so cool that i will modify all functions and use too, since i have a server running 24/7 here too.
With this we can play not only movies and tvshows, we can play musics and playlists too, we just need to change the functions and of course insert the playlists in the albums.
Bettar then the Zappit and a lot of more fast then the MyMovies (to manipulate the library).
The limit now is the imagination, you can for example insert a little subpage that will ask if you want to play the file on Dune or Xbmc, we can send a json command to set the file wathced or unwatched,....go...on
Clayton



Date: Tue, 1 Oct 2013 13:04:05 -0700
From: ronald...@me.com
XBMCAppv2.gui.zip

Clayton Vicente

unread,
Oct 1, 2013, 7:34:47 PM10/1/13
to comman...@googlegroups.com
Hi
replace in the the script the string
"/cgi-bin/do?cmd=start_file_playback&media_url="
for
"cgi-bin/do?cmd=launch_media_url&media_url="

This will force the Dune to autodetect file, BD and DVD


To: comman...@googlegroups.com
Subject: RE: Yadis Integration

Ronald Muller

unread,
Oct 2, 2013, 12:49:43 AM10/2/13
to comman...@googlegroups.com
Thanks Clayton, I will absolutly look at this. The reason I stayed always from playing through xmbc in the past, is that it could not handle all types of video files and HD audio. But that was a few years ago. But maybe when playing through the Dune that is no issue.

Steve

unread,
Oct 2, 2013, 4:20:59 PM10/2/13
to comman...@googlegroups.com
Clayton

You may want to remove your license codes from the GUI before uploading it so someone doesn't just swipe them. Actually, I don't even know if that's possible?

Clayton Vicente

unread,
Oct 2, 2013, 5:28:27 PM10/2/13
to comman...@googlegroups.com
no, is not! But i will remove anyway


Date: Wed, 2 Oct 2013 13:20:59 -0700
From: val...@gmail.com

Ronald Muller

unread,
Oct 7, 2013, 3:54:54 AM10/7/13
to comman...@googlegroups.com
I played with this over the weekend and got it work when XBMC was running on my local computer. When moving XBMC to my server I found that XBMC does not want to run as my server has no videocard. XBMC need to see a proper videocard to start-up. There are several alternatives which I'm working on now (xml generated from a local XBMC, or use the files Yadis creates).
 
I'm also back to my original questions which is if it is possible to read a folder name and use that name as a variable. The folders are being made available through a http server.

Jarrod Bell

unread,
Oct 7, 2013, 4:52:33 AM10/7/13
to comman...@googlegroups.com
If you set your server to allow directory listings, then you might be in luck. Quick way to check is to do a CF.request to the root dir and see what the body of the reply contains.
Also check the header and status, etc for clues.


Regards,

Jarrod Bell
CommandFusion
www.commandfusion.com


Jeroen

unread,
Oct 12, 2013, 5:46:09 AM10/12/13
to comman...@googlegroups.com, jar...@commandfusion.com
How would de CF.request command look like for the content of a folder?

Op maandag 7 oktober 2013 10:52:33 UTC+2 schreef Jarrod Bell:

Jarrod Bell

unread,
Oct 13, 2013, 7:58:49 PM10/13/13
to comman...@googlegroups.com
Try something like:

CF.request("http://someurl.com/path/to/root/", function(status, headers, body) {
    CF.log("STATUS: " + status);
    CF.log(body);
    CF.logObject(headers);
});

What it returns will depend how your web server is setup to handle the request.
So if that doesn't reply with anything useful, then you will need to work on the web server side to allow it somehow (maybe just a setting, or maybe a script).


Regards,

Jarrod Bell
CommandFusion
www.commandfusion.com


Reply all
Reply to author
Forward
0 new messages