|
chriss
|
 |
« on: May 17, 2009, 03:53:38 pm » |
|
Hi devs, I'm currently thinking about making LMCE usable to manage my digital photos. Here are some ideas of what I have in mind. The good thing is, the basics are there - a powerful media tagging system. Unfortunately the tagging capabilities for pictures are really limited, the only tag offered in the web admin is "Title"... Here are some things I would like to do - add EXIF/IPTC support for update media deamon (at least on my 0710 system no tags from the images are synced to the DB)
- have more tags, maybe even custom tags?
- allow linking of tags
- allow linking of files
- improve web admin
All of this seems to be pretty straight forward since it's only extending the existing system. What do you guys think? Good/bad idea? Am I missing something? /chriss BTW, another idea that is sticking to my mind for some time: having a second web app with a more user friendly interface (AJAX etc.) to support all tasks a normal user will do, e.g. managing your media, scheduling recordings and so on. The web admin could become a real administration frontend. However, this is a much bigger task 
|
|
|
|
|
Logged
|
|
|
|
|
tschak909
|
 |
« Reply #1 on: May 17, 2009, 08:05:42 pm » |
|
Go for it. First step is checking out UpdateMedia from our LinuxMCE-0810 SVN and working with that.
-Thom
|
|
|
|
|
Logged
|
|
|
|
|
totallymaxed
|
 |
« Reply #2 on: May 22, 2009, 12:00:37 pm » |
|
Hi devs, I'm currently thinking about making LinuxMCE usable to manage my digital photos. Here are some ideas of what I have in mind. The good thing is, the basics are there - a powerful media tagging system. Unfortunately the tagging capabilities for pictures are really limited, the only tag offered in the web admin is "Title"... Here are some things I would like to do - add EXIF/IPTC support for update media deamon (at least on my 0710 system no tags from the images are synced to the DB)
- have more tags, maybe even custom tags?
- allow linking of tags
- allow linking of files
- improve web admin
All of this seems to be pretty straight forward since it's only extending the existing system. What do you guys think? Good/bad idea? Am I missing something? /chriss BTW, another idea that is sticking to my mind for some time: having a second web app with a more user friendly interface (AJAX etc.) to support all tasks a normal user will do, e.g. managing your media, scheduling recordings and so on. The web admin could become a real administration frontend. However, this is a much bigger task  I agree its an area that has long been in need of some new capabilities...its great to have someone looking into extending this side of the system All the best Andrew
|
|
|
|
|
Logged
|
|
|
|
|
dlewis
|
 |
« Reply #3 on: May 22, 2009, 12:16:18 pm » |
|
GO FOR IT!!!!
|
|
|
|
|
Logged
|
|
|
|
|
chriss
|
 |
« Reply #4 on: May 22, 2009, 01:11:52 pm » |
|
Well, I'm working on it  Got my dev environment up, I'm able to compile UpdateMedia and currently I'm extending it to take care of exif data in jpg files... I'll keep you posted on how it goes. /chriss
|
|
|
|
|
Logged
|
|
|
|
|
dlewis
|
 |
« Reply #5 on: May 22, 2009, 01:20:15 pm » |
|
nice, thanks for the update!
|
|
|
|
|
Logged
|
|
|
|
|
totallymaxed
|
 |
« Reply #6 on: May 23, 2009, 03:13:12 pm » |
|
Well, I'm working on it  Got my dev environment up, I'm able to compile UpdateMedia and currently I'm extending it to take care of exif data in jpg files... I'll keep you posted on how it goes. /chriss Great :-)
|
|
|
|
|
Logged
|
|
|
|
|
chriss
|
 |
« Reply #7 on: May 24, 2009, 03:34:32 pm » |
|
Hi there, got the reading of EXIF attributes working. Thanks to exiv2 lib it's quite easy  10 05/24/09 16:20:38.175 Activating Pluto Media Identifier... <0xb6ac06c0> 10 05/24/09 16:20:38.176 Pluto Media Identifier activated. Extensions 27 <0xb6ac06c0> 10 05/24/09 16:20:38.176 MediaState::LoadDbInfo ready to run big query <0xb6ac06c0> 10 05/24/09 16:20:38.179 MediaState::LoadDbInfo got 2 rows <0xb6ac06c0> 10 05/24/09 16:20:38.179 UpdateMedia::ReadDirectory ./testdir <0xb6ac06c0> 10 05/24/09 16:20:38.180 UpdateMedia::ScanFiles dir ./testdir: files found: 1 <0xb6ac06c0> 10 05/24/09 16:20:38.180 Need to update file because it's not in the database ./testdir/3.jpg <0xb6ac06c0> 10 05/24/09 16:20:38.180 Sync mode for ./testdir/3.jpg: modeBoth <0xb6ac06c0> 05 05/24/09 16:20:38.180 # PlutoMediaFile STARTED: dir ./testdir file 3.jpg <0xb6ac06c0> 10 05/24/09 16:20:38.180 # PhotoFileHandler::LoadAttributes: loading 0 attributes in the attribute file ./testdir/3.jpg <0xb6ac06c0> Exif.Image.Make 0x010f Ascii 18 NIKON CORPORATION Exif.Image.Model 0x0110 Ascii 11 NIKON D300 Exif.Image.XResolution 0x011a Rational 1 300/1 Exif.Image.YResolution 0x011b Rational 1 300/1 Exif.Image.ResolutionUnit 0x0128 Short 1 2 Exif.Image.Software 0x0131 Ascii 28 Adobe Photoshop CS3 Windows Exif.Image.DateTime 0x0132 Ascii 20 2009:05:23 22:26:54 Exif.Image.Artist 0x013b Ascii 14 Janet Johnson Exif.Image.Copyright 0x8298 Ascii 33 Copyright (C) 2009 Janet Johnson Exif.Image.ExifTag 0x8769 Long 1 276 Exif.Photo.ExposureTime 0x829a Rational 1 1/320 Exif.Photo.FNumber 0x829d Rational 1 11/1 Exif.Photo.ExposureProgram 0x8822 Short 1 3 Exif.Photo.ISOSpeedRatings 0x8827 Short 1 200 Exif.Photo.ExifVersion 0x9000 Undefined 4 48 50 50 49 Exif.Photo.DateTimeOriginal 0x9003 Ascii 20 2009:05:23 15:16:28 Exif.Photo.DateTimeDigitized 0x9004 Ascii 20 2009:05:23 15:16:28 Exif.Photo.ShutterSpeedValue 0x9201 SRational 1 8321928/1000000 Exif.Photo.ApertureValue 0x9202 Rational 1 6918863/1000000 Exif.Photo.ExposureBiasValue 0x9204 SRational 1 0/6 Exif.Photo.MaxApertureValue 0x9205 Rational 1 44/10 Exif.Photo.MeteringMode 0x9207 Short 1 5 Exif.Photo.LightSource 0x9208 Short 1 4 Exif.Photo.Flash 0x9209 Short 1 0 Exif.Photo.FocalLength 0x920a Rational 1 460/10 Exif.Photo.SubSecTimeOriginal 0x9291 Ascii 3 17 Exif.Photo.SubSecTimeDigitized 0x9292 Ascii 3 17 Exif.Photo.SensingMethod 0xa217 Short 1 2 Exif.Photo.FileSource 0xa300 Undefined 1 3 Exif.Photo.SceneType 0xa301 Undefined 1 1 Exif.Photo.CFAPattern 0xa302 Undefined 8 2 0 2 0 0 1 1 2 Exif.Photo.CustomRendered 0xa401 Short 1 0 Exif.Photo.ExposureMode 0xa402 Short 1 0 Exif.Photo.WhiteBalance 0xa403 Short 1 1 Exif.Photo.DigitalZoomRatio 0xa404 Rational 1 1/1 Exif.Photo.FocalLengthIn35mmFilm 0xa405 Short 1 69 Exif.Photo.SceneCaptureType 0xa406 Short 1 0 Exif.Photo.GainControl 0xa407 Short 1 0 Exif.Photo.Contrast 0xa408 Short 1 0 Exif.Photo.Saturation 0xa409 Short 1 0 Exif.Photo.Sharpness 0xa40a Short 1 2 Exif.Photo.SubjectDistanceRange 0xa40c Short 1 0 Exif.Thumbnail.Compression 0x0103 Short 1 6 Exif.Thumbnail.XResolution 0x011a Rational 1 72/1 Exif.Thumbnail.YResolution 0x011b Rational 1 72/1 Exif.Thumbnail.ResolutionUnit 0x0128 Short 1 2 Exif.Thumbnail.JPEGInterchangeFormat 0x0201 Long 1 0 Exif.Thumbnail.JPEGInterchangeFormatLength 0x0202 Long 1 14557 10 05/24/09 16:20:38.208 MergePictures: merging 0 pictures from our tag with 0 pictures from PIC tags <0xb6ac06c0> 10 05/24/09 16:20:38.208 Processing path ./testdir, file 3.jpg. Found 0 attributes, 0 long attributes in file <0xb6ac06c0>
Now, the big question is how to do the attribute mapping. Please find a suggestion below. I listed all exif fields I would like to handle as well as a draft mapping to already existing AttributeType definitions. Any additions/changes you would like to see? All the other values will get their own AttributeType later on. BTW is there any problem with creating that much AttributeTypes? ImageWidth ImageLength Orientation DateTime -> Year ImageDescription -> Title Make Model Software Artist -> Composer/Writer UserComment ExposureTime FNumber ExposureProgram ISOSpeedRatings ShutterSpeedValue ApertureValue BrightnessValue ExposureBiasValue MaxApertureValue SubjectDistance MeteringMode LightSource Flash FocalLength FlashEnergy SceneCapturedType GPSLatitude GPSLongitude GPSAltitude GPSSpeed GPSTrack GPSImageDirection GPSDestLatitude GPSDestLongitude
br, /chriss
|
|
|
|
|
Logged
|
|
|
|
|
tschak909
|
 |
« Reply #8 on: May 24, 2009, 11:16:40 pm » |
|
What I would do, is keep in mind, that now that you're making photographs attribute searchable, the options popup (UI2) and screen (UI1_ can only hold at most 10 visible attributes, either to select, or to sort by. Narrow your attribute choices to the most common given that many maximum.
-Thom
|
|
|
|
|
Logged
|
|
|
|
|
chriss
|
 |
« Reply #9 on: May 25, 2009, 05:27:17 am » |
|
Thom,
got that. But I think, a lot of this information is really useful when "managing" you photographs. On the other hand I would never use it to search photos from the frontend. I think we have to separate between the management which can easily be done on the backend, i.e. lmce admin or whatever, and the user interface of the frontend, i.e., orbiter. This comes down to having only few attributes that need to be searchable or sortable by the frontend. Is there a way to exclude certain attributes from showing up on the orbiter? Maybe we could introduce another table field "hide_from_orbiter" or something?
/chriss
|
|
|
|
|
Logged
|
|
|
|
|
chriss
|
 |
« Reply #10 on: May 27, 2009, 05:33:32 pm » |
|
Hi there,
I'm ready to integrate the first working patch (reading and mapping four EXIF attributes to LMCE media attributes). Since this will add another dependency (libexiv2/libexiv2-dev) I don't dare to just commit the changes to not break the build process. What do I have to doe to properly include the dependency?
thanks, /chriss
|
|
|
|
|
Logged
|
|
|
|
|
tschak909
|
 |
« Reply #11 on: May 27, 2009, 06:05:28 pm » |
|
Create a feature patch in trac, and attach the patch to it. Also make note of what packages are needed to be added to the package database so the builder can deal with them appropriately.
-Thom
|
|
|
|
|
Logged
|
|
|
|
|
|
|
chriss
|
 |
« Reply #13 on: July 13, 2009, 09:02:26 pm » |
|
Hi guys,
sorry for being quite for some time but unfortunately I can't spend as much time as intended...
I just wanted to make some changes to web admin to allow for modifying more than just the title attribute and discovered that there is a special table pluto_media.MediaType_AttributeType that controls which attributes can be added to a file. After making the changes I wanted to do a sqlCVS checkin, but... there is no pluto_media category in web admin and the web gui of schema.linuxmce.org does not contain any tables in the category media nor was I able to find the table in any of the other categories.
How can I get these changes into the build system? Maybe we have another mechanism to get these tables populated during install? Any hints?
thanks, /chriss
|
|
|
|
|
Logged
|
|
|
|
|
tschak909
|
 |
« Reply #14 on: July 13, 2009, 11:29:38 pm » |
|
you have to use sqlcvs manually on the command line to check them in.
You'll also need to specify -D pluto_media -r media on the command line.
Then you can check in changes via the menu.
-Thom
|
|
|
|
|
Logged
|
|
|
|
|