![]() |
#31 |
Addict
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 326
Karma: 960
Join Date: Jul 2009
Location: Florida, US
Device: Kindle DX, iPad
|
Ok, I can't believe I never caught this before, but the auto split portrait scans feature is named wrong... it's splitting landscape scans, not portrait. The code is correct, I just need to fix the naming. I'll upload the corrected code soon.
-Edit- Here's the updated code. You will need to delete your old .properties file and make a new one since some of the variable names changed in there. But since no real code was changed there is no need to reprocess your manga. Sorry for the confusion. Hopefully this will be the real final release :P Last edited by lilman; 07-07-2010 at 01:41 PM. |
![]() |
![]() |
![]() |
#32 |
Addict
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 326
Karma: 960
Join Date: Jul 2009
Location: Florida, US
Device: Kindle DX, iPad
|
I give up on saying a release is "final". I was reprocessing my entire manga collection and noticed some room for improvements (stability improvements... the basic alrogithms are not changing so don't worry about reprocessing your manga if you are already using the latest release).
Expect v1.82 soon (no "F") soon. I've already coded the improvements but will wait until I've tested it on my whole collection. -Update- I think I got everything working correctly in v1.82, but I'll let it finish processing my entire manga collection to make sure all is well. Expect a release in 2-3 days. By the way, this program works great with a batch file. I wrote a batch file to process all of my manga series so that I can kick it off and let it run without having to babysit it. Just create a .bat (or .sh for linux) with each Canti command on a separate line. For example: Contents of process_all_manga.bat (which is in the same directory as Canti): java -jar Canti.jar -parent_folder C:\\Manga\\MahouSenseiNegima!\\ -title "Mahou Sensei Negima!" -manga_prefix "Ch." java -jar Canti.jar -parent_folder C:\\Manga\\SchoolRumble\\ -title "School Rumble" -manga_prefix "Ch." ... Last edited by lilman; 07-13-2010 at 04:45 PM. |
![]() |
![]() |
Advert | |
|
![]() |
#33 |
Addict
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 326
Karma: 960
Join Date: Jul 2009
Location: Florida, US
Device: Kindle DX, iPad
|
Here's Canti v1.82
Note from the author: I tested this version on my entire digital manga collection, so I can confirm this is a very stable release. New to version 1.82: -Improved image handling stability ImageMagick is a whole lot better at handling images than native Java libraries, so I've added in a preprocessing stage to let ImageMagick fix any weird data within images before letting Java take a whack at them. Currently, Java image handling is only used for landscape 2-page split detection. In case Java still has trouble interpreting an image after ImageMagick has processed it, Canti will simply ignore trying to split that scan (in the past, Canti would have crashed). -Bug fix: @del_output_image_folders didn't always work correctly in Windows Geez, I thought I fixed this before, but it still occasionally fails to delete an output folder on Windows machines. I added in one more layer of defense. After that, if there is still a folder left in the output directory, you can delete it yourself :P -Improved auto sense suffix I changed the naming scheme of auto sense suffix to make it better able to handle reprocessing a manga series. Before, auto sense suffix would expand all suffix names to match the length of the longest suffix. For example: Random_Manga_-_Ch.001 <-- added two extra 0's to match longest length of three Although this makes the filenames line up nicely, it can be a problem if you add manga to your collection and the longest suffix length changes.... Random_Manga_-_Ch.015.5 <-- added an extra 0 to match longest length of three (decimal and characters after the decimal don't count towards length) ... Random_Manga_-_Ch.100 <-- longest length (three characters) The new auto sense suffix method is to make each suffix as short as possible. For example: Random_Manga_-_Ch.1 In this way, if the length of the longest suffix changes, the filenames will not be affected (and thus you won't have to worry about reprocessing the same manga using a different name).... Random_Manga_-_Ch.15.5 ... Random_Manga_-_Ch.100 If you want to fix the suffixes of manga processed with previous version of Canti to match the new naming scheme, you can use the attached FixSuffixes tool. Just run: java -jar FixSuffixes.jar [path to processed manga folder] For example: java -jar FixSuffixes.jar C:\\Manga\\SchoolRumble\\ Will only take an instant to rename all the files in the specified folder to the new naming scheme. Enjoy and let me know if it works for you ![]() Last edited by lilman; 07-14-2010 at 06:07 PM. |
![]() |
![]() |
![]() |
#34 |
Junior Member
![]() Posts: 2
Karma: 10
Join Date: Jul 2010
Device: ipad
|
NullPointerException error
Hi,
Your progam seems very hot but I have a problem trying to use it to rescale all my manga for my iPad. I have a NullPointerException in the main method. Waiting for your help ! Alexandra |
![]() |
![]() |
![]() |
#35 |
Addict
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 326
Karma: 960
Join Date: Jul 2009
Location: Florida, US
Device: Kindle DX, iPad
|
Does the NullPointerException look like this:
Exception in thread "main" java.lang.NullPointerException at common.utils.ExtFilter.isValid(ExtFilter.java:102) at common.utils.ExtFilter.isValid(ExtFilter.java:120) at common.utils.FileUtils.getZipFileList(FileUtils.ja va:134) at manga.ConvertManga.main(ConvertManga.java:1329) If so then someone else has already pointed this out to me, it has been fixed, and I will release the update in a few days. If that is not the error you get, please post the full exception and I will look into it. |
![]() |
![]() |
Advert | |
|
![]() |
#36 |
Junior Member
![]() Posts: 2
Karma: 10
Join Date: Jul 2010
Device: ipad
|
Hi lilamn,
Thanks for the response. I fix the problem, I move canti.properties from system32 to the root folder of Canti, and restart my computer. First, I thought it crashed because I run windows 64 bits, but I think it got me a nullpointerexception because it cannot find "canti.properties" file. Your program is awesome ![]() Alexandra |
![]() |
![]() |
![]() |
#37 | |||
Addict
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 326
Karma: 960
Join Date: Jul 2009
Location: Florida, US
Device: Kindle DX, iPad
|
(you solved your own problem, but I'm responding for others who encounter the same situation)
Quote:
Quote:
Quote:
If I have time later I may write a gui for those who prefer it to command line, but don't expect that any time soon. I recommend saving your Canti command lines in a file somewhere so that later if you need to reprocess the same manga series you can simply copy/paste the command line into a terminal. |
|||
![]() |
![]() |
![]() |
#38 |
Addict
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 326
Karma: 960
Join Date: Jul 2009
Location: Florida, US
Device: Kindle DX, iPad
|
Here's Canti v1.83
New to version 1.83: -Bug fix: Potential crash when trying to determine the file extension of a file with no extension Oops, left the potential for a NullPointerException if Canti tries to determine the extension of a file which has no extension. Problem has been fixed. -Bug fix: Can't create .properties file for certain Sony devices Canti had the incorrect filenames for the default .properties files of several Sony devices. This was easily fixed. -Auto sense suffix length In the last release of Canti, the naming scheme for auto sense suffix changed (see the notes for v1.82 for details). I've added @auto_sense_suffix_length for those that preferred the previous auto sense suffix naming scheme. @auto_sense_suffix_length is the number of digits to use when auto sensing the suffix of folders. An auto sensed suffix whose length is less than this value will be padded with leading 0's. The length of a suffix is the number of digits before the decimal. For example, 1.999 has a length of one, 01.999 has a length of two. Acceptable values: -1 (to disable), or an integer greater than or equal to 1 Recomended: -1 (if you don't want to pad the auto sensed suffix) or 4 (if you want to pad, 4 digits should be enough to handle most series (how many series have more than 9999 issues?)) This is set up in the .properties file. Enjoy and let me know if this works for you ![]() |
![]() |
![]() |
![]() |
#39 |
Addict
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 326
Karma: 960
Join Date: Jul 2009
Location: Florida, US
Device: Kindle DX, iPad
|
Here's Canti v1.84
New to version 1.84: -Use original filenames Canti uses -title, -manga_prefix, and a suffix (either auto sensed or size specified by -num_chars_keep_suffix) to form the output filenames. The basic naming scheme is: [title]_-_[manga_prefix][suffix], for example: School_Rumble_-_Ch.1 @use_original_filenames allows you to use the original filenames of the source manga as the output filenames. This can be especially useful if your source files are not named in a way that auto sense suffix can handle (i.e. they don't end with the chapter or volume number). This option supersedes the default of using auto sense suffix but can be disabled at runtime by specifying -num_chars_keep_suffix [integer] This is set up in the .properties file. Enjoy and let me know if it works for you ![]() |
![]() |
![]() |
![]() |
#40 |
Addict
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 326
Karma: 960
Join Date: Jul 2009
Location: Florida, US
Device: Kindle DX, iPad
|
Here's Canti v1.85
New to version 1.85: -Bug fix: @manga_prefix not working properly If you set @manga_prefix to default, Canti interpreted it literally (meaning you would get something like School_Rumble_-_default1.cbz). This has been fixed. Also, the auto setting for @manga_prefix wasn't working correctly. I think it has been fixed now. -Bug fix: Auto binding not working properly This problem is hard to explain. Just know that auto binding was a little bit broken but has been fixed. -Bug fix: Binding not working properly Binding was considering all folders in output_folder as potential folders to bind when it should have only considered image folders of the currently processing series. This has been fixed. -Added support for spaces in paths Spaces in paths has been a pita since the beginning of Canti. I finally tracked down the cause of the problem (it was an issue with the way Java interacts with external programs like ImageMagick) and it has been fixed. Remember that when specifying a path with spaces you must put "" around the path (for example: -parent_folder "C:\\Program Files\\manga\\"). -User can specify location of .properties file I got some requests for this feature, and since it took ~3mins to program I added it in :P New command line option -properties [path to .properties file] allows you to specify the location of the .properties file. By default, Canti assumes that the .properties file is in the same directory as the .jar, so if you haven't moved the .properties file from its default location then you don't need to set this option. -Added more default .properties profiles Added requested .properties profiles for Ectaco JetBook and JetBook Lite. They can be created by running (respectively): Code:
java -jar Canti.jar -create_properties jb java -jar Canti.jar -create_properties jbl -User can specify -auto_bind [integer] in command line This should make it easier to use auto binding as needed since I doubt most people like to leave it enabled all the time. This value supersedes the one in the .properties file. Enjoy and let me know if it works for you ![]() |
![]() |
![]() |
![]() |
#41 |
Addict
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 326
Karma: 960
Join Date: Jul 2009
Location: Florida, US
Device: Kindle DX, iPad
|
Here's Canti v1.85a
New to version 1.85a: -Bug fix: Binding may be ordered incorrectly I was relying on Java's built-in sorter to sort bindings alphabetically, but this wasn't always working properly. For example, if you had: School_Rumble_Ch.1 It would sort as:School_Rumble_Ch.2 ... School_Rumble_Ch.10 School_Rumble_Ch.1 I think the problem was that Java's built-in sorter couldn't tell that Ch.10 refers to the number "10", not ".10".School_Rumble_Ch.10 School_Rumble_Ch.2 ... Anyway, I wrote my own comparator so the sorting problem should be fixed. -Bug fix: Zipping could cause a "Too many open files" exception The zipping algorithm (used to zip an image folder into a .zip/.cbz archive) left file streams open, which could potentially cause a "Too many open files" exception, crashing the program. This has been fixed. -User can specify -use_original_filenames [true or false] in command line If enabled (-use_original_filenames true) then the output files will have the same filenames as the source files. This value supersedes the one in the .properties file. Enjoy and let me know if it works for you ![]() |
![]() |
![]() |
![]() |
#42 |
Addict
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 326
Karma: 960
Join Date: Jul 2009
Location: Florida, US
Device: Kindle DX, iPad
|
Here's Canti v1.85b
Note: Only Mac users need to pick up this update. New to version 1.85b: -Improved finding rar/unrar on Mac Improved the rar/unrar finding algorithm for Mac. It will now also look in the same places as it does for Linux. Enjoy and let me know if it works for you ![]() |
![]() |
![]() |
![]() |
#43 |
Addict
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 326
Karma: 960
Join Date: Jul 2009
Location: Florida, US
Device: Kindle DX, iPad
|
Here's Canti v1.86
Note: You only need FixProgressFiles if you want to move your manga collection processed with a version of Canti earlier than v1.86 to another operating system. New to version 1.86: -Bug fix: Handling multiple naming schemes Um, most of this is too hard to explain. Here's an easy part: Before, if you used the use_original_filenames option then output_folder image folder restoration was broken. The rest of the fixes are complicated. It has to do with the case where you output different comic series to the same output_folder (meaning that they all share the same progress file). This also has to do with mixing the various naming schemes in the same output folder. Anyway, I think everything works correctly now. -Improved progress file to make it portable I ran out of room on the hdd partition where I keep my digital manga collection and so I had to move the collection to an external drive. In the past Canti would record the absolute paths of image folders already processed in the output_folder progress file. This is a problem if the output folder moves to another directory. To fix this, Canti now simply records the name of the already processed folders (so School_Rumble_Ch.1 instead of C:\Manga\IPAD\School_Rumble_Ch.1). This update is backwards compatible with previous progress files. Note: If you want to move output_folder to another operating system, check out the FixProgressFiles.jar program I uploaded. Enjoy and let me know if it works for you ![]() |
![]() |
![]() |
![]() |
#44 |
Addict
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 326
Karma: 960
Join Date: Jul 2009
Location: Florida, US
Device: Kindle DX, iPad
|
Here's Canti v1.87
New to version 1.87: -Bug fix: Disable auto sense manga_prefix when using binding Auto sense manga_prefix is used to determine the manga_prefix of the currently processing series from a previous processing of the series. However, this feature cannot discriminate between a manga_prefix and a bind_prefix. This can cause naming problems when using binding (kind of hard to explain... just trust me). Anyway, I've disabled auto sense manga_prefix when binding is enabled, so problem solved. -New Other Operation: Analyze Manga Collection Up until now all of the updates have been either new features or bug fixes, but this is the first "other operation" (think of it as a program embedded in Canti to complement it). Analyze Manga Collection will search through a given root manga folder and return to you statstics about your collection (# of files of different types, # of scans, file space used, etc.). The basic command to run this is: java -jar Canti.jar -analyze_collection [path to root of manga collection] See the -Other Operations- section of the readme for more details. -New Other Operation: Create Canti Batch File Creates a batch script to process all of the manga series in [path to root input] and output the processed manga to [path to root output]. This will allow you to process your entire manga collection with Canti by just running the script (instead of having to manually type out a command line for each series). The basic command to run this is: java -jar Canti.jar -create_batch [path to root input] [path to root output] See the -Other Operations- section of the readme for more details. Enjoy and let me know if it works for you. |
![]() |
![]() |
![]() |
#45 |
Groupie
![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 152
Karma: 700
Join Date: Sep 2010
Location: Las Vegas
Device: Nook, CoolER
|
Interesting. while I have neither a Kindle nor a Mac (and have zero interest in getting one; having too much fun with my Linux machines) however I am curious if A you are ever planning on GPLing this app and failing that could you suggest any others that might run on an Android-based device? I am keenly interested in getting manga as well as all of those DVDs that Marvel sells with 500 issues of Spiderman, Ironman, Fantastic Four, XMen, etc (all are in PDF file format) readable on the Nook as well but one thing at a time: Rurouni Kenshin, Akira, Blood: The Last Vampire and Battle Angel Alita are tops on my list....
|
![]() |
![]() |
![]() |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
My Manga Program | lilman | Kindle Developer's Corner | 177 | 07-10-2011 07:39 PM |
Canti: Manga Processing Program | lilman | Workshop | 42 | 04-14-2011 06:52 PM |
Classic Canti: Manga Processing Program | lilman | Barnes & Noble NOOK | 4 | 07-14-2010 04:45 PM |
Canti: Manga Processing Program | lilman | Sony Reader Dev Corner | 1 | 07-14-2010 04:43 PM |
Perl processing | alexxxm | Sony Reader | 3 | 11-26-2007 06:13 AM |