RingBound
Chris Hall (132) 3554 posts |
The application !RingBound is now available from !Store. It displays a manual (of file type ‘Bound’ &1EB) in a window as if it were a ring-bound manual open on a desk. Turn the pages by clicking on index tabs or on the bottom corner. Clicking with Adjust opens a second screen bank while the page is turning showing an animated graphic. The animation is terminated when the page has turned or on a mode change. |
GavinWraith (26) 1563 posts |
Not sure whether you completed the change of name from DrawDis to RingBound in !RunImage. |
Chris Hall (132) 3554 posts |
I think version 0.02 will be more ‘complete’. Thanks for spotting it. I have converted the RISC OS 5.28 User Manual to work as a ‘Bound’ file. Available from !Store (it is after all now under the Apache licence). I only asked for (and got) the application name and filetype alocation today and first thought of the idea two days ago, so the application may be a little ‘rusty’ at the moment. The next step is to add hyperlinks – for example each line in the ‘Contents’ needs to be ‘spanned’ by a named group object which indicates the required (odd) page number. Clicking over it will then move to that page. More work… Oh and it is greedy with memory as it loads a 141Mbyte Draw file (the RISC OS 5.28 User Manual) into memory. In due course I’ll add memory buffering so that the file can just be open on disc. I have added a few hyperlinks on pages xii and xiii. More to come. The programme (version 0.05) now asks for a suitable wimpslot to load the manual concerned. |
Chris Hall (132) 3554 posts |
Version 0.09 now offers forward and backward steps by Chapter, Section or sub-section. Also a scroll bar to jump directly to a particular page. See image below – it performs at about this speed on a Titanium and a Pi 4B (slightly more flickering on the Titanium): |
Colin Ferris (399) 1814 posts |
Any chance of adding sound – ie reading out the text. |
Leo Smiers (245) 56 posts |
Amazing! What is the source for the bound files? |
David J. Ruck (33) 1635 posts |
I thought you were going to say the sound of the page turning, to make it even more realistic! |
John Rickman (71) 646 posts |
Nice! It works as expected when I double click on a Ringbound file |
Chris Hall (132) 3554 posts |
but not if I drop the file on the icon bar icon then click it. Perhaps I should have tested that bit again. Watch this space. Any chance of adding sound I did think of a ‘scrunch’ sound as the pages turn. The problem with reading out the words (or for that matter doing a text search of the content) is that the pages are held as Draw files which !PDF exports with each character as a separate text object. So if I read it out it would just be like an infants’ school. Amazing! What is the source for the bound files? I have written an article explaining that. Too complicated but it is based on a Draw file – the whole ‘Bound’ file will render as a Draw file showing the background image. |
Paolo Fabio Zaino (28) 1882 posts |
Very nice Chris! :) |
Chris Hall (132) 3554 posts |
Version 0.91 now gives an error message if there is insufficient space available to load a ‘Bound’ file. The space available depends on the ‘min’, ‘max’ and ‘next’ values when it started up (as it would not know how big a file was to be loaded later). After accepting the error message it continues to wait for a smaller ‘Bound’ file to be dragged or a ‘Bound’ file is double-clicked. Double-clicking with insufficient space does not produce an error, instead the app is re-run reserving more memory. The next version will need much less memory … |
Neil Fazakerley (464) 124 posts |
Is it called RingBind or RingBound – it says RingBind on the opening page? |
Chris Hall (132) 3554 posts |
The only thing called Ringbound is the zip file. The filetype is ‘Bound’. The app is !RingBind. Version 0.10 now runs in a 12Mbyte Wimpslot even when displaying a 140Mbyte manual. I’ll release the conversion programme (to convert a PDF into a Bound file) some time next week once I have tidied it up a bit. No doubt version 0.10 will have a few warts – after an error it leaves dual memory banks until the next mode change. This is easily cured by doing f12, return. So if you get a ‘memory cannot be moved’ error when starting an animated page move, I can explain it but I am not sure how to reduce the screen memory allocation back to normal as the only parameter returned is max size, not min size. Version 0.11 recognises whether an attempt to allocate extra memory for dual screen banks would fail (e.g. if space had already been allocated and, due to an error or pressing f12 during animation, had not been released or on an ARMX6 with screen memory over 16Mbytes – no room for second bank in the available 32Mbytes) and then shows animation in a single bank, i.e. with more flickering. This avoids the ‘memory cannot be moved’ error. |
Chris Hall (132) 3554 posts |
Version 0.15 now intercepts errors from SpriteExtend if rendering skewed JPEGs. Resources to create your own ‘Bound’ files from a PDF source are now included. Version 0.15 can handle ‘Bound’ files larger than 512Mbytes, asking for a Wimpslot just large enough to hold the background image and four of the largest pages. It therefore works on VRPC. The page turning animation is fast enough on VRPC, ARMX6, Titanium and Pi4 but rather too ssllooww on an Iyonix. |
Chris Hall (132) 3554 posts |
Version 0.16 now handles correctly the situation where any window is dragged across the desktop while the page animation is being displayed on two screen banks (the updates are drawn to the invisible bank and the banks are then swopped). Previously the dragged window would be shown in its original position on one screen bank. |