Grafburn cd burner - new version 0.10.1
- Nathan F
- Posts: 1764
- Joined: Wed 08 Jun 2005, 14:45
- Location: Wadsworth, OH (occasionally home)
- Contact:
Grafburn cd burner - new version 0.10.1
EDIT: new version 0.10 -
* Added support for cue and toc files
* Added workaround for drives that must use -raw mode as opposed to -sao
* Allow files to be symlinked into temp directory
* Greatly simplified burning dialog moving everything into one window
* Total rewrite of preferences dialog usig gtkdialog, all into one window now
* Use the system default drives set up using the burning wizard
* Implemented appending tracks to multisession disks
* Rewrote most of the audio cd interface in gtkdialog - more streamlined
* Made relocation of the application directory easier
* Implemented version upgrades
* Created a nicer "About" screen
This is a dead simple gui for creating cd's and dvd's, basically just a couple shellscripts that call the command line tools. It was born out of my frustration with Puppy's lack of a good, simple burning program now that Graveman has gone screwy. I'll be the first to say, I hate Gcombust with a passion.
Parts of this will look quite familiar to Puppy users, since it calls burniso2cd if you select the burn iso option. Why reinvent here. You can also create a disk from scratch and I plan to add a blanking feature later in the week. Install as an alien with petget, and then launch it from the launcher in /usr/local/apps (which you can drag to the desktop).
Nathan
- Attachments
-
- Grafburn-0.10.1.pet
- (60.22 KiB) Downloaded 2575 times
Last edited by Nathan F on Fri 18 May 2007, 00:16, edited 11 times in total.
Bring on the locusts ...
Re: Grafburn cd burner
Hi Nathan,Nathan F wrote:You can also create a disk from scratch and I plan to add a blanking feature later in the week. Install as an alien with petget, and then launch it from the launcher in /usr/local/apps (which you can drag to the desktop).
Followed instructions to a T: downloaded tarball, installed with Petget alien installer and dragged icon to desktop.
I can start the process to "Burn an iso file" fine, but when I click on "Create a data cd/dvd" from scratch nothing happens.
At first I thought the problem might be that I needed a blank cd in the burner when starting the option, as with Gcombust, but that made no difference. Nada. Nothing. I also get nothing when I choose to "Set preferences".
UPDATE: Interestingly, if I right click on the desktop icon and choose "create a cd/dvd" the program starts, but not from the button on the gui. And when it says "I have opened a filer window in the tempdir", the filer window actually shows /root
OTOH, if I choose to "set preferences" by right click on the icon, I get duplicate copies of a huge list of Xdialog settings. Sorry but I dare not fiddle with any of them!
Any ideas?
- Nathan F
- Posts: 1764
- Joined: Wed 08 Jun 2005, 14:45
- Location: Wadsworth, OH (occasionally home)
- Contact:
WhoDo -
I looked at it anyway, and found the bugs. There's a fix uploaded already. You should remove the old one using the package manager, but then you have to manually delete the file /root/.config/grafburnrc before starting again. Then all should be kosher.
I had moved the location of the scripts while I was working on the package, and didn't update the paths in the grafburn script. I also fixed a bug, that caused it to fail if there was an empty profile directory. I will do some more improvements later this week to make it a bit sturdier and add the missing blank feature. I also want to add an option to set the speed, but that's about as complicated as it's going to get.
Nathan
I looked at it anyway, and found the bugs. There's a fix uploaded already. You should remove the old one using the package manager, but then you have to manually delete the file /root/.config/grafburnrc before starting again. Then all should be kosher.
I had moved the location of the scripts while I was working on the package, and didn't update the paths in the grafburn script. I also fixed a bug, that caused it to fail if there was an empty profile directory. I will do some more improvements later this week to make it a bit sturdier and add the missing blank feature. I also want to add an option to set the speed, but that's about as complicated as it's going to get.
Nathan
Bring on the locusts ...
Thanks, Nathan. I'll give your bugfix version a trial and post my results here. Much appreciated.Nathan F wrote:I looked at it anyway, and found the bugs. There's a fix uploaded already. You should remove the old one using the package manager, but then you have to manually delete the file /root/.config/grafburnrc before starting again. Then all should be kosher.
UPDATE: Yep, that sorted 'em all out, Nathan. Thanks, mate.
For Muppy 006 two changes are required in create_iso.
1.) I add a "/" to $TMPDIR and $OUTDIR
2.) I replace the test, if the returnvalue is ok, with a filecheck.
Here are the relevant lines again:
TMPDIR=`cat ~/.config/grafburnrc | grep TMPDIR | cut -f 2 -d '='`/
OUTDIR=`cat ~/.config/grafburnrc | grep OUTDIR | cut -f 2 -d '='`/
#if [ ! $? -eq 0 ];then
if [ ! -f "$OUTDIR$NAME" ];then
Mark
Code: Select all
#!/bin/sh
#January, 2007 Nathan Fisher
# Determine the path to this application.
CURDIR="`pwd`"
APPDIR=`dirname "$0"`
cd "${APPDIR}"
APPDIR="`pwd`"
cd "${CURDIR}"
#gxmessage -center -title "Grafburn" -buttons "GTK_STOCK_OK" \
# "First choose a temporary directory to place files into."
#TMPDIR=`Xdialog --icon $APPDIR/big/media-cdrom.png \
#--stdout --title "Choose temp directory" --dselect $HOME 0 0`
TMPDIR=`cat ~/.config/grafburnrc | grep TMPDIR | cut -f 2 -d '='`/
OUTDIR=`cat ~/.config/grafburnrc | grep OUTDIR | cut -f 2 -d '='`/
rox $TMPDIR
Xdialog --icon $APPDIR/icons/big/drive-optical.png \
--left --title "Grafburn: Add files and folders" --msgbox \
"I have opened a filer window in the tempdir.\nYou should place any files or \
directories\nyou want to include into this directory.\n\
Any and all files that are placed in here\nwill go into the disk image\n\
Do not close this window until you are finished.\n\n\
When finished, press the OK button." 0 0
Xdialog --icon $APPDIR/icons/big/drive-optical.png --stdout \
--no-cancel --left --title \
"Grafburn: Set disk properties" --2inputsbox "Now you can optionally set the \
iso file\nname and the Volume ID for the disk." 0 0 "File name" grafburn.iso \
"Volume ID" "grafburn_project" > ~/.config/grafburntmp
NAME=`cat ~/.config/grafburntmp | cut -f 1 -d '/'`
VOLUME=`cat ~/.config/grafburntmp | cut -f 2 -d '/'`
rm -f ~/.config/grafburntmp
echo "debug: $OUTDIR$NAME"
rxvt --geometry 60x8 -e mkisofs -D -J -R -o "$OUTDIR$NAME" -V "$VOLUME" $TMPDIR
#if [ ! $? -eq 0 ];then
if [ ! -f "$OUTDIR$NAME" ];then
gxmessage -center -buttons "GTK_STOCK_DIALOG_ERROR" -bg red \
"There was an error creating the iso file, exiting."
fi
Xdialog --icon $APPDIR/icons/big/drive-optical.png --stdout --left --title \
"Grafburn: burn image?" --yesno "The iso file has been created.\nDo you want \
to go\nahead and burn it to disk?" 0 0
if [ $? -eq 0 ];then
exec $APPDIR/burn_iso $OUTDIR$NAME
fi
2.) I replace the test, if the returnvalue is ok, with a filecheck.
Here are the relevant lines again:
TMPDIR=`cat ~/.config/grafburnrc | grep TMPDIR | cut -f 2 -d '='`/
OUTDIR=`cat ~/.config/grafburnrc | grep OUTDIR | cut -f 2 -d '='`/
#if [ ! $? -eq 0 ];then
if [ ! -f "$OUTDIR$NAME" ];then
Mark
Looking good, Nathan. Are you going to include multisession DVDs in the menu? (Command for the first session is different from the command for succeeding sessions.)
Plinej incorporated a window in the latest version (1.9) of his PBcdripper GUI that shows the commands PBcdripper will execute. Very Cool.
Plinej incorporated a window in the latest version (1.9) of his PBcdripper GUI that shows the commands PBcdripper will execute. Very Cool.
- klhrevolutionist
- Posts: 1121
- Joined: Wed 08 Jun 2005, 10:09
- Nathan F
- Posts: 1764
- Joined: Wed 08 Jun 2005, 14:45
- Location: Wadsworth, OH (occasionally home)
- Contact:
Mark - What version of Puppy is Muppy based on? I think it has to do with the trailing slash issue that was fixed recently in Xdialog (was this Dougal?). So the fix should only apply to older pups.
Flash - The program should already support multi-session dvd. When you just burn an iso all it does is call the burniso2cd script. If you create an iso from scratch the burning stage is based on the same code, with all the same functions. I just cleaned it a bit, removed the unnecessary parts, and made it better looking.
A little window showing the burning commands might not be a bad idea, I'll have to think about it. I'm purposely keeping this as simple as possible, though. The idea is not to write a full featured replacement but a really simple program. I don't want to add in extra popup windows or extra choices that the user has to make. I hate gcombust mainly because of the cluttered, confusing interface. I loved Graveman because it was the exact opposite.
plinej - You might be a better person to do this than me anyway, so take a look at what I've done before saying you won't have to. It might not do everything you want it to.
klhrevolutionist - The blanking function is the only major part not written yet, sorry. I'll be on it, but probably not until later in the week.
Thanks everybody for the feedback, and especially to those who actually tested it. I had a feeling I wasn't the only one who needed something like this.
Nathan
Flash - The program should already support multi-session dvd. When you just burn an iso all it does is call the burniso2cd script. If you create an iso from scratch the burning stage is based on the same code, with all the same functions. I just cleaned it a bit, removed the unnecessary parts, and made it better looking.
A little window showing the burning commands might not be a bad idea, I'll have to think about it. I'm purposely keeping this as simple as possible, though. The idea is not to write a full featured replacement but a really simple program. I don't want to add in extra popup windows or extra choices that the user has to make. I hate gcombust mainly because of the cluttered, confusing interface. I loved Graveman because it was the exact opposite.
plinej - You might be a better person to do this than me anyway, so take a look at what I've done before saying you won't have to. It might not do everything you want it to.
klhrevolutionist - The blanking function is the only major part not written yet, sorry. I'll be on it, but probably not until later in the week.
Thanks everybody for the feedback, and especially to those who actually tested it. I had a feeling I wasn't the only one who needed something like this.
Nathan
Bring on the locusts ...
- Nathan F
- Posts: 1764
- Joined: Wed 08 Jun 2005, 14:45
- Location: Wadsworth, OH (occasionally home)
- Contact:
Version 0.3 is uploaded at the top of the thread. This implements the blanking function, which works for me but could use a little testing. In particular I've never blanked a dvd, so while I think the commands are correct I have no way of knowing for sure. None of my drives are even capable of this
I also went in and changed some colors and made other small improvements. Regarding multisession, it occurs to me that the thing is drastically incomplete because it offers no way to append to a previous session. Put this on the "long term" list though. The only other changes you can expect for now are some improvements to the preferences manager, including a speed setting and a way to set the default burner so that we don't have to do so every time you burn or blank a disk. That would get rid of at least one dialog box for the rest of the gui.
BTW - if you have xdg menus this package should create a menu entry.
Any other ideas, suggestions, or bugs please let me know.
Nathan
I also went in and changed some colors and made other small improvements. Regarding multisession, it occurs to me that the thing is drastically incomplete because it offers no way to append to a previous session. Put this on the "long term" list though. The only other changes you can expect for now are some improvements to the preferences manager, including a speed setting and a way to set the default burner so that we don't have to do so every time you burn or blank a disk. That would get rid of at least one dialog box for the rest of the gui.
BTW - if you have xdg menus this package should create a menu entry.
Any other ideas, suggestions, or bugs please let me know.
Nathan
Bring on the locusts ...
I don't know how advanced GrafBurn is intended to be. But now since sox is included into Puppy, it would be possible to burn audioCDs from mp3 and other file formats in one operation. My windows-daughters have crowded me for that lack of feature in Puppy.
I'm glad you started this, Nathan. Puppy needs a useful burning program.
Sigmund
I'm glad you started this, Nathan. Puppy needs a useful burning program.
Sigmund
- klhrevolutionist
- Posts: 1121
- Joined: Wed 08 Jun 2005, 10:09
I have two suggestions. The first being changing the text from "Otherwise just pick a task and the program should guide you through it" to "Otherwise pick a task and the program will guide you through the process".
My second suggestion is to ask for or add an option for an input file of an md5sum.txt, this will allow the user to verify the iso before ruining a cd-r or dvd-r
My second suggestion is to ask for or add an option for an input file of an md5sum.txt, this will allow the user to verify the iso before ruining a cd-r or dvd-r
Heaven is on the way, until then let's get the truth out!
- Lobster
- Official Crustacean
- Posts: 15522
- Joined: Wed 04 May 2005, 06:06
- Location: Paradox Realm
- Contact:
what the tmp directory was for
Nice.
I am glad some improvements to preferences . . .
I did not understand what the tmp directory was for until I created one and ran the program. It then became obvious and I had to change it (I did not think the my-documents/tmp was right, in fact it was) - so a dialogue would help there . . .
I am glad some improvements to preferences . . .
I did not understand what the tmp directory was for until I created one and ran the program. It then became obvious and I had to change it (I did not think the my-documents/tmp was right, in fact it was) - so a dialogue would help there . . .
- Nathan F
- Posts: 1764
- Joined: Wed 08 Jun 2005, 14:45
- Location: Wadsworth, OH (occasionally home)
- Contact:
Hmm, where to start?
klhrevolutionist - Both are good suggestions. I will change that wording for the next tarball, and I think it might be enough to just pop up the md5sum with one of the dialog windows, along with a warning to double check it. I'm loath to add another step, though, as it would run against my purpose for the scripts.
I think that the use of a temp directory will probably always be a part of this little utility. I got the basic idea from BashBurn. There's an interesting fork of BashBurn actually that uses the dialog program rather than typing responses at the prompt, which I considered adapting to Xdialog usage (dialog and Xdialog are fairly command line compatible), but unfortunately it won't run for me anyway. Anyway if you look at BashBurn a bit you can see a little of my inspiration for starting this. It's nothing fancy, but it works reliably and it stays simple enough that it doesn't ask too many confusing questions.
The confusing questions and settings are what I want to avoid here, hence my desire to keep the number of options to a minimum. For a more full featured program I'd recommend Xcdroast for Puppy, or k3b if you can swing a KDE installation. I have KDE installed on my desktop machine just so I can use k3b, because it's really the best burning program that's ever been written for *nix.
Nathan
Dead simple, actually. This is not intended to be a replacement for a ful size burner program. It might be possible to cobble something together regarding audio encoding but I have a feeling it might be kind of clunky anyhow. Let me see how much interest there is over the near future. Right now there's more than I expected, so who knows.I don't know how advanced GrafBurn is intended to be.
klhrevolutionist - Both are good suggestions. I will change that wording for the next tarball, and I think it might be enough to just pop up the md5sum with one of the dialog windows, along with a warning to double check it. I'm loath to add another step, though, as it would run against my purpose for the scripts.
OK, that's definately a weak point. What would be ideal would be a file selector widget that can build a list of files and directories, but no such utility exists in Puppy to my knowledge. I know of one good implementation of this type of widget but it requires PyGTK. At the very least I will try to make the preferences dialog more verbose so you know what you're doing when you start.I did not understand what the tmp directory was for until I created one and ran the program.
I think that the use of a temp directory will probably always be a part of this little utility. I got the basic idea from BashBurn. There's an interesting fork of BashBurn actually that uses the dialog program rather than typing responses at the prompt, which I considered adapting to Xdialog usage (dialog and Xdialog are fairly command line compatible), but unfortunately it won't run for me anyway. Anyway if you look at BashBurn a bit you can see a little of my inspiration for starting this. It's nothing fancy, but it works reliably and it stays simple enough that it doesn't ask too many confusing questions.
The confusing questions and settings are what I want to avoid here, hence my desire to keep the number of options to a minimum. For a more full featured program I'd recommend Xcdroast for Puppy, or k3b if you can swing a KDE installation. I have KDE installed on my desktop machine just so I can use k3b, because it's really the best burning program that's ever been written for *nix.
Nathan
Bring on the locusts ...
Here's a cdrdialog script I found. I changed all of the dialog to Xdialog in the script. Just figured I'd put it up here incase there's any worthwhile code in there for you. It's a pretty small simple script though. I haven't tried to burn anything with it either.
- Attachments
-
- cdrdialog.tar.gz
- (1.57 KiB) Downloaded 738 times
Sorry, I didn't make my meaning clear, Nathan. Burniso2cd is only good for making a bootable multisession DVD from an .iso file. I meant to use a DVD as an archive, saving whatever I want to it in session after session until it is full.Nathan F wrote:...
Flash - The program should already support multi-session dvd. When you just burn an iso all it does is call the burniso2cd script. If you create an iso from scratch the burning stage is based on the same code, with all the same functions. I just cleaned it a bit, removed the unnecessary parts, and made it better looking....
I do this with CD audio books that I convert to mp3. After I convert a book, I save it to the DVD as a session. It works wonderfully well. Whether the disk is mounted in Linux or Windows, the books all show up even though each is saved in a separate session. Then I transfer the books from the DVD to a hard drive so all the books in my library are conveniently in one folder. The original DVDs are then in effect incremental backups before the fact.
Especially if the commands in the window can be edited before clicking "run" in the GUI. It looks like they can with plinej's PBcdripper, though I haven't tried it yet. (I'm researching cdparanoia in the hope of finding a command line option that will speed up the ripping process.)A little window showing the burning commands might not be a bad idea,