Possible code for submission to XBMC
#1
i've written some code that takes a database export from acdsee 7+ and allows my to view my photos online (via an .asp page).

the important piece here is that i'm able to search for photos based on categories that have been setup in acdsee and assigned to photos. for example, i can perform and/or searches based on peoples names, events, etc.

this allows me to manage the photos (assign categories, fix red-eye, rotate, etc.) via acdsee, yet view them from anywhere. i'd like one of those "anywhere's" to be my living room. :d

what are the possibilities of me submitting this code to someone, and having it eventually make it into xbmc?
http://www.missingbytes.net - Handpicked Freeware
No Spyware, No Adware, No Trials, No Signing Up, No Lines
Reply
#2
well, you could submit it as a patch to the current cvs via sourceforge. if that is your really good at writting down directions (this doesnt sound like a 2 line edit Wink ).
Image
Reply
#3
lol, no, it isn't. Smile

acdsee will do an export directly to xml, which, it would be great if xbmc could simply hit that on the fly, but the page i wrote actually creates an access .mdb behind the scenes and hits it going forward. the resulting .mdb is actually smaller than the .xml file due to not having to repeat the same data over and over. it's also extremely fast. i'm currently querying about 6,000 images and can find them and begin building thumbnails in under a second.
http://www.missingbytes.net - Handpicked Freeware
No Spyware, No Adware, No Trials, No Signing Up, No Lines
Reply
#4
i doubt something like this would be added to the cvs Sad .
it sounds like something very few people would actually have use of, and then it's just bloating the code
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#5
you think so? from my perspective, i have a lot of photos (6000+) but if i'm relegated to viewing them based on the folder they're in, it's pretty much useless. if however, i can find the photos based on who's in them, what event they were taken at, etc. they become useful.

there are a few popular photo programs out there that do the categorization thing. the most popular being acdsee 7, adobe photoshop album (free version and pay version), and picasa (free from google). the problem with them though is, you need to install the app (and hence have a pc) to utilize all of the work you've put into categorizing the pictures.

while i think it's great that xbmc has a built in image viewer, and slideshow function, i think it makes sense to extend that to enable searching. i don't think it makes sense to have to categorize photos in it and in another piece of software though. that's why i was hoping to leverage the work done in the other application(s) and simply add the searching functionality to xbmc.

of course, the next logical step would be to allow the searching of other types of media. for instance, search for movies with a particular actor, etc.
http://www.missingbytes.net - Handpicked Freeware
No Spyware, No Adware, No Trials, No Signing Up, No Lines
Reply
#6
airjrdn,

i guess you havent used the video database functions. if you scan (or manually lookup movies on imdb) the data is saved and you can find movies by genre, actor, etc.

and your code sounds intriguing although i'm not sure how much of an audience it would have. the best way to have your code be considered for integration would be to create a new bookmark "filesystem" type to provide access to your remote database. the filesystems are sort of plugins based on a virtual factory class thats calls the correct code. (look at source-root/xbmc/filesystem/ directory.)

here's an example:

Quote:<bookmark>
<name>photos</name>
<path>rdb://192.168.0.1/photos/photosdb.asp/</path>
</bookmark>

so, rdb:// protocol would call the appropiate filesystem code which parses your asp page and produces the appropiate filelisting that xbmc understands.



Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#7
i agree that if what you want can be accomplished by a virtual filesystem, then it seems a good way to go.

if it's done at that level, then adding support for the other major packages listed (i use picasa) would then be possible.

it would at least allow browsing by categories/keywords.

how much other stuff do you need exactly?

certainly sounds interesting, assuming the parsing etc. runs quickly. xbmc can handle xml quite well on it's own ofcourse, so if it's just a matter of retrieving and characterising an .xml file, then that is probably doable as well.

cheers,
jonathan
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#8
i didn't get a chance to try the rdb:// option as outlined above. i should get a chance to try that out tonight though.

utilizing the xml output would be preferred i think. when i tried to read it in using xmldoc, it wouldn't come in correctly. a friend of mine tried bring it in using asp.net and it said the xml was malformed. i ended up writing code to parse it manually using the fso (asp page, remember). to read in the 2m+ file and dump the data into the .mdb takes about 20 seconds or so the first time around on my box. that time would be negated however, if you can hit the xml file in real-time.

i was hoping to separate the parsing from the searching/viewing, so that any new product that came would would simply mean a new set parsing of parsing code, and in the end, they would all have the same functionality.

any of it is fine w/me though if i can end up searching for photos based on names i've manually entered. Smile
http://www.missingbytes.net - Handpicked Freeware
No Spyware, No Adware, No Trials, No Signing Up, No Lines
Reply
#9
you can parse the xml file in realtime.  the shout:// filesystem does exactly this.  it retrieves the shoutcast top100 in xml format from the web, converts it into xbmc fileitems, and presents them to the user.

you could make a new photo specific filesystem that mimics how shout:// works.

** edit **
correction, its shout:// not shoutcast:// as i had originally stated.



Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#10
i'm not sure if i understand this from a high level at this point.

the xml file contains a list of categories, followed by a list of files, and which of the categories they're associated with.
here are two sample records (after the initial category list):

Quote:<asset>
<name>0219.jpg</name>
<folder>\\fileserv\bigdata\pictures\1970\</folder>
<filetype>jpeg</filetype>
<imagetype>4673610</imagetype>
<assetcategorylist>
<assetcategory>all\people\grandparents\nancy</assetcategory><assetcategory>all\1964</assetcategory><assetcategory>all</assetcategory></assetcategorylist>
</asset>

<asset>
<name>0563.jpg</name>
<folder>\\fileserv\bigdata\pictures\1970\</folder>
<filetype>jpeg</filetype>
<imagetype>4673610</imagetype>
<assetcategorylist>
<assetcategory>all\people\grandparents\nancy</assetcategory><assetcategory>all\people\family\billy</assetcategory><assetcategory>all\1972</assetcategory><assetcategory>all</assetcategory></assetcategorylist>
</asset>

from here, i know an image, the path to it, and which categories it's associated with.  to find an image associated w/a category however, i'd have to either read in all of the categories ahead of time and store them in some type of collection/array, etc. to fill a listbox or set of checkboxes, etc., or somehow read then in real-time (over and over) which may be somewhat inefficient for large sets of data.

i've not used the shoutcast xbmc feature, but i'm assuming the xml contains a list of items to be presented to the user.

this however, would need to read the xml file, then present a searchable list to the user, where the user could choose categories to search on, then go back to the xml file to search for images assocatied w/that category.


regarding the .rdb (if i'm understanding correctly), to use my database (actual .mdb file), the person would need to have iis installed and running, and navigate to the page that reads the .xml file and converts it to the .mdb.  it doesn't really seem right that to use this feature in xbmc, you have to also run iis and this other program to get xml data into a searchable format for xbmc.

i'm not familiar with what's possible within xbmc, but is it possible to read xml and store it in another format?

i think there are probably multiple ways to do this.  one would be to setup a "virtual filesystem" for each app's data (acdsee, photoshop album, picasa, etc.), but that might lend them to becoming distinct among themselves.

if however, the only difference was the reading of the source data, which got imported into a "database" xbmc could read, that would maintain consistent functionality regardless of the original data source.  so, regardless of which external application a user was using the end functionality would be the same.  this also makes tech support much easier.  :d

does this sound way off, or too confusing?
http://www.missingbytes.net - Handpicked Freeware
No Spyware, No Adware, No Trials, No Signing Up, No Lines
Reply
#11
agreed, that would get painfully slow for large sets of data.

the idea would be to read it all into a suitable structure that can then be searched very quickly.

this would happen at the "root" level as a once-only type event. the quickest way is likely to cache the xml file to the local disk (or to ram) and then parse it with tinyxml into a suitable memory structure (which would depend on what type of searching you want.)

that way you can then have fast lookups from then on.

what sized xml files do these programs normally produce?

the first plan would be to decide what info you can get out of the program (it seems just category info + filename basically from the above) and figure out the best way to present that to the user. then we can come up with a structure to store it all in that'll make sense (without costing too much in the way of memory + time to query)

cheers,
jonathan
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#12
first, thanks for even considering the idea.

at around 6,000 photos with probably 70 or so categories, my xml file is just over 2m. by contrast, the relational design of my .mdb makes it just over 1m.
http://www.missingbytes.net - Handpicked Freeware
No Spyware, No Adware, No Trials, No Signing Up, No Lines
Reply
#13
it sounds like an xbmc internal pictures database may be the way to go. the xml output can be parsed, and used to populate the database. then adding support for another

just one hitch... the folder tag in your xml sample is the path from your computers point of view. it will need to be converted to match the appropiate xbmc bookmark.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#14
ok, so either a replace before xbmc sees it, or allow the user to do one within xbmc. i think i'd opt to have it ready to go by the time xbmc sees it. let them do any editing on the file on the pc.
http://www.missingbytes.net - Handpicked Freeware
No Spyware, No Adware, No Trials, No Signing Up, No Lines
Reply
#15
i didn't want you to think i'd forgotton about this. i wasn't aware of any action i needed to take. were you waiting on me to do/try something?
http://www.missingbytes.net - Handpicked Freeware
No Spyware, No Adware, No Trials, No Signing Up, No Lines
Reply

Logout Mark Read Team Forum Stats Members Help
Possible code for submission to XBMC0