48e329adfebcfbea1aba1ed37e0062bc499190aa
tdreszer
  Mon Nov 29 15:09:06 2010 -0800
Only one meassage is needed when the image exceeds 32,000 pixels.
diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c
index 68ba379..f39c5f6 100644
--- src/hg/hgTracks/hgTracks.c
+++ src/hg/hgTracks/hgTracks.c
@@ -2017,36 +2017,33 @@
         }
     else if (track->limitedVis != tvHide)
         flatTracksAdd(&flatTracks,track,cart);
     }
 flatTracksSort(&flatTracks); // Now we should have a perfectly good flat track list!
 struct track *prevTrack = NULL;
 for (flatTrack = flatTracks,prevTrack=NULL; flatTrack != NULL; flatTrack = flatTrack->next)
     {
     track = flatTrack->track;
     assert(track->limitedVis != tvHide);
     int totalHeight = pixHeight+trackPlusLabelHeight(track,fontHeight);
     if (maxSafeHeight < totalHeight)
         {
         char numBuf[SMALLBUF];
         sprintLongWithCommas(numBuf, maxSafeHeight);
-        printf("warning: image is over %s pixels high at "
-            "track '%s',<BR>remaining tracks set to hide "
-            "for this view.<BR>\n", numBuf, track->tdb->shortLabel);
-        warn("warning: image is over %s pixels high (%d pix) at "
-            "track '%s' (%s),<BR>remaining tracks set to hide "
-            "for this view.", numBuf, totalHeight, track->tdb->shortLabel,track->track);
+        if (safeHeight)  // Only one message
+            warn("Image is over %s pixels high (%d pix) at track:<BR>\"%s\".%s", numBuf, totalHeight, track->tdb->longLabel,
+                (flatTrack->next != NULL?"<BR>Additional tracks may have been set to hide at this zoom level.":""));
         safeHeight = FALSE;
         track->limitedVis = tvHide;
         track->limitedVisSet = TRUE;
         }
     if (track->limitedVis != tvHide)
         {
         track->prevTrack = prevTrack; // Important for keeping track of conditional center labels!
         pixHeight += trackPlusLabelHeight(track, fontHeight);
         prevTrack = track;
         }
     }
 
 imagePixelHeight = pixHeight;
 if (psOutput)
     {