Linux UI
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.
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.
-
- Posts: 1
- Joined: Sat Apr 21, 2007 4:35 pm
well now it's september and we still have no linux gui...jbrjake wrote:No, you just asked when everyone was busy/asleep.jduv wrote:I'll interpret silence as: no one!
Clee has a Qt gui almost finished.
There's an old unfinished non-working gtk gui in the svn you might want to look at.
but anyway i am on gnome/xfce and prefer a gtk gui. i have done some complex gtkglade gui's before. but only in conjunction with python. if there is interest, i'll begin looking into it... but i have some questions :
- need it be C ? nowadays python on linux is default everywhere and i am not so experienced in C++
- can't seem to find the old gtk code in the source package... (that would help a lot if it need be C/C++)
Whatever you would like to make it in would be great. C/C++ would probably be best as that way you can directly link to libhb. If you wanted to make it in python, go ahead, you'll have to parse the output from the CLI to get your information.bernstein wrote: well now it's september and we still have no linux gui...
but anyway i am on gnome/xfce and prefer a gtk gui. i have done some complex gtkglade gui's before. but only in conjunction with python. if there is interest, i'll begin looking into it... but i have some questions :
- need it be C ? nowadays python on linux is default everywhere and i am not so experienced in C++
- can't seem to find the old gtk code in the source package... (that would help a lot if it need be C/C++)
And as sr55 said, the old GTK GUI is in the svn (you'll have to go back to an older revision, as we removed the dir because it didn't work anymore.)
-
- Posts: 1
- Joined: Mon Sep 10, 2007 3:28 am
still in progress?
If anyone is still working on a linux gui, I would be more than willing to help test it. I am running Ubuntu Gusty with the latest updates. PM me if you are interested.
Thanks!
Thanks!
Mono
I just installed mono 1.2.5 on Ubuntu Feisty and the Windows Handbrake GUI launched! Beings how it is almost midnight here, and I have no DVD's to try it out on, could someone else try it out? If not, I'll post my success or not later on tonight.
I used the windows build from the SVN, and built it under VS2005. Then moved it to my Ubuntu install and tried it out. Hopefully we can convince someone to host it in .tar.gz instead of .msi.
I used the windows build from the SVN, and built it under VS2005. Then moved it to my Ubuntu install and tried it out. Hopefully we can convince someone to host it in .tar.gz instead of .msi.
@th3rmite - I think saintdev had it running on mono under linux.
If someone wants to take that avenue to get the WinGUI working on linux, you can talk to me on IRC for assistance with C# when I get back from holiday at the end of the week.
The scanning for sure won't work. The query to launch the CLI will need to be changed.
I'm not sure if the encode launch will work, again it may need a query tweak.
I think that would be the 2 main issues for it not working. Since it runs, I assume most of the functions will work. Some may need minor tweaking.
If someone wants to take that avenue to get the WinGUI working on linux, you can talk to me on IRC for assistance with C# when I get back from holiday at the end of the week.
The scanning for sure won't work. The query to launch the CLI will need to be changed.
I'm not sure if the encode launch will work, again it may need a query tweak.
I think that would be the 2 main issues for it not working. Since it runs, I assume most of the functions will work. Some may need minor tweaking.
@sr55
"The scanning for sure won't work. The query to launch the CLI will need to be changed."
That's for sure. I just spent the last two and a half hours hacking on it. I change some params and got it to scan the DVD, the problem is that HandBrakeCLI is returning the output on stderr instead of stdout and for some reason WaitForExit () doesn't seem to do anything. I could just set a timer on it, but that is too much of a hack.
"I'm not sure if the encode launch will work, again it may need a query tweak."
From a quick look at the code, I'm thinking the same problem from the scanning might apply. I read somewhere that the problem might be with the size of the kernel buffer and can be worked around by using threads. Too bad I'm a VB.net programmer and not a C# guy.
"The scanning for sure won't work. The query to launch the CLI will need to be changed."
That's for sure. I just spent the last two and a half hours hacking on it. I change some params and got it to scan the DVD, the problem is that HandBrakeCLI is returning the output on stderr instead of stdout and for some reason WaitForExit () doesn't seem to do anything. I could just set a timer on it, but that is too much of a hack.
"I'm not sure if the encode launch will work, again it may need a query tweak."
From a quick look at the code, I'm thinking the same problem from the scanning might apply. I read somewhere that the problem might be with the size of the kernel buffer and can be worked around by using threads. Too bad I'm a VB.net programmer and not a C# guy.
Mono doesn't yet support some of the things that the WinGUI is doing to handle the output from the CLI. The functions are there, but don't do anything yet.th3rmite wrote:@sr55
"The scanning for sure won't work. The query to launch the CLI will need to be changed."
That's for sure. I just spent the last two and a half hours hacking on it. I change some params and got it to scan the DVD, the problem is that HandBrakeCLI is returning the output on stderr instead of stdout and for some reason WaitForExit () doesn't seem to do anything. I could just set a timer on it, but that is too much of a hack.
As for the QT GUI, yes it's in svn. IIRC, most of the necessary widgets are there, however none of the backend work has been done. So it's basically a shell that does nothing.
I did it!
Well somewhat. I hacked two files from the C# Windows build and have managed to get a non-encrypted dvd to start ripping. Although it's running slowly and the status window isn't working.
I think it won't be too long before I have a patched version running. Should I keep posting my status here?
I think it won't be too long before I have a patched version running. Should I keep posting my status here?
TODO
I am just about done with the hacks (why the heck does HandBrakeCLI output on stderr?), although I have a small todo list which should take me just a few days to finish, mainly polishing the app to fit more into the linux environment:
Queue Doesn't Work Right
- It works, just not the status bar.
Exiting doesn't stop encoding
- It continues to run in the background and you end up having to kill the process
Make the status work (lower left corner not working right)
- I think it's the work around I did to get the app working, but I'm pretty sure right now HB can't know if the thread is still running. Thus a user could accidentally start a new HB thread for the same disk
Check for updates is broken
- Because this is a custom configuration, I'm going to disable this anyways.
Display is ugly
- I think this is mainly due to mono's winforms support (which btw is very new), but I'm going to try different settings and play around with winforms, ultimately it would be nice to move to gtk#, but I'm having a hard time learning how to interact with gtk.
If anyone wants to check out my code, I can post it, it's not the best due to this being the first C# endeavor.
Queue Doesn't Work Right
- It works, just not the status bar.
Exiting doesn't stop encoding
- It continues to run in the background and you end up having to kill the process
Make the status work (lower left corner not working right)
- I think it's the work around I did to get the app working, but I'm pretty sure right now HB can't know if the thread is still running. Thus a user could accidentally start a new HB thread for the same disk
Check for updates is broken
- Because this is a custom configuration, I'm going to disable this anyways.
Display is ugly
- I think this is mainly due to mono's winforms support (which btw is very new), but I'm going to try different settings and play around with winforms, ultimately it would be nice to move to gtk#, but I'm having a hard time learning how to interact with gtk.
If anyone wants to check out my code, I can post it, it's not the best due to this being the first C# endeavor.
Personally I would prefer more effort going into the QT GUI, or reviving the GTK GUI. As these can interface directly with libhb. The only reason that the Win GUI acts as a wrapper to the CLI is because we can't get a usable dll when compiling with Cygwin.sr55 wrote:@th3rmite - It would be fantastic if you could post diff's for the files you've modified. I may be able to incorporate the changes with a simple, Select Operating System option.
@sr55: in the last day or so, I somewhat cloned the WinForm UI in gtk#. I'm working on porting over the code before I do anymore mods to it. It should go fairly quickly because C# support on linux is pretty good now.
@saintdev: I'm not much of a programmer and don't even know how to bind to libhb.
But I do know VB.Net and am quickly learning C#.
@saintdev: I'm not much of a programmer and don't even know how to bind to libhb.
But I do know VB.Net and am quickly learning C#.
Finished
I've finished with the mods to the WinGui code to make it cross compatible on Linux/Unix with mono 1.2.5.
I submitted my code to sr55 for review.
I might say that it works flawlessly with encrypted and non encrypted DVD's on Ubuntu Feisty and ways in at around 444K.
Hopefully he won't find anything wrong with the code to prevent it being merged with the source.
Big thanks to the HandBrake Dev Team!!!
I submitted my code to sr55 for review.
I might say that it works flawlessly with encrypted and non encrypted DVD's on Ubuntu Feisty and ways in at around 444K.
Hopefully he won't find anything wrong with the code to prevent it being merged with the source.
Big thanks to the HandBrake Dev Team!!!
I've been spending some time on getting the Qt user interface to build again.
In the qt4 directory,
Replace the contents of qtHB.pro with the following:
Run qmake to generate the Makefile
Run make.
If someone on the HandBrake development team could update qtHB.pro and commit it to subversion that would be great.
In the qt4 directory,
Replace the contents of qtHB.pro with the following:
Code: Select all
######################################################################
# Automatically generated by qmake (2.01a) Sat Oct 14 04:46:08 2006
######################################################################
TEMPLATE = app
TARGET = qtHB
CONFIG += qdbus release
DEPENDPATH += .
INCLUDEPATH += . ../libhb ../contrib/include
LIBS += ../libhb/libhb.a ../contrib/lib/liba52.a ../contrib/lib/libavformat.a ../contrib/lib/libavcodec.a ../contrib/lib/libavutil.a ../contrib/lib/libdca.a ../contrib/lib/libdvdread.a ../contrib/lib/libdvdcss.a ../contrib/lib/libmp4v2.a ../contrib/lib/libfaac.a ../contrib/lib/libmp3lame.a ../contrib/lib/libmpeg2.a ../contrib/lib/libvorbis.a ../contrib/lib/libvorbisenc.a ../contrib/lib/libogg.a ../contrib/lib/libsamplerate.a ../contrib/lib/libx264.a ../contrib/lib/libxvidcore.a ../contrib/lib/libmkv.a ../contrib/lib/libswscale.a -lz -lpthread
# Input
HEADERS += qhandbrake.h scanwidget.h encodewidget.h qhandbrakewizard.h faderwidget.h
FORMS += scanwidget.ui encodewidget.ui
SOURCES += main.cpp qhandbrake.cpp scanwidget.cpp encodewidget.cpp qhandbrakewizard.cpp faderwidget.cpp
Run make.
If someone on the HandBrake development team could update qtHB.pro and commit it to subversion that would be great.