home *** CD-ROM | disk | FTP | other *** search
- PalMaker 1.14 (3 Jun 1993) Copyright Ferdinand Oeinck
- ------------------------------------------------------
-
- New in this version:
-
- - the octree datastructure is moved entirely into flexblocks. Because
- the Octree algorithm is used in all quantization routines (the
- colours are so nicely sorted in an octree), the wimpslot, after
- !PalMaker is ready with it's calculation, is decreased further from
- approx. 192 Kb to approx. 96 Kb. when using Heckbert quantization.
- When using Octree or Variance quantization the wimpslot will mostly
- stay at 64Kb.
-
- - !PalMaker is now a real RISC OS 3.10 task.
- - Iconbar icon is a 256 colour sprite.
-
-
- PalMaker 1.13 (24 May 1993) Copyright Ferdinand Oeinck
- ------------------------------------------------------
-
- New in this version:
-
- - When the 'GiveBox' menu entry is chosen, PalMaker waits for the input
- of the 'area of interest' rectangle. In previous versions there was no
- way to abort this waiting, in the case the menu entry was chosen
- premature or by accident.
- In this version one can press the 'Adjust' mouse button to abort the
- 'waiting for a rectangle process'.
- This holds too, when the dragging of the rectangle has already started.
- Instead of releasing the 'Select' button to stop the drag, one presses
- the 'Adjust' button while still pressing 'Select'.
-
-
- PalMaker 1.12 (24 Apr 1993) Copyright Ferdinand Oeinck
- ------------------------------------------------------
-
- New in this version:
-
- - New iconbar icon!
- - Moved more memory into flexblocks.
- Wimpslot now is maximal 192Kb (was 288Kb in version 1.11).
- - mouse clicks during redraw sequences and calculation are filtered out,
- so no user intervention possible during multi-tasking redraw sequences.
- This is because when the MENU button is pressed by accident, the menu
- will open over the window of interest (we cannot see that because
- VDU output is swiched), and so the palette is not optimal.
-
- - Bug in 1.11: Test sprites were saved in <PalMaker$Dir>.stmp (cured)
- - Bug in 1.09 - 1.11: Removing of pane(tool)-window(s) from ArtWorks crashed
- PalMaker (cured)
-
- PalMaker 1.11 (23 Apr 1993) Copyright Ferdinand Oeinck
- ------------------------------------------------------
-
- New in this Version:
-
- - another colour quantization routine added. It can be selected
- from the Control submenu by choosing 'Variance'.
-
- It uses always a 5 bit histogram (32 * 32 * 32 * 4 = 128 Kb) and
- needs about 110 Kb extra space for holding statictical information.
-
- This variance algorithm is based on:
-
- Wan, Wong, and Prusinkiewicz,
- "An Algorithm for Multidimensional Data Clustering",
- Transactions on Mathematical Software, Vol. 14 #2 (June, 1988), pp. 153-162.
-
- The results a better than the Octree or Heckbert approach. Although it is
- somewhat slower in execution because of lots of floating point operations.
- (No problem when the FPA arrives, then it will be approx. 40 times faster!)
-
- Important is that it makes virtually no difference to the resulting palette
- if the anti-aliasing option from ArtWorks is on or off. And this is certainly
- not the case with the two other quantization algorithms, which give a worser
- palette with anti-alisaing on.
-
-
- PalMaker 1.10 (19 Apr 1993) Copyright Ferdinand Oeinck
- ------------------------------------------------------
-
- New in this Version:
-
- - When using !PalMaker on a non-Artworks non-Draw programme in 24 bpp
- mode, the programme could not know that a palette change had occured.
- This is now cured. !PakMaker now issues a message_palettechanged to the
- programme, so it can update it's own internal colourtables for use in
- for example sprite plotting.
-
-
- PalMaker 1.09 (15 Apr 1993) Copyright Ferdinand Oeinck
- ------------------------------------------------------
-
- New in this Version:
-
- - when using !PalMaker on an ArtWorks window and the window has
- any tool(pane)-windows attached to it, !PalMaker will remove
- the tool-windows, so you don't have to remove them anymore before
- using !PalMaker. This is not the case for !Draw!
-
-
- PalMaker 1.08 (13 Apr 1993) Copyright Ferdinand Oeinck
- ------------------------------------------------------
-
- In this new version (1.08) there are some very important improvements:
-
- - Rendering of window-area of interest forced in a sprite (by using the
- 'switch output to sprite' approach), so no annoying palette changes
- anymore for the monitor.
- - No user clicks anymore needed to signal end of redraw.
- - Works in all monitor screen modes.
- - New fast 15 bit per pixel 32000 colour option (only for Artworks or
- Artworks file viewers).
- - New Heckbert 5 or 6 bits chroma switch.
- - Choices can be saved.
-
-
- How to do:
-
- The procedure to get a 256 colour palette is still the same. Get the
- interesting part of the document visible in it's window.
-
- IMPORTANT: remove any PANE-WINDOW(S) from the window of interest!
-
- Now choose the number of bpp (24 or 15, 15 only with ArtWorks) and the
- quantization routine (Octree, Heckbert6 or Heckbert5) from the Control
- submenu. Fastest setting is 15 bpp and Heckbert5 quantization.
-
- Choose the 'givebox' menuentry from PalMakers main-menu. And drag a
- rectangle to mark the area.
-
- IMPORTANT: the start and endpoint of the drag has to be INSIDE the
- window of interest, otherwise PalMaker will issue an error!
-
- Now wait until the Hourglass stops and the palette is ready. If you are
- in a non 256 colour mode, switch to one and choose 'set' from PalMaker's
- main-menu.
-
- What happens internally:
-
- Immedialty after the rectangle drag has finished PalMaker switches the
- VDU output to a sprite and re-opens the window of interest translated
- so, that the bottom-left corner of the rectangle lies on point (0,0) in
- the sprite. A 'forceredraw' is issued for the window. Any open pane-
- window(s) will cover the window of interest because they are not opened
- outside the screen! So be sure there are no pane-windows connected to
- the left or bottom side of the window of interest!
-
- 15, 24 bpp:
-
- Depending on the bpp mode PalMaker is in (15 or 24) see main-menu item:
- 'Control->' redraw will be forced one or three times. See the Houglass
- changing colour from red, green to blue when in 24 bpp mode.
-
- The 24 bpp mode can be used for any document drawing package. The 15 bpp
- mode can only be used when an Artworks file renderer is reponsible for
- the image rendered in the window of interest (!ArtWorks, !Impression or
- !AWViewer). When using !ArtWorks or !AWViewer be carefull about the
- fonts in 15 bpp mode. Make first shapes of any texts you want the correct
- colour for. When there are no blended objects in the file this can be done
- fast by selecting all objects and choosing the menuentry 'MakeShapes'.
-
- IMPORTANT: !ArtWorks uses the RISC OS fontmanager and that doesn't
- understand 15 bpp screenmodes, so the output palette is not
- correct. When ArtWorks itself is in 'Preview' mode, the display
- of fonts is correct and I suspect, when ArtWorks knows it is in
- a 32000 colour preview mode it does a trick to display the fonts
- correct. PalMaker cannot tell ArtWorks directly about the 32000
- colour mode, but can only tell the low-level 'DitherExtend' and
- other modules about the forced mode change by issuing a
- 'Service_ModeChange' after the VDU output was switched to a
- sprite. This service call has no effect at all on the 'FontManager'
- and 'FontDraw' modules, so they think they are still in a 4 or 8
- bpp screenmode! CC has to do something about this.
-
- Multi-tasking:
-
- When PalMaker forces the remote redraws it signals this with the top led
- in the hourglass pointer. Be carefull what you do with the mouse pointer
- during the redraws. Because !Artworks can render multi-tasking PalMaker has
- to call the WIMP poll loop. Any mouse clicks during the remote redraws can
- pop up window(s) over the window of interest! This can not be seen as the
- VDU output is switched to a sprite. So be carefull.
-
- Heckbert quantization:
-
- One can choose now between 'Heckbert6' and 'Heckbert5' quantization routines.
- The difference is: Heckbert6 uses a 6 bits luminance and 6 bits chroma histogram.
- This results in a histogram size of (1<<6)^3 shorts = 512 Kb. If this amount of
- memory isn't available the 'Heckbert5' routine will be used instead: a 6 bits
- luminance and 5 bits chroma histogram is (1<<6)*(1<<5)^2 shorts = 128 Kb. If
- there is still no 128 Kb, an error will be displayed.
-
-
-
- Bugs:
-
- One last point. PalMaker can CRASH havily on some windows (ie the backdrop
- window), so use PalMaker on !Draw, !ArtWorks, !Impression etc.. only.
-
-
- PalMaker 1.03 (11 Mar 1993) Copyright Ferdinand Oeinck
- ------------------------------------------------------
-
- Version 1.03 includes a second quantization technique, the Heckbert
- median cut algorithm. It's the same as used in the JPEG software.
- So RGB values are converted to YCrCb (YUV) values with 6 bits accuracy.
- It is faster than the Octree algorithm but uses much more memory!
- Besides the three sprites held in memory, the Heckbert algoritm needs
- a histogram, which is about 512 Kb big. If there isn't enough memory to
- do a Heckbert quantization an error is given. If there is, all 512 Kb
- will be given back to the free slot after use.
-
- Which algorithm gives the best result? I don't know. The two algorithms
- give different palettes and one must look very carefully to see
- differences in the resulting (ArtWorks) picture. Which picture is better,
- is I think a personal (and system dependent) question. But sometimes
- it seems, when using the Heckbert algorithm, big coloured areas are
- dithered, which are not, or less obvious dithered when using the Octree
- approach. But when using a lot of different colours (the whole spectrum)
- the Heckbert quantization seems to make a more balanced selection.
-
- Another new feature is the possibility to see the RGB values for a
- palette entry. Click select on a colour in the Palette window.
-
-
- PalMaker 1.02 (8 Mar 1993) Copyright Ferdinand Oeinck
- ------------------------------------------------------
-
- In version 1.02 there is a new feature, the idle recognition
- is better and a bug is cured.
-
- - Palette saving and loading can now also be done through a 256 colour
- sprite. When you drag a 256 colour sprite to the PalMaker iconbar
- icon, the palette in the sprite is used for the display. You can also
- save a mini 256 colour sprite with the actual 256 colour palette attached
- to it.
-
- The advantage of this is the following.
- For example with ArtWorks documents, you cannot save a calculated
- palette with the document. So you have to store the palettefile for a
- particular document on disc, or calculate the palette every time you
- load the document.
-
- So why PalMaker can save a 256 colour sprite? You simply save the
- sprite to the Artworks document and delete it from the workarea. No
- panic, the sprite is still in the documents spritepool. The spritepool
- will be saved with the Artworks document. So the next time you load
- the document, you simply save the 256 colour sprite from the
- spritepool to PalMakers iconbar icon or to Palmakers open Palette
- window. And voila, the palette for the screen is taken from the sprite.
-
- - sometimes when setting the palette, some parts of the desktop didn't
- redraw their graphics (eg the RISC OS 3 backdrop application). This is
- cured now (hopely).
-
-
- PalMaker 1.01 (17 Feb 1993) Copyright Ferdinand Oeinck
- ------------------------------------------------------
-
- In version 1.01 some bugs are cured:
-
-
- - No select clicks on the PalMaker icon are needed anymore to
- signal the end of a redraw sequence (clicks still work). The time
- between null-events is used now to see if the computer is idle
- (watch out for placing the pointer on 'pointer sensitive' icons
- because that slows down the machine i.e. the taskmanager icon)
-
- Immediatly after PalMaker has installed its iconbar icon, a speed
- test is done to see what the average time between null events is.
- The iconbar menu of PalMaker is disabled during this speed test.
-
- Please report any bugs involved with this automatic idle signaling!
-
- - Iconbar icon now installs correctly to the left of the Palette icon.
-
- - saving of a 256 colour palette to a sprite window from !Paint
- now doesn't give an error anymore.
-
- - An obscure bug is cured where PalMaker wrote to memory below
- &8000. This bug occured when runing PalMaker together with a
- module called 'bugbuster', and when running PalMaker under the
- DDT debugger.
-
- - General clean up of code.
-
- PalMaker 1.00 (20 Jan 1993) Copyright Ferdinand Oeinck
- ------------------------------------------------------
-
- This program allows you to set the 256 colour palette for
- either the CC colourcard or State Machine's G8 range cards.
-
- PalMaker is not an ordinary 'palette utility'-like program.
- There are no sliders nor dragbars with which one can specify
- RGB or CMYK or whatever value for a palette-entry.
-
- The principle of PalMaker is to co-operate with a draw
- program like !Draw or !ArtWorks and to let them redraw three
- times a document of interest. Before every redraw the
- palette is set to one of the three primary colours red,
- green or blue. After every redraw a sprite of an area of
- interest is saved. From the resulting 24-bit image a best
- 256 colours palette is calculated with a colour quantization
- technique. Currently an octree algorithm is used. (in a
- future version one can choose from several quantization
- techniques such as Heckbert median cut and a variance based
- algorithm).
-
- Open and position a draw program window, containing a
- document of interest on the screen. Then select the
- 'GiveBox' entry from the main iconbar menu from PalMaker.
- Proceed now as if you would make a '!Paint's screen
- snapshot'. The appearing rectangle should enclose the area
- of the screen in which the document is found.
-
- After releasing the left mouse button, the palette is
- changed to a red one (0% to 100% red) and the draw program
- updates his document. When the redraw is finished you have
- to select click on the PalMaker iconbar icon. (Some draw
- programs, such as ArtWorks, are capable of rendering the
- contents of their main window in a multitasking way. So you
- have to hint PalMaker, as there is no way, PalMaker can find
- out itself when the redraw is ready).
-
- This process is repeated with a green and a blue palette.
- After the last click on the PalMaker icon the palette is
- calculated.
-
- To control the amount of colours one can choose the number
- of wanted greys and if there should be desktop colours in
- the palette.
-
- Manual setting (after a modechange), Showing, Saving and
- Loading of a current 256 colourpalette is also possible.
-
- When using !Artworks as draw program a few things must be
- watched out for to get the best result.
- - Set anti-aliasing display off.
- - Specify some (16 or 32) preset grey values because
- Artworks renders greys wrong when there are no grey
- values in the palette.
-
-
- Ferdinand Oeinck
- Grote Rozenstraat 47a
- 9712 TG Groningen
- The Netherlands
- email: ferdinan@oeinck.waterland.wlink.nl
-
-
- This program is PD. You can do anything with it except sell it,
- or incorporate it or parts of it into another program!
-