Yes, see:
https://code.google.com/p/picojpeg/
http://elm-chan.org/fsw/tjpgd/00index.html
Beta 3 is available for download now!
What's new? Well, hopefully, you won't notice any difference from the previous version, except:
- Different eActivity strip icon (see http://tny.im/-v );
- Different Main Menu icon, to fit in the style of native icons;
- Different licensing terms (now BSD two-clause instead of GNU GPL v2)*;
- Better file browser (ported from Utilities and Eigenmath), which sorts files alphabetically and shows icons;
- Possibly, better stability;
- File size smaller than Beta 2;
...and, more importantly:
- Diagonal scrolling now supported (use keys 7, 9, 1, 3);
- Ability to scale big images (use the minus key to zoom out and the plus key to zoom in).

The feature set is the still the same, other than the changes pointed out above... but, under the hood:
- This version was put together from scratch;
- Uses a different JPEG decoding library, as written some posts ago;
- Uses special RAM areas on the SH7305 (that's the CPU of the Prizm) to achieve better speed;
- Sets some parameters (add-in's internal name) for a more correct interaction with the OS.

I want to get as much people testing this new version as possible, so that any bugs get fixed, and I get the green light to release v1.0 or think about adding new features (*cough* PNG viewing *cough*). So, please, report any problems.

Warning/info: the new version has the file name "imageviewer.g3a", instead of the previous "ImageViewer.g3a". Do not rename the new file. To avoid issues, delete the old g3a first before copying the new one.
Download: http://tny.im/ivcp
Source code is now available at: https://github.com/gbl08ma/imageviewer

* this means that part of Utilities' framework is now dual-licensed, GNU GPL v2 and BSD 2-clause. As always, if you need some of my code in other license, even for proprietary use, contact me to find a solution that suits all parties.
The speed is actually better than I expected. Very Happy So far there haven't been any bugs as far as I can tell. Razz
v1.0 is out, and adds PNG viewing support! See the first post for download links.
Soon on the Cemetech archives, too!
Is there a key to move one subfolder back?

For example i ve got 3 subfolder A-B-C. Im viewing a picture in folder C. Is there a key to go back to B? Because the only way to get back is with the exit key. And then i ve to go down again to view another picture in folder C.
No, the file browser has no history.
Hi gbl08ma, what would be cool is to map some button to skip images relative to the current image in the folder so that one does not have to go back and scroll each time - i.e. something like this perhaps please:

F1: First image in the folder (i.e. to restart slide show)
F2: Skip back 5 images relative to the currently displayed one
F3: Previous image relative to the currently displayed one
F4: Next image relative to the currently displayed one
F5: Skip forward 5 images relative to the currently displayed one
F6: Last image in the folder

or allowing customizable key functions like you did for Eigenmath with hopefully a command for switching to RunMat, and custom zoom ratio including one for image width fitting display etc - I would love to do it myself but struggle coding such such complicated project as I cannot even compile it on on windows.

Many thanks in advance for considering those suggestion
I have just noticed not terribly important and hard to detect bug - so wanted to let you know just in case:

when viewing a jpeg with the width fitting the screen and then scrolling all the way down - once you try to scroll down below the end of it a few lines get cleared at the top and do not get shown until you scroll the whole picture up and then one extra time up. I noticed it a couple of times but it is hard to detect if on a white background or similar picture.

I'm also curious if there was a particular reason for choosing 64px for scrolling up and down? I know the add-ins icons are of that height or is it for some other reason, like a convention of what portion of screen should remain from the previous view, etc? I haven't tried much bigger pictures yet but scrolling felt a bit time consuming. Still a VERY VERY HELPFUL add-in. Thanks for producing it and hope you will keep developing it.

Also would it ever be possible for this add-in to continuously scroll from one picture to the next, ala pdf viewer style to eliminate the need to go out into the browser?

Many thanks for the add in again.
The bug is more or less consequence of the way the viewer is coded to minimize how much of the picture is decoded and drawn on each redraw. Unfortunately it produces artifacts like what you described.

64 px seemed a reasonable compromise between the slow decode times and the need to keep track of where one is in the picture. If you want to jump more pixels at a time, you can use the number keys as directional pads that will scroll a screen in their direction. In the case of JPEG pictures, you can also zoom out, go near where you want to see in detail, then zoom in.

You can also overclock the calculator with Ptune2 to enjoy much, much faster image viewing at the expense of consuming more battery.

This add-in is declared finished and in maintenance release mode, which means new releases will only happen to fix bugs that are problematic enough to prevent using the add-in normally or cause malfunction of the hardware and remaining software. This mode also contemplates any needed compatibility fixes for future OS versions, as long as those changes are easy enough to implement (or in other words, if e.g. the whole add-in API changed, do not expect a new version).

If anyone is unhappy about this situation, this image viewer is licensed under the 2-clause BSD license so everyone is free to fork it under the terms of that license.

Of my other add-ins, Utilities is the only one with active development going on, even though is declared finished and there is no release schedule for the next version. It may even expand to contain all the features of this image viewer (at this moment, it already supports JPEG viewing), at which point I'll discontinue this add-in. Eigenmath is in maintenance release mode too. All my other add-ins (Overclui, CGlock) are discontinued and superseded by Utilities. Speaking of the CPU clock adjustment in Utilities, it is most likely not going to figure, in its current state, in the future hypothetical release: currently, Ptune2 is more advanced and reliable, and while a need for a simpler/user-friendly UI for overclocking exists (my main motivation for developing Overclui at a time when only Pover existed), I'm not sure it is Utilities' duty to fill that space anymore. So the CPU clock adjustment feature will either be removed, or refreshed to be a very simple and friendly alternative to Ptune2 that does overclocking properly.
Thanks, I understand. Hopefully the development will still continue by someone (maybe even me if I get better with my compiling abilities).

Thanks for the tips about shortcuts too and again for all the add-ins you have developed - Eigenmath and Image Viewer are used by me the most but all of your tools are very good and educational.

If any of you guys here were able to compile the above add-ins under Windows please let me know if you could share your setup with me.

Thanks in advance,

Anka
I forgot to ask and have not researched it deeply yet - is it technically possible to make this add-in use the frame space, i.e. the six or so pixels on the side and below the VRAM? Kind regards
Yes, but one would need to find a bigger VRAM area to replace the OS-provided one (which is not big enough), then use frame hacks as described somewhere in the useful routines thread to drive the whole screen. The OS functions for drawing to the VRAM would not be suitable, meaning that more code would need to be developed.

It's technically possible, but personally I don't think it's worth it and that's why it was never implemented in any of my image viewers. In fact, I've never seen it implemented in any released add-in.
gbl08ma wrote:
Yes, but one would need to find a bigger VRAM area to replace the OS-provided one (which is not big enough), then use frame hacks as described somewhere in the useful routines thread to drive the whole screen. The OS functions for drawing to the VRAM would not be suitable, meaning that more code would need to be developed.

It's technically possible, but personally I don't think it's worth it and that's why it was never implemented in any of my image viewers. In fact, I've never seen it implemented in any released add-in.


Thanks for this. I think I found it on page 8 of that thread - it looks very interesting and would yield almost 7% increase of the viewing area - I need to search more but it does seem unimplemented in anything released so far. If I start playing with it I will probably post findings and questions in the original threat. Kind regards and thanks as always for sharing your knowledge.

EDIT: searching a bit more I also found this thread http://www.cemetech.net/forum/viewtopic.php?t=5507&postdays=0&postorder=asc&start=160 with LCD controller woot posted by calc84maniac which I think I understand better now...

Plus it seems ProgrammerNerd uses SelectLCDReg in his video viewer addin code - I have never tried it but do hope he can lend his help with improvements of this type to your addin.

I will check with him directly as well.
I'm trying to compile this add-in on windows and getting an error I have never seen before:

Code:
C:/PrizmSDK/examples/imageviewer-master/src/textGUI.hpp:51:15:
 error: ISO C++ forbids initialization of member 'newLine' [-fpermissive]
C:/PrizmSDK/examples/imageviewer-master/src/textGUI.hpp:51:15:
 error: making 'newLine' static [-fpermissive]
C:/PrizmSDK/examples/imageviewer-master/src/textGUI.hpp:51:15:
 error: ISO C++ forbids in-class initialization of non-const static member 'newLine'
and so on.
I could not find a solution on google and am hoping you may know what could fix the above on windows please. I figured out I could get rid of the error by removing the "=0" assignment in the corresponding place but because your code is initializing so many variables and not necessary to zero I was hoping you could help with an advice on how to deal with this issue more elegantly please.
Many thanks for your help in advance.
You need to compile in C++11 mode, the Makefile in the source tree specifies the -std=c++11 option so I'm not sure why the error happens? Perhaps you're using a modified Makefile for Windows which doesn't have that flag in the compiler option?
gbl08ma wrote:
You need to compile in C++11 mode, the Makefile in the source tree specifies the -std=c++11 option so I'm not sure why the error happens? Perhaps you're using a modified Makefile for Windows which doesn't have that flag in the compiler option?

Many thanks for your quick reply. I wonder if windows supports this option at all - when I specify the '-std=c++11' option I get the following error:

Code:
cc1plus.exe: error: unrecognized command line option '-std=c++11'


Is it at all supported in windows or do I need a particular compiler for it?

Many thanks in advance
I am not sure, perhaps your GCC version is too old.
A version of g++ which doesn't understand 'std=c++11' is <= GCC 4.6.x. GCC 4.6.0 was released in March 2011, and GCC 4.7.0 was released in March 2012, so you're indeed using very old compiler technology Smile

Full C++11 compliance was claimed by GCC 4.8.1, during the spring of 2013 (though I stumbled across some oddities with raw string literals which '2014 GCC 4.9.x doesn't display); the first mentions of C++11 support in GCC, then requested through 'std=c++0x' because C++11 was originally nicknamed C++0x, date all the way back to GCC 4.3, in 2008. GCC makes yearly major releases.

What does `g++ --version` say ?
Thank you both, gbl08ma and Lionel: I have just used make.bat files to compile and have never used GCC - I thought it was for Linux only but have looked now at it more and believe I need to install Cygwin to get GCC on windows.

Please let me know if it is not what I need to do or anything else I need to do to make compiling of prizm add-ins like this one on Windows.

Many thanks for all your help again.
Cygwin or MinGW, yeah.
But I just want to check... is this particular program supposed to be compilable natively on Windows ?
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 2 of 4
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement