home *** CD-ROM | disk | FTP | other *** search
/ Millennium Time Capsule / AC2000.BIN / disks / ac11disk / mp_ste / english / slidshow.eng < prev   
Encoding:
Text File  |  1989-06-08  |  14.8 KB  |  409 lines

  1. MP_STE: SLIDE-SHOWS and MOVIE-MAKER section (Quick Time, AVI, FLM or GIF)
  2. ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
  3.  
  4. How to run a slideshow?
  5. ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
  6.     Just choose your batch file instead of an animation (please, keep
  7. BAT as the batch extension).
  8.  
  9. How to run a movie-maker?
  10. ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
  11.     It's the same as before, but the batch file must contain the line
  12. 'o=file_path' to know witch file to create. If you simply clic on 'Go!', it
  13. will act as a slide-show, to get the Mov-Creation, you must use the key
  14. 'Alt' while clicking on the 'Go!' button.
  15.     It's the type of images you give that will determine the type of
  16. movie created:
  17.     tga -> Quick Time movie with RLE16 compression (and sound)
  18.     img -> Quick Time movie with RLE8 compression (and sound)
  19.         or ((*) Video for Windows (AVI) with RLE8 (and sound)
  20.     gif -> Gif movie (no sound)
  21.     Degas -> Extended FLM
  22.     Neochrome -> Extended FLM
  23.  
  24.     (*): the default output format with img is MOV, if you want an AVI
  25. file, you must use 'o=#file_path' (a # is added just after the =).
  26.  
  27. How to create a BATCH FILE for a SLIDESHOW?
  28. ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
  29.  
  30.     A batch file is a simple ascii text files that contains 3 parts:
  31.     - the identifier
  32.     - the header
  33.     - the datas
  34.  
  35.     Only the first line must start ont the leftmost row, for the
  36. others, spaces and tab to indent are allowed, there must be only one
  37. command per line, lines starting with ';' are considered as comments.
  38.     The size of the file is limited to 12488 bytes (I think it's
  39. enough...).
  40.  
  41.     The identifier
  42.     ¨¨¨¨¨¨¨¨¨¨¨¨¨¨
  43.  
  44.     It must be on the first line, first character and is always:
  45.         M_PLAYER or m_player
  46.  
  47.     The header
  48.     ¨¨¨¨¨¨¨¨¨¨
  49.     Starts on the second line (or after some comments lines) and gives
  50. general infos on the slideshow:
  51.  
  52.     w=xxxx    the width of the movie
  53.     h=xxxx    the height of the movie
  54.     c=xxxx    the compression (the type of file):
  55.             tga2 for TGA 2 uncompressed (24 or 16 bits)
  56.             ximg for IMG with 'XIMG' extension and 256 colors
  57.             gif8 for either gif87a or gif89a
  58.             dega for Degas 320x200x16
  59.             neoc for Neochrome 320x200x16
  60.     b=xxxx    size of the buffer to load the entire largest image file
  61.  
  62.     Those first 4 infos can't be ommited! The following can (for a
  63. slide show, but must appear for a MOVIE-create):
  64.  
  65.     t=xxxx    time for one frame (number of 1/200sec), with a GIF it is
  66.         the time to wait between two frames (without the display
  67.         time), with 0, no delay block will be added.
  68.     f=xxxx    number of frames in the whole slideshow
  69.     o=file_path    path and name of the file to create (MOV, RLE16,
  70.             RLE8, FLM or GIF compression). If you want to
  71.             output an AVI file (ximg only), you must add #
  72.             before the file_path.
  73.     s=file_path    path and name of the sound file to add to the MOV
  74.             (WAV or AVR, 8/16 bits, mono/stereo). For MOV/AVI
  75.             files the frequency must be 11025, 22050, 41000
  76.             and for FLM 12517, 25033, 50066 +/-2%. 16 bits is
  77.             forbidden for FLM.
  78.             * not used with GIF movies *
  79.  
  80.     If 's=' is present, then 't=' is ignored and the frame rate is
  81. computed according to the sound duration.
  82.  
  83.     q=x    quality, default value is 5 (5 bits per color), but you
  84.         can reduce it to 4,3,2 or even 1 to get a more efficient
  85.         compression, but with a lost of quality. I've tried 'q=2'
  86.         on some frames, it seems to be correct (better
  87.         compression, good quality). 'q=' is only useful when a MOV
  88.         is created, it fixes the number of signifiant bits to know
  89.         if the color of a pixel has changed or not.
  90.         * not used with GIF, FLM movies *
  91.     k=xxxx    specifies the rate of the key frames (for example, with
  92.         k=5, frames #5, 10, 15, 20 ... will be key frames). See
  93.         below: "Key frames use".
  94.         * not used with GIF, FLM movies *
  95.     r=xxxx    for GIF files only, fixes the number of loops for that
  96.         movie, the range is 0 to 65535. This will add the NETSCAPE
  97.         extension (see FORMATS.ENG for details).
  98.         A value of 0 indicated an infinite loop, 1 indicates no
  99.         loop.
  100.  
  101.     v=max_x,max_y,start_x,start_y,img_cell,loop_x
  102.         for MOV files only, this allows you to generate a
  103.         QuickTime VR file (an interactive movie).
  104.         max_x=number of columns (start at 1)
  105.         max_y=number of lines (start at 1)
  106.         start_x=horiz. index of the first cell (0 to max_x-1)
  107.         start_y=verti. index of the first cell (0 to max_y-1)
  108.         img_cell=number of images per cell.
  109.         loop_x=1 for horizontal looping, 0 to stop at boundaries
  110.         See 'QuickTime VR' below for more details.
  111.  
  112.     m=xxxx
  113.         if you call M_Player as a movie maker (MOV,AVI,FLM,GIF)
  114.         from your own program and you don't want to fill your hard
  115.         drive with TGAs, you can send to M_Player the images ones
  116.         by one using a kind of dialog through this stucture:
  117.         xxxx is an address that points to three longs:
  118.             LONG your_routine
  119.             LONG frame number requiered by m_player
  120.             LONG the adress where your pixels are
  121.             WORD flag for pixel format
  122.         Each time my compressor needs an image file, it fills the
  123.         frame number and then calls your routine. Your routine
  124.         must fill the buffer address and the flag format.
  125.         Supported values are (for now):
  126.         FLAG=$0000 -> pixels are NOVA 15 bits VVVBBBBB xRRRRRVV
  127.         FLAG=$FFFF -> pixels are FALC 16 bits RRRRRVVV VVVBBBBB
  128.         For both formats, the output is MOV/RLE16 as if TGA files
  129.         were used.
  130.         The FILE names given in the "data" section
  131.         are dummy but must appear, for example, with 100 images
  132.         you can write:
  133.         data
  134.         DUMMY.TGA
  135.         .rept 99
  136.         .disp
  137.         .endr
  138.         .stop
  139.  
  140.         Then you call M_Player with:
  141.         m_player -d-a my_batch.bat
  142.         (no dialogs, ALT on to create the movie).
  143.  
  144.     The order of those infos is not fixed, but you musn't put spaces
  145. between the characters (w = 320 is wrong!).
  146.  
  147.     The datas
  148.     ¨¨¨¨¨¨¨¨¨
  149.     Starts immediately after the header with a key word:
  150.     data
  151.  
  152.     Then, every line is read and:
  153.     if starting with a '.' --> it's a command, executes it
  154.     else               --> it's the name of a file, displays it,
  155.                    and its name becomes the current name.
  156.  
  157.     commands are:
  158.     .rept xxxx
  159.     .endr
  160.         repeat xxxx times what's between rept and endr. Loops can
  161.         be nested.
  162.  
  163.     .disp
  164.         displays the file corresponding to the current name
  165.     .getp
  166.         uses the palette of the next file (only applied with
  167.         palette based images). If '.getp' is not specified, then
  168.         the palette will be ignored (for example when all of the
  169.         frames share the same palette that is loaded once).
  170.         * not used with GIF movies *
  171.     .incr
  172.         increments a number found into the current name (example,
  173.         if name was: C:\IMAGES\FRM00001.TGA it becomes
  174.                  C:\IMAGES\FMR00002.TGA)
  175.         This doesn't add the current image to the animation, you
  176.         must use .disp.
  177.     .decr
  178.         same as above with a decrementation.
  179.     .stop
  180.         end of the slideshow. This command MUST appear, else the
  181.         program crashes.
  182.     .keyf
  183.         forces the next frame to be a key-frame (if k=xxxx is
  184.         used, then this auto key counter will be reset). See below
  185.         at "Key frames use".
  186.         * not used with GIF, FLM movies *
  187.  
  188. QuickTime VR movies
  189. ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
  190.     As the viewer will access the images in a random order, every
  191. first frame of each cell must be a 'key frame', so you have to use
  192. k=img_cell (ex: k=1 for fixed images).
  193.     The number of frames (found at f=xxxx) must be the same as
  194. max_x*max_y*img_cell.
  195.     Note that the indexes (start_x and start_y) start at 0, the
  196. first line isn't #1.
  197.     The order of the images in the data section is a bit strange. For
  198. example, I want to create a VR with 3 lines of 4 columns with fixed
  199. images, id 12 images numbered 0 to 11:
  200.  
  201.      3  2  1  0  <- X indexes
  202.     -----------
  203.  
  204.     11 10  9  8    | 2  <- Y indexes
  205.      7  6  5  4    | 1
  206.      3  2  1  0    | 0
  207.  
  208.     When replaying, suppose I fixed start_x=2 and start_y=1 (image
  209. #6), with UP arrow I will access #10, with DOWN #2, with LEFT #7 and with
  210. RIGHT #5. The line would be:
  211. v=4,3,2,1,1,0    for non looping (eg: stops at images #7 and #4)
  212. v=4,3,2,1,1,1    for x looping (eg: image #7 is linked to image #4).
  213.  
  214.  
  215. GIF movies
  216. ¨¨¨¨¨¨¨¨¨¨
  217.     A GIF movie can only be created from GIF images, those images must
  218. have the same global size and the same global palette (if a local palette
  219. is present, it will be stored).
  220.     Every other bloc than $2C (the images) are skipped (for example
  221. copyrights, infos, etc...). Only one bloc is always added, the one defined
  222. by myself that indicates the number of frames. (See FORMATS.ENG for more
  223. details).
  224.  
  225.     The delay time between two frames is stored into an unsigned word,
  226. so it is limited to 65535, this means no more than 655.35 seconds (and so
  227. 131070 for 't=' as it a number of 1/200 of second). If the value is
  228. greater than this limit, 0 will be used instead (meaning no delay!).
  229.  
  230.     MP_STE can be used to modify an existing GIF-Animation (for
  231. example to add the MP_STE extension, the Netscape extension or to modify
  232. the delays between two frames,...).
  233.     Example, I have an animation NUKE01.GIF that has no M_Player
  234. extension, with a infinite loop and that is played too fast, I run it once
  235. to get the infos:
  236.     size 64x64, 9 frames displayed (in the stats box at the end. When
  237. an anim has a loop, SHIFT stops it!).
  238.     Then I create the following batch file:
  239.  
  240. m_pLaYeR
  241. w=64            the size I noted
  242. h=64
  243. c=gif8
  244. b=16000               the file is only 15xxx bytes long
  245. t=11                 11/200 = 0,055s of delay
  246. f=9                   9 frames into my initial anim
  247. r=3                  will repeat only 3 times (instead of infinite)
  248. o=C:\TGA\nuke.GIF     the output file
  249. data
  250. C:\TGA\nuke01.GIF       only one file!
  251. .stop
  252.  
  253.     Upon exit, I'll have a new anim NUKE.GIF with the M_PLAYER
  254. extension, with different delays and with 3 loops only. The output file is
  255. shorter, because M_Player has skipped very info bloc!
  256.  
  257. FLM Movies
  258. ¨¨¨¨¨¨¨¨¨¨
  259.     As they are created from ST-Low images (c=dega or c=neoc), you can
  260. omit 'w=', 'h=' and 'b=', they will be filled with the following default
  261. values:
  262.     w=320
  263.     h=200
  264.     b=33000 (PI1 32034 or 32066, NEO 32128)
  265.  
  266.     A FLM file hasn't the 'key frame' capability, and so, be sure that
  267. the frame rate you specify will be possible on your machine. Else, as no
  268. frame is skipped, the images could last longer than the sound.
  269.  
  270.  
  271. Example of a BATCH FILE:
  272. ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
  273.     (The comments starting with ** don't appear in the file!)
  274.  
  275. ** start of file
  276. M_Player                        ** Id
  277. ; comes from a FLI            ** comment
  278. w=320                           ** width
  279. h=200                ** height
  280. ; 67/200 means 3 f/s        ** comment
  281. t=67                ** time for one frame
  282. f=29                ** number of frames
  283. c=tga2                ** files are TGA 2 uncompressed
  284. b=192018            ** size of one file (320x200x3 + 18)
  285. data                ** end of header/start of data
  286. E:\imprimer\mou00001.tga    ** first frame, display it
  287. .rept 2                ** twice the whole
  288.   .rept 7            ** 7 times
  289.     .incr            ** increment name of file (00002 to 00008)
  290.     .disp            ** and display it
  291.   .endr                ** loop
  292.   .rept 7            ** another 7 times
  293.     .decr            ** dec name of file (00007 to 00001)
  294.     .disp            ** and display it
  295.   .endr                ** loop
  296. .endr                ** twice!
  297. .stop                ** end of slideshow
  298.  
  299.  
  300.     Well, this example has displayed:
  301.     mou00001.tga
  302.     mou00002.tga
  303.     ...
  304.     mou00007.tga
  305.     mou00008.tga
  306.     mou00007.tga
  307.     ...
  308.     mou00001.tga
  309.     And this twice! The images came from a FLI that I saved using the
  310. Step by Step mode.
  311.  
  312.     INCR and DECR commands can only work correctly if the names of the
  313. files END with digits! (for example 00001BB.TGA won't work because it
  314. ends with BB).
  315.  
  316. Another example:
  317. ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
  318.     You can specify each file if you don't want to use commands:
  319.  
  320. M_PLAYER
  321. w=184
  322. h=240
  323. b=50000
  324. c=ximg                ** t= ommited because there's a sound
  325. f=5
  326. o=#C:\ANIM\US.AVI        ** will create an AVI if Alt+GO (#)
  327. s=C:\SOUNDS\KISS.AVR        ** will add this sound if Alt+GO
  328. data
  329. .getp                ** supposing that all have the same
  330. C:\IMAGES\I.IMG            ** palette, we load it once!
  331. C:\IMAGES\YOU.IMG
  332. C:\IMAGES\I.IMG
  333. C:\IMAGES\YOU.IMG
  334. C:\IMAGES\YOU_N_I.IMG
  335. .stop
  336.  
  337.     '.stop' is the only command that must appear.
  338.  
  339.  
  340. Common errors (those I made...)
  341. ¨¨¨¨¨¨¨¨¨¨¨¨¨
  342.     * The header is built BEFORE adding the frames, so the number of
  343. frames that you specify (f=xxxx) must be exact! Else you'll get a totally
  344. corrupted MOV file. To ensure that it's the right value, launch a
  345. slide-show before encoding, if total_frames=frames_displayed, it's Ok.
  346.     * this is the same for 'w=' and 'h='. Be sure that all of the
  347. images have the same size, the one you specified.
  348.     * the 'supported' message into the graphic box is based upon your
  349. 'c=xxxx'. The program hasn't read a file to verify that, ensure that it's
  350. the good fromat.
  351.     * The sound frequencies accepted are those from the PC world:
  352. 11025, 22050 and 44100 KHz, or the closest possible to them. Else, you get
  353. an 'Unsupported' message in the sound box.
  354.     * if using IMG images you get the RLE8 compression that uses a
  355. palette. But, the MOV can contain only ONE palette, so you must be sure
  356. that all the images share the same colors, else, it's the last palette
  357. read (with .getp) that will be saved. This remains true for an AVI file.
  358.  
  359. Key-Frames use
  360. ¨¨¨¨¨¨¨¨¨¨¨¨¨¨
  361.  
  362.     Here is a brief introduction to the utility of inserting
  363. key-frames into a movie. There are two cases:
  364.     - your machine is fast and no frame will be skipped when playing,
  365.     then you don't need to use the key frames.
  366.     - your machine isn't so fast and there may be some frames skipped,
  367.     the use of key-frames is highly recommended!
  368.  
  369.     What happens when a frame is skipped?
  370.  
  371.     In order to increase the compression, only the differencies
  372. between two frames are stored, this means that one frame is only a partial
  373. display. If one frame is skipped (because of the synchronisation) the next
  374. one won't have the background expected! You'll get a wrong display.
  375.  
  376.     A key frame is used to solve this problem, it is a complete
  377. reconstruction of the screen. So, when a frame is skipped, MP_STE just
  378. has to wait for the next key-frame to go on displaying.
  379.  
  380.     An example:
  381.  
  382.     Suppose you have used k=5 and t=40 (5 frames per second) into the
  383. header and that your machine can only display 3 images /second. Here is
  384. what will happen:
  385.  
  386.     second #1: frames 1,2,3
  387.     second #2: frames 5,6,7
  388.     second #3: frames 10,11,12
  389.     etc...
  390.  
  391.     Every key frame will be at its exact position (in time), and
  392. between 2 key-frames, the player does as much as it can. If you play this
  393. same movie with a faster machine, you'll get maybe:
  394.     second #1: frames 1,2,3,4
  395.     second #2: frames 5,6,7,8
  396.     second #3: frames 10,11,12,13
  397.     etc...
  398.     And with a very fast machine, you'll get every frame.
  399.  
  400.     The best is to put 2 key-frames per second, this way, the display
  401. will be synchro with the sound twice a second.
  402.  
  403.     You must know that a key frame is larger than a normal one,
  404. because it rebuilds every pixel, and that inserting too few key-frames
  405. will lead to a poor synchro quality. It's a question of balance. Make some
  406. tests to find the best solution.
  407.  
  408.     Idea: it's a good idea to choose the frames where the background
  409. changes suddenly, because anyway most of the pixels will be rebuilt!