IOS cameraRoll browseForImage() opens image library popup that shrinks, different image being loaded

The app is published with Flash builder 4.6 + AIR 3.6, and the device is a iPad retina (probably 4 gen)
If cameraRoll.browseForImage() is called, the native photo library popup appears, but when an album is selected, it shrinks like in this video (both landscape and portrait):
http://www.youtube.com/watch?v=IdVcN059gtM
http://youtu.be/xyNP0DaiLAc
As you can see, it starts well but then it shrinks and the loaded image is actually the one in the left of the selected image, not to mention that some images are cutoff after this shrinking
Has anyone else experienced this or is there a fix to this?
Under iPad 1 and 2 everything is ok

Hi reglogge, it sounds like LaunchServices:
Try this, quit any open apps, then navigate to /Library/Caches/com.apple.LaunchServices-xxxxx.csstore. You may have more than one with different negative numbers. Delete all of these.
Then navigate to ~(yourHome)/Library/Preferences/com.apple.LaunchServices.plist and delete this also.
Then log out and back in. Or restart. Let us know.
-mj
[email protected]

Similar Messages

  • I can't open a library project that I burned to a disk

    I burned an exported Aperture Library project to a disc. When I try to open it I get a message that says"Aperture cannot open this library - The volume this library is stored on doesnt have any free space remaining.  Is is not possible to store projects to a Dvd or CD?

    You can archive to a DVD.  An archive is not generally considered to be usable until you unarchive it -- in this case, by copying it to to a HDD.  In the most general sense, archives are storage copies, not working copies.

  • I want to create a Firefox Extension which will display a webpage. It will be like user should write a something in browser like "about:webpage" How can i load the WebPage in Firefox. The user should have a feel that a webpage is being loaded.

    My extension on clicking something should open a webpage and that webpage should be able to communicate with the servers.
    PS: I have javascript and CSS in that Page. If i cannot make then what changes do i need to make in the web page for that change. I am developing as HTML/Javascript does not allow cross domain queries. I hope that cross-domain queries are possible if i use extension.

    You may find [https://addons.mozilla.org/en-US/firefox/developers this] a useful resource :)

  • Cannot select videos in iOS CameraRoll.browseForImage()

    Well, obviously, because it's browseFor-Image-, however I -have- to have this functionality for our software and I don't see -any way whatsoever- in the documentation, via CameraRoll or otherwise to open the CameraRoll and filter for Videos.
    I can use the camera to take videos.  I can use the camera to take pictures.  I can use the CameraRoll to browse photos already on the device and select one, but I cannot see a way to locate, display, and allow the user to select (and perhaps preview) a video for my software to use.
    The ironic thing is that if I use the iOS Camera app and take video (which appears as an entity in the CameraRoll in the 'Photos' app), it uses the first frame of that for the folder preview... i.e., if I browseForImage() from Flex/AIR, when it opens the CameraRoll browser, the top "Folder" in the photo browser (named "Camera Roll") shows as it's icon a thumbnail taken from the first frame of the video I just took using the Camera App.  However, if I enter that folder to see the contents, it shows only photos and not the video from which it displayed the thumbnail.
    Any help greatly appreciated.

    ChoosePictureLightbox.mxml
    <?xml version="1.0" encoding="utf-8"?>
    <c:LightboxBase xmlns:fx="http://ns.adobe.com/mxml/2009"
                                            xmlns:s="library://ns.adobe.com/flex/spark"
                                            xmlns:c="components.*"
                                            xmlns:as="classes.*"
                                            open="openHandler(event)" xmlns:myLibrary="components.myLibrary.*">
              <fx:Script>
                        <![CDATA[
                                  import flash.media.CameraRoll;
                                  import flash.media.CameraUI;
                                  import spark.components.BusyIndicator;
                                  import spark.events.PopUpEvent;
    //                              import com.eyecu.ane.ios.videoroll.VideoRoll;
    //                              import com.eyecu.ane.ios.videoroll.VideoRollEvent;
                                  [Bindable]
                                  private var choosePrompt:String = "Choose from one of these sources";
                                  [Bindable]
                                  private var cancelButtons:Boolean = true;                    // cancelButton/cancelSpacer
                                  [Bindable]
                                  private var buttonsEnabled:Boolean = true;                    // All buttons disabled while timer is running.
                                  [Bindable]
                                  private var showStatus:Boolean = true;                              // status message
                                  [Bindable]
                                  private var videoCameraActive:Boolean = false;          // status message
                                  [Bindable]
                                  private var acquisitionButtons:Boolean = true;          // Camera/Roll/Library buttons
                                  [Bindable]
                                  private var busy:Boolean = false;                                        // Busy Indicator
                                  [Bindable]
                                  private var libraryOpen:Boolean = false;                              // Show the library chooser
                                  [Bindable]
                                  private var bmpData:BitmapData;
                                  [Bindable]
                                  private var video:Video;
                                  private var timer:Timer = new Timer(3000,1);
                                  private var camera:CameraUI;
                                  private var roll:CameraRoll;
                                  private var loader:Loader;
                                  private var mediaPromise:MediaPromise;
                                  private var data:Object = new Object();
                                  protected function openHandler(event:Event):void
                                            // Reset state for re-entry
                                            statusText.text = choosePrompt;
                                            busy = false;
                                            showStatus = true;
                                            acquisitionButtons = true;
                                            cancelButtons = true;
                                  protected function clickButton(which:String):void
                                            cancelButtons = acquisitionButtons = false;
                                            statusText.text = "";
                                            busy = true;
                                            switch(which)
                                                      case "myLibrary":
                                                                busy = false;
                                                                libraryOpen = true;
                                                                break;
                                                      case "cameraPhoto":
                                                                if (CameraUI.isSupported)
                                                                          camera = new CameraUI();
                                                                          camera.addEventListener(MediaEvent.COMPLETE,          cameraImageEventComplete);
                                                                          camera.addEventListener(Event.CANCEL,                              cameraCanceled);
                                                                          camera.addEventListener(ErrorEvent.ERROR,                    cameraError);
                                                                          camera.launch(MediaType.IMAGE);
                                                                else
                                                                          statusText.text = "Camera not supported on this device.";
                                                                          startTimer();
                                                                break;
                                                      case "cameraVideo":
                                                                if(CameraUI.isSupported)
                                                                          camera = new CameraUI();
                                                                          camera.addEventListener(MediaEvent.COMPLETE,          videoMediaEventComplete);
                                                                          camera.addEventListener(Event.CANCEL,                              cameraCanceled);
                                                                          camera.addEventListener(ErrorEvent.ERROR,                    cameraError);
                                                                          camera.launch(MediaType.VIDEO);
                                                                else
                                                                          statusText.text = "Camera not supported on this device.";
                                                                          startTimer();
                                                                break;
                                                      case "rollPhoto":
                                                                if (CameraRoll.supportsBrowseForImage)
                                                                          roll = new CameraRoll();
                                                                          roll.addEventListener(MediaEvent.SELECT,          cameraRollEventComplete);
                                                                          roll.addEventListener(Event.CANCEL,                              cameraCanceled);
                                                                          roll.addEventListener(ErrorEvent.ERROR,                    cameraError);
                                                                          roll.browseForImage();
                                                                else
                                                                          statusText.text = "Camera roll not supported on this device.";
                                                                          startTimer();
                                                                break;
                                                      case "rollVideo":
    //                                                            showVideoRoll();
                                                                break;
                                            } // End switch case
                                  protected function showVideoRoll():void
                                            trace("ChoosePictureLightbox FUNCTION showVideoRoll()");
    //                                        var videoRoll:VideoRoll = VideoRoll.instance; // Acquire an instance
                                            trace("ChoosePictureLightbox FUNCTION showVideoRoll() instantiated");
    //                                        videoRoll.addEventListener(VideoRollEvent.ON_VIDEO_SELECT, handleVideoSelect); // Dispatched on video select
                                            trace("ChoosePictureLightbox FUNCTION showVideoRoll() addedEventListener");
    //                                        videoRoll.openVideoRoll(); // Open the video roll
                                            trace("ChoosePictureLightbox FUNCTION showVideoRoll() opened");
                                  private function handleVideoSelect(e:VideoRollEvent):void
                                            // this will not return a thumbnail or video ByteArray
    //                                        var f:File = new File(e.videoUrl); // The location is returned in the event
    //                                        var ba:ByteArray = new ByteArray(); // Create a ByteArray to load the video into
    //                                        var fs:FileStream = new FileStream();
    //                                        fs.open(f, FileMode.READ);
    //                                        fs.readBytes(ba, 0, fs.bytesAvailable); // Read the video into the BA
    //                                        fs.close();
                                  protected function cameraCanceled(event:Event):void
                                            statusText.text = "Camera access canceled by user.";
                                            startTimer();
                                  protected function cameraError(event:ErrorEvent):void
                                            statusText.text = "There was an error while trying to use the camera.";
                                            startTimer();
                                  protected function onMediaPromiseLoadError(event:IOErrorEvent):void
                                            statusText.text = "There was an error while loading the media.";
                                            startTimer();
                                  protected function videoMediaEventComplete(event:MediaEvent):void
                                            statusText.text="Preparing captured video...";
                                            camera.removeEventListener(MediaEvent.COMPLETE,                    videoMediaEventComplete);
                                            camera.removeEventListener(Event.CANCEL,                              cameraCanceled);
                                            camera.removeEventListener(ErrorEvent.ERROR,                    cameraError);
                                            var media:MediaPromise = event.data;
                                            data.MediaType = MediaType.VIDEO;
                                            data.MediaPromise = media;
                                            data.source = "camera video";
                                            close(true,data)
                                  private function initHandler(event:Event):void
                                            var loader:Loader = Loader(event.target.loader);
                                            var info:LoaderInfo = LoaderInfo(loader.contentLoaderInfo);
                                            trace("initHandler: loaderURL=" + info.loaderURL + " url=" + info.url);
                                  private function ioErrorHandler(event:IOErrorEvent):void
                                            trace("ioErrorHandler: " + event);
                                  protected function cameraImageEventComplete(event:MediaEvent):void
                                            data.MediaType = MediaType.IMAGE;
                                            data.source = "camera image";
                                            camera.removeEventListener(MediaEvent.COMPLETE,                    cameraImageEventComplete);
                                            camera.removeEventListener(Event.CANCEL,                              cameraCanceled);
                                            camera.removeEventListener(ErrorEvent.ERROR,                    cameraError);
                                            statusText.text = "Loading selected image...";
                                            mediaPromise = event.data;
                                            loader = new Loader();
                                            loader.contentLoaderInfo.addEventListener(Event.COMPLETE, imageLoaderCompleted);
                                            loader.addEventListener(IOErrorEvent.IO_ERROR, onMediaPromiseLoadError);
                                            loader.loadFilePromise(mediaPromise);
                                  } // End FUNCTION mediaEventComplete
                                  protected function cameraRollEventComplete(event:MediaEvent):void
                                            data.MediaType = MediaType.IMAGE;
                                            data.source = "roll image";
                                            roll.removeEventListener(MediaEvent.COMPLETE,          cameraRollEventComplete);
                                            roll.removeEventListener(Event.CANCEL,                              cameraCanceled);
                                            roll.removeEventListener(ErrorEvent.ERROR,                    cameraError);
                                            statusText.text = "Loading selected image...";
                                            mediaPromise = event.data;
                                            loader = new Loader();
                                            loader.contentLoaderInfo.addEventListener(Event.COMPLETE, imageLoaderCompleted);
                                            loader.addEventListener(IOErrorEvent.IO_ERROR, onMediaPromiseLoadError);
                                            loader.loadFilePromise(mediaPromise);
                                  } // End FUNCTION mediaEventComplete
                                  protected function imageLoaderCompleted(event:Event):void
                                            var loaderInfo:LoaderInfo = event.target as LoaderInfo;
                                            loader.removeEventListener(Event.COMPLETE, imageLoaderCompleted);
                                            loader.removeEventListener(IOErrorEvent.IO_ERROR, onMediaPromiseLoadError);
                                            bmpData = new BitmapData(loaderInfo.width, loaderInfo.height);
                                            bmpData.draw(event.target.content);
                                            data.bmpData = bmpData as BitmapData;
                                            data.event = event as Event;
                                            close(true,data);
                                  } // End FUNCTION imageLoaderComplete
                                  private function startTimer():void
                                            buttonsEnabled = false;
                                            busy = false;
                                            timer.addEventListener(TimerEvent.TIMER_COMPLETE, timerComplete);
                                            timer.start();
                                  private function timerComplete(event:TimerEvent):void
                                            statusText.text = choosePrompt;
                                            acquisitionButtons = true;
                                            cancelButtons = true;
                                            buttonsEnabled = true;
                                  private function clickLibraryCancelButton(event:Event):void
                                            statusText.text="Library access cancelled by user.";
                                            startTimer();
                                            libraryOpen=false;
                        ]]>
              </fx:Script>
              <s:VGroup id="vg" creationComplete="insertIntoContainer(vg)" horizontalAlign="center" verticalAlign="middle" width="100%" height="100%">
                        <s:Label id="statusText" width="100%" color="#ff3333" fontWeight="bold" fontSize="40" textAlign="center" paddingTop="20" paddingBottom="20" text="{choosePrompt}" visible="{showStatus}" includeInLayout="{showStatus}"/>
                        <s:VGroup id="myLibraryVGroup" visible="{libraryOpen}" includeInLayout="{libraryOpen}" height="85%" width="90%" horizontalAlign="center">
                                  <myLibrary:ChooseFromMyLibrary id="myLibraryPanelGroup" visible="{libraryOpen}" includeInLayout="{libraryOpen}" height="90%" width="{myLibraryVGroup.width}"/>
                                  <s:Button label="Cancel" click="clickLibraryCancelButton(event)" enabled="{buttonsEnabled}"/>
                        </s:VGroup>
                        <s:TileGroup id="acquisitionGroup" requestedColumnCount="4" visible="{acquisitionButtons}" includeInLayout="{acquisitionButtons}">
                                  <s:Button id="takePhotoButton"                              width="220" height="160"          label="Take Photo"                    click="clickButton('cameraPhoto')" icon="@Embed('assets/icons/Digicam.png')" iconPlacement="top" enabled="{buttonsEnabled}"/>
                                  <s:Button id="cameraRollPhotoButton"          width="220" height="160"          label="Choose Photo"                    click="clickButton('rollPhoto')" icon="@Embed('assets/icons/Photos.png')" iconPlacement="top" enabled="{buttonsEnabled}"/>
                                  <!--s:Button id="cameraRollVideoButton"          width="220" height="160"          label="Choose Video"                    click="clickButton('rollVideo')" icon="@Embed('assets/icons/FilmStrip.png')" iconPlacement="top" enabled="{buttonsEnabled}"/-->
                                  <s:Button id="takeVideoButton"                              width="220" height="160"          label="Take Video"                    click="clickButton('cameraVideo')" icon="@Embed('assets/icons/movie-camera-th.png')" iconPlacement="top" enabled="{buttonsEnabled}"/>
                                  <s:Button id="myLibraryButton"                              width="220" height="160"          label="My Library"                    click="clickButton('myLibrary')" icon="@Embed('assets/icons/folder_images_64.png')" iconPlacement="top" enabled="{buttonsEnabled}"/>
                        </s:TileGroup>
                        <s:Group id="videoGroup" visible="{videoCameraActive}" includeInLayout="{videoCameraActive}"/>
                        <s:BusyIndicator rotationInterval="50" symbolColor="#cd0000" id="busyIndicator" visible="{busy}" includeInLayout="{busy}"/>
                        <s:Spacer id="cancelSpacer" height="10"          visible="{cancelButtons}" includeInLayout="{cancelButtons}"/>
                        <s:Button id="cancelButton" label="Cancel" click="close(false)" visible="{cancelButtons}" includeInLayout="{cancelButtons}" enabled="{cancelButtons}"/>
              </s:VGroup>
    </c:LightboxBase>
    ChoosePictureButton.mxml
    <?xml version="1.0" encoding="utf-8"?>
    <s:Group xmlns:fx="http://ns.adobe.com/mxml/2009"
                         xmlns:s="library://ns.adobe.com/flex/spark"
                         xmlns:g="assets.graphics.*"
                         xmlns:c="components.*"
                         xmlns:fxg="assets.fxg.*"
                         filters="{[bevelFilterUp]}"
                         creationComplete="creationCompleteHandler()"
                         >
              <fx:Declarations>
                        <s:Fade id="imageButtonsFadeIn"                                                            target="{imageButtonsGroup}"          duration="500"          alphaTo="1"   />
                        <s:Fade id="imageButtonsFadeOut"                                                  target="{imageButtonsGroup}"          duration="500"          alphaTo="0"   />
                        <s:BevelFilter id="bevelFilterUp" distance="4" blurX="4" blurY="4" quality="{BitmapFilterQuality.HIGH}"/>
              </fx:Declarations>
              <fx:Script>
                        <![CDATA[
                                  import flash.display.BitmapData;
                                  import flash.filters.BitmapFilterQuality;
                                  import flash.media.Video;
                                  import spark.components.Image;
                                  import spark.events.PopUpEvent;
                                  import classes.CustomVideoClient;
                                  import classes.ImageResizer;
                                  import classes.ResizeMath;
                                  [Bindable]
                                  private var buttonScale:Number = 1;
                                  [Bindable]
                                  private var imageButtonsActive:Boolean = false;
                                  [Bindable]
                                  private var data:Object;
                                  [Bindable]
                                  private var selection:Boolean = false;
                                  [Bindable]
                                  private var thumbBmpData:BitmapData;
                                  [Bindable]
                                  private var bmpData:BitmapData;
                                  [Bindable]
                                  private var busy:Boolean = false;
                                  private var timer:Timer;
                                  private var delaySaveTimer:Timer;
                                  private var choosePictureLightbox:ChoosePictureLightbox;
                                  private var fileStreamXML:FileStream;
                                  private var fileStreamImage:FileStream;
                                  private var fileStreamThumb:FileStream;
                                  private var libraryThumbBmpData:BitmapData;
                                  private var xmlFilename:String = "";
                                  private var mediaType:String = "";
                                  private var netConnection:NetConnection;
                                  private var videoFile:File;
                                  private var video:Video;
                                  public function getXmlFilename():String
                                            return xmlFilename;
                                  public function getSelection():Boolean
                                            return selection;
                                  public function getMediaType():String
                                            return mediaType;
                                  private function creationCompleteHandler():void
                                            buttonScale = (width-(5*10)) / (64+64+48);
                                            if(buttonScale > 2)
                                                      buttonScale = 2;
                                  private function fullscreenImageLightboxClosed(event:PopUpEvent):void
                                            busy = false;
                                            imageButtonsActive = false;
                                  private function choosePictureLightboxClosed(event:PopUpEvent):void
                                            trace("ChoosePictureButton FUNCTION choosePictureLightboxClosed("+event.data.MediaType+")");
                                            imageButtonsActive = false;
                                            if(event.commit)
                                                      this.data = event.data as Object;
                                                      filters = new Array();
                                                      selection = true;
                                                      switch(data.MediaType)
                                                                case MediaType.VIDEO:
                                                                          trace("ChoosePictureButton FUNCTION choosePictureLightboxClosed() CASE VIDEO");
                                                                          busy = true;
                                                                          mediaType = "video";
                                                                          var timestamp:String = new Date().getTime().toString();
                                                                          statusMessage.text = "Saving Video to Library...";
                                                                          var sourceFile:File = new File(data.MediaPromise.file.url);
                                                                          var destinationPath:File = File.applicationStorageDirectory.resolvePath("User" +parentApplication.userid);
                                                                          if(destinationPath.exists && !destinationPath.isDirectory)
                                                                                    destinationPath.deleteFile();
                                                                          destinationPath.createDirectory();
                                                                          destinationPath = destinationPath.resolvePath("Videos");
                                                                          if(destinationPath.exists && !destinationPath.isDirectory)
                                                                                    destinationPath.deleteFile();
                                                                          destinationPath.createDirectory();
                                                                          videoFile = destinationPath.resolvePath(parentApplication.userid+"Video"+timestamp+".mov");
                                                                          trace("ChoosePictureButton FUNCTION choosePictureLightboxClosed() "+sourceFile.url);
                                                                          trace("ChoosePictureButton FUNCTION choosePictureLightboxClosed() MOVE VIDEO TO APPSPACE");
                                                                          trace("ChoosePictureButton FUNCTION choosePictureLightboxClosed() "+videoFile.url);
                                                                          sourceFile.moveTo(videoFile,true);
                                                                          // testing w/o moving
                                                                          //videoFile = sourceFile;
                                                                          playVideoFile();
                                                                          xmlFilename = parentApplication.userid+"VideoInfo"+timestamp+".xml";
                                                                          var videoXML:XML =
                                                                                    <video>
                                                                                              <userid>{parentApplication.userid}</userid>
                                                                                              <description></description>
                                                                                              <timestamp>{timestamp}</timestamp>
                                                                                              <source>{data.source}</source>
                                                                                              <xmlFilename>{xmlFilename}</xmlFilename>
                                                                                              <videoFilename>{videoFile.name}</videoFilena me>
                                                                                    </video>;
                                                                          var destinationXMLFile:File  = destinationPath.resolvePath(xmlFilename);
                                                                          statusMessage.text = "Saving Video to Library: Info...";
                                                                          var fileStreamXML:FileStream = new FileStream();
                                                                          fileStreamXML.open(destinationXMLFile, FileMode.WRITE);
                                                                          fileStreamXML.writeUTFBytes(videoXML.toXMLString());
                                                                          fileStreamXML.close();
                                                                          statusMessage.text = "";
                                                                          busy = false;
                                                                          break;
                                                                case MediaType.IMAGE:
                                                                          mediaType = "image";
                                                                          this.bmpData = data.bmpData as BitmapData;
                                                                          var canvas:BitmapData;
                                                                          var rect:Rectangle;
                                                                          var pt:Point;
                                                                          // Correct non 4:3 proportions by letterboxing if too wide, and pillarboxing if too narrow.
                                                                          if(.75* bmpData.width != bmpData.height)
                                                                                    if(.75*bmpData.width > bmpData.height) // Letterbox
                                                                                              canvas = new BitmapData(bmpData.width, .75*bmpData.width, false, 0xff000000);
                                                                                              rect = new Rectangle(0, 0, bmpData.width, bmpData.height);
                                                                                              pt = new Point(0, ((canvas.height-bmpData.height)/2));
                                                                                    else // Pillarbox
                                                                                              canvas = new BitmapData( ((4*bmpData.height)/3), bmpData.height, false, 0xff000000);
                                                                                              rect = new Rectangle(0, 0, bmpData.width, bmpData.height);
                                                                                              pt = new Point( ((canvas.width-bmpData.width)/2), 0);
                                                                                    canvas.copyPixels(bmpData, rect, pt);
                                                                                    bmpData = ImageResizer.bilinearIterative(canvas, 1024, 768, ResizeMath.METHOD_LETTERBOX , true, 3);
                                                                                    //var pngEncoder:PngEncoder = new PngEncoder(bmpData,png,true);
                                                                          createThumbnail();
                                                                          break;
                                            else
                                                      filters = new Array(bevelFilterUp);
                                            busy = false;
                                  private function playVideoFile():void
                                            trace("ChoosePictureButton FUNCTION playVideoFile");
                                            netConnection = new NetConnection();
                                            netConnection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
                                            netConnection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
                                            netConnection.connect(null);
                                  private function netStatusHandler(event:NetStatusEvent):void
                                            trace("ChoosePictureButton FUNCTION netStatusHandler code: "+event.info.code);
                                            switch (event.info.code)
                                                      case "NetConnection.Connect.Success":
                                                                connectStream();
                                                                break;
                                                      case "NetStream.Play.StreamNotFound":
                                                                trace("Stream not found: "); // + videoURL);
                                                                if(stage.contains(video))
                                                                          stage.removeChild(video);
                                                                break;
                                  private function securityErrorHandler(event:SecurityErrorEvent):void
                                            trace("ChoosePictureButton FUNCTION sercurityErrorHandler");
                                            trace("securityErrorHandler: " + event);
                                  //                              private function onStageVideoState(event:StageVideoAvailabilityEvent):void      
                                  //                                        var available:Boolean = (event.availability == StageVideoAvailability.AVAILABLE);      
                                  //                                        trace("ChoosePictureButton FUNCTION onStageVideoState "+available);
                                  private function asyncErrorHandler(event:AsyncErrorEvent):void
                                            // ignore AsyncErrorEvent events.
                                  private function connectStream():void
                                            // stage.addEventListener(StageVideoAvailabilityEvent.STAGE_VIDEO_AVAILABILITY, onStageVideoState);
                                            trace("ChoosePictureButton FUNCTION connectStream");
                                            //          NetConnectionExample.2.as
                                            //          You can get metadata using a function, instead of creating a custom class. The following suggestion, provided by Bill Sander

  • Iphoto seems to be deleting old (several years old) images that hav the same name as new images being loaded. how can i fix this?

    I was browsing some old photos in iPhoto11 and started getting 'image not found' errors. After much investigation, rebuilding thumbnails and extracting photos using fatface iphoto library manager it seems that newer photos with the same name as very old photos (Canon camera naming scheme IMG_nnnn.jpg) have caused the old photos to be deleted? I thought iphoto handled this situation but it seems not.
    I never got any error or warning messages on importing the newer photos. Naturally the old ones have been in there for years and were originally imported using older versions of iphoto.
    As it happens I do have all these old photos stored elsewhere so its not a case of panicking but I could do with a solution going forwards.
    Has anyone else encountered this (and of course if so how did you resolve it?)
    TIA
    Paul

    Every new import to iPhoto goes into a new folder on the HD, so no, iPhoto doesn't overwrite older images with the same filename.
    Are you running a Managed or a Referenced Library?
    A Managed Library, is the default setting, and iPhoto copies files into the iPhoto Library when Importing. The files are then stored in the Library package
    A Referenced Library is when iPhoto is NOT copying the files into the iPhoto Library when importing because you made a change at iPhoto -> Preferences -> Advanced. (You unchecked the option to copy files into the Library on import) The files are then stored where ever you put them and not in the Library package. In this scenario you are responsible for the File Management. 

  • HT3775 how to open a video file that is different format

    how to open media plyer video file in mac?

    If you're talking about Windows Media files (WMV, WMP, etc.) then Flip4Mac will allow most (unless they have DRM) to be played in QuickTime.  VLC will also play them.  There may be other solutions.
    Good luck
    srb

  • My web page opens an iframe, so that the iframe does not load only on FIREFOX 14.0.1 in previous versions it opens normally link to the test ..

    https://www.promocoesvisa.com.br/p/vaidevisa/asp/conta/cadastro-rapido/cadastro-rapido.asp?m=CAD

    This header? [https://developer.mozilla.org/en-US/docs/The_X-FRAME-OPTIONS_response_header The X-Frame-Options response header]
    There was a change in Firefox 14.0.1 regarding this header. In earlier versions of Firefox, if you had a duplicated value in your header, a bug in Firefox caused it to ignore the header. This was fixed in Firefox 14.0.1. See: [http://www.mozilla.org/security/announce/2012/mfsa2012-51.html MFSA 2012-51: X-Frame-Options header ignored when duplicated].
    If you are using SAMEORIGIN now, are the origins identical: e.g., same protocol://hostname:port number/?

  • Need help centering different sized images being loaded from a container

    stop();
    mainArea_mc.visible = false;
    home_btn.addEventListener(MouseEvent.CLICK, function () { gotoAndStop("Home Template")} );
    var totalImages:int = 0;
    var imageDirectory : String = "";
    var currentImage:int = 1;
    var filePrefix : String = "";
    var loader1 : Loader = new Loader(); // 2 loaders so we can fade an image on top of the other
    var loader2 : Loader = new Loader();
    pic_mc.addChild(loader1);
    pic_mc.addChild(loader2);
    loader1.name = "loader1";
    loader2.name = "loader2";
    loader1.contentLoaderInfo.addEventListener(Event.COMPLETE , resizeFadeImage);
    loader2.contentLoaderInfo.addEventListener(Event.COMPLETE , resizeFadeImage);
    info_mc.title_txt.autoSize = TextFieldAutoSize.LEFT;
    if (presModeSlides)  // Setup slide viewer vars
        totalImages = slides[currentSlideNumber].numSlides
        imageDirectory = "Data/slides/"+slides[currentSlideNumber].directory+"/";
        filePrefix = "slide";
        info_mc.title_txt.text = slides[currentSlideNumber].title
        info_mc.speaker_txt.text = slides[currentSlideNumber].speaker
        info_mc.university_txt.text = slides[currentSlideNumber].university
    else  // Setup picture viewer vars
        totalImages = 233;
        imageDirectory = "Data/pictures/";
        filePrefix = "picture";
        info_mc.title_txt.text =  "3rd International BioPlex® 2200 User Meeting";
        info_mc.speaker_txt.text = "Pictures";
        info_mc.university_txt.text = "";
    info_mc.speaker_txt.y += info_mc.title_txt.height;  // Position sublines so they are directly under title
    info_mc.university_txt.y += info_mc.title_txt.height;
    leftArrow_btn.addEventListener(MouseEvent.CLICK, prevImage);
    rightArrow_btn.addEventListener(MouseEvent.CLICK, nextImage);
    showImage(currentImage)
    function showImage(num:int)
        if (pic_mc.getChildIndex(loader1) > pic_mc.getChildIndex(loader2))  // Place the jpg into which ever container is on top at the moment
            loader1.load(new URLRequest(imageDirectory+filePrefix+currentImage+".jpg"));
        else
            loader2.load(new URLRequest(imageDirectory+filePrefix+currentImage+".jpg"));
    function resizeFadeImage(e:Event)
        e.currentTarget.loader.alpha = 0;
        Tweener.addTween(e.currentTarget.loader, {alpha:1, time:0.4, onComplete: removeOtherImage , onCompleteParams:[e.currentTarget.loader]});
        e.currentTarget.loader.scaleX = 0.75;
        e.currentTarget.loader.scaleY = 0.75;
        var bitMap : Bitmap = Bitmap(e.currentTarget.loader.content);
        bitMap.smoothing = true;
    function removeOtherImage(l:Loader)
        if (l.name=="loader1")
            pic_mc.setChildIndex(loader1,0);
            if (loader2.content != null)
                if (loader2.content is Bitmap)
                    (loader2.content as Bitmap).bitmapData.dispose();
        else
            pic_mc.setChildIndex(loader2,0);
            if (loader1.content != null)
                if (loader1.content is Bitmap)
                    (loader1.content as Bitmap).bitmapData.dispose();
    function nextImage(e:Event)
        if ((!Tweener.isTweening(loader1)) && (!Tweener.isTweening(loader2)))
            if (currentImage < totalImages)
                currentImage ++;
            else
                currentImage = 1;
            showImage(currentImage);
    function prevImage(e:Event)
        if ((!Tweener.isTweening(loader1)) && (!Tweener.isTweening(loader2)))
            if (currentImage > 1)
                currentImage --;
            else
                currentImage = totalImages;
            showImage(currentImage);

    function resizeFadeImage(e:Event)
        e.currentTarget.loader.alpha = 0;
        Tweener.addTween(e.currentTarget.loader, {alpha:1, time:0.4, onComplete: removeOtherImage , onCompleteParams:[e.currentTarget.loader]});
        e.currentTarget.loader.scaleX = 0.75;
        e.currentTarget.loader.scaleY = 0.75;
    e.currentTarget.loader.x = (stage.stageWidth-e.currentTarget.loader.width)/2;
    e.currentTarget.loader.y = (stage.stageHeight-e.currentTarget.loader.height)/2;
        var bitMap : Bitmap = Bitmap(e.currentTarget.loader.content);
        bitMap.smoothing = true;

  • When i try to open aperture, i get a box popup that says;  Warning-There was an error opening the database for the library "~/Pictures/Aperture Library.aplibrary".

    When i try to open aperture, i get a box popup that says; 
    Warning-There was an error opening the database for the library “~/Pictures/Aperture Library.aplibrary”.
    Can anyone help? I cannot accesss aperture. this is the 1st time this has ever happened...
    thanks,

    Try running a repair on the library. Hold the command and option keys down while starting Aperture, this will open the repair window. Select Repair Library.
    See Aperture 3: Troubleshooting Basics
    If you still have problems post back

  • I have my photos  iPhoto but my iPhoto library is empty. when clicked message reads could not be opened image capture cannot open files in the photo library format. How do I get my photos back into my library?

    I have my photos in  iPhoto but my iPhoto library is empty.When clicked message reads could not be opened image capture cannot open files in the photo library format. How do I get my photos back into my library?

    When what is clicked?
    There are 9 different versions of iPhoto and they run on 9 different versions of the Operating System. The tricks and tips for dealing with issues vary depending on the version of iPhoto and the version of the OS. So to get help you need to give as much information as you can. Include things like:
    - What version of iPhoto.
    - What version of the Operating System.
    - Details. As full a description of the problem as you can. For example, if you have a problem with exporting, then explain by describing how you are trying to export, and so on.
    - History: Is this going on long? Has anything been installed or deleted? - Are there error messages?
    - What steps have you tried already to solve the issue.
    - Anything unusual about your set up? Or how you use iPhoto?
    Anything else you can think of that might help someone understand the problem you have.

  • When I open safari I get a popup that says " this version of Safari doesn't support the community tool bar". Cure the ignorace someone - whats a community tool bar - apparently I have one but don't know what I'm looking at. -

    when I open safari I get a popup that says " this version of Safari doesn't support the community tool bar". Cure the ignorace someone - what's a community tool bar - apparently I have one but don't know what I'm looking at. -

    You installed the Conduit spyware. To remove it, triple-click the following line of text to select it:
    ~/Library/Application Support/Conduit
    Copy (command-C) the text to the Clipboard. Then select
    Go ▹ Go to Folder
    from the Finder menu bar and paste (command-V) into the box that opens. A Finder window may open with a folder named "Conduit" selected. If so, delete the selected folder.
    Select Go to Folder again and enter:
    /Library
    From the folder that opens, delete the following items, if they exist. You may be prompted for your login password.
    Application Support/Conduit
    InputManagers/CTLoader
    LaunchAgents/com.conduit.loader.agent.plist
    ScriptingAdditions/ct_scripting.osax
    Close the folder. Now select Go to Folder one more time and enter:
    /Applications/Toolbars
    Delete that item. Close the Finder windows you opened. Log out and log back in.

  • How do I find all the purchased items on my iPhone? When I try to update the iPhone iOS while connected to my MacBook it says there are purchased items on the phone that have not been transferred to my iTunes library and that I should transfer them.

    How do I find all the purchased items on my iPhone? When I try to update the iPhone iOS while connected to my MacBook it says there are purchased items on the phone that have not been transferred to my iTunes library and that I should transfer them before updating.

    Thanks. This seems to have worked easily.

  • How can I restore a single image from an aperture time machine backup, do I have to restore the entire library? that does not make sense

    I hope there has been found a more efficiant solution for this,  how can I restore a single image from an aperture time machine backup, I really hope I don't have to restore the entire library? that does not make sense
    any suggestions?

    Did you try browsing your backups in the Finder ?  That is, do not go and "Enter Time Machine".  Instead, navigate to your Time Machine backup via Finder and then manually go to the time period (by folder name) you are looking for ... when you find your Aperture library you can then "Show Package Contents" and find the Master you are looking for.

  • I've just opened iTunes on my Mac with an error "The iTunes Library.itl file is locked, on a locked disk, or you do not have write permission for this file.". I created a shirred library so that all users on my Mac can access the same library. Help?

    I have just opened ITunes on my Mac and the following error occurred "The iTunes Library.itl file is locked, on a locked disk, or you do not have write permission for this file.". When I setup my Mac I created a shared user area to contain my ITunes library so that I could share it with another user logged onto my Mac. However the error above gives me the impression that the library file is locked... I've checked and it does not seem to be locked under the "get info" fie information. Has anyone come across this before and found a solution?

    You also need to make sure you have both read and write permission for the file, or for the whole iTunes folder for that matter.  That's also done in Get Info for the file or folder concerned.
    Read the part about changing permissions on the iTunes folder in: https://discussions.apple.com/message/11583914

  • IPad running iOS 5 has on the menu bar only have 4 icons, being: back, forward, bookmarks, and the "add to bookmarks", but is missing an icon after the "add to bookmarks" arrow, that is a "show all open browser windows" icon. How do I get it in my safari?

    iPad running iOS 5 has on the menu bar only have 4 icons, being: back, forward, bookmarks, and the "add to bookmarks", but is missing an icon after the "add to bookmarks" arrow, that is a "show all open browser windows" icon. How do I get it in my safari?

    What you are seeing is how Safari works now in iOS 5. There is no way to get that icon in Safari now. There other much better browsers available in the App Store. Look at iCab Mobile, Mercury, Atomic, ....
    I have been running iOS 5x for so long now, that I don't even remember if that icon did appear in earlier iOS versions

Maybe you are looking for