home *** CD-ROM | disk | FTP | other *** search
/ Freeware for SPARC / sparcapps.tar / me / Apps / Graphics / Movie.app / Movie.nib / data.nib (.txt) < prev    next >
NeXT TypedStream Data  |  1994-06-07  |  17KB  |  272 lines

  1. streamtyped
  2. IBObjectData
  3. Object
  4. CustomObject
  5. Application
  6.     TextField
  7. Control
  8.     Responder
  9. TextFieldCell
  10. ActionCell
  11. Movie
  12.     Helvetica
  13. Version 2.51.1 of
  14. Courier
  15. Button
  16. ButtonCell
  17. NXImage
  18. appIcon
  19. Dec 13 1993
  20. LUse the code for whatever you want.
  21. Don't pretend that you wrote it, though.
  22. LWith code contributions from Christopher Lane 
  23. (lane@sumex-aim.stanford.edu)
  24. SModified for mpeg support by Andreas Windemuth 
  25. (windemut@cumbnd.bioc.columbia.edu)
  26. OWith code fragments from MPEGPlay2.3 by Brian Willoughby
  27. (BrianW@SoundS.WA.com)
  28. (by Patrick J. Flynn (flynn@eecs.wsu.edu)
  29. MenuCell
  30. Backward
  31. Matrix
  32. @:@iiii
  33.     Expand 2x
  34. Reduce 50%
  35. Restore
  36. Back 1 frame
  37. Forward
  38. Forward 1 frame
  39. ff@@#::s
  40. Print...
  41. MenuTemplate
  42. *@*@ccc
  43. Info Panel...
  44. Preferences...
  45. Help...
  46. submenuAction:
  47. NXmenuArrow
  48. Load...
  49. Play...
  50. Save current depth...
  51. Close
  52. Windows
  53. Arrange in Front
  54. Miniaturize Window
  55. Close Window
  56. ClipView
  57. ScrollView
  58. [2@]#
  59. Scroller
  60. _doScroller:
  61. @@@ffs*
  62. NXCursor
  63. NXibeam
  64. ciifffcfffs
  65. [11977c]{\rtf0\ansi{\fonttbl\f0\fswiss Helvetica;\f1\fmodern Courier;\f2\fmodern Ohlfs;}
  66. \margl40
  67. \margr40
  68. \pard\tx960\tx1920\tx2880\tx3840\tx4800\tx5760\tx6720\tx7680\tx8640\tx9600\f0\b\i0\ulnone\fs36\fc0\cf0 Movie 2.51.1: Even more improved TIFF sequence animator \
  69. \b0\fs24 \
  70. Modifications by Andreas Windemuth\
  71. Columbia University\
  72. 630 West 168th St. BB-221\
  73. New York, NY 10032\
  74. windemut@cumbnd.bioc.columbia.edu\
  75. Using some code from MPEGPlay2.3 by\
  76. Brian Willoughby        Software Design Engineer, BSEE NCSU\
  77. BrianW@SoundS.WA.com    Sound Consulting: Software Design and Development\
  78. NeXTmail welcome\
  79. Original code (mostly intact) by\
  80. Patrick J. Flynn, School of EE&CS, Washington State University,\
  81. Pullman, WA, USA 99164-2752.  Email: flynn@eecs.wsu.edu\
  82. Credit also belongs to anybody else who contributed to the code\
  83. without my knowledge.\
  84. New features:\
  85.     reads and plays mpeg encoded videos
  86. \b\fs36 \
  87. \b0\fs24     displays frames, frame size and frame number while loading\
  88.     memory saving play-from-disk mode (no speed control)\
  89.     reenabled tiff-sequence input\
  90. New user interace elements:\
  91. \i Open 
  92. \i0 has been replaced by
  93. \i  Load 
  94. \i0 and
  95. \i  Play, 
  96. \i0 where
  97. \i  Load 
  98. \i0 is just\
  99.     like the old
  100. \i  Open, 
  101. \i0 and
  102. \i  Play 
  103. \i0 plays the movie directly from disk,\
  104.     with minimum memory usage for arbitrarily large movies, but\
  105.     no control panel, limited speed and no smoothing.\
  106.     An additional switch on the control panel for displaying the\
  107.     frame number in the picture, without the overhead associated\
  108.     with slider update.\
  109. \b\fs36 Movie 2.51: An improved TIFF sequence animator\
  110. \b0\fs24 \
  111. by Patrick J. Flynn\
  112. Assistant Professor\
  113. School of Electrical Engineering and Computer Science\
  114. Washington State University\
  115. Pullman, WA 99164-2752\
  116. \f1 flynn@eecs.wsu.edu\
  117. \f0 \
  118. Additional code contributed by Christopher Lane (lane@sumex-aim.stanford.edu)\
  119. \b Changes 2.5 -> 2.51\
  120. \b0 0. Fixed bug in `Save' code tickled when user is overwriting an existing movie.\
  121. 1. Fixed bug in IB.proj making Preferences unusable.\
  122. 2. This Help text is now selectable so users can copy the tiff2anim script below.\
  123. \b Changes  2.0 -> 2.5:
  124. \b0 \
  125. 0. a few bug fixes (probably a few new bugs, too).\
  126. 1. Adjustable cache depth.  This is a big win on the NextDimension.  The default cache depth can be set via a Preferences panel.\
  127. 2. The user can now choose to have the movie frame number slider track the frames (
  128. \i a la
  129. \i0  Movie 1.0) or be disabled during animation (
  130. \i a la
  131. \i0  Movie 2.0).\
  132. 3. The movie can be saved using the currently-selected depth.  In other words, if you load\
  133. in a 24-bit RGB movie, you can save it as 2-bit grayscale by changing the depth and picking the Save Current Depth menu item.  You can't save a movie on top of the original.  If you want to replace an existing movie with the one to be saved, it will try to keep the old copy around by renaming it (
  134. \i e.g.
  135. \i0 , foo.anim becomes ~foo.anim).\
  136. 4. Movie no longer accepts multi-frame 
  137. \f1 .tiff
  138. \f0  files by default -- recompilation with an appropriate 
  139. \f1 #define
  140. \f0  will being them back.  I have already been flamed for stating that Movie 2.0 would be the last version which would accept this file format. However,  it is 
  141. \b terribly easy
  142. \b0  to convert a multi-frame 
  143. \f1 .tiff 
  144. \f0 into an 
  145. \f1 .anim
  146. \f0  directory.\
  147. Here is a C-shell script which will do that very thing:\
  148. \f1 #!/bin/csh -f\
  149. # Syntax: tiff2anim foo.tiff\
  150. # Note: creates foo.anim\
  151. set bn = `basename $i .tiff`\
  152. set nframes = `tiffutil -info $1 |grep Dir | wc -l | awk '\{print $1\}'`\
  153. if (-d $bn.anim) then\
  154.   echo moving existing directory $bn.anim to $bn.anim.old\
  155.   mv $bn.anim $bn.anim.old\
  156. endif\
  157. mkdir $bn.anim\
  158. set i = 1\
  159. while ($i <= $n)\
  160.   tiffutil -extract `expr $i - 1` $1 -out $bn.anim/$bn.$i.tiff\
  161.   @ i++\
  162. exit 0
  163. \f0 \
  164. I wouldn't be surprised if you could do the same thing in one line of perl, but I don't know perl.\
  165. \b Possible future enhancements:
  166. \b0 \
  167. 1. support some kind of scripting capability.  This could be as simple as a way to specify a per-frame delay, or as complicated as GRASP.  My ulterior motive for trashing the multi-frame\
  168. \f1 .tiff
  169. \f0  movie format was to support the addition of a script file to the 
  170. \f1 .anim
  171. \f0  directory.\
  172. 2. Support sound tracks.\
  173. I am also open to suggestions for additional enhancements.\
  174. \b\fs36 What's a movie file?\
  175. \b0\fs24 A movie file is an `
  176. \b .anim
  177. \b0 '  directory containing frames in individual TIFF files.\
  178. Example: a directory named 
  179. \b Cows.anim
  180. \b0  containing 
  181. \b0  files with the names 
  182. \b Cows.1.tiff
  183. \b0 , ..., 
  184. \b Cows.n.tiff
  185. \b0  is a valid input `file' for Movie.  When you create animations in Icon, they are written to disk in this format.\
  186. \b If Movie is placed in one of the Workspace's standard application directories, double-clicking an .anim directory should fire up Movie and cause it to open the animation in that directory.  It's possible that you might have to fiddle with Workspace's Tools inspector to set Movie as the primary application for .anim directories, but I didn't have to on my system.\
  187. \b0 \
  188. \b\fs36 Running the program\
  189. \b0\fs24 Movie doesn't put up any windows right away; it waits for you to open movies (using the `open' item under the Movie menu).  You can have multiple movies open and running at the same time.   Each open movie has two associated windows.  One window displays frames of the movie, and the other is a control panel.  The movie window can be resized; this causes all frames of the movie to be recached to reflect the new window size.  Some common resizing operations are available as buttons in the control panel and as menu items also.\
  190. \f2 \
  191. \f0\b\fs36 Controls\
  192. \b0\fs24 There are two sliders, eight pushbuttons, a checkbox, and three groups of radio buttons in the Control panel associated with a currently-loaded movie. Play with them!\
  193. The top slider allows you to choose the number of frames per second.  If the animation is running, mousing the slider will change the number of frames per second and continue the animation with the new timing information.  The actual speed is displayed below this slider (thanks to Christopher Lane for contributing the code for this).  The default is 1 fps when a movie is first loaded.  The limit on the slider is 200 fps, but unless your images are very small, you probably won't achieve that speed.  One data point: on my 20MB NeXTDimension screen, with no swapping underway, I can get better than 35 256x256 8-bit gray-scale frames (cached as 8-bit grayscale) per second  running flat-out.\
  194. \b Drawing speed depends on the available hardware, the image depth, the cache depth, the image size, and the system load. 
  195. \b0 \
  196. The next slider gives you control over the currently-displayed frame.  When the animation is running, this slider is disabled.\
  197. The five buttons in the middle allow you to start and stop the free-running display of frames, as well as single-step through them.  I am not an artist, so I stole the icons from the SoundEditor .nib file in /NextDeveloper/Examples.  Note that you can go both forward and backward through the set of frames.  There are menu (and command-key) equivalents for these buttons (see the View menu).\
  198. The `Mode' radio buttons control what happens at the end of the frame set.\
  199. `Loop' means to loop through the frames cotinuously (
  200. \i i.e.
  201. \i0 , frame N-1 is followed by frame 0).  `Bounce' mode produces a direction reversal at frames 0 and N-1.\
  202. `Once through' makes the animation stop after the end (frame 0 or frame N-1 depending on the direction) is reached.\
  203. The `Speed' radio buttons offer you a choice between the fastest possible animation accompanied by very coarse, jumpy, and useless `actual fps' estimates, and well-synchronized animation with accurate fps estimates and a lower maximum frame rate.  If you're after raw speed and don't particularly care if the frames are being displayed as smoothly as possible, use the default Fast&sloppy setting.  If you can live with a lower maximum speed but require more synchronization, use Slow&smooth.\
  204. The three buttons at the bottom yield coarse control over the image size.  `Double size' doubles the window and image size (duh), `Halve size' does the inverse, and `Restore' restores the size to match the dimensions of the input image.  Note: the Movie window  is also resizeable using the resize bar at the bottom.  When the image is resized (using the bar, the buttons, or their equivalents in the View menu), the action will pause as the frames are recached.  There are menu (and command-key) equivalents for these three operations also.\
  205. Two new additions to Movie for version 2.1 are the `Depth' radio button matrix, and the `animate frame# slider' checkbox.  The user now can control the number of bits per pixel used when the frames are drawn.  The choices are: Default (the default for the system, which is the depth of the deepest available frame buffer), 2-bit grayscale, 8-bit grayscale, 12-bit color, and 24-bit color.   The depth of the cache determines how many frames will fit in memory, which in turn determines how long a movie you can run smoothly.  Movie is not smooth when cached frames have to be retrieved from disk.  If you can live with grayscale instead of color, you can fit a larger movie in memory with a shallower cache.\
  206. While I encourage users to play with this control, here are some words of wisdom [sic].\
  207. 1. If you ONLY have a 2-bit-deep display (non-ND cube or MonoSlab), use the `Default' or `2-bit gray' setting.  You are perfectly free to bump up the cache depth, but you won't see any difference (i.e., using a 24-bit cache on a 2-bit display will 
  208. \b not
  209. \b0  magically upgrade your screen to color).\
  210. 2. If you have a 12-bit-deep display (ColorSlab), use 12-bit color if your movie is in color.  If your movie is not in color, use 8-bit grayscale.  If your slab pages continuously\
  211. while the animation is running and you can live with the degradation, use `2-bit gray'.\
  212. 3. If you have a NextDimension, use the largest depth that lets you run smoothly.\
  213. Regardless of the depth, you will be able to send the movie out to a VCR or monitor.\
  214. You can set the default cache depth for newly-loaded movies using the buttons in the\
  215. Preferences panel.  The associated defaults database entry is "Movie DefaultDepth", and valid\
  216. values are "0" (use the default for the display), "2" (2-bit gray), "8" (8-bit gray), "12" (12-bit color), and "24" (24-bit color).\
  217. \b Note: there will be a delay every time you change the Depth buttons on the control panel as the frames are recached.  For long and/or deep movies, this delay can be several seconds.\
  218. \b0 \
  219. As mentioned above, you can save the movie in its currently-displayed depth.\
  220. The `animate frame# slider' checkbox controls whether the frame number slider (and the frame number text item above it) track the movie as it is running.  It is disabled by default.  You can get 
  221. \b much higher
  222. \b0  top speeds when the slider updates are disabled.\
  223. The Edit menu contains a Copy item which copies the currently-displayed frame to the Pasteboard.  If the animation is running when Copy is invoked, the animation stops, the copy is performed, and the animation starts again.\
  224. The Print... menu item prints the current frame, stopping animation if necessary (restarting when done).\
  225. Movie windows can be miniaturized by clicking on the miniaturize button on the left side of the title bar.  If the movie is running when miniaturization is requested, the animation stops.  To eliminate screen clutter, miniaturization causes the control panel to  be hidden also.  Deminiaturization (double-clicking on the miniwindow) brings both the movie and its control panel back on-screen.\
  226.  I hope you enjoy the program.  Suggestions for improvements can be emailed to the address at the top of this help text.\
  227. Pat Flynn
  228. WindowTemplate
  229. iiii***@s@
  230. Panel'
  231. Controller
  232. ScrollingText
  233. Open...1
  234. Open...
  235. Field311
  236. Field3
  237. Field31
  238. ControllerInstance
  239. MainMenu
  240. VersionNumber
  241. MenuItem
  242. Field1
  243. Field2
  244. Field
  245. File's Owner
  246. Field5
  247. Button1
  248. [24@]
  249. IBControlConnector
  250. IBConnector
  251. hide:
  252. terminate:
  253. makeKeyAndOrderFront:
  254. copy:
  255. open:
  256.     expand2x:
  257. reduce50pct:
  258. restore:
  259. revStep:
  260. stop:
  261. fwdStep:
  262. print:
  263. IBOutletConnector
  264. delegate
  265. version
  266. performMiniaturize:
  267. performClose:
  268. arrangeInFront:
  269. prefs:
  270. save:
  271. play:
  272.