Pleiades Posted May 10, 2006 Posted May 10, 2006 As part of our business, we take digital photos of people; the photos are put on a CD with some additional materials and sold to the customers. Currently the process goes like this: Create folder structure on computer (day, AM/PM, group number) I do this fairly quickly by copying template folders Insert the SD card and copy the pictures from it onto the hard drive, into the folders created in the step above Use ACDSee to select only the ‘portrait shots’ and batch rotate them (the pictures are a mixture of landscape and portrait) Open Nero Burning ROM and load a base compilation, verify and change the date in the compilation label if necessary. Add the pictures to the compilation, and then burn them using multiple recorders. This is no problem for me, but it could defiantly be streamlined, eventually I want someone with little or no computer skill to be able to do this. I would like to write a ‘wizard’ type program that could guide the user through each step and help speed things up some. Unfortunately I am familiar only wish VB and Java, I am hoping I can finish this project with one of the two. There are several gaps in my knowledge however. The first is ‘Auto Insert Notification’ (I think that’s what it’s called). How does windows tell a program when removable media has been inserted? If anyone can point me toward some information about how to implement this I would be grateful. The second is displaying JPEG images and allowing the user to quickly select which ones need to be rotated. Is there an easy way to show thumbnails in java, some API I’m not aware of? The third is the CD burning, I’d like to be able to simply write a Nero compilation file and then simply load it in Nero and let Nero take it from there, the only problems is I can’t seem to find any documentation on Nero’s compilation file formats. Thanks in advance.
encipher Posted May 10, 2006 Posted May 10, 2006 I don't do JAVA or VB.. but I do work with the WinAPI alot. A project like this would probably be best made in C/C++.. but since you are limited to VB or JAVA, I'd say VB is the way to go. 1. For the SD Card detection, you would need to research the following API's: GetDriveType - To get the type of drive inserted (i.e. if its a removable drive or sd card) CreateFile - To open the drive for the next step DeviceIoControl - To get the properties of the drive.. drive letter It's not a very simple task, although if you were going to do it in C or C++ there would be sample code avaliable and I could help you out. 2. For image display, I would do one of two things: use an external application to edit / view images. You application can launch the process using CreateProcess API and try finding a program which can accept parameters so your images are loaded in automatically. Second thing to do if you want to embed images would be to use GDI+. Now i don't know if VB works the same way as C/C++.. but it probably uses the same api =\ 3. For CD burning you can embed two executables as resources: cdrecord.exe and mkisofs.exe both are open source. You can then extract then when needed during burning and use them to burn the cd you want. You can also monitor their progress and display it on your program though a progress bar.. etc.. To extract the exes from rousouce you can use FindResource, LoadResource, LockResource, SizeofResource and CreateFile. I know this isn't much help since It's all based off C++ methods. But hopefully it would have pointed you in the right direction.
Klaynos Posted May 10, 2006 Posted May 10, 2006 I'm not familiar on the windows stuff here so just comment on one thing (other than VB SUCKS! but that goes without saying...)... If this was me, I would create an ISO file system of what I want to burn to disk... Nero can deal with these...
RyanJ Posted May 10, 2006 Posted May 10, 2006 Agree with encipher except for one thing, a small project like this would probably be more easily designed in C#. And I agree with Klaynos - avoid VB, it lacks power and flexability... Cheers, Ryan Jones
Pleiades Posted May 11, 2006 Author Posted May 11, 2006 Thanks for pointing me in the right direction encipher, ill read up on those things, I’ll be back with more questions no doubt. I have been meaning to learn C++ for some while; I would welcome any recommendations of IDEs and books to get me started.
encipher Posted May 11, 2006 Posted May 11, 2006 Your best bet would be Microsoft Visual Studio 2003 .NET. I personally beleive that currently, its the best version. VS 6 is outdated and VS 2005 has alot of changes that are unnessicary and break regular c/c++ code. Another choice would be Borland's IDE, but borland doesn't have any Visual Basic IDE's. A good resource to have is MSDN. It's all avaliable online, but I would get me a copy of the MSDN DVD. There's a new one each month and I don't think they are expensive. It's a great resource. As for books I recommend taking a look at: Programming Win32 Under the API (With CD-ROM) Programming Windows, Fifth Edition I would also get a copy of Programming in C, Third Edition If you are planning on learning C/C++. One more thing. STAY AWAY FROM MFC.. or Visual C++.. =)
Pleiades Posted May 11, 2006 Author Posted May 11, 2006 I meant an IDE specifically for c++; I already have IDEs for java and VB, they may not be the best, but I know them. Borland has a lot of products, is C++Builder what I should be using?
RyanJ Posted May 11, 2006 Posted May 11, 2006 I meant an IDE specifically for c++; I already have IDEs for java and VB, they may not be the best, but I know them. Borland has a lot of products, is C++Builder what I should be using? When I use managed C++ I use the IDE MS provides with VS, when I'm working with normal C++ or C I use an IDE called Dev-C++ (http://www.bloodshed.net/dev/devcpp.html) Both are good for their own uses Cheers, Ryan Jones
Pleiades Posted May 13, 2006 Author Posted May 13, 2006 Before i buy it, is this the right book? http://www.amazon.com/gp/product/0672326663/qid=1147494689/sr=2-1/ref=pd_bbs_b_2_1/103-9800864-6075065?s=books&v=glance&n=283155 I'm really looking for a book to learn c++, not c
encipher Posted May 13, 2006 Posted May 13, 2006 Yes that's the book. If you want to learn C++, you can go directly to it and buy yourself a book on c++. I would recommend building on a foundation of C. Oh yeah, one more thing. Books will never teach you everything. You have to practice ALOT.
Dave Posted May 15, 2006 Posted May 15, 2006 Hold your horses a second; I wouldn't go out and buy Visual Studio straight off the bat. Have a look at the Visual Studio Express Edition, which are extremely good for getting to grips with things and would almost certainly be useful for your application.
airy52 Posted May 16, 2006 Posted May 16, 2006 C++ would definately be the best way to go, its much easier to control and you could easily write something like that, the only problem i see is that nero is a complicated program and ive had trouble from them before when i was writing programs to do with nero. They were no help at all in short terms.
Pleiades Posted May 16, 2006 Author Posted May 16, 2006 Really any program that can burn on multiple drives simuilatinously would work.
encipher Posted May 17, 2006 Posted May 17, 2006 Really any program that can burn on multiple drives simuilatinously would work. Like I said earlier, cdrecord.exe would be the best application for the job. Its less than a megabyte, and you can launch multiple instances of it to burn on differnent drives at the same time. Its also free & open source.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now