DonationCoder.com Forum

DonationCoder.com Software => Older DC Contests and Challenges => N.A.N.Y. 2011 => Topic started by: nharding on June 11, 2010, 12:03 PM

Title: NANY 2011 Release: DCDisplay
Post by: nharding on June 11, 2010, 12:03 PM
NANY 2011 (https://www.donationcoder.com/forum/index.php?board=299.0) Entry Information

Application NameDCDisplay
Version0.4
Short DescriptionComic/Magazine viewer
Supported OSesWindows XP,Vista,7
Download[ You are not allowed to view attachments ]
Comic Sources:
  • http://goldenagecomics.co.uk//index.php (http://goldenagecomics.co.uk//index.php)
  • http://www.flashbackuniverse.com/downloads.aspx (http://www.flashbackuniverse.com/downloads.aspx)
Author Neil Harding


Description
I wanted a replacement for CDisplay (which hasn't been worked on for years), so I am writing DCDisplay. I'm using XNA (although the application will be PC only, no XBox support is planned) as I wanted an excuse to learn C#.

Features
All the basic functionality is now supported, including next and previous (which uses a new sort algorithm that sorts more like English.) I am using a pixel shader to allow the contrast, saturation, brightness, deyellow, gamma, skew, lighten image near spine although the settings are not currently preserved.

Just added the database (which scans your hard drive for the entire contents and allow you to find duplicates based on names as well as contents). This is not the final version, but has most of the features that will be present.

Planned Features
I also want to add some graphical niceties (I want to do a comic style UI).

Screenshots
[ You are not allowed to view attachments ]

Usage
Installation
Download the zip file and decompress it, then run the setup.exe file and it will install it.

Using the Application
When you run the application for the first time it will display a small comic with instructions inside.
The main key you need is space, the controls are the same as CDisplay.

Uninstallation
Windows Control Panel / Add Remove Programs, or click the Uninstall DCDisplay link that is now added.
Title: Re: NANY 2011 Pledge: DCDisplay
Post by: superboyac on June 11, 2010, 12:08 PM
Very nice!  I used to use Cdisplay.  Then I found another, more polished program called Comicrack.  Comicrack is great.  Full featured, organizes your comics also.  You can say it's more bloated than CDisplay, also.  But CDisplay is very very minimalist, which I like also.

Anyway, I just wanted to offer some encouragement.
Title: Re: NANY 2011 Pledge: DCDisplay
Post by: mouser on June 11, 2010, 12:12 PM
Love it  :up: :up:
Title: Re: NANY 2011 Pledge: DCDisplay
Post by: Crush on June 11, 2010, 01:24 PM
I also used CDisplay very often to read old comics and look forward to this replacement.
Title: Re: NANY 2011 Pledge: DCDisplay
Post by: nharding on June 29, 2010, 08:44 AM
If you want a sneak peek, then the first alpha version is available at installer (http://rapidshare.com/files/401481371/DCDisplayV1.zip.html) and the source (http://rapidshare.com/files/401509519/DCDisplay.zip.html) is available (you need Visual Studio Express 2008 C#, and XNA if you want to be able to build).

Neil Harding
Title: Re: NANY 2011 Pledge: DCDisplay
Post by: Crush on June 29, 2010, 10:10 AM
The links arenĀ“t working. Is rapidshare down atm?
Title: Re: NANY 2011 Pledge: DCDisplay
Post by: mouser on June 29, 2010, 10:16 AM
screenshots please!
Title: Re: NANY 2011 Pledge: DCDisplay
Post by: nharding on June 29, 2010, 10:19 AM
Yes it appears as though it was down temporarily (they are supposed to be changing the system they use today, so I guess it went down sometime after I posted the links) and whilst writing the reply it came back up.
Title: Re: NANY 2011 Pledge: DCDisplay
Post by: tomos on August 05, 2010, 05:24 AM
Well I didnt have a clue what CDisplay was in it's time, but I read a share of comics online so I thought I'll try an 'I'm feeling lucky' install :)

I see it's main purpose is to read cbr/cbz files - of which I dont have any :D - anyone know where I can get some free or cheap comics?
So I simply tried it out as a viewer.   

Observations so far:
it looks great. I like the idea & the shortcuts are nice and easy and very useful. I love the way the arrows simply move the image, even off-screen if you want

problems:
worked fine first couple of times but used a lot of cpu - 20% of dual core. Everything else struggled with it running in the background - jerky mouse etc.
Now it has started seizing up - even before I try to load anything. If I try to change to another app, I cant - alttab doesnt work etc. So I have to kill it.
I'm not sure what could have changed - could it be it's trying to go to the images I last looked at? I did see a flash of an image the last time I started it & then it went to the intro image.

BTW where is the install? I couldnt find it - is it in the unpacked zip file? The shortcut on the desktop doesnt seem to be a normal shortcut - it only shows the path to itself!
Title: Re: NANY 2011 Pledge: DCDisplay
Post by: nharding on August 05, 2010, 07:45 AM
I used the "publish" application in Visual Studio, but it produces a weird installation. I think it installs in some guid generated path name which seems to be counterintuitive. When you open an archive it reads in the images and decodes them ahead of time (it does this is 2 parts, one to decompress the file from the archive, and another to convert the image from graphic format into a texture for the graphics card). So if you read normally then pressing space for next page will be extremely fast since it has already pre-cached the result. I need to split this into a different thread to maintain responsiveness (and then in the UI thread check if the results are ready, which at the moment I don't need to do since it can assume they are).

Neil Harding
Title: Re: NANY 2011 Pledge: DCDisplay
Post by: tomos on August 05, 2010, 04:02 PM
I think it may be in the user folders but havent checked - it shows up in my uninstaller programme anyways so I'm not worried :)

Sounds promising and is looking very good
Title: Re: NANY 2011 Teaser: DCDisplay
Post by: worstje on October 13, 2010, 12:02 AM
I'm a few months late, but I figured I'd mention there is already an opensource project called CDisplayEx. I've been using that for months. It hasn't been worked on in a while I think, but I am not sure what else one might wish to add.

Still, I look forward to seeing DCDisplay. :)
Title: Re: NANY 2011 Teaser: DCDisplay
Post by: nharding on October 13, 2010, 12:21 AM
I am using C# and XNA to use 3D card with a pixel shader, which allows realtime correction of colors (as well as fixing other issues, such as rotation). I plan on having XML script for an issue, so you can set parameters for each page if needed, this is better than adjusting the original jpg and resaving as that will introduce additional artifacts. The other main thing I want to add is the ability to store a database of all the comics / magazines you have, and allow fast access to them.

Neil
Title: Re: NANY 2011 Release: DCDisplay
Post by: nharding on January 01, 2011, 12:04 AM
I just updated the first page with a new version of DCDisplay that fixed a small bug (minimize in windows mode would crash the application), and took the opportunity to add in abbreviation expansion in file names (LSH would expand to Legion Super Heroes for example). I should have a report generator soon (I've already got it so that it will produce a thumbnail of the cover and parse a html template).

Neil
Title: Re: NANY 2011 Release: DCDisplay
Post by: fenixproductions on January 01, 2011, 10:00 AM
@nharding
Are you planning more portable version (wihout installer)?
Title: Re: NANY 2011 Release: DCDisplay
Post by: nharding on January 01, 2011, 10:27 AM
Since it uses .Net & XNA, and needs the DLL for decompressing archives then it would be difficult to do a portable version (unless you have the required components already installed). It also saves settings.xml in the application directory.

Neil
Title: Re: NANY 2011 Release: DCDisplay
Post by: fenixproductions on January 01, 2011, 01:15 PM
@nharding
I understand that .NET (and its components) is not really portable but I thought mostly about not messing with Registry when it's not really needed.
Title: Re: NANY 2011 Release: DCDisplay
Post by: nharding on January 01, 2011, 01:21 PM
No I don't use the registry, I save the settings to an xml file (so they can be modified by hand if need be, although I will be modifying the application further so that all the settings will be accessible from within the program)

Neil
Title: Re: NANY 2011 Release: DCDisplay
Post by: mouser on January 01, 2011, 01:56 PM
Anyone got any links to some free CBR/CBZ format comics to try out with this?
Title: Re: NANY 2011 Release: DCDisplay
Post by: nharding on January 01, 2011, 02:16 PM
You can use any directory of images that you put into a zip file (cbz) or rar file (cbr). http://goldenagecomics.co.uk//index.php was a bunch of public domain comics.

Neil
Title: Re: NANY 2011 Release: DCDisplay
Post by: mouser on January 01, 2011, 02:40 PM
Here are some:
http://www.flashbackuniverse.com/downloads.aspx

They display great in DCDisplay  :up: :up:
Title: Re: NANY 2011 Release: DCDisplay
Post by: mouser on January 01, 2011, 02:44 PM
DCDisplay is very cool.
I have to say though personally that i find these website Deployment things with weird installers that put non-standard shortcuts and do weird things, totally baffling and frustrating.  Im not sure that is something you have an option with wrt XNA, etc.  but i find it ironic that once again Microsoft is pioneering ways to do f*cked up non-standard totally alien confusing things on their own operating system.
Title: Re: NANY 2011 Release: DCDisplay
Post by: mouser on January 01, 2011, 02:46 PM
I think you also need some way to show some help even after user has loaded their first comic.
I read the introductory 2 pages, very nice and clear.
Then i loaded a comic, looked great.
Then i was totally completely lost as to the keyboard hotkeys that were shown to me on initial load, and could not figure out how to display help or do anything despite pounding all over the keyboard.
Title: Re: NANY 2011 Release: DCDisplay
Post by: mouser on January 01, 2011, 02:56 PM
Hitting W key goes to window mode (but doesn't show any window menu this first time).
Hitting W twice more toggles full screen and window mode again and now i have a menu!
Title: Re: NANY 2011 Release: DCDisplay
Post by: mouser on January 01, 2011, 02:57 PM
The only option i really miss is being able to set the background to black.
Title: Re: NANY 2011 Release: DCDisplay
Post by: nharding on January 01, 2011, 03:04 PM
Hi Mouser,

I made the keys compatible with CDisplay, but I will make it reload the mini comic if you press F1 or select Help. The background color will be added once I add in the configuration screen (I plan on making it so that you can reassign the keys), at the moment you could manually modify settings.xml to change options but that won't be required for the final release. The filename sorting took a lot longer than I expected, it is designed to work in cases where people do not name files consistently.

Neil
Title: Re: NANY 2011 Release: DCDisplay
Post by: mouser on January 01, 2011, 03:19 PM
reassigning keys, not important for me, and i have no problem modifying settings.xml, so i will try that -- IF i could figure out where this thing installed its files :)


the f1 help sounds like a good idea.  making X quit and escape show help might also be a good idea.

also i think pgup and pgdn go back and forth pages, which is very good, but im not sure the help says that.
Title: Re: NANY 2011 Release: DCDisplay
Post by: nharding on January 01, 2011, 03:39 PM
Try the Ctrl T 2 page mode which is very nice way of reading a comic, and Ctrl S brings up a settings menu where you can adjust a bunch of parameters for the shader (at the moment the settings are not saved but they will be once I have the database installed, I want to be able to set settings for an individual comic (or page)).

If you view an image larger than the screen, and use space it will scroll around the image.

You can also use the wheel on the mouse to scroll through a comic as well. I'd like to add PDF support at a later date, since Acrobat is terrible :)

Neil
Title: Re: NANY 2011 Release: DCDisplay
Post by: nharding on January 06, 2011, 12:07 AM
I've carried on working on DCDisplay. I've been adding a check all files mode, it recurses all the hard drives on your computer and examines every archive (zip & rar). It reports any problems it finds, and also any duplicate files (it does an image checksum of all the images in the archive, so if you have cbr and cbz version of the same contents it will match as a duplicate). I use a html template match that I wrote, so you can style the output (there is a simple default template with all fields present in a table.).

It generates a thumbnail of the first page in each archive that can be used in the html output, and it saves the results as it checks the files so you only have to do it once (and then the next time, it will just examine the new files although it will still compare with all the original files). It reports problems it finds, including nested archives (zip files inside another zip for example), thumbs.db inside the archive (no point at all, and increases the size). MAC format zip (MACOSX directory, which causes CDisplay to crash, although DCDisplay can handle it with ease), corrupt images, and malformed archives.

I've also replaced the 7Zip extractor, and now use native C# code to read rar and zip files with no dll dependency. I have a few TB of data that I am testing it with, so it will take a while to run (it's been running for over 30 hours non stop and seems to be working fine), once the report is generated I will update the release with a new version.

Neil
Title: Re: NANY 2011 Release: DCDisplay
Post by: mouser on January 06, 2011, 12:20 AM
cool.

i really think you have to do something about the way this program installs itself.  if you need to have it install instead of just running, there has to be some way to do it so that it actually installs and copies files to some permanent place in Program Files\ and runs properly from there.  as it is now it seems like it leaves the files where they are but makes some registration somewhere so that you can't move the files and can't run the setup program again without removing it from the Add/Remove list.  it's very confusing and i've never seen anything quite so confusing in an installer. not to be harsh but something is terribly wrong with the way this installs -- or else i'm very confused, or both.
Title: Re: NANY 2011 Release: DCDisplay
Post by: mouser on January 06, 2011, 12:24 AM
what should Ctrl+T do? should it show two pages side by side? here it just seems to toggle the zoom slightly between full page and almost full page, always showing one page.
Title: Re: NANY 2011 Release: DCDisplay
Post by: nharding on January 06, 2011, 09:21 AM
I'll have a look at the installer, I just use the Publish command in C# to generate the install.

Ctrl T should show 2 pages at a time (it assumes a page is double page if width > height, in which it skips that page (it also assumes 1st and last pages are double pages as well, so that it's like reading a book with a front and back cover).

Neil
Title: Re: NANY 2011 Release: DCDisplay
Post by: superboyac on January 06, 2011, 09:31 AM
OK, I'm going to ask for a pretty awesome feature request, but I know it's hard to do, so I don't expect it.  But it's cool!
http://comicreader.mobi/
That's Comic Reader Mobi.  It's the iOS comic reader.  What's amazing about it is if you tap on the text bubble of a comic, it will enlarge ONLY the text bubble while everything else stays the same.  Isn't that freaking awesome?!  So you can read your comic on your computer or mobile device, and you can set it to "fit to page" and just use the zoom to magnify the text.  It's really sweet.  I know, all these comic readers already have magnifying glass features, and so on, but nothing beats the elegance of this solution.
Title: Re: NANY 2011 Release: DCDisplay
Post by: mouser on January 06, 2011, 11:06 AM
that zoom feature might be needed on a mobile device, but for a desktop reader, it's hard to see the value in it.
Title: Re: NANY 2011 Release: DCDisplay
Post by: superboyac on January 06, 2011, 12:17 PM
that zoom feature might be needed on a mobile device, but for a desktop reader, it's hard to see the value in it.
I beg do tiffer (politely, of course).  Not entirely, but somewhat.  I'll explain.  I do occasionally read comics on my computer, and while it's big enough to see the text AND see the entire page fit on the screen, SOMETIMES you do want to just expand the text a little more without having to zoom the rest of it.  Now, all these readers have that magnifying glass feature, but it's better just to have the text box pop out without having the surrounding magnified.  Anyway, it's not essential, but I can almost guarantee that it would increase your reading pleasure greatly and people would love it.  It might be more trouble than it's worth to program, but still, just a thought...
Title: Re: NANY 2011 Release: DCDisplay
Post by: nharding on January 06, 2011, 12:28 PM
I plan on adding scanlation support (so you select a word balloon and then you can translate the text), so I'll add it when I start on the scanlation support.

Neil
Title: Re: NANY 2011 Release: DCDisplay
Post by: superboyac on January 06, 2011, 12:44 PM
I plan on adding scanlation support (so you select a word balloon and then you can translate the text), so I'll add it when I start on the scanlation support.

Neil
Oh snap!!  No way, I didn't think you'd go for it.  If you do, this will be one of my favorite fun applications ever.  The scanlation sounds amazing also.
Title: Re: NANY 2011 Release: DCDisplay
Post by: mouser on January 08, 2011, 12:06 PM
Is it possible to release DcDisplay in a way that just let's it run portably? Or does it have to install because of some XNA requirements?
Title: Re: NANY 2011 Release: DCDisplay
Post by: nharding on January 08, 2011, 01:08 PM
It should run portably, it uses xml file in the application directory to store settings rather than registry entries.

Neil
Title: Re: NANY 2011 Release: DCDisplay
Post by: mouser on January 08, 2011, 01:17 PM
didn't work for me.  not even sure what file to launch, tried DcDisplay.application and got some error about security zones or something.

sorry if i'm grumpy.. i've said it before i'll say it again, how microsoft managed to make it so hard to run applications built from their new development languages, and the errors so confusing, i will never understand as long as i live. it just boggles my mind.
Title: Re: NANY 2011 Release: DCDisplay
Post by: nharding on January 15, 2011, 01:11 AM
Ok, should have a new version this weekend. I have the database present (it takes a while, but you can quit and carry on again another time) which creates a html summary which you can browse. It checks for each image to find any corrupted ones, reports any embedded zip / rar files inside an archive, reports number of pages found (it assumes 2 pages if width > height), works out a checksum so it can find duplicates (it's image based checksum, so even if files are renamed and archived in a different format it can still identify it), and also gives the average resolution (some older scans were too low rez and probably need to be rescanned).

I've got a new installer. I'm using native c# code for uncompressing the zip and rar files so I've made it threaded to make the UI more responsive. I've got cross process communication (so if you start a 2nd instance it will pass the command line to the first instance and then exit). Pressing F1 will now load the Readme.cbr file and backspace will load the previous file you were reading.

Neil
Title: Re: NANY 2011 Release: DCDisplay
Post by: nharding on January 18, 2011, 07:36 PM
I've extended the database features, it now generates 3 sets of files rather than just by title (it generates by title, date, & path) and then generates index files that refer to each of those. I've also improved the Browser, so it has BACK, PREV, NEXT, buttons.

[ You are not allowed to view attachments ]

Neil
Title: Re: NANY 2011 Release: DCDisplay
Post by: mouser on January 18, 2011, 07:45 PM
looking good!
Title: Re: NANY 2011 Release: DCDisplay
Post by: DeVamp on January 24, 2011, 08:45 AM
Hi there,

It looks like a nice program, but it crashes as soon as I try to start it.

During the first setup, it installed directx9 and XNA.
During the second setup, it says that directX9 en XNA are present.

It's probably something windows. Maybe I should reboot first, so that windows loads XNA correctly.

Do you have any idea?
Title: Re: NANY 2011 Release: DCDisplay
Post by: nharding on January 24, 2011, 09:13 AM
Ok, I'm about ready to release a new version, so I'll put everything in a try / catch block so that it will give more detailed description of the problem.

Neil
Title: Re: NANY 2011 Release: DCDisplay
Post by: nharding on February 01, 2011, 12:19 PM
For those of you wondering where the new version is, I decided to include as much data as possible so I wrote a scraper for Comic Vine to get the details of all the characters and I am using GCD to get lists of all publishers, titles, issues and stories and I'm writing extractor to convert the format. Since the data is not needed if you don't want to use the database (and is also over 100MB in size), I will put that data on rapidshare as an optional download.

Neil
Title: Re: NANY 2011 Release: DCDisplay
Post by: noblejoker on May 23, 2011, 11:16 PM
Hi there,

It looks like a nice program, but it crashes as soon as I try to start it.

During the first setup, it installed directx9 and XNA.
During the second setup, it says that directX9 en XNA are present.

It's probably something windows. Maybe I should reboot first, so that windows loads XNA correctly.

Do you have any idea?

Exactly the same for me I am afraid - not operational at all On Win 7 Home Premium 64
Tried running in XP compatability and run as admin - no go
All the extra look good but need basic functionality first I guess
Good luck with development
Title: Re: NANY 2011 Release: DCDisplay
Post by: nharding on May 24, 2011, 12:54 AM
My development system is Windows XP. I will see if I can find the problem on Windows 7.

Neil