Notices


Reply
Thread Tools
Posts: 39 | Thanked: 66 times | Joined on May 2008 @ Montreal
#1
Hi all,

I've just completed a port of cbrPager to the Maemo platform.

cbrPager is a lightweight comic book reader written in plain C. It has been modified specifically for the tablet so that it provides a pleasant reading experience. Well, at least, it's pleasant to my wife, who was kind enough to be my beta tester.

If you are using Comix but find its startup takes way too much time/eats too much disk space, consider using cbrPager. It takes an alternate approach: rather than unpacking the whole archive at once, it unpacks only the current page. I initially thought it would be way slower when paging, but I find it's roughly as fast as Comix flipping pages (or at least, I can't really see a difference). However, it opens a file much, much faster than Comix does.

Rest assured that it's a pretty stable application at this point. I've read about 10 different manga series on it so far :-)

Usage

Hardkeys are mapped properly. Zoom in/out, fullscreen and the menu key work as expected. Tap and hold for a navigation-related context menu.

Escape toggles between portrait (rotated clockwise) and landscape.

Down pages forward (in portrait and landscape mode), Up pages backwards.

Right sets "fit to screen".

Left sets "fit to width".

To set auto-rotate, use the preferences dialog. Note that the key re-assignments may not be possible for all keys; for instance, it doesn't look like you can rebind the d-pad at this time, but the rest should be OK.

Screenshots

Everyone likes screenshots :-)

The following screenshot shows the Hildonized menu:


The following shows the navigation arrows, just like the PDF reader minus transparency :-)


For the Maemo port, I've added auto-rotation and a fullscreen mode, activated by the fullscreen key of course :-)


Cool! Where do I get it?

If you wish to try it out now, download it at this URL:
https://garage.maemo.org/frs/download.php/4599/cbrpager_0.9.20-1_armel.deb


There are no dependencies outside plain Diablo (it probably works in Chinook, actually, but I haven't tried). If you want to read .cbr files, you'll need to install unrar. For cbz files, though, support is built-in. Also note that you need some space on the /media/mmc2, because that's where I put temporary files for now. The space you need is equal to the size of the biggest picture in your archive file; with JPEGs, this is rarely more than a couple hundred KBs.

You can also get the source here if you're interested: https://garage.maemo.org/frs/download.php/4598/cbrpager_0.9.20-1.tar.gz


Final thoughts

If everybody likes it and no bugs are found, I'll try to get it in maemo-extras. Please let me know about any issues you find, except this one: the paging arrows don't always appear properly when toggling full-screen on. This is a known bug and I'll try to fix it soon.

A big thanks to John Coppens (http://jcoppens.com) for writing this program in the first place and putting up with me.

I hope you will enjoy this program!

-- BGE
Attached Images
   
 

The Following 23 Users Say Thank You to bge For This Useful Post:
Posts: 161 | Thanked: 75 times | Joined on Feb 2008
#2
This doesn't escape brackets correctly and segfaults. From the screenshot, it looks like a way to hide the scrollbar would be nice.
 

The Following User Says Thank You to Navi For This Useful Post:
Posts: 39 | Thanked: 66 times | Joined on May 2008 @ Montreal
#3
Originally Posted by Navi View Post
This doesn't escape brackets correctly and segfaults. From the screenshot, it looks like a way to hide the scrollbar would be nice.
Was that with a cbr or cbz? Can you send me a sample file so I can fix it?

Thanks for the comment for the scrollbars. I'll add it to my todo list.
 
Posts: 161 | Thanked: 75 times | Joined on Feb 2008
#4
Wait... this isn't because of improperly escaped characters.

Here's the archive that it'll segfault on:
http://www.mangashare.com/dl/Claymore_83/4028/

Last edited by Navi; 2008-09-24 at 03:01.
 
Posts: 39 | Thanked: 66 times | Joined on May 2008 @ Montreal
#5
Originally Posted by Navi View Post
CBR, but I believe it'll happen with CBZs as well. This is pretty common, really. Evince used to do this before as well, 'til escaped '?', '|', '[', ']', '*', and '\' characters. The in this instance archive itself doesn't contain any of these characters, but the filename does. However, if something as simple as the filename will segfault the app, I'm worred that it'll segfault if the archive contains files with these characters as well.

Here's an archive that it'll segfault on:
http://www.mangashare.com/dl/Claymore_83/4028/
No, the code is actually careful with escaping filenames in the archive. But I'm quite surprised it does this, because it calls exec() directly, not system(). Maybe it behaves differently on the tablet.

The file looks like a cbr to me :-) For cbz, it won't do this, or at least, I'd be very surprised, as it doesn't use the command line at all. It embeds libunzip, so escaping should not even come into play.

I'm taking a look at the file right now.

Thanks!
 
Posts: 161 | Thanked: 75 times | Joined on Feb 2008
#6
Originally Posted by bge View Post
I'm taking a look at the file right now.

Thanks!
Nah, I edited my post several times. I was quick to assume.
 
Posts: 39 | Thanked: 66 times | Joined on May 2008 @ Montreal
#7
Originally Posted by Navi View Post
Nah, I edited my post several times. I was quick to assume.
I was too quick to respond

On my tablet, it opens it fine, so:
  • Have you tried with another file?
  • What does 'unrar | head -2' show when you run it from your terminal? Mine is 3.80 beta 2 freeware.
  • Does it crash at a specific page?
  • Is your in a language other than English?
  • Are you using the latest Diablo, or something else?

Thanks for your feedback.
 
Posts: 161 | Thanked: 75 times | Joined on Feb 2008
#8
Originally Posted by bge View Post
I was too quick to respond

On my tablet, it opens it fine, so:
  • Have you tried with another file?
  • What does 'unrar | head -2' show when you run it from your terminal? Mine is 3.80 beta 2 freeware.
  • Does it crash at a specific page?
  • Is your in a language other than English?
  • Are you using the latest Diablo, or something else?

Thanks for your feedback.
Yes, also a segfault.
Same version.
Segfaults when I open it.
Nope, English.
Diablo.

I'll paste the error in a second.

Code:
Cannot generate temporary file /media/mmc2/cbrLEVcfC
cbrpager[8916]: GLIB DEBUG Conic - con_ic_connection_send_event(0xb0a60, (null), (null), 1)
hildon-thumb-libid3[8938]: GLIB WARNING ** default - Error saving pixbuf: Value for PNG text chunk Thumb::Title cannot be converted to ISO-8859-1 encoding.
hildon-thumb-libid3[8938]: GLIB WARNING ** default - Thumbnail save failed: /home/user/.thumbnails/osso/tmp_68d83938bf9055300528749573d18058.png.IWL1HU

Last edited by Navi; 2008-09-24 at 03:22.
 
Posts: 39 | Thanked: 66 times | Joined on May 2008 @ Montreal
#9
Originally Posted by Navi View Post
Yes, also a segfault.
Same version.
Segfaults when I open it.
Nope, English.
Diablo.

I'll paste the error in a second.

Code:
Cannot generate temporary file /media/mmc2/cbrLEVcfC
cbrpager[8916]: GLIB DEBUG Conic - con_ic_connection_send_event(0xb0a60, (null), (null), 1)
hildon-thumb-libid3[8938]: GLIB WARNING ** default - Error saving pixbuf: Value for PNG text chunk Thumb::Title cannot be converted to ISO-8859-1 encoding.
hildon-thumb-libid3[8938]: GLIB WARNING ** default - Thumbnail save failed: /home/user/.thumbnails/osso/tmp_68d83938bf9055300528749573d18058.png.IWL1HU
OK, this means it can't generate the temporary file for some reason. No wonder it segfaults. It needs a place to write out the image file, at least for now.

Is this an N810? Else (if it's an N800), do you have a card in the internal slot? Is there any space left on it?

If you've answered "yes" to the first or the second two questions, then I don't know why it's doing this. It's getting a bit late so I won't do this right away, but I'll add a bit of debugging so I can see the exact error code.

Otherwise, well, I guess I need to make the temporary file location configurable... Added to my TODO as well, above all other items. The original code wrote to /tmp, and this is way too small on the tablet so I changed it to /media/mmc2 and then promptly forgot about it... In the meantime, you can try to put a card in the internal slot and see if it fixes the problem.

Thanks for helping me investigate this... My current beta tester has nearly the same tablet configuration as I do, so we usually have the same problems :-)
 
Posts: 161 | Thanked: 75 times | Joined on Feb 2008
#10
Oh, right. mmc2 is the internal slot. Yeah, I don't have an internal card. That should be configurable :P
 
Reply


 
Forum Jump


All times are GMT. The time now is 21:13.