New GTK GUI

Support for HandBrake on Linux, Solaris, and other Unix-like platforms
Forum rules
An Activity Log is required for support requests. Please read How-to get an activity log? for details on how and why this should be provided.
derrick81787
Posts: 1
Joined: Thu May 29, 2008 1:14 am

New GTK GUI

Post by derrick81787 »

If you're just looking for a GUI version of HandBrake for Linux, I've written one in GTK. It's called gHandBrake, and I basically wrote it because I like HandBrake a lot better than other DVD rippers available on Linux, but didn't like the lack of a GUI. You can get it from http://ghandbrake.ubuntuisms.com if you want to try it. I'm basically wanting to know if anyone is interested in it, so that I know whether or not to continue working on it. The current version works pretty well, though.

I'm new on the forums, so hopefully I don't get in trouble for advertising this, but it's on topic and it's not like this is really benefiting me or anything.

- Derrick
realityking
Veteran User
Posts: 680
Joined: Tue Apr 24, 2007 12:36 pm

Re: Problems compiling QT4 GUI

Post by realityking »

I don't wanna be the party pooper but there are already half a dozen gui wrappers out there and there's a real GUI which links to libhb under development (also using GTK(, you should contact the developer of this GUI since it's got the highest possibility of becoming an official part of HandBrake.
TedJ
Veteran User
Posts: 5388
Joined: Wed Feb 20, 2008 11:25 pm

Re: Problems compiling QT4 GUI

Post by TedJ »

To clarify Realityking's post, the guy developing the GTK based GUI is JohnAStebbins, who goes by the nick j45 on the #handbrake IRC channel. You may want to have a word with him.
User avatar
JohnAStebbins
HandBrake Team
Posts: 5722
Joined: Sat Feb 09, 2008 7:21 pm

Re: Problems compiling QT4 GUI

Post by JohnAStebbins »

I notice I'm being talked about. I've written a gui that is close to parity with the mac ui.
I'm interested in any feedback. If your comfortable building from source, please give it a try.
I just uploaded the latest here:
http://localhostr.com/files/d5e958/ghb.tgz

Read the README for build instructions.
Polygon
Novice
Posts: 72
Joined: Wed Oct 24, 2007 1:36 pm

Re: Problems compiling QT4 GUI

Post by Polygon »

Wow...your GTK gui works perfectly.

The only things that don't work yet is the 'about' window, and the fact that it does not make a menu entry.

But otherwise, it seems to work great!

screenshots:

Image

Image

Image
User avatar
JohnAStebbins
HandBrake Team
Posts: 5722
Joined: Sat Feb 09, 2008 7:21 pm

Re: Problems compiling QT4 GUI

Post by JohnAStebbins »

Whoops, I completely forgot the about menu. Added to my todo list.
And what's that about "does not make a menu entry"? I don't understand the comment.

Thanks for the feedback.
TedJ
Veteran User
Posts: 5388
Joined: Wed Feb 20, 2008 11:25 pm

Re: Problems compiling QT4 GUI

Post by TedJ »

I'm guessing that he means it's not adding an entry to the Gnome/KDE menu.
Polygon
Novice
Posts: 72
Joined: Wed Oct 24, 2007 1:36 pm

Re: Problems compiling QT4 GUI

Post by Polygon »

what i mean by the menu is this:

Image
TedJ
Veteran User
Posts: 5388
Joined: Wed Feb 20, 2008 11:25 pm

Re: Problems compiling QT4 GUI

Post by TedJ »

Hand installing applications means that you need to add Gnome menu entries yourself. I'm sure once development on this port matures someone will create a Ubuntu package which will do this automatically for you. Till then, I suggest you browse the Ubuntu forums/wiki for instructions... this thread should be a good start.
User avatar
JohnAStebbins
HandBrake Team
Posts: 5722
Joined: Sat Feb 09, 2008 7:21 pm

Re: Problems compiling QT4 GUI

Post by JohnAStebbins »

Yah, I develop on fedora, so its on my list to figure out how to create an rpm. I'll add creation of a menu item to that. I guess I'll have to look into apt packages as well at some point.
Polygon
Novice
Posts: 72
Joined: Wed Oct 24, 2007 1:36 pm

Re: Problems compiling QT4 GUI

Post by Polygon »

i just tried to rip a full dvd using this and when i woke up this morning the GUI seemed to of crashed. Movie file doesnt play correctly either so i think it died in the middle of encoding. Ill try it again tonight and ill run it through terminal to see if i can catch an error
User avatar
JohnAStebbins
HandBrake Team
Posts: 5722
Joined: Sat Feb 09, 2008 7:21 pm

Re: Problems compiling QT4 GUI

Post by JohnAStebbins »

It should be generating an activity log file that can give you some clue. "Activity.log" should be in the directory you started ghb from. If you started from a menu or panel icon, its probably in your home directory. If it continues to die, I would be interested in seeing the log. Just post it here in a code block.

FYI, install now adds a menu item (at least for fedora and ubuntu) and there's an about dialog.
hunterk
Bright Spark User
Posts: 179
Joined: Tue Jun 03, 2008 2:27 pm

Re: Problems compiling QT4 GUI

Post by hunterk »

If this is too much of a threadjack, let me know and I'll post the question in a new thread:

to JohnAStebbins:

I downloaded your source for ghb but I can't get it to compile properly. It says it's missing the glio.h file when I try to 'make' it and I didn't see it in the src folder. Is this file supposed to be generated at some point during the build process?

I'm on ubuntu gutsy, which apparently doesn't come with libglio, but I backported libglio0 and libglio-dev from the hardy repos using prevu. Are there any other dependencies I should know about that might fix things up, or am I just out of luck unless I switch to hardy?
User avatar
JohnAStebbins
HandBrake Team
Posts: 5722
Joined: Sat Feb 09, 2008 7:21 pm

Re: Problems compiling QT4 GUI

Post by JohnAStebbins »

Are you sure you don't mean libgio instead of libglio.

If you really mean gio. on my system, gio.h is here /usr/include/glib-2.0/gio/gio.h.
I kind of doubt that bringing across gio without the rest of glib 2.16 is going to work.
When you have this kind of problem, you should cut/past the errors so we can see first hand what's happening.

A compile line should look something like this. Check the "-I" options carefully.

gcc -DHAVE_CONFIG_H -I. -I.. -DPACKAGE_LOCALE_DIR=\""/usr/local/share/locale"\" -DPACKAGE_SRC_DIR=\""."\" -DPACKAGE_DATA_DIR=\""/usr/local/share"\" -DDBUS_API_SUBJECT_TO_CHANGE -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/hal -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -Wall -g -g -O2 -I/home/jstebbins/Source/HandBrake/libhb -MT callbacks.o -MD -MP -MF .deps/callbacks.Tpo -c -o callbacks.o callbacks.c
hunterk
Bright Spark User
Posts: 179
Joined: Tue Jun 03, 2008 2:27 pm

Re: Problems compiling QT4 GUI

Post by hunterk »

oh man, you were right. it was gio, not glio :oops:

here's my output from 'make':

gcc -DHAVE_CONFIG_H -I. -I.. -DPACKAGE_LOCALE_DIR=\""/usr/local/lib/locale"\" -DPACKAGE_SRC_DIR=\""."\" -DPACKAGE_DATA_DIR=\""/usr/local/share"\" -DPNG_NO_MMX_CODE -DDBUS_API_SUBJECT_TO_CHANGE -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/gio-standalone -I/usr/include/hal -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -Wall -g -g -O2 -I/home/qwer/development/HandBrake/libhb -MT callbacks.o -MD -MP -MF .deps/callbacks.Tpo -c -o callbacks.o callbacks.c
callbacks.c:27:21: error: gio/gio.h: No such file or directory
callbacks.c:2828: error: expected ‘)’ before ‘*’ token
callbacks.c: In function ‘dvd_device_list’:
callbacks.c:2833: error: ‘GVolumeMonitor’ undeclared (first use in this function)
callbacks.c:2833: error: (Each undeclared identifier is reported only once
callbacks.c:2833: error: for each function it appears in.)
callbacks.c:2833: error: ‘gvm’ undeclared (first use in this function)
callbacks.c:2837: warning: implicit declaration of function ‘g_volume_monitor_get’
callbacks.c:2838: warning: implicit declaration of function ‘g_volume_monitor_get_connected_drives’
callbacks.c:2838: warning: assignment makes pointer from integer without a cast
callbacks.c:2842: error: ‘GDrive’ undeclared (first use in this function)
callbacks.c:2842: error: ‘gd’ undeclared (first use in this function)
callbacks.c:2844: error: expected expression before ‘)’ token
callbacks.c:2845: warning: implicit declaration of function ‘ghb_is_cd’
callbacks.c:2848: warning: implicit declaration of function ‘g_drive_get_identifier’
callbacks.c:2848: error: ‘G_VOLUME_IDENTIFIER_KIND_UNIX_DEVICE’ undeclared (first use in this function)
callbacks.c:2848: warning: assignment makes pointer from integer without a cast
callbacks.c: At top level:
callbacks.c:2863: error: expected ‘)’ before ‘*’ token
callbacks.c:2922: error: expected ‘)’ before ‘*’ token

Edit: I've run into dependency hell while trying to collect the right libs. It looks like I'm going to have to upgrade to hardy to cover everything...
User avatar
JohnAStebbins
HandBrake Team
Posts: 5722
Joined: Sat Feb 09, 2008 7:21 pm

Re: Problems compiling QT4 GUI

Post by JohnAStebbins »

I'm only guessing, but it looks like gio.h is probably here on your system: /usr/include/gio-standalone/gio.h. Since gio is part of the glib package, it is normally referenced as

Code: Select all

#include <gio/gio.h>
Where the gio directory is found under /usr/include/glib-2.0.
Only the path to glib is usually specified on the compile line (-I /usr/include/glib-2.0).

You could fix this particular problem by moving /usr/include/gio-standalone to /usr/include/glib-2.0/gio
But I really think you would be better off using this as an excuse to upgrade to hardy.
hunterk
Bright Spark User
Posts: 179
Joined: Tue Jun 03, 2008 2:27 pm

Re: Problems compiling QT4 GUI

Post by hunterk »

Thanks for pointing out where my gio-standalone was located. Unfortunately, moving it to /usr/include/glib-2.0/gio didn't clear things up. It's still giving the same error. I'll try compiling it again whenever I update my system.

I had tried hardy when it first came out but I was plagued by random freezes. I hear they've done quite a bit to correct those issues, though, so I think this is a fine excuse to give it another shot.

btw, do you/HandBrake intend to ever package/distribute this GTK gui, or is everyone waiting for the Qt4 one to get finished? I'm sure many people would rather use a true GUI than some crummy CLI wrapper.
User avatar
JohnAStebbins
HandBrake Team
Posts: 5722
Joined: Sat Feb 09, 2008 7:21 pm

Re: Problems compiling QT4 GUI

Post by JohnAStebbins »

I'm interested in seeing my UI get included with the official handbrake. It's up to the handbrake dev team to decide. They need to have confidence that I'll remain around to maintain the code. There are a lot of changes happening in handbrake right now, so adding another linux gui may not be a high priority.
TedJ
Veteran User
Posts: 5388
Joined: Wed Feb 20, 2008 11:25 pm

Re: Problems compiling QT4 GUI

Post by TedJ »

As long as you're commited to maintaining the port, I'm sure the devs would love to include it. That's the general buzz I've been hearing of late, at any rate... :)
jbrjake
Veteran User
Posts: 4805
Joined: Wed Dec 13, 2006 1:38 am

Re: Problems compiling QT4 GUI

Post by jbrjake »

It's been discussed. I believe the consensus is to get it in before 0.9.3 (though of course we'll probably end up calling it something more grandiose than that). My feeling is that it should go in after the dust settles from all this ffmpeg stuff. Keeps the Trac timeline tidy that way.
User avatar
JohnAStebbins
HandBrake Team
Posts: 5722
Joined: Sat Feb 09, 2008 7:21 pm

Re: New GTK GUI

Post by JohnAStebbins »

Glad to hear everyone's interested. I've worked out a way to slip it into the build system. But being a novice with jam, I'm not sure its the best way. Since my build environment is autotools based, I did it similar to how the contribs are done. A Jamfile that handles running my configure and make. Give me a shout when you want to work it in.
dynaflash
Veteran User
Posts: 3820
Joined: Thu Nov 02, 2006 8:19 pm

Re: New GTK GUI

Post by dynaflash »

Just a vote of confidence here as well. Personally I think it would be a good idea as well as save you from having to constantly keep your local version up to date as all of the new stuff gets implemented in the gui's. Also, who knows how long all of this new input stuff will take to shake out.
From what I have seen and heard, very nice job JohnAStebbins :)
pcordes
Posts: 14
Joined: Mon Aug 04, 2008 12:12 am

Re: New GTK GUI

Post by pcordes »

It's great to have a GUI for a decent encoder.

I found a minor bug:
If you click in the log (Activity) window, new log messages appear where you clicked, instead of at the end of the log.
You're probably using a text box widget, and clicking moves the cursor.

I clicked in the first place so the window scroll position didn't keep jumping to the end after every message is displayed.

Ideally, you could set the textbox widget to not scroll on output, and to not have a moveable cursor.

Of course, the Activity.log file isn't affected, so I'll just look at it with less(1), since that gives me the behaviour I want anyway.

Also, I was going to add info on compiling the gtk gui to http://trac.handbrake.fr/wiki/CompileGuide, but the wiki seems to be editable only by devs. I noticed some other minor things I was going to fix on the wiki too, but I couldn't. (For one thing, the description of x264's weight_b option is totally wrong.)

--
Peter Cordes (peter@cordes.ca)
pcordes
Posts: 14
Joined: Mon Aug 04, 2008 12:12 am

Re: New GTK GUI

Post by pcordes »

I noticed a problem with x264 encoding options in the GUI.

analysis=all doesn't actually do that if the selected profile doesn't include x264_options=8x8dct (or you can put that in the custom x264 options text field, but nothing gives you any indication that you should.)

It seems that the default "Normal" profile just changed to not including 8x8dct, unless I'm mistaken. Hmm, the svn diff seems to show that you just removed 8x8dct from the All option's effects, and added 8x8dct to some of the profiles. I hope you're planning to make something in the GUI to make it clear to non-expert users that they're not getting full-on max quality when they crank up all the options visible through the GUI. (Or to make it possible to enable 8x8dct from the GUI other than with text in the manual options box.)

Once again, thanks for the great work.
jbrjake
Veteran User
Posts: 4805
Joined: Wed Dec 13, 2006 1:38 am

Re: New GTK GUI

Post by jbrjake »

pcordes wrote:It seems that the default "Normal" profile just changed to not including 8x8dct
The Normal preset has *never* included 8x8dct because it is *not* high profile. The LinGui including it was a bug.
Post Reply