Grafburn cd burner - new version 0.10.1

Stuff that has yet to be sorted into a category.
Post Reply
Message
Author
User avatar
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

#1 Post by Nathan F »

Image

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 ...

User avatar
WhoDo
Posts: 4428
Joined: Wed 12 Jul 2006, 01:58
Location: Lake Macquarie NSW Australia

Re: Grafburn cd burner

#2 Post by WhoDo »

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).
Hi Nathan,

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?

User avatar
Nathan F
Posts: 1764
Joined: Wed 08 Jun 2005, 14:45
Location: Wadsworth, OH (occasionally home)
Contact:

#3 Post by Nathan F »

Give me a few hours sleep and I'll look it over again, it's 2:00AM here. I bet I made a simple mistake here.

Nathan
Bring on the locusts ...

User avatar
Nathan F
Posts: 1764
Joined: Wed 08 Jun 2005, 14:45
Location: Wadsworth, OH (occasionally home)
Contact:

#4 Post by Nathan F »

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
Bring on the locusts ...

User avatar
WhoDo
Posts: 4428
Joined: Wed 12 Jul 2006, 01:58
Location: Lake Macquarie NSW Australia

#5 Post by WhoDo »

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.
Thanks, Nathan. I'll give your bugfix version a trial and post my results here. Much appreciated.

UPDATE: Yep, that sorted 'em all out, Nathan. Thanks, mate.

MUguest
Posts: 73
Joined: Sat 09 Dec 2006, 16:40

#6 Post by MUguest »

For Muppy 006 two changes are required in create_iso.

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
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

User avatar
Flash
Official Dog Handler
Posts: 13071
Joined: Wed 04 May 2005, 16:04
Location: Arizona USA

#7 Post by Flash »

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
Posts: 1742
Joined: Mon 14 Aug 2006, 02:21

#8 Post by plinej »

Thanks Nathan, It looks pretty good. I'll try it out next time I burn a cd. I agree with you about gcombust. I was going to write a gui like this for my next project but now I won't have to.

User avatar
klhrevolutionist
Posts: 1121
Joined: Wed 08 Jun 2005, 10:09

#9 Post by klhrevolutionist »

You are not the only one who dislikes gcombust. Though I have yet to use this I can already tell what my favorite features are speed and the blanking option.

Great job !
Heaven is on the way, until then let's get the truth out!

User avatar
Nathan F
Posts: 1764
Joined: Wed 08 Jun 2005, 14:45
Location: Wadsworth, OH (occasionally home)
Contact:

#10 Post by Nathan F »

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
Bring on the locusts ...

plinej
Posts: 1742
Joined: Mon 14 Aug 2006, 02:21

#11 Post by plinej »

I'll take a look at it and see if there's anything I can add but I've got a couple other projects that I need to work on first.

User avatar
Nathan F
Posts: 1764
Joined: Wed 08 Jun 2005, 14:45
Location: Wadsworth, OH (occasionally home)
Contact:

#12 Post by Nathan F »

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
Bring on the locusts ...

User avatar
zigbert
Posts: 6621
Joined: Wed 29 Mar 2006, 18:13
Location: Valåmoen, Norway
Contact:

#13 Post by zigbert »

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

User avatar
klhrevolutionist
Posts: 1121
Joined: Wed 08 Jun 2005, 10:09

#14 Post by klhrevolutionist »

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
Heaven is on the way, until then let's get the truth out!

User avatar
Lobster
Official Crustacean
Posts: 15522
Joined: Wed 04 May 2005, 06:06
Location: Paradox Realm
Contact:

what the tmp directory was for

#15 Post by Lobster »

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 . . . :)
Puppy Raspup 8.2Final 8)
Puppy Links Page http://www.smokey01.com/bruceb/puppy.html :D

User avatar
Nathan F
Posts: 1764
Joined: Wed 08 Jun 2005, 14:45
Location: Wadsworth, OH (occasionally home)
Contact:

#16 Post by Nathan F »

Hmm, where to start?
I don't know how advanced GrafBurn is intended to be.
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.

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 did not understand what the tmp directory was for until I created one and ran the program.
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 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 ...

plinej
Posts: 1742
Joined: Mon 14 Aug 2006, 02:21

#17 Post by plinej »

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

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#18 Post by MU »

Muppy is based on Puppy 2.12.
Maybe I added a different Gtkdialog.
However with my fix it works fine, it helped me building some Test-isos of Muppy007, that is uploading now.

Mark

plinej
Posts: 1742
Joined: Mon 14 Aug 2006, 02:21

#19 Post by plinej »

I also just got that MyBashBurn program to run using Xdialog after a bunch of tweaking. I'm still working on it though. I'll package up a dotpup for testing after a little more work.

User avatar
Flash
Official Dog Handler
Posts: 13071
Joined: Wed 04 May 2005, 16:04
Location: Arizona USA

#20 Post by Flash »

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....
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.

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. 8)
A little window showing the burning commands might not be a bad idea,
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.)

Post Reply