Slideshow at 100% - unwanted transition

I am running PS CS4 on a PC with XP SP3 and 4GB with the 3/GB switch.
My video card (MATROX P650 PCIe 128MB) does not support OpenGL 2.0 so I am not using GPU acceleration. BTW, I also have CS3 and full screen preview and slideshow in Bridge seem to work about the same with CS4 as with CS3 on my 450XSi raws and tiffs.
In Slideshow options I have set Transition to none. This works fine (CS3 & CS4). There is no transition between the images as I run the slideshow and display the entire image.
I am trying to get better at capture sharpening with ACR so I made multiple copies of the same image and converted them with different sharpening settings. Now I want to run a slideshow of these images so I can compare the sharpening as one image flips to the next with no transition. Since the different sharpening settings can have subtle effects, any transition between images will basically make it impossible to use Bridge for this task.
But, when I run the slideshow at 100% (Bridge does not display sharpening below a 100% view) then I get an unwanted transition. The next image immediately displays but it is not focused. This remains on the screen for 1/2 second or so and then the image pops into focus.
Dear Adobe: Please tweak Bridge by adding this effect to the list of transitions one can select if they so desire. Kindly honor my request for no transition between images. It is not going to bother me one whit if the next images takes 1/2 second longer to pop onto my screen in all its focused glory as long as there is no transition between image 1 and image 2.
I read everything in the ACR forum on sharpening. In that forum Jeff Schewe gives sage advice that one can learn much about ACR capture sharpening by experimentation. I would LOVE to experiment however the unwanted transition I have described above makes it impossible for my eye/brain to remember the edge nuances it saw on image 1 when image 2 finally decides to appear crisply on my screen.
I hope you see this suggestion as an improvement that will help many that are doing their best to learn to use PS.

Curt,
Since my video card does not support OpenGL 2.0 I do not have the option of using hardware acceleration.
In order to compare the affect of different ACR sharpening settings on full size tiffs my present solution is to review those tiffs in Canon's DPP software in 'edit' mode and at 100%. The first time I click thru my tiffs in DPP there is a transition lag between images. However, after I go thru the images for the first time then there is _zero_ lag as I click from image to image. That is the kind of performance I need in order to compare the nuances of different ACR settings as seen in my full size tiffs.
Since the Canon software engineers are able to provide this ability for users that do not have the latest video cards, it seems reasonable to hope that the Adobe engineers would be able to do the same.

Similar Messages

  • Keynote Recorded Slideshow tends to "miss" transitions in playback and upon

    From time to time, I read, in these discussion, some outstandingly derogatory comments about some of the Apple software. Although disappointed at times, I had never felt the level of frustration that seems to lead other users to those outbursts - until now. I've run into a problem that I have been unable to resolve, but according to all documentation, what I am trying to achieve is one of the features designed into the product.
    Keynote seems to have a tendency to "miss" a transition during playback and/or export, such that the recorded audio becomes one transition ahead of the visual component of the presentation. There is no apparent consistency to this, as re-recording may find the "miss" at a different point in the presentation, and exporting it to QuickTime may see the "miss" in another spot altogether.
    In some cases, the "miss" was an "On Click" transition. In other cases, the "miss" was an automatic (after transition/previous transition) transition or move, but always with zero delay. Let me re-phrase this - the transitions occurred correctly during the recording. It is in the playback or export of the recorded slideshow that the transition is subsequently "missed."
    I moved the work from my dual G5 to my IC2D and re-recorded, but resolution was not found.
    One might suggest the imbedding of audio in each slide, however, a really good show includes audio that "bridges" slides to improve the continuity of the presentation (or movie, which is the ultimate objective for this current project). Recording the audio externally (e.g. Garageband) takes considerable effort to marry the video with the audio in close synchronization.
    I am seeking others who have had the same experience and who have found the elusive solution.

    Just read your post and I appear to be having a similar problem with a trial version of '09. I just posted this on another topic.
    "I'm trying out the '09 Version of Keynote and have made a great slideshow that I want to export to a Quicktime Movie. I have a soundtrack playing in time with transitions through the first portion, then a slide which contains a quicktime movie. Then a further 2 slides with one containing a short sound effect.
    I've done this before on '08 so I'm sure I'm not doing anything wrong, but everytime I export to a movie the movie within the slideshow doesn't play.
    I've recorded the slideshow to get all the timings in time with the music, I've tried setting ALL transitions to automatic and fined tuned them to match the music. Then recorded it and kept quiet.
    This slideshow will play from start to finish with no input from me, but when I export it, the movie in the slideshow just remains on the first frame till the next transition happens.
    I've even tried uploading straight to YouTube but the same occurs.
    Help, is it a glitch in the software. I've had 3 movies playing within a slide before and successfully exported it in a movie in '08. What's wrong!!!
    Cheers for any feedback"
    Chris

  • Removing Finder's SlideShow's 100 image limit - possible?

    Hi all,
    I noticed OS X Finder's Slideshow application (context menu) is limited to 100 images. Is that something that can be removed through a config file anywhere? I once found the config file to change the time delay during the show but now can't remember where I did that! any advise?
    cheers,
    Roger

    Hi BD. Not iPhoto—never use it—nor ScreenSaver. Here's a Cut and Paste from Help:
    In the Finder, select image files in a folder or on your Desktop. Then hold down the Control click as you click one, and choose Slideshow from the shortcut menu that appears.
    Use the controls at the bottom of the screen to switch between the images:
    To stop and start Slideshow's automatic playback, click Stop or Start.
    To move forward and back manually, use the arrow keys.
    To view all the images at once, click Index Sheet. Click an image to view it.
    To zoom in to and out of an image, click Fit to Screen or Actual Size.
    To add an image to your iPhoto library, click Add to iPhoto.
    To exit the slideshow, click Close.
    As I said, the only controls that show for me are the Zoom, Add to iPhoto, and Quit. None of the other controls appear, and the arrow keys do nothing.
    I ran maintenance a few days ago, and will do so again, as soon as I'm finished the job I've started.

  • Help.. I want to have multiple slideshows in idvd  that transition together

    I am trying to make an idvd with multiple slideshows that transition togther without having to go back to the menu and be clicked. Can I do this? HELP!!!!

    I assume you mean you want to have one slideshow 'transition' into a second slideshow. etc, without returning to a menu.
    iDVD does not let you go from one video or slideshow to another without returning to a menu. (You could probably do this with Apple's DVD Studio Pro.)
    iDVD 6 lets you create slides shows of more than 99 slides. HOWEVER, many set-top DVD players will not play more than the first 99 slides. The best way to make a slideshow with more than 99 images is to create a movie in iPhoto or iMovie.

  • Moving slideshow with 100 plus images from iPhoto to iDVD

    When creating a slideshow in iDVD you have a default limit of 99 images. This becomes a problem when trying to create a large slideshow with no interuptions. My partner and I almost figured out a way around that. We created the slideshow in iPhoto rather than iDVD and then went to the "Share" menu and selected "Send to iDVD" and it sent the slide show over to iDVD exactly how it was created in iPhoto. The problem is we want to make sure that all transitions from slide to slide and the music are smooth.
    Please comment on this topic.
    Also in iPhoto there is a default movement (simular to Ken Burns effect) that we can't figure out how to turn off. There is an option to turn on Ken Burns effect but not to turn off all image movement during show.Note: these movements are differnt than Transitions. Let us know your thoughts.
    Thanks

    Instead of using iPhoto, how about using iMovie? Simply drag the photos from your desktop folder (if that's where the originals are located) directly into the clip pane of iMovie. Once the photos are in the clip pane, drag them into the time-line, then you can adjust the duration of each slide, add transitions and add music. This is the way I've always made slide shows and I have had excellent results. In iMovie, you can also easily adjust where the music aligns with the slides and overlap one song to the next. Also, if you drag the photos into iMovie directly (rather than using iPhoto), the Ken Burns effect will not be activated, which I think it is automatically if you import photos from iPhoto. But if you want the KB effect, I think you need to import the photo from iPhoto.

  • Exporting slideshow results in unwanted music fade

    Hi all, I sure hope someone can help. When I create a slideshow in iPhoto '09 and set music to it, it plays back great. But when I export the slideshow, using any method (specifically to .m4v or .mov), the music fades by the end of the slideshow. It's disconcerting, because that's not how it plays back in iPhoto. It's also troublesome because it's not what I want! It's not even a normal fade over the last few seconds - it starts early and goes very slowly, lasting the final 30-60 seconds. Bizarre. Anyway, I need to get rid of it. I've searched every option to no avail, in both iPhoto and iTunes (where I'm pulling my music from). Please help - I have a project due on Thursday that I've got to fix this for!
    I am aware I can export the slideshow with no sound, import to iMovie and add my music there. I'm prepared for that contingency, but I'd rather not if I don't have to. Does anyone have an answer for me? Is there an option I'm missing somewhere, or any other way of getting rid of this unwanted fade? Thanks in advance for any help.

    Stewy and others, after much experimenting, I figured out the problem: when you have your slideshow set to "Fit Slideshow to Music", it fades the music slowly and early. If you have your slideshow set to play a certain amount of seconds per slide, the music plays fine. Note that the music plays fine both ways in iPhoto itself, which is why it was so tricky to track this down, but when you export your slideshow, "Fit Slideshow to Music" = bad. I don't consider adding a black slide to the end to be a satisfactory solution; it still throws all the timing off. The only real solution (that I could find) is to consider the "Fit Slideshow" feature to be broken (which it is - I hope Apple is reading this), and not use it. Instead, just manually fit the slideshow yourself. It's a pain and it takes a few minutes, but the resulting export is worth it.
    Apple - this is definitely a bug. It's also worth noting that it only happened AFTER I updated a freshly installed iPhoto '09 to the latest update, so it was a bug introduced in an update. Straight out of the box, this doesn't happen (though there are other worse bugs that are fixed by the update, so it's still worth updating and handling this particular bug manually). I sure hope this bug is fixed soon, though, because the "Fit Slideshow" feature is very useful, and having to do it manually *****.
    Hope this helps others out there - I searched Google quite a bit before giving up and posting here.

  • QT slideshow with non-uniform transition times?

    I am creating a QT file which is composed of only still images, using "Import Image Sequence…". But I need the transition times from one slide to the next to be set individually, so one might stay for 10 seconds, another for 1. Is there any way to do this?
    I have a rough reference movie which shows the images, at low resolution. The only way I have found is to select the duration of each image in the rough movie, copy the corresponding image from the high res movie, and "Add to Selection & Scale…".
    Assuming this is the only way, what is the best way to compress the resultant movie to get good compression? I have Sorenson Squeeze.

    You've figured out how to do it: import the images into an image sequence, then import them a frame at a time, add scaled, to your final timeline, then compress the whole thing.
    For compression, I can't tell you what codec to use. But the trick is that you should NOT specify a frame rate for the export, because you want the frame rate to be 0 FPS while the images are displaying.
    Of course the problem with this method is that you will end up with another video track for each slide. To avoid that, use another method:
    Sources: Movie A is an audio track (or whatever sets your final length). Movie B is an image sequence imported at any frame rate. Movie C is a new movie which you are building into your final sequence.
    a) Select the section of Movie A for the next photo
    b) Copy, then create a new movie (we'll call it Movie D)
    c) Paste the selection into Movie D and Select All
    d) Select a photo from Movie B and copy
    e) Add Scaled to Movie D
    f) Select All of Movie D and copy
    g) Paste into the end of Movie C
    h) Close Movie D without saving
    i) IF NOT (last photo added) THEN (a)
    j) Save movie C as a reference movie, then compress it.
    Doing that, you will end up building a movie one photo at a time, and it will end up with only one video track. It's less complicated than it looks.
    --Dave Althoff, Jr.

  • Stills Exporting with an Unwanted Transition

    Hi,
    I am using Adobe Premiere Pro CS4 4.2.1.
    I primarily build slide shows with stills.  I have built many with previous versions of Premiere.  I built one in the fall using CS4 (not 4.2.1 - I justed updated it).  I don't use the Automate to Sequence feature.  I drag and drop each still in by hand.
    Tonight I have run into a major problem.  I use very few transitions between stills, but the export (in QuickTime) has a short dissolve between every still.  I have not encountered this before.  When I render the Work Area - I do not see them.  Only in the exported QuickTime file.
    Any information would be appreciated.
    Thank you,
    Kevin

    Hi,
    Thanks.  Unfortunately, that didn't work.
    What works:  Export at 30fps.
    What works:  Copy entire Timeline and paste it into 10fps Timeline and Export at 10fps.
    Something is definitely not working correctly.  Don't know if it is here or with the updates to Premiere Pro and Media Encoder I recently installed.  Just tried a 10 still 30fps Timeline exported at 10fps and each still was overlayed with the adjacent still.  Export at 30fps and no problems.
    Kevin

  • HOW do I create a SIMPLE fading slideshow in dreamweaver CS5?????

    I would like to have a slow fading slideshow of a few images relating to the web page that the user is on.
    I have a seperate div tag, with the space 235 x 440 pixels allowed for the images. All I want is the slideshow to fade in and out of one another using 3 or 4 photos, no text, no control panel or thumbnails or any other frills, just basic good quality photos fading in a looped slideshow.
    I just want that when the page loads up that the slideshow starts automatically and slowly loops continuously until the user changes page.
    I have seen animated gifs from photoshop, which are no good because the image quality is awful, and in fireworks, where it comes with either thumbnails or a control panel for the user to navigate manually the images. I don't want that. Can it be done easily in flash? or does dreamweaver have an answer?
    Surely there must be a simple and basic way in dreamweaver alone to just swap/fade an image with another image a few times and thats that? no?
    If it can't be done in dreamweaver, PLEASE tell me which program it can be done in and how.
    Many many many thanks in advance for anyone with an easily explained solution.
    Ian.

    Here is the code in my header:
    <!-- include jQuery library --><script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script><!-- include Cycle plugin --><script type="text/javascript" src="http://aap.org/international/jquery.cycle.all.latest.js"></script><script type="text/javascript">$(document).ready(function() {    $('.slideshow').cycle({          fx: 'fade' // choose your transition type, ex: fade, scrollUp, shuffle, etc...     });});</script>
    Here is the code in the body part of my page:
    <div class="slideshow"><img alt="one" src="img/WebsiteSlideshow/_Terrell_IL SnJessieJackson.jpg" width="592" height="509" /><img alt="dcsn" src="img/WebsiteSlideshow/ONEorg 1.JPEG" width="592" height="509" /><img alt="one2" src="img/WebsiteSlideshow/ONEorg.JPG" width="592" height="509" /><img alt="saltlakecity" src="img/WebsiteSlideshow/ShotatLifeSaltLakeCity.JPG" width="592" height="509" /><img alt="saltlakecity" src="img/WebsiteSlideshow/Dr Sato, Ohio ONE vols and Portman.jpg" width="592" height="502" /><img alt="saltlakecity" src="img/WebsiteSlideshow/photo_4.jpg" width="592" height="509" /><img alt="saltlakecity" src="img/WebsiteSlideshow/UNEP4 Mtg.jpeg" width="592" height="509" /><img alt="saltlakecity" src="img/WebsiteSlideshow/DSCN2035.jpg" width="592" height="509" /></div>
    Here is the code in the jquery site:
    <!DOCTYPE html>
    <html>
    <head>
    <title>JQuery Cycle Plugin - Basic Demo</title>
    <style type="text/css">
    .slideshow { height: 232px; width: 232px; margin: auto; overflow: hidden; }
    .slideshow img { padding: 15px; border: 1px solid #ccc; background-color: #eee; }
    </style>
    <!-- include jQuery library -->
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
    <!-- include Cycle plugin -->
    <script type="text/javascript" src="http://aap.org/international/jquery.cycle.all.latest.js"></script>
    <script type="text/javascript">
    $(document).ready(function() {
        $('.slideshow').cycle({
              fx: 'fade' // choose your transition type, ex: fade, scrollUp, shuffle, etc...
    </script>
    </head>
    <body>
    <div class="slideshow">
              <img src="img/WebsiteSlideshow/_Terrell_IL SnJessieJackson.jpg" width="592" height="509" />
              <img src="<img src="img/WebsiteSlideshow/DSCN2051.JPG"  width="592" height="509" />
              <img src="img/WebsiteSlideshow/ONEorg.JPG" width="592" height="509" />
              <img src="img/WebsiteSlideshow/ShotatLifeSaltLakeCity.JPG" width="592" height="509" />
              <img src="img/WebsiteSlideshow/Dr Sato, Ohio ONE vols and Portman.jpg" width="592" height="502" />
        <img src="img/WebsiteSlideshow/photo_4.jpg" width="592" height="509" />
        <img src="img/WebsiteSlideshow/UNEP4 Mtg.jpeg" width="592" height="509" />
        <img src="img/WebsiteSlideshow/DSCN2035.jpg" width="592" height="509" />
         <img src="img/WebsiteSlideshow/DSCN2052.JPG" width="592" height="509" />
      </div>
    </body>
    </html>
    // process the args that were passed to the plugin fn
    function handleArguments(cont, 1, fade) {
    if (cont.cycleStop == undefined)
      cont.cycleStop = 0;
    if (options === undefined || options === null)
      options = {};
    if (options.constructor == String) {
      switch(options) {
      case 'destroy':
      case 'stop':
       var opts = $(cont).data('cycle.opts');
       if (!opts)
        return false;
       cont.cycleStop++; // callbacks look for change
       if (cont.cycleTimeout)
        clearTimeout(cont.cycleTimeout);
       cont.cycleTimeout = 0;
       $(cont).removeData('cycle.opts');
       if (options == 'destroy')
        destroy(opts);
       return false;
      case 'toggle':
       cont.cyclePause = (cont.cyclePause === 1) ? 0 : 1;
       checkInstantResume(cont.cyclePause, arg2, cont);
       return false;
      case 'pause':
       cont.cyclePause = 1;
       return false;
      case 'resume':
       cont.cyclePause = 0;
       checkInstantResume(false, arg2, cont);
       return false;
      case 'prev':
      case 'next':
       var opts = $(cont).data('cycle.opts');
       if (!opts) {
        log('options not found, "prev/next" ignored');
        return false;
       $.fn.cycle[options](opts);
       return false;
      default:
       options = { fx: options };
      return options;
    else if (options.constructor == Number) {
      // go to the requested slide
      var num = options;
      options = $(cont).data('cycle.opts');
      if (!options) {
       log('options not found, can not advance slide');
       return false;
      if (num < 0 || num >= options.elements.length) {
       log('invalid slide index: ' + num);
       return false;
      options.nextSlide = num;
      if (cont.cycleTimeout) {
       clearTimeout(cont.cycleTimeout);
       cont.cycleTimeout = 0;
      if (typeof arg2 == 'string')
       options.oneTimeFx = arg2;
      go(options.elements, options, 1, num >= options.currSlide);
      return false;
    return options;
    function checkInstantResume(isPaused, arg2, cont) {
      if (!isPaused && arg2 === true) { // resume now!
       var options = $(cont).data('cycle.opts');
       if (!options) {
        log('options not found, can not resume');
        return false;
       if (cont.cycleTimeout) {
        clearTimeout(cont.cycleTimeout);
        cont.cycleTimeout = 0;
       go(options.elements, options, 1, (!opts.rev && !opts.backwards));
    function removeFilter(el, opts) {
    if (!$.support.opacity && opts.cleartype && el.style.filter) {
      try { el.style.removeAttribute('filter'); }
      catch(smother) {} // handle old opera versions
    // unbind event handlers
    function destroy(opts) {
    if (opts.next)
      $(opts.next).unbind(opts.prevNextEvent);
    if (opts.prev)
      $(opts.prev).unbind(opts.prevNextEvent);
    if (opts.pager || opts.pagerAnchorBuilder)
      $.each(opts.pagerAnchors || [], function() {
       this.unbind().remove();
    opts.pagerAnchors = null;
    if (opts.destroy) // callback
      opts.destroy(opts);
    // one-time initialization
    function buildOptions($cont, $slides, els, options, o) {
    // support metadata plugin (v1.0 and v2.0)
    var opts = $.extend({}, $.fn.cycle.defaults, options || {}, $.metadata ? $cont.metadata() : $.meta ? $cont.data() : {});
    if (opts.autostop)
      opts.countdown = opts.autostopCount || els.length;
    var cont = $cont[0];
    $cont.data('cycle.opts', opts);
    opts.$cont = $cont;
    opts.stopCount = cont.cycleStop;
    opts.elements = els;
    opts.before = opts.before ? [opts.before] : [];
    opts.after = opts.after ? [opts.after] : [];
    opts.after.unshift(function(){ opts.busy=0; });
    // push some after callbacks
    if (!$.support.opacity && opts.cleartype)
      opts.after.push(function() { removeFilter(this, opts); });
    if (opts.continuous)
      opts.after.push(function() { go(els,opts,0,(!opts.rev && !opts.backwards)); });
    saveOriginalOpts(opts);
    // clearType corrections
    if (!$.support.opacity && opts.cleartype && !opts.cleartypeNoBg)
      clearTypeFix($slides);
    // container requires non-static position so that slides can be position within
    if ($cont.css('position') == 'static')
      $cont.css('position', 'relative');
    if (opts.width)
      $cont.width(opts.width);
    if (opts.height && opts.height != 'auto')
      $cont.height(opts.height);
    if (opts.startingSlide)
      opts.startingSlide = parseInt(opts.startingSlide);
    else if (opts.backwards)
      opts.startingSlide = els.length - 1;
    // if random, mix up the slide array
    if (opts.random) {
      opts.randomMap = [];
      for (var i = 0; i < els.length; i++)
       opts.randomMap.push(i);
      opts.randomMap.sort(function(a,b) {return Math.random() - 0.5;});
      opts.randomIndex = 1;
      opts.startingSlide = opts.randomMap[1];
    else if (opts.startingSlide >= els.length)
      opts.startingSlide = 0; // catch bogus input
    opts.currSlide = opts.startingSlide || 0;
    var first = opts.startingSlide;
    // set position and zIndex on all the slides
    $slides.css({position: 'absolute', top:0, left:0}).hide().each(function(i) {
      var z;
      if (opts.backwards)
       z = first ? i <= first ? els.length + (i-first) : first-i : els.length-i;
      else
       z = first ? i >= first ? els.length - (i-first) : first-i : els.length-i;
      $(this).css('z-index', z)
    // make sure first slide is visible
    $(els[first]).css('opacity',1).show(); // opacity bit needed to handle restart use case
    removeFilter(els[first], opts);
    // stretch slides
    if (opts.fit && opts.width)
      $slides.width(opts.width);
    if (opts.fit && opts.height && opts.height != 'auto')
      $slides.height(opts.height);
    // stretch container
    var reshape = opts.containerResize && !$cont.innerHeight();
    if (reshape) { // do this only if container has no size http://tinyurl.com/da2oa9
      var maxw = 0, maxh = 0;
      for(var j=0; j < els.length; j++) {
       var $e = $(els[j]), e = $e[0], w = $e.outerWidth(), h = $e.outerHeight();
       if (!w) w = e.offsetWidth || e.width || $e.attr('width')
       if (!h) h = e.offsetHeight || e.height || $e.attr('height');
       maxw = w > maxw ? w : maxw;
       maxh = h > maxh ? h : maxh;
      if (maxw > 0 && maxh > 0)
       $cont.css({width:maxw+'px',height:maxh+'px'});
    if (opts.pause)
      $cont.hover(function(){this.cyclePause++;},function(){this.cyclePause--;});
    if (supportMultiTransitions(opts) === false)
      return false;
    // apparently a lot of people use image slideshows without height/width attributes on the images.
    // Cycle 2.50+ requires the sizing info for every slide; this block tries to deal with that.
    var requeue = false;
    options.requeueAttempts = options.requeueAttempts || 0;
    $slides.each(function() {
      // try to get height/width of each slide
      var $el = $(this);
      this.cycleH = (opts.fit && opts.height) ? opts.height : ($el.height() || this.offsetHeight || this.height || $el.attr('height') || 0);
      this.cycleW = (opts.fit && opts.width) ? opts.width : ($el.width() || this.offsetWidth || this.width || $el.attr('width') || 0);
      if ( $el.is('img') ) {
       // sigh..  sniffing, hacking, shrugging...  this crappy hack tries to account for what browsers do when
       // an image is being downloaded and the markup did not include sizing info (height/width attributes);
       // there seems to be some "default" sizes used in this situation
       var loadingIE = ($.browser.msie  && this.cycleW == 28 && this.cycleH == 30 && !this.complete);
       var loadingFF = ($.browser.mozilla && this.cycleW == 34 && this.cycleH == 19 && !this.complete);
       var loadingOp = ($.browser.opera && ((this.cycleW == 42 && this.cycleH == 19) || (this.cycleW == 37 && this.cycleH == 17)) && !this.complete);
       var loadingOther = (this.cycleH == 0 && this.cycleW == 0 && !this.complete);
       // don't requeue for images that are still loading but have a valid size
       if (loadingIE || loadingFF || loadingOp || loadingOther) {
        if (o.s && opts.requeueOnImageNotLoaded && ++options.requeueAttempts < 100) { // track retry count so we don't loop forever
         log(options.requeueAttempts,' - img slide not loaded, requeuing slideshow: ', this.src, this.cycleW, this.cycleH);
         setTimeout(function() {$(o.s,o.c).cycle(options)}, opts.requeueTimeout);
         requeue = true;
         return false; // break each loop
        else {
         log('could not determine size of image: '+this.src, this.cycleW, this.cycleH);
      return true;
    if (requeue)
      return false;
    opts.cssBefore = opts.cssBefore || {};
    opts.animIn = opts.animIn || {};
    opts.animOut = opts.animOut || {};
    $slides.not(':eq('+first+')').css(opts.cssBefore);
    if (opts.cssFirst)
      $($slides[first]).css(opts.cssFirst);
    if (opts.timeout) {
      opts.timeout = parseInt(opts.timeout);
      // ensure that timeout and speed settings are sane
      if (opts.speed.constructor == String)
       opts.speed = $.fx.speeds[opts.speed] || parseInt(opts.speed);
      if (!opts.sync)
       opts.speed = opts.speed / 2;
      var buffer = opts.fx == 'shuffle' ? 500 : 250;
      while((opts.timeout - opts.speed) < buffer) // sanitize timeout
       opts.timeout += opts.speed;
    if (opts.easing)
      opts.easeIn = opts.easeOut = opts.easing;
    if (!opts.speedIn)
      opts.speedIn = opts.speed;
    if (!opts.speedOut)
      opts.speedOut = opts.speed;
    opts.slideCount = els.length;
    opts.currSlide = opts.lastSlide = first;
    if (opts.random) {
      if (++opts.randomIndex == els.length)
       opts.randomIndex = 0;
      opts.nextSlide = opts.randomMap[opts.randomIndex];
    else if (opts.backwards)
      opts.nextSlide = opts.startingSlide == 0 ? (els.length-1) : opts.startingSlide-1;
    else
      opts.nextSlide = opts.startingSlide >= (els.length-1) ? 0 : opts.startingSlide+1;
    // run transition init fn
    if (!opts.multiFx) {
      var init = $.fn.cycle.transitions[opts.fx];
      if ($.isFunction(init))
       init($cont, $slides, opts);
      else if (opts.fx != 'custom' && !opts.multiFx) {
       log('unknown transition: ' + opts.fx,'; slideshow terminating');
       return false;
    // fire artificial events
    var e0 = $slides[first];
    if (opts.before.length)
      opts.before[0].apply(e0, [e0, e0, opts, true]);
    if (opts.after.length > 1)
      opts.after[1].apply(e0, [e0, e0, opts, true]);
    if (opts.next)
      $(opts.next).bind(opts.prevNextEvent,function(){return advance(opts,opts.rev?-1:1)});
    if (opts.prev)
      $(opts.prev).bind(opts.prevNextEvent,function(){return advance(opts,opts.rev?1:-1)});
    if (opts.pager || opts.pagerAnchorBuilder)
      buildPager(els,opts);
    exposeAddSlide(opts, els);
    return opts;
    // save off original opts so we can restore after clearing state
    function saveOriginalOpts(opts) {
    opts.original = { before: [], after: [] };
    opts.original.cssBefore = $.extend({}, opts.cssBefore);
    opts.original.cssAfter  = $.extend({}, opts.cssAfter);
    opts.original.animIn = $.extend({}, opts.animIn);
    opts.original.animOut   = $.extend({}, opts.animOut);
    $.each(opts.before, function() { opts.original.before.push(this); });
    $.each(opts.after,  function() { opts.original.after.push(this); });
    function supportMultiTransitions(opts) {
    var i, tx, txs = $.fn.cycle.transitions;
    // look for multiple effects
    if (opts.fx.indexOf(',') > 0) {
      opts.multiFx = true;
      opts.fxs = opts.fx.replace(/\s*/g,'').split(',');
      // discard any bogus effect names
      for (i=0; i < opts.fxs.length; i++) {
       var fx = opts.fxs[i];
       tx = txs[fx];
       if (!tx || !txs.hasOwnProperty(fx) || !$.isFunction(tx)) {
        log('discarding unknown transition: ',fx);
        opts.fxs.splice(i,1);
        i--;
      // if we have an empty list then we threw everything away!
      if (!opts.fxs.length) {
       log('No valid transitions named; slideshow terminating.');
       return false;
    else if (opts.fx == 'all') {  // auto-gen the list of transitions
      opts.multiFx = true;
      opts.fxs = [];
      for (p in txs) {
       tx = txs[p];
       if (txs.hasOwnProperty(p) && $.isFunction(tx))
        opts.fxs.push(p);
    if (opts.multiFx && opts.randomizeEffects) {
      // munge the fxs array to make effect selection random
      var r1 = Math.floor(Math.random() * 20) + 30;
      for (i = 0; i < r1; i++) {
       var r2 = Math.floor(Math.random() * opts.fxs.length);
       opts.fxs.push(opts.fxs.splice(r2,1)[0]);
      debug('randomized fx sequence: ',opts.fxs);
    return true;
    // provide a mechanism for adding slides after the slideshow has started
    function exposeAddSlide(opts, els) {
    opts.addSlide = function(newSlide, prepend) {
      var $s = $(newSlide), s = $s[0];
      if (!opts.autostopCount)
       opts.countdown++;
      els[prepend?'unshift':'push'](s);
      if (opts.els)
       opts.els[prepend?'unshift':'push'](s); // shuffle needs this
      opts.slideCount = els.length;
      $s.css('position','absolute');
      $s[prepend?'prependTo':'appendTo'](opts.$cont);
      if (prepend) {
       opts.currSlide++;
       opts.nextSlide++;
      if (!$.support.opacity && opts.cleartype && !opts.cleartypeNoBg)
       clearTypeFix($s);
      if (opts.fit && opts.width)
       $s.width(opts.width);
      if (opts.fit && opts.height && opts.height != 'auto')
       $slides.height(opts.height);
      s.cycleH = (opts.fit && opts.height) ? opts.height : $s.height();
      s.cycleW = (opts.fit && opts.width) ? opts.width : $s.width();
      $s.css(opts.cssBefore);
      if (opts.pager || opts.pagerAnchorBuilder)
       $.fn.cycle.createPagerAnchor(els.length-1, s, $(opts.pager), els, opts);
      if ($.isFunction(opts.onAddSlide))
       opts.onAddSlide($s);
      else
       $s.hide(); // default behavior
    // reset internal state; we do this on every pass in order to support multiple effects
    $.fn.cycle.resetState = function(opts, fx) {
    fx = fx || opts.fx;
    opts.before = []; opts.after = [];
    opts.cssBefore = $.extend({}, opts.original.cssBefore);
    opts.cssAfter  = $.extend({}, opts.original.cssAfter);
    opts.animIn = $.extend({}, opts.original.animIn);
    opts.animOut   = $.extend({}, opts.original.animOut);
    opts.fxFn = null;
    $.each(opts.original.before, function() { opts.before.push(this); });
    $.each(opts.original.after,  function() { opts.after.push(this); });
    // re-init
    var init = $.fn.cycle.transitions[fx];
    if ($.isFunction(init))
      init(opts.$cont, $(opts.elements), opts);
    // this is the main engine fn, it handles the timeouts, callbacks and slide index mgmt
    function go(els, opts, manual, fwd) {
    // opts.busy is true if we're in the middle of an animation
    if (manual && opts.busy && opts.manualTrump) {
      // let manual transitions requests trump active ones
      debug('manualTrump in go(), stopping active transition');
      $(els).stop(true,true);
      opts.busy = false;
    // don't begin another timeout-based transition if there is one active
    if (opts.busy) {
      debug('transition active, ignoring new tx request');
      return;
    var p = opts.$cont[0], curr = els[opts.currSlide], next = els[opts.nextSlide];
    // stop cycling if we have an outstanding stop request
    if (p.cycleStop != opts.stopCount || p.cycleTimeout === 0 && !manual)
      return;
    // check to see if we should stop cycling based on autostop options
    if (!manual && !p.cyclePause && !opts.bounce &&
      ((opts.autostop && (--opts.countdown <= 0)) ||
      (opts.nowrap && !opts.random && opts.nextSlide < opts.currSlide))) {
      if (opts.end)
       opts.end(opts);
      return;
    // if slideshow is paused, only transition on a manual trigger
    var changed = false;
    if ((manual || !p.cyclePause) && (opts.nextSlide != opts.currSlide)) {
      changed = true;
      var fx = opts.fx;
      // keep trying to get the slide size if we don't have it yet
      curr.cycleH = curr.cycleH || $(curr).height();
      curr.cycleW = curr.cycleW || $(curr).width();
      next.cycleH = next.cycleH || $(next).height();
      next.cycleW = next.cycleW || $(next).width();
      // support multiple transition types
      if (opts.multiFx) {
       if (opts.lastFx == undefined || ++opts.lastFx >= opts.fxs.length)
        opts.lastFx = 0;
       fx = opts.fxs[opts.lastFx];
       opts.currFx = fx;
      // one-time fx overrides apply to:  $('div').cycle(3,'zoom');
      if (opts.oneTimeFx) {
       fx = opts.oneTimeFx;
       opts.oneTimeFx = null;
      $.fn.cycle.resetState(opts, fx);
      // run the before callbacks
      if (opts.before.length)
       $.each(opts.before, function(i,o) {
        if (p.cycleStop != opts.stopCount) return;
        o.apply(next, [curr, next, opts, fwd]);
      // stage the after callacks
      var after = function() {
       $.each(opts.after, function(i,o) {
        if (p.cycleStop != opts.stopCount) return;
        o.apply(next, [curr, next, opts, fwd]);
      debug('tx firing; currSlide: ' + opts.currSlide + '; nextSlide: ' + opts.nextSlide);
      // get ready to perform the transition
      opts.busy = 1;
      if (opts.fxFn) // fx function provided?
       opts.fxFn(curr, next, opts, after, fwd, manual && opts.fastOnEvent);
      else if ($.isFunction($.fn.cycle[opts.fx])) // fx plugin ?
       $.fn.cycle[opts.fx](curr, next, opts, after, fwd, manual && opts.fastOnEvent);
      else
       $.fn.cycle.custom(curr, next, opts, after, fwd, manual && opts.fastOnEvent);
    if (changed || opts.nextSlide == opts.currSlide) {
      // calculate the next slide
      opts.lastSlide = opts.currSlide;
      if (opts.random) {
       opts.currSlide = opts.nextSlide;
       if (++opts.randomIndex == els.length)
        opts.randomIndex = 0;
       opts.nextSlide = opts.randomMap[opts.randomIndex];
       if (opts.nextSlide == opts.currSlide)
        opts.nextSlide = (opts.currSlide == opts.slideCount - 1) ? 0 : opts.currSlide + 1;
      else if (opts.backwards) {
       var roll = (opts.nextSlide - 1) < 0;
       if (roll && opts.bounce) {
        opts.backwards = !opts.backwards;
        opts.nextSlide = 1;
        opts.currSlide = 0;
       else {
        opts.nextSlide = roll ? (els.length-1) : opts.nextSlide-1;
        opts.currSlide = roll ? 0 : opts.nextSlide+1;
      else { // sequence
       var roll = (opts.nextSlide + 1) == els.length;
       if (roll && opts.bounce) {
        opts.backwards = !opts.backwards;
        opts.nextSlide = els.length-2;
        opts.currSlide = els.length-1;
       else {
        opts.nextSlide = roll ? 0 : opts.nextSlide+1;
        opts.currSlide = roll ? els.length-1 : opts.nextSlide-1;
    if (changed && opts.pager)
      opts.updateActivePagerLink(opts.pager, opts.currSlide, opts.activePagerClass);
    // stage the next transition
    var ms = 0;
    if (opts.timeout && !opts.continuous)
      ms = getTimeout(els[opts.currSlide], els[opts.nextSlide], opts, fwd);
    else if (opts.continuous && p.cyclePause) // continuous shows work off an after callback, not this timer logic
      ms = 10;
    if (ms > 0)
      p.cycleTimeout = setTimeout(function(){ go(els, opts, 0, (!opts.rev && !opts.backwards)) }, ms);
    // invoked after transition
    $.fn.cycle.updateActivePagerLink = function(pager, currSlide, clsName) {
       $(pager).each(function() {
           $(this).children().removeClass(clsName).eq(currSlide).addClass(clsName);
    // calculate timeout value for current transition
    function getTimeout(curr, next, opts, fwd) {
    if (opts.timeoutFn) {
      // call user provided calc fn
      var t = opts.timeoutFn.call(curr,curr,next,opts,fwd);
      while ((t - opts.speed) < 250) // sanitize timeout
       t += opts.speed;
      debug('calculated timeout: ' + t + '; speed: ' + opts.speed);
      if (t !== false)
       return t;
    return opts.timeout;
    // expose next/prev function, caller must pass in state
    $.fn.cycle.next = function(opts) { advance(opts, opts.rev?-1:1); };
    $.fn.cycle.prev = function(opts) { advance(opts, opts.rev?1:-1);};
    // advance slide forward or back
    function advance(opts, val) {
    var els = opts.elements;
    var p = opts.$cont[0], timeout = p.cycleTimeout;
    if (timeout) {
      clearTimeout(timeout);
      p.cycleTimeout = 0;
    if (opts.random && val < 0) {
      // move back to the previously display slide
      opts.randomIndex--;
      if (--opts.randomIndex == -2)
       opts.randomIndex = els.length-2;
      else if (opts.randomIndex == -1)
       opts.randomIndex = els.length-1;
      opts.nextSlide = opts.randomMap[opts.randomIndex];
    else if (opts.random) {
      opts.nextSlide = opts.randomMap[opts.randomIndex];
    else {
      opts.nextSlide = opts.currSlide + val;
      if (opts.nextSlide < 0) {
       if (opts.nowrap) return false;
       opts.nextSlide = els.length - 1;
      else if (opts.nextSlide >= els.length) {
       if (opts.nowrap) return false;
       opts.nextSlide = 0;
    var cb = opts.onPrevNextEvent || opts.prevNextClick; // prevNextClick is deprecated
    if ($.isFunction(cb))
      cb(val > 0, opts.nextSlide, els[opts.nextSlide]);
    go(els, opts, 1, val>=0);
    return false;
    function buildPager(els, opts) {
    var $p = $(opts.pager);
    $.each(els, function(i,o) {
      $.fn.cycle.createPagerAnchor(i,o,$p,els,opts);
    opts.updateActivePagerLink(opts.pager, opts.startingSlide, opts.activePagerClass);
    $.fn.cycle.createPagerAnchor = function(i, el, $p, els, opts) {
    var a;
    if ($.isFunction(opts.pagerAnchorBuilder)) {
      a = opts.pagerAnchorBuilder(i,el);
      debug('pagerAnchorBuilder('+i+', el) returned: ' + a);
    else
      a = '<a href="#">'+(i+1)+'</a>';
    if (!a)
      return;
    var $a = $(a);
    // don't reparent if anchor is in the dom
    if ($a.parents('body').length === 0) {
      var arr = [];
      if ($p.length > 1) {
       $p.each(function() {
        var $clone = $a.clone(true);
        $(this).append($clone);
        arr.push($clone[0]);
       $a = $(arr);
      else {
       $a.appendTo($p);
    opts.pagerAnchors =  opts.pagerAnchors || [];
    opts.pagerAnchors.push($a);
    $a.bind(opts.pagerEvent, function(e) {
      e.preventDefault();
      opts.nextSlide = i;
      var p = opts.$cont[0], timeout = p.cycleTimeout;
      if (timeout) {
       clearTimeout(timeout);
       p.cycleTimeout = 0;
      var cb = opts.onPagerEvent || opts.pagerClick; // pagerClick is deprecated
      if ($.isFunction(cb))
       cb(opts.nextSlide, els[opts.nextSlide]);
      go(els,opts,1,opts.currSlide < i); // trigger the trans
    //  return false; // <== allow bubble
    if ( ! /^click/.test(opts.pagerEvent) && !opts.allowPagerClickBubble)
      $a.bind('click.cycle', function(){return false;}); // suppress click
    if (opts.pauseOnPagerHover)
      $a.hover(function() { opts.$cont[0].cyclePause++; }, function() { opts.$cont[0].cyclePause--; } );
    // helper fn to calculate the number of slides between the current and the next
    $.fn.cycle.hopsFromLast = function(opts, fwd) {
    var hops, l = opts.lastSlide, c = opts.currSlide;
    if (fwd)
      hops = c > l ? c - l : opts.slideCount - l;
    else
      hops = c < l ? l - c : l + opts.slideCount - c;
    return hops;
    // fix clearType problems in ie6 by setting an explicit bg color
    // (otherwise text slides look horrible during a fade transition)
    function clearTypeFix($slides) {
    debug('applying clearType background-color hack');
    function hex(s) {
      s = parseInt(s).toString(16);
      return s.length < 2 ? '0'+s : s;
    function getBg(e) {
      for ( ; e && e.nodeName.toLowerCase() != 'html'; e = e.parentNode) {
       var v = $.css(e,'background-color');
       if (v.indexOf('rgb') >= 0 ) {
        var rgb = v.match(/\d+/g);
        return '#'+ hex(rgb[0]) + hex(rgb[1]) + hex(rgb[2]);
       if (v && v != 'transparent')
        return v;
      return '#ffffff';
    $slides.each(function() { $(this).css('background-color', getBg(this)); });
    // reset common props before the next transition
    $.fn.cycle.commonReset = function(curr,next,opts,w,h,rev) {
    $(opts.elements).not(curr).hide();
    opts.cssBefore.opacity = 1;
    opts.cssBefore.display = 'block';
    if (w !== false && next.cycleW > 0)
      opts.cssBefore.width = next.cycleW;
    if (h !== false && next.cycleH > 0)
      opts.cssBefore.height = next.cycleH;
    opts.cssAfter = opts.cssAfter || {};
    opts.cssAfter.display = 'none';
    $(curr).css('zIndex',opts.slideCount + (rev === true ? 1 : 0));
    $(next).css('zIndex',opts.slideCount + (rev === true ? 0 : 1));
    // the actual fn for effecting a transition
    $.fn.cycle.custom = function(curr, next, opts, cb, fwd, speedOverride) {
    var $l = $(curr), $n = $(next);
    var speedIn = opts.speedIn, speedOut = opts.speedOut, easeIn = opts.easeIn, easeOut = opts.easeOut;
    $n.css(opts.cssBefore);
    if (speedOverride) {
      if (typeof speedOverride == 'number')
       speedIn = speedOut = speedOverride;
      else
       speedIn = speedOut = 1;
      easeIn = easeOut = null;
    var fn = function() {$n.animate(opts.animIn, speedIn, easeIn, cb)};
    $l.animate(opts.animOut, speedOut, easeOut, function() {
      if (opts.cssAfter) $l.css(opts.cssAfter);
      if (!opts.sync) fn();
    if (opts.sync) fn();
    // transition definitions - only fade is defined here, transition pack defines the rest
    $.fn.cycle.transitions = {
    fade: function($cont, $slides, opts) {
      $slides.not(':eq('+opts.currSlide+')').css('opacity',0);
      opts.before.push(function(curr,next,opts) {
       $.fn.cycle.commonReset(curr,next,opts);
       opts.cssBefore.opacity = 0;
      opts.animIn    = { opacity: 1 };
      opts.animOut   = { opacity: 0 };
      opts.cssBefore = { top: 0, left: 0 };
    $.fn.cycle.ver = function() { return ver; };
    // override these globally if you like (they are all optional)
    $.fn.cycle.defaults = {
    fx:     'fade', // name of transition effect (or comma separated names, ex: 'fade,scrollUp,shuffle')
    timeout:    4000,  // milliseconds between slide transitions (0 to disable auto advance)
    timeoutFn:     null,  // callback for determining per-slide timeout value:  function(currSlideElement, nextSlideElement, options, forwardFlag)
    continuous:    0,   // true to start next transition immediately after current one completes
    speed:     1000,  // speed of the transition (any valid fx speed value)
    speedIn:    null,  // speed of the 'in' transition
    speedOut:    null,  // speed of the 'out' transition
    next:     null,  // selector for element to use as event trigger for next slide
    prev:     null,  // selector for element to use as event trigger for previous slide
    // prevNextClick: null,  // @deprecated; please use onPrevNextEvent instead
    onPrevNextEvent: null,  // callback fn for prev/next events: function(isNext, zeroBasedSlideIndex, slideElement)
    prevNextEvent:'click.cycle',// event which drives the manual transition to the previous or next slide
    pager:     null,  // selector for element to use as pager container
    //pagerClick   null,  // @deprecated; please use onPagerEvent instead
    onPagerEvent:  null,  // callback fn for pager events: function(zeroBasedSlideIndex, slideElement)
    pagerEvent:   'click.cycle', // name of event which drives the pager navigation
    allowPagerClickBubble: false, // allows or prevents click event on pager anchors from bubbling
    pagerAnchorBuilder: null, // callback fn for building anchor links:  function(index, DOMelement)
    before:     null,  // transition callback (scope set to element to be shown):  function(currSlideElement, nextSlideElement, options, forwardFlag)
    after:     null,  // transition callback (scope set to element that was shown):  function(currSlideElement, nextSlideElement, options, forwardFlag)
    end:     null,  // callback invoked when the slideshow terminates (use with autostop or nowrap options): function(options)
    easing:     null,  // easing method for both in and out transitions
    easeIn:     null,  // easing for "in" transition
    easeOut:    null,  // easing for "out" transition
    shuffle:    null,  // coords for shuffle animation, ex: { top:15, left: 200 }
    animIn:     null,  // properties that define how the slide animates in
    animOut:    null,  // properties that define how the slide animates out
    cssBefore:    null,  // properties that define the initial state of the slide before transitioning in
    cssAfter:    null,  // properties that defined the state of the slide after transitioning out
    fxFn:     null,  // function used to control the transition: function(currSlideElement, nextSlideElement, options, afterCalback, forwardFlag)
    height:    'auto', // container height
    startingSlide: 0,   // zero-based index of the first slide to be displayed
    sync:     1,   // true if in/out transitions should occur simultaneously
    random:     0,   // true for random, false for sequence (not applicable to shuffle fx)
    fit:     0,   // force slides to fit container
    containerResize: 1,   // resize container to fit largest slide
    pause:     0,   // true to enable "pause on hover"
    pauseOnPagerHover: 0, // true to pause when hovering over pager link
    autostop:    0,   // true to end slideshow after X transitions (where X == slide count)
    autostopCount: 0,   // number of transitions (optionally used with autostop to define X)
    delay:     0,   // additional delay (in ms) for first transition (hint: can be negative)
    slideExpr:    null,  // expression for selecting slides (if something other than all children is required)
    cleartype:    !$.support.opacity,  // true if clearType corrections should be applied (for IE)
    cleartypeNoBg: false, // set to true to disable extra cleartype fixing (leave false to force background color setting on slides)
    nowrap:     0,   // true to prevent slideshow from wrapping
    fastOnEvent:   0,   // force fast transitions when triggered manually (via pager or prev/next); value == time in ms
    randomizeEffects: 1,  // valid when multiple effects are used; true to make the effect sequence random
    rev:     0,  // causes animations to transition in reverse
    manualTrump:   true,  // causes manual transition to stop an active transition instead of being ignored
    requeueOnImageNotLoaded: true, // requeue the slideshow if any image slides are not yet loaded
    requeueTimeout: 250,  // ms delay for requeue
    activePagerClass: 'activeSlide', // class name used for the active pager link
    updateActivePagerLink: null, // callback fn invoked to update the active pager link (adds/removes activePagerClass style)
    backwards:     false  // true to start slideshow at last slide and move backwards through the stack
    })(jQuery);
    * jQuery Cycle Plugin Transition Definitions
    * This script is a plugin for the jQuery Cycle Plugin
    * Examples and documentation at: http://malsup.com/jquery/cycle/
    * Copyright (c) 2007-2010 M. Alsup
    * Version:  2.72
    * Dual licensed under the MIT and GPL licenses:
    * http://www.opensource.org/licenses/mit-license.php
    * http://www.gnu.org/licenses/gpl.html
    (function($) {
    // These functions define one-time slide initialization for the named
    // transitions. To save file size feel free to remove any of these that you
    // don't need.
    $.fn.cycle.transitions.none = function($cont, $slides, opts) {
    opts.fxFn = function(curr,next,opts,after){
      $(next).show();
      $(curr).hide();
      after();
    // scrollUp/Down/Left/Right
    $.fn.cycle.transitions.scrollUp = function($cont, $slides, opts) {
    $cont.css('overflow','hidden');
    opts.before.push($.fn.cycle.commonReset);
    var h = $cont.height();
    opts.cssBefore ={ top: h, left: 0 };
    opts.cssFirst = { top: 0 };
    opts.animIn   = { top: 0 };
    opts.animOut  = { top: -h };
    $.fn.cycle.transitions.scrollDown = function($cont, $slides, opts) {
    $cont.css('overflow','hidden');
    opts.before.push($.fn.cycle.commonReset);
    var h = $cont.height();
    opts.cssFirst = { top: 0 };
    opts.cssBefore= { top: -h, left: 0 };
    opts.animIn   = { top: 0 };
    opts.animOut  = { top: h };
    $.fn.cycle.transitions.scrollLeft = function($cont, $slides, opts) {
    $cont.css('overflow','hidden');
    opts.before.push($.fn.cycle.commonReset);
    var w = $cont.width();
    opts.cssFirst = { left: 0 };
    opts.cssBefore= { left: w, top: 0 };
    opts.animIn   = { left: 0 };
    opts.animOut  = { left: 0-w };
    $.fn.cycle.transitions.scrollRight = function($cont, $slides, opts) {
    $cont.css('overflow','hidden');
    opts.before.push($.fn.cycle.commonReset);
    var w = $cont.width();
    opts.cssFirst = { left: 0 };
    opts.cssBefore= { left: -w, top: 0 };
    opts.animIn   = { left: 0 };
    opts.animOut  = { left: w };
    $.fn.cycle.transitions.scrollHorz = function($cont, $slides, opts) {
    $cont.css('overflow','hidden').width();
    opts.before.push(function(curr, next, opts, fwd) {
      $.fn.cycle.commonReset(curr,next,opts);
      opts.cssBefore.left = fwd ? (next.cycleW-1) : (1-next.cycleW);
      opts.animOut.left = fwd ? -curr.cycleW : curr.cycleW;
    opts.cssFirst = { left: 0 };
    opts.cssBefore= { top: 0 };
    opts.animIn   = { left: 0 };
    opts.animOut  = { top: 0 };
    $.fn.cycle.transitions.scrollVert = function($cont, $slides, opts) {
    $cont.css('overflow','hidden');
    opts.before.push(function(curr, next, opts, fwd) {
      $.fn.cycle.commonReset(curr,next,opts);
      opts.cssBefore.top = fwd ? (1-next.cycleH) : (next.cycleH-1);
      opts.animOut.top = fwd ? curr.cycleH : -curr.cycleH;
    opts.cssFirst = { top: 0 };
    opts.cssBefore= { left: 0 };
    opts.animIn   = { top: 0 };
    opts.animOut  = { left: 0 };
    // slideX/slideY
    $.fn.cycle.transitions.slideX = function($cont, $slides, opts) {
    opts.before.push(function(curr, next, opts) {
      $(opts.elements).not(curr).hide();
      $.fn.cycle.commonReset(curr,next,opts,false,true);
      opts.animIn.width = next.cycleW;
    opts.cssBefore = { left: 0, top: 0, width: 0 };
    opts.animIn  = { width: 'show' };
    opts.animOut = { width: 0 };
    $.fn.cycle.transitions.slideY = function($cont, $slides, opts) {
    opts.before.push(function(curr, next, opts) {
      $(opts.elements).not(curr).hide();
      $.fn.cycle.commonReset(curr,next,opts,true,false);
      opts.animIn.height = next.cycleH;
    opts.cssBefore = { left: 0, top: 0, height: 0 };
    opts.animIn  = { height: 'show' };
    opts.animOut = { height: 0 };
    // shuffle
    $.fn.cycle.transitions.shuffle = function($cont, $slides, opts) {
    var i, w = $cont.css('overflow', 'visible').width();
    $slides.css({left: 0, top: 0});
    opts.before.push(function(curr,next,opts) {
      $.fn.cycle.commonReset(curr,next,opts,true,true,true);
    // only adjust speed once!
    if (!opts.speedAdjusted) {
      opts.speed = opts.speed / 2; // shuffle has 2 transitions
      opts.speedAdjusted = true;
    opts.random = 0;
    opts.shuffle = opts.shuffle || {left:-w, top:15};
    opts.els = [];
    for (i=0; i < $slides.length; i++)
      opts.els.push($slides[i]);
    for (i=0; i < opts.currSlide; i++)
      opts.els.push(opts.els.shift());
    // custom transition fn (hat tip to Benjamin Sterling for this bit of sweetness!)
    opts.fxFn = function(curr, next, opts, cb, fwd) {
      var $el = fwd ? $(curr) : $(next);
      $(next).css(opts.cssBefore);
      var count = opts.slideCount;
      $el.animate(opts.shuffle, opts.speedIn, opts.easeIn, function() {
       var hops = $.fn.cycle.hopsFromLast(opts, fwd);
       for (var k=0; k < hops; k++)
        fwd ? opts.els.push(opts.els.shift()) : opts.els.unshift(opts.els.pop());
       if (fwd) {
        for (var i=0, len=opts.els.length; i < len; i++)
         $(opts.els[i]).css('z-index', len-i+count);
       else {
        var z = $(curr).css('z-index');
        $el.css('z-index', parseInt(z)+1+count);
       $el.animate({left:0, top:0}, opts.speedOut, opts.easeOut, function() {
        $(fwd ? this : curr).hide();
        if (cb) cb();
    opts.cssBefore = { display: 'block', opacity: 1, top: 0, left: 0 };
    // turnUp/Down/Left/Right
    $.fn.cycle.transitions.turnUp = function($cont, $slides, opts) {
    opts.before.push(function(curr, next, opts) {
      $.fn.cycle.commonReset(curr,next,opts,true,false);
      opts.cssBefore.top = next.cycleH;
      opts.animIn.height = next.cycleH;
    opts.cssFirst  = { top: 0 };
    opts.cssBefore = { left: 0, height: 0 };
    opts.animIn    = { top: 0 };
    opts.animOut   = { height: 0 };
    $.fn.cycle.transitions.turnDown = function($cont, $slides, opts) {
    opts.before.push(function(curr, next, opts) {
      $.fn.cycle.commonReset(curr,next,opts,true,false);
      opts.animIn.height = next.cycleH;
      opts.animOut.top   = curr.cycleH;
    opts.cssFirst  = { top: 0 };
    opts.cssBefore = { left: 0, top: 0, height: 0 };
    opts.animOut   = { height: 0 };
    $.fn.cycle.transitions.turnLeft = function($cont, $slides, opts) {
    opts.before.push(function(curr, next, opts) {
      $.fn.cycle.commonReset(curr,next,opts,false,true);
      opts.cssBefore.left = next.cycleW;
      opts.animIn.width = next.cycleW;
    opts.cssBefore = { top: 0, width: 0  };
    opts.animIn    = { left: 0 };
    opts.animOut   = { width: 0 };
    $.fn.cycle.transitions.turnRight = function($cont, $slides, opts) {
    opts.before.push(function(curr, next, opts) {
      $.fn.cycle.commonReset(curr,next,opts,false,true);
      opts.animIn.width = next.cycleW;
      opts.animOut.left = curr.cycleW;
    opts.cssBefore = { top: 0, left: 0, width: 0 };
    opts.animIn    = { left: 0 };
    opts.animOut   = { width: 0 };
    // zoom
    $.fn.cycle.transitions.zoom = function($cont, $slides, opts) {
    opts.before.push(function(curr, next, opts) {
      $.fn.cycle.commonReset(curr,next,opts,false,false,true);
      opts.cssBefore.top = next.cycleH/2;
      opts.cssBefore.left = next.cycleW/2;
      opts.animIn    = { top: 0, left: 0, width: next.cycleW, height: next.cycleH };
      opts.animOut   = { width: 0, height: 0, top: curr.cycleH/2, left: curr.cycleW/2 };
    opts.cssFirst = { top:0, left: 0 };
    opts.cssBefore = { width: 0, height: 0 };
    // fadeZoom
    $.fn.cycle.transitions.fadeZoom = function($cont, $slides, opts) {
    opts.before.push(function(curr, next, opts) {
      $.fn.cycle.commonReset(curr,next,opts,false,false);
      opts.cssBefore.left = next.cycleW/2;
      opts.cssBefore.top = next.cycleH/2;
      opts.animIn = { top: 0, left: 0, width: next.cycleW, height: next.cycleH };
    opts.cssBefore = { width: 0, height: 0 };
    opts.animOut  = { opacity: 0 };
    // blindX
    $.fn.cycle.transitions.blindX = function($cont, $slides, opts) {
    var w = $cont.css('overflow','hidden').width();
    opts.before.push(function(curr, next, opts) {
      $.fn.cycle.commonReset(curr,next,opts);
      opts.animIn.width = next.cycleW;
      opts.animOut.left   = curr.cycleW;
    opts.cssBefore = { left: w, top: 0 };
    opts.animIn = { left: 0 };
    opts.animOut  = { left: w };
    // blindY
    $.fn.cycle.transitions.blindY = function($cont, $slides, opts) {
    var h = $cont.css('overflow','hidden').height();
    opts.before.push(function(curr, next, opts) {
      $.fn.cycle.commonReset(curr,next,opts);
      opts.animIn.height = next.cycleH;
      opts.animOut.top   = curr.cycleH;
    opts.cssBefore = { top: h, left: 0 };
    opts.animIn = { top: 0 };
    opts.animOut  = { top: h };
    // blindZ
    $.fn.cycle.transitions.blindZ = function($cont, $slides, opts) {
    var h = $cont.css('overflow','hidden').height();
    var w = $cont.width();
    opts.before.push(function(curr, next, opts) {
      $.fn.cycle.commonReset(curr,next,opts);
      opts.animIn.height = next.cycleH;
      opts.animOut.top   = curr.cycleH;
    opts.cssBefore = { top: h, left: w };
    opts.animIn = { top: 0, left: 0 };
    opts.animOut  = { top: h, left: w };
    // growX - grow horizontally from centered 0 width
    $.fn.cycle.transitions.growX = function($cont, $slides, opts) {
    opts.before.push(function(curr, next, opts) {
      $.fn.cycle.commonReset(curr,next,opts,false,true);
      opts.cssBefore.left = this.cycleW/2;
      opts.animIn = { left: 0, width: this.cycleW };
      opts.animOut = { left: 0 };
    opts.cssBefore = { width: 0, top: 0 };
    // growY - grow vertically from centered 0 height
    $.fn.cycle.transitions.growY = function($cont, $slides, opts) {
    opts.before.push(function(curr, next, opts) {
      $.fn.cycle.commonReset(curr,next,opts,true,false);
      opts.cssBefore.top = this.cycleH/2;
      opts.animIn = { top: 0, height: this.cycleH };
      opts.animOut = { top: 0 };
    opts.cssBefore = { height: 0, left: 0 };
    // curtainX - squeeze in both edges horizontally
    $.fn.cycle.transitions.curtainX = function($cont, $slides, opts) {
    opts.before.push(function(curr, next, opts) {
      $.fn.cycle.commonReset(curr,next,opts,false,true,true);
      opts.cssBefore.left = next.cycleW/2;
      opts.animIn = { left: 0, width: this.cycleW };
      opts.animOut = { left: curr.cycleW/2, width: 0 };
    opts.cssBefore = { top: 0, width: 0 };
    // curtainY - squeeze in both edges vertically
    $.fn.cycle.transitions.curtainY = function($cont, $slides, opts) {
    opts.before.push(function(curr, next, opts) {
      $.fn.cycle.commonReset(curr,next,opts,true,false,true);
      opts.cssBefore.top = next.cycleH/2;
      opts.animIn = { top: 0, height: next.cycleH };
      opts.animOut = { top: curr.cycleH/2, height: 0 };
    opts.cssBefore = { left: 0, height: 0 };
    // cover - curr slide covered by next slide
    $.fn.cycle.transitions.cover = function($cont, $slides, opts) {
    var d = opts.direction || 'left';
    var w = $cont.css('overflow','hidden').width();
    var h = $cont.height();
    opts.before.push(function(curr, next, opts) {
      $.fn.cycle.commonReset(curr,next,opts);
      if (d == 'right')
       opts.cssBefore.left = -w;
      else if (d == 'up')
       opts.cssBefore.top = h;
      else if (d == 'down')
       opts.cssBefore.top = -h;
      else
       opts.cssBefore.left = w;
    opts.animIn = { left: 0, top: 0};
    opts.animOut = { opacity: 1 };
    opts.cssBefore = { top: 0, left: 0 };
    // uncover - curr slide moves off next slide
    $.fn.cycle.transitions.uncover = function($cont, $slides, opts) {
    var d = opts.direction || 'left';
    var w = $cont.css('overflow','hidden').width();
    var h = $cont.height();
    opts.before.push(function(curr, next, opts) {
      $.fn.cycle.commonReset(curr,next,opts,true,true,true);
      if (d == 'right')
       opts.animOut.left = w;
      else if (d == 'up')
       opts.animOut.top = -h;
      else if (d == 'down')
       opts.animOut.top = h;
      else
       opts.animOut.left = -w;
    opts.animIn = { left: 0, top: 0 };
    opts.animOut = { opacity: 1 };
    opts.cssBefore = { top: 0, left: 0 };
    // toss - move top slide and fade away
    $.fn.cycle.transitions.toss = function($cont, $slides, opts) {
    var w = $cont.css('overflow','visible').width();
    var h = $cont.height();
    opts.before.push(function(curr, next, opts) {
      $.fn.cycle.commonReset(curr,next,opts,true,true,true);
      // provide default toss settings if animOut not provided
      if (!opts.animOut.left && !opts.animOut.top)
       opts.animOut = { left: w*2, top: -h/2, opacity: 0 };
      else
       opts.animOut.opacity = 0;
    opts.cssBefore = { left: 0, top: 0 };
    opts.animIn = { left: 0 };
    // wipe - clip animation
    $.fn.cycle.transitions.wipe = function($cont, $slides, opts) {
    var w = $cont.css('overflow','hidden').width();
    var h = $cont.height();
    opts.cssBefore = opts.cssBefore || {};
    var clip;
    if (opts.clip) {
      if (/l2r/.test(opts.clip))
       clip = 'rect(0px 0px '+h+'px 0px)';
      else if (/r2l/.test(opts.clip))
       clip = 'rect(0px '+w+'px '+h+'px '+w+'px)';
      else if (/t2b/.test(opts.clip))
       clip = 'rect(0px '+w+'px 0px 0px)';
      else if (/b2t/.test(opts.clip))
       clip = 'rect('+h+'px '+w+'px '+h+'px 0px)';
      else if (/zoom/.test(opts.clip)) {
       var top = parseInt(h/2);
       var left = parseInt(w/2);
       clip = 'rect('+top+'px '+left+'px '+top+'px '+left+'px)';
    opts.cssBefore.clip = opts.cssBefore.clip || clip || 'rect(0px 0px 0px 0px)';
    var d = opts.cssBefore.clip.match(/(\d+)/g);
    var t = parseInt(d[0]), r = parseInt(d[1]), b = parseInt(d[2]), l = parseInt(d[3]);
    opts.before.push(function(curr, next, opts) {
      if (curr == next) return;
      var $curr = $(curr), $next = $(next);
      $.fn.cycle.commonReset(curr,next,opts,true,true,false);
      opts.cssAfter.display = 'block';
      var step = 1, count = parseInt((opts.speedIn / 13)) - 1;
      (function f() {
       var tt = t ? t - parseInt(step * (t/count)) : 0;
       var ll = l ? l - parseInt(step * (l/count)) : 0;
       var bb = b < h ? b + parseInt(step * ((h-b)/count || 1)) : h;
       var rr = r < w ? r + parseInt(step * ((w-r)/count || 1)) : w;
       $next.css({ clip: 'rect('+tt+'px '+rr+'px '+bb+'px '+ll+'px)' });
       (step++ <= count) ? setTimeout(f, 13) : $curr.css('display', 'none');
    opts.cssBefore = { display: 'block', opacity: 1, top: 0, left: 0 };
    opts.animIn    = { left: 0 };
    opts.animOut   = { left: 0 };
    })(jQuery);
    I still cannot get it to work

  • Advanced/Obscure iTunes Visualizer Transition Question

    When using the iTunes (v7.6.1) visualizer in "user config slideshow mode," the visualizer interjects a random waveform (that is not a part of any of my saved configurations) for about two seconds during each transition. This effectively ruins my "slideshow" by creating unwanted effects when trasitioning between my configs (which were specifically selected to transition elegantly). It does not interject random colors or background effects, just the waveform.
    To do a quick-easy test of this for yourself (if yours does the same as mine), turn on the visualizer, freeze the current configuration (cycle to freeze mode using "M") and save it to all presets (hold SHIFT and press 1,2,3,...0). Then toggle to user config slideshow mode. "Theoretically," it should work the same as freeze mode now since it is "changing" from same to same, but about every 10 seconds or so, the waveform will change to a random one and then change back to the saved one. You can even see the name of the waveform change during the transition if you press "C" repeatedly during the test.
    BTW, it does the same thing on both my iMac and my notebook PC.
    I haven't found an option for this or seen a discussion or article about this anywhere (I told you it was obscure).
    Is anyone aware of an option or technique that will "clean up" the transitions?

    Welcome to Apple Discussions!
    If you delete everything from your iTunes library
    (Moving it to the Recylcle Bin), you can then go to
    File>Add Folder to Library and select the Music
    folder from your external drive.
    Or, from the file browser you can locate the Music
    folder on the external drive and drag+drop it into
    the iTunes window.
    Hope this helps!
    hi,
    okay... this worked sort of, but now i've lost all my playlists. they are still on my actual ipod, but now i need to know... if i go to sync the ipod with itunes, will itunes recognize my playlists and move them into itunes? or do i now need to go through and manually re-setup all my playlists BEFORE syncing again, because the playlists will get wiped out when i go to sync?
    please let me know if you have any info about this... i really don't want to lose all my playlists.
    thanks,
    lori
    pc running windows xp Windows XP
    pc running windows xp Windows XP
    pc running windows xp Windows XP

  • Trying to make a DVD for my DVD player from iPhoto slideshow

    I have made an iPhoto slideshow of 100+ photos and 4 songs (from iTunes). I'm now trying to convert that slideshow to a DVD I can send to others and watch on my TV's DVD player. I used "Send to iDVD". When the transfer was completed, iDVD opened and I could play the slideshow (although only the first song would play; the rest of the slideshow was silent). Specifically, what are the next steps to get this slideshow into a format that I can burn onto a DVD?

    To get the highest quality images in your slideshow, create it in iDVD. Place your photos in one album and your 4 songs in a playlist. Create a new iDVD project, then click the + button and add a new slideshow. Inside the slideshow workspace, under Media/Photos locate the album with your photos and drag it to the slideshow pane. The photos will be in the same order as in your iPhoto album. In Media/Music locate the playlist and drag it to the slideshow sound button. You can have your photo titles and comments appear in your slideshow if you like. You can also have navigation buttons so the user can advance manually. Another feature is that you can include the image files on the DVD so that anyone with the DVD can load the photos into his computer.
    Limitations: no Ken Burns effect, only one type of transition applies to the whole slideshow. Many DVD players can't read more than 99 chapters, so the slideshow may pause or even stop after 99 photos (in an iDVD slideshow each photo is a DVD chapter). To avoid this, you can divide your photos and create more than one slideshow.
    Advantage: While you can export your iPhoto slideshow, the photo dimensions are a bit smaller than the slideshow created by iDVD (or so I've read). This is why many people prefer to let iDVD create the slideshow.

  • Premiere 9 unable to edit replace or delete transitions

    Hi
    Really struggling with this:-
    I have created a slideshow in Elements 9 containing stills and clips which I need to edit further in Pre. 9 to include scene markers and edit some of the clips. I right click the slideshow and select "edit in Pre. Elements" and then from the timeline again right click and select "break apart elements organiser slideshow" so far all ok. Unfotunately in the transfer it appears that transitions have been added where there arn't any in the original or have replaced a link between an additional pan/zoom on a still.  I have not been able to clear/delete or edit any of the transitions. The transitions look like they have been deleted or changed on the sceneline but when previewed the old ones are still there. I have also noted that some of the transitions are not compatible e.g. Gradient Wipe has a different effect in Elements that it does in Pre. Please help I really need to get rid of these unwanted transitions!!!
    Keith

    Thanks for the advice, that looks to be the only way round it as I have
    not found any of the transitions from Organizer Create Slideshow,
    including "None" that PRE can change/remove etc. As far as I can tell
    whatever options I select in the Create Slideshow (transition type and
    duration and slide duration) seem to be set in concrete as far as PRE is
    concerned.
    What was really bugging me though was that PRE was inserting an unwanted
    transition between linked slides, i.e. where an additional Pan&Zoom is
    added to a still (which BTW is a super effect great for highlighting
    multiple details on a photo). If I select all transitions in Organizer
    Create Slideshow and change it no problem here, the links are left
    alone, however PRE will apply that transition to the link i.e overwrite
    it.  Workaround is to add any additional Pan/Zooms only AFTER setting a
    default transition.
    Keith

  • New super wide transitions in Premiere CC over the top?

    After installing Premiere Pro CC on a new laptop and using it for the last couple of days, I'm glad to say that so far so good.  Not a single crash or hickup.
    The new transitions in Premiere CC are rather disappointing though.  I'm sure some people were asking for taller transition bars, but did Adobe really have to make them as huge as 95% of a clip's height?  This is distracting and can be a real PITA in certain situations, such as when trying to move a clip that's mostly or 100% covered by a cross dissolve for example.  In that situation, you're now left with very little clickable space to select the clip vs the transition.
    Do other have a similar experience?
    What would be the ideal height for transitions to have in the GUI?  I would think 50% of the clip's height, anytime the track it's on is expanded.  This would be much more visually clean and user-friendly than the current nonsense, IMO.

    Another new feature in Premiere CC with regards to transitions is that Premiere now applies transitions to both sides of any selected clip(s).  While I do see the benefit of this, Adobe's implementation unfortunately was not very well thought out.  In my experience, much more often than not, this results in unwanted transitions being created whenever I forget to deselect clips before using the keyboard shortcut to apply a transitions at the CTI (as I've come to expect from years of experience with pre-CC versions of Premiere). 
    To give users the best of both worlds, the new CC convenience of applying several transitions at once when so desired + the CS6 confidence that transitions will only be applied where and when desired, I would do the following tweaks:
    1 or more clips selected and CTI over selection = current CC behaviour: default transition set to every selected clip's in/out points
    1 or more clips selected and CTI outside of selection = CS6 behaviour: only apply default transitions to any clip in/out point(s) directly under the CTI
    By implementing these little tweaks, editors wouldn't have to worry about mistakenly adding transitions to selected clips that are, in the worse case scenario, not even in the viewable portion of the Timeline, whereby the changes go unnoticed!
    Premiere Pro genius BartW talks about this problem in his blog post: http://www.creativeimpatience.com/d-is-for-deselect-before-applying-a-default-transition/.  His suggested solution is to always press 'D' to deselect any potentially selected clips before using the apply transition shortcut.
    My proposed solution is for Adobe to respect the 'transition-only-under-CTI' muscle-memory developed over years of pre-CC editing by its faithful users and fix this problem as suggested above!
    Unfortunately this stands as yet another example of Adobe attempting to fix something, but not thinking it through properly and thus creating a new problem as a result.   When will the madness stop?
    I will be submitting an official FR for this and suggest others do as well.  I'll post it here after submitting.

  • Creating simple slideshows - is Catalyst the right tool?

    I am a photographer and I want to create a slideshow of 100 images or so to promote my business. I was doing this with iDVD and it's simple - but doesn't support HD and has no provisions for a "Ken Burns Effect". I've used iPhoto and it does everything I need, but can't really burn a disk of the slideshow that works on PCs or Macs (that I know of). I am fairly proficient in Photoshop.
    Here's my needs:
    - drop in a series of photos
    - create an order of the slides
    - a simple transition between slides (could be just a fade)
    - be able to do a manual Ken Burns on each slide (define start position and zoom / end position and zoom). So as that image is displayed it is moving somehow.
    - automatically fit the slide duration to a mix of music
    - burn a disk of that slideshow in HD (1080p or 720) give it to potential clients - they should be able to pop it into their Mac or PC and be able to play the slideshow just as I created it.
    So is this something I can do easily with Catalyst? Is there a tutorial specific for this kind of need? Is there a better app for this kind of thing?

    Robert-
    If you are looking to create DVD that is viewable on a TV or something that is viewable on a computer? Either way, Flash Catalyst is not the right tool. It might be part of an overall solution, but it might get very messy to develop. I would take a look at what Lightroom might offer, or try asking in a photography forum. They might know a tool that might fit your needs.
    Chris

  • IPhoto '09 Slideshow timing off

    I'm using iPhoto '09 with all the latest patches. I have 10.6.1 OS X.
    I have a slideshow of 99 pictures in iPhoto using the Snapshots theme. I have set the duration for all slides to 7.1 seconds, which should yield a slideshow duration of 11 minutes and 43 seconds, give or take a second or two. However, when I export the slideshow out to a quicktime DV format, it is only 10:57... almost a minute shy of what it should be.
    This is a problem because I have the last picture in the set timed out with the fading out of the music, if iPhoto would just follow my math / timing I told it to.
    So I go back and set the timing for 7.2 seconds on every slide... exact same result... total run time of 10:57. I do it again and adjust the slide duration to 7.5 seconds... exact same result... 10:57. So I quit iPhoto and go back in and rebuild the slideshow again, and this time set it to 8 seconds a slide... export to quicktime DV... exact same result... 10:57, ending a minute too early and cutting of the last minute of my song.
    The kicker is this... The slideshow was 100 (vs. 99 as it is now) and when I exported it to quicktime DV it came out to 12 minutes and 4 seconds long. The only thing I did was delete one photo and re-export it and it cut the slideshow down over a minute. ***???? Shouldn't it just make the slideshow 7 or so seconds shorter when I delete one photo????
    I'm so ****** about this crazy crap... makes me feel like I'm using a PC instead of a Mac when this arbitrary and illogical crap happens for no good reason.
    And before you say "just use the fit slideshow to music", let me tell you, it always errors out. I have three songs that I fused together into one .wav file using iMovie HD. It is 12:05 long. When I add it as the only song it iPhoto's custom playlist on the slideshow, and then enable the fit slideshow to music option, it tells me that the music I selected is too short for so many photos, and that I need at least 12:03 worth of music... even though I have 12:05 worth of music selected! How is that too short for 99 or 100 photos? That's like 7 seconds a photo, which is fairly long for each to display.
    This is microsoft dumb.

    If you still have a copy of iMovie HD 6 I suggest you use that to add the music to the slideshow. Create the slideshow without music, import it into iMovie HD 6, and add your audio tracks where you can trim, fade in/out, and have precise placement.
    Click to view full size

Maybe you are looking for

  • [OT] Need Help Tweaking Photos in Photoshop

    Although I know Photoshop fairly well, I am a novice in this general area of tweaking photos ... and could use some help. I have some inferior photos that I would like to do my best to fix up in Photoshop CS2. Many of them somehow turned out quite fa

  • Firewire drives are un-mounting

    I have a fall 2008 imac - running 10.6.3, have two external firewire drives from g-technology. all of my data is on the external firewire drives (itunes, documents and photos). the problem is that for the last three weeks - the drives have been un-mo

  • Question about this job SXMS_REFRESH_ADAPTER_STATUS

    Hi experts,     For what is this job: SXMS_REFRESH_ADAPTER_STATUS ?? The SAP people recommend me to schedule this jobs in my XI environment but I check over the internet to find some information of it but I don't find much. Someone can explain me the

  • Error in reading workflow container data and populate it in web dynpro pdf

    Hi, Please advise on the following issue. I have an adobe interactive form built inside a webdynpro java application, on a RFC call this form is sent as an xstring and the BAPI triggers a workflow in the backend. At any point of time, on passing a wo

  • How to rotate images tacken by iPad?

    Apple iPad MD513TA/T Over a thousand pictures have been taken by this iPad, but all upside down. Some of the pictures have been coppied/pasted to PC and have been tested for rotating by Windows Office Picture Manager.  The Office Picture Manager coul