Flying Cow
#8
Posted 25 November 2007 - 01:59 PM
Ok, this is getting better...
http://www.matiasmoreno.com.ar/FlyingCow-p...pdf-support.rar
No bugfixes, just added .pdf support.
The program is Project1.exe
The other dlls and exes allow FlyingCow to render PDFs.
http://www.matiasmoreno.com.ar/FlyingCow-p...pdf-support.rar
No bugfixes, just added .pdf support.
The program is Project1.exe
The other dlls and exes allow FlyingCow to render PDFs.
#10
Posted 25 November 2007 - 03:04 PM
Hi,
a dream come true. This is great news. Just tried and works great. Just a few things. If you have photos bigger in size (2Mb) it´ll slow down the scrolling and sometimes also hangs and pdftoppm.exe is running with 25% CPU in the background still. Some pdfs are shown, others not.
Hope the app comes integrated in the explorer, that would be very nice.
a dream come true. This is great news. Just tried and works great. Just a few things. If you have photos bigger in size (2Mb) it´ll slow down the scrolling and sometimes also hangs and pdftoppm.exe is running with 25% CPU in the background still. Some pdfs are shown, others not.
Hope the app comes integrated in the explorer, that would be very nice.
#11
Posted 25 November 2007 - 04:24 PM
Husaini HB;481427 said:
The new ver is more stable,but I got this warn when opened pdf file,thank's
Mmm... seems pdftoppm doesn't like the .pdf.
Can you test pdfinfo.exe "full path to the problematic pdf" from a command line and sending me the output? (pdfinfo is in same path than FlyingCow/Project1.exe)
New version (....-with-better-pdf-support.rar, see first post) should stop showing error message (but won't let you read the pdf, so the problem persists anyway).
#12
Posted 25 November 2007 - 04:50 PM
matonga;481433 said:
Mmm... seems pdftoppm doesn't like the .pdf.
Can you test pdfinfo.exe "full path to the problematic pdf" from a command line and sending me the output? (pdfinfo is in same path than FlyingCow/Project1.exe)
New version (....-with-better-pdf-support.rar, see first post) should stop showing error message (but won't let you read the pdf, so the problem persists anyway).
Can you test pdfinfo.exe "full path to the problematic pdf" from a command line and sending me the output? (pdfinfo is in same path than FlyingCow/Project1.exe)
New version (....-with-better-pdf-support.rar, see first post) should stop showing error message (but won't let you read the pdf, so the problem persists anyway).
Actually I used your latest ver and run all the exe ( pdfinfo.exe and pdftoppm.exe) stil got that warn,and I found this file "pdftppm.exe.stckdump" inside Flying Cow folder,thank's
#17
Posted 26 November 2007 - 10:36 AM
z-x;481444 said:
Great app! What techniques you used, and which programming language (is it Delphi?). I must admitt is works great (what it'll be good to see is some anti-aliasign on borders).
Always wanted to make my own replacement for explorer - it was hard to do?
Always wanted to make my own replacement for explorer - it was hard to do?
Yes, you may bet it is hard to do and to mantain :S
Yes I'm using Delphi 5 (quite old nowadays).
For OpenGL I'm using dglOpenGL:
http://wiki.delphigl...p/DGLOpenGL.pas
For GIF support I'm using TGIFImage v2.2 by Anders Melanders:
http://www.torry.net/pages.php?id=102 (scroll down, find the one by Anders)
For PNG support I'm using TPNGImage:
http://pngdelphi.sourceforge.net/
For video previewing, I'm using DSPack:
http://www.progdigy....php?name=DSPack
I don't know what you mean by technique... structured code versus object oriented?
In such case, the program is more object oriented.
Delphi creates some classes: TApplication, TForm (window).
Flying Cow has it's own class: TFlyingCow, and a rendering thread TFlyingCowRenderThread, that's why the animation is so smooth even when it is loading files in background (mostly noticeable in a dual/quad core cpu, as the thread will run mostly in one core and loading in the other).
Then we have these abstract classes:
TPreview
TPlayablePreview (for videos, music, etc...)
TMultiPagePreview (for PDFs, PowerPoint presentations, etc...)
Then we have implementations of those classes:
abstract TPreview -> TPicturePreview (bmps, jpegs, ...), TVideoPreview (avis, mpegs, ...), TPDFPreview (pdfs)
abstract TPlayablePreview -> TPlayableVideoPreview (TVideoPreview)
abstract TMultiPagePreview -> TMultiPagePDFPreview (TPDFPreview)
So, for example, when you look at a video, you are really looking at an instance of type TPreview, more precisely an instance of TVideoPreview (polymorphism).
Then, the TPreview class has defined a isPlayable( ) method, the TVideoPreview implementation returns True in that method's implementation, so when the user clicks the video to play it, TFlyingCow calls TPreview.getPlayablePreview(...) : TPlayablePreview and it gets an instance of TPlayableVideoPreview (polymorphism again) which in turn sends a stream of images (the video being played) to TFlyingCow.
I'm considering releasing the sources of this after reorganizing the code a bit.
Oh I almost forgot, for PDF previewing I'm using a CygWin port of a Linux tool (yeah, kinda messy) called xpdf, stripped down to pdfinfo, pdftoppm, cygwin runtimes, freetype library, type1 library and 14 ghostscript fonts.








Sign In »
Register Now!
Help


MultiQuote
