Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Programming and Hacking > Development

Reply
 
Thread Tools Search this Thread Display Modes
Old 4th November 2013, 16:56   #1  |  Link
Jeroi
Registered User
 
Join Date: Feb 2008
Location: Finland
Posts: 141
MeXgui cross platform Megui port in development

Project details:

This is project to port .NET C# MeGUI (WIN only) into QT C++ native WIN/UNIX/OSX operating systems support as well as include new features. Project welcomes all developers to join the porting effort.

Website: MeXgui

Talk: #mexgui @freenode.net

Eye candy:

Windows Vista looks NOFILE and VIDEOPREVIEW:



Donate:

3% goes to beneficial aid.


Last edited by Jeroi; 13th December 2013 at 20:14.
Jeroi is offline   Reply With Quote
Old 4th November 2013, 17:12   #2  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
Just one side note: Shouldn't the original MeGUI run on *nix systems thanks to the Mono runtime?

(Of course one would have to replace all the "external" tools with Linux/MacOS compiles)
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊
LoRd_MuldeR is offline   Reply With Quote
Old 4th November 2013, 17:28   #3  |  Link
Jeroi
Registered User
 
Join Date: Feb 2008
Location: Finland
Posts: 141
Quote:
Originally Posted by LoRd_MuldeR View Post
Just one side note: Shouldn't the original MeGUI run on *nix systems thanks to the Mono runtime?

(Of course one would have to replace all the "external" tools with Linux/MacOS compiles)
Well theory it might but is hard, because Megui uses some windows spesifig code and ways to display and encode video. We need to fall using only libavcodec, libmkv, libmp4 and such which can rely on cross encoding the way like handbrake does transcoding with libavcodec. I can see that we can pretty easilly obtain x264 presests from Megui project and things like encoding prosesses from handbrake and so on.

Also Megui uses avisynth where MeXgui should use both Avxsynth and Avisynth. One great advantage with QT is that it is native code for every platform and you should be able to expect the program work where it is build. I gives option to port code to the weird systems also . Another creat feature of QT4 is Phonon, which is native videoplayer widget so we can have easilly video preview nativelly to all systems.


Lots to do still

Last edited by Jeroi; 4th November 2013 at 19:39.
Jeroi is offline   Reply With Quote
Old 4th November 2013, 20:54   #4  |  Link
Jeroi
Registered User
 
Join Date: Feb 2008
Location: Finland
Posts: 141
I have made design choice. I will do instead of how megui does job controlling with SQLlite. This will be an easy method for adding and deleting queve and so on.

Last edited by Jeroi; 4th November 2013 at 21:03.
Jeroi is offline   Reply With Quote
Old 5th November 2013, 13:49   #5  |  Link
Selur
Registered User
 
Selur's Avatar
 
Join Date: Oct 2001
Location: Germany
Posts: 7,277
Small question: Why Avxsnyth and not Vapoursynth instead? (Is Avxsynth even still developed?)
Also will there be a Qt project file so that one can simple use Qt Creator as development IDE?

Quote:
Another creat feature of QT4 is Phonon, which is native videoplayer widget so we can have easilly video preview nativelly to all systems.
Nice, I'm looking forward to read that code. Last time I tried that, I ended up frustrated and switched back to mplayer in slave mode as cross-platform back-end.
__________________
Hybrid here in the forum, homepage

Last edited by Selur; 5th November 2013 at 13:55.
Selur is offline   Reply With Quote
Old 5th November 2013, 14:21   #6  |  Link
ultim
AVS+ Dev
 
ultim's Avatar
 
Join Date: Aug 2013
Posts: 359
Quote:
Originally Posted by Selur View Post
Small question: Why Avxsnyth and not Vapoursynth instead? (Is Avxsynth even still developed?)
Avisynth+ will be coming to Linux too.
ultim is offline   Reply With Quote
Old 5th November 2013, 15:49   #7  |  Link
Jeroi
Registered User
 
Join Date: Feb 2008
Location: Finland
Posts: 141
Quote:
Originally Posted by Selur View Post
Small question: Why Avxsnyth and not Vapoursynth instead? (Is Avxsynth even still developed?)
Also will there be a Qt project file so that one can simple use Qt Creator as development IDE?



Nice, I'm looking forward to read that code. Last time I tried that, I ended up frustrated and switched back to mplayer in slave mode as cross-platform back-end.
No there is only QT4 desinger UI file for main form. All the code for it atm is hand written. I have no QT project file made as I did not feel that necessary for it, I shall take a look into it.

Do please join #mexgui irc chan at freenode to talk about it.

At this moment I am mainly creating variants of megui .net forms to QT forms. If anyone know .net form to QT form generator please advice me and make the work a lot faster.

I have added basic sql functions to create database, open, insert table, insert row, delete and such but theres still much doing.

I have considered to do the forms first and then move to the coding prosess but if the project gets contributors at code base then project starts ongoing a lot faster.

Last edited by Jeroi; 5th November 2013 at 21:31.
Jeroi is offline   Reply With Quote
Old 5th November 2013, 16:39   #8  |  Link
Jeroi
Registered User
 
Join Date: Feb 2008
Location: Finland
Posts: 141
Ok I made now QT project file and cleaned the repo from unnecessary files.
Jeroi is offline   Reply With Quote
Old 5th November 2013, 20:58   #9  |  Link
Jeroi
Registered User
 
Join Date: Feb 2008
Location: Finland
Posts: 141
Some updates: Mexgui basic gui dialog "done" only tool bar missing and then prolly some configure to it more later on. x264 dialog tab1, tab2 done...

Last edited by Jeroi; 5th November 2013 at 23:01.
Jeroi is offline   Reply With Quote
Old 6th November 2013, 01:04   #10  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,420
Quote:
Originally Posted by Selur View Post
Small question: Why Avxsnyth and not Vapoursynth instead? (Is Avxsynth even still developed?)
If the AviSynth support is written correctly (read: dynamically loading the library itself), then there's little reason not to include support for AvxSynth. The amount of code deviation to support both of them is pretty small. Just look at x264 and FFmpeg - as a totally unscientific guess, I'd estimate that 85-90% of the codepaths for AviSynth vs. AvxSynth in x264's input/avs.c and FFmpeg's libavformat/avisynth.c are identical. If you go in and actually quantify the line count differences it might actually be even higher.



The only other general thing I'd recommend is to use mpv rather than mencoder. There's very few things that mpv can't do that mencoder can, but mpv is actively developed (and some of those things can be covered by regular ffmpeg).
qyot27 is offline   Reply With Quote
Old 6th November 2013, 12:38   #11  |  Link
Selur
Registered User
 
Selur's Avatar
 
Join Date: Oct 2001
Location: Germany
Posts: 7,277
Quote:
The only other general thing I'd recommend is to use mpv rather than mencoder.
1st time I hear of mpv, looks interesting,.. is there some way to get a title<>mpls mapping for blu-ray playback? (I normally know the mpls I want to playback and not the mplayer title)
__________________
Hybrid here in the forum, homepage
Selur is offline   Reply With Quote
Old 6th November 2013, 17:21   #12  |  Link
Jeroi
Registered User
 
Join Date: Feb 2008
Location: Finland
Posts: 141
Now x246 config dialog is completed. For one who wants to start importing gui code can now have x264 also implemented in the code.

Edit1:
Now also neroAAC configure dialog done.

Edit2:
Now also Audio configure dialog done which is used for mp3.

Last edited by Jeroi; 6th November 2013 at 19:10.
Jeroi is offline   Reply With Quote
Old 6th November 2013, 23:22   #13  |  Link
Jeroi
Registered User
 
Join Date: Feb 2008
Location: Finland
Posts: 141
BIG news. I have succesfully converted all C# code from whole Megui project to C++ with good reputation program. Now project is migrated to C++ and any more misses QT gui dialogs and dialog controlling code changes and other c# to c++ porting code.

Last edited by Jeroi; 22nd November 2013 at 09:33.
Jeroi is offline   Reply With Quote
Old 7th November 2013, 17:11   #14  |  Link
Jeroi
Registered User
 
Join Date: Feb 2008
Location: Finland
Posts: 141
I am aware that project file is down atm begause I migrated all the cpp files and moved files and so on in the git. Stay tuned.
Jeroi is offline   Reply With Quote
Old 7th November 2013, 17:38   #15  |  Link
Jeroi
Registered User
 
Join Date: Feb 2008
Location: Finland
Posts: 141
Now the trunk has project file. In future if you want edit something type in aplication folder: qmake -project. Also all project files added to lips and wrappers.

Sorry for incovensies if you have branced old trunk url. The new url is changed in first post.

Last edited by Jeroi; 7th November 2013 at 18:56.
Jeroi is offline   Reply With Quote
Old 7th November 2013, 17:47   #16  |  Link
Monarc
Registered User
 
Join Date: Jun 2002
Posts: 35
Quote:
Originally Posted by Jeroi View Post
Another creat feature of QT4 is Phonon, which is native videoplayer widget so we can have easilly video preview nativelly to all systems.
Qt adopted Phonon at Qt 4.4. Support will remain for the Qt 4.x series, but not for Qt 5. http://qt-project.org/doc/qt-5.1/qtmultimedia/changes.html
Monarc is offline   Reply With Quote
Old 7th November 2013, 22:33   #17  |  Link
sl1pkn07
Pajas Mentales...
 
Join Date: Dec 2004
Location: Spanishtán
Posts: 496
phonon works with qt5 http://www.phoronix.com/scan.php?pag...tem&px=MTUwNDM
sl1pkn07 is offline   Reply With Quote
Old 8th November 2013, 00:43   #18  |  Link
Jeroi
Registered User
 
Join Date: Feb 2008
Location: Finland
Posts: 141
I am modifying atm avisynth wrapper. Lots needed for changing the dll structure. Firstly qt dont use stdcalls. You define functions showing outside into dll header and combiler handles all calling correctly for every system...

Also finding all M$ code takes time, debugger used a lot for this

Also since this is going to be cross platfrom program I am cosidering to build those dll as statics to include in binary so that we need to build only one time the lib and then just build binary 3 times.

Last edited by Jeroi; 8th November 2013 at 01:43.
Jeroi is offline   Reply With Quote
Old 9th November 2013, 06:12   #19  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,420
Quote:
Originally Posted by Selur View Post
1st time I hear of mpv, looks interesting,.. is there some way to get a title<>mpls mapping for blu-ray playback? (I normally know the mpls I want to playback and not the mplayer title)
If I'm not misunderstanding either the question or mpv's documentation, this seems to be what TOOLS/mpv_identify.sh (in the source tree) is meant for. I've never used that script nor have I ever really done anything with libbluray support since I only have access to one computer with a BD-ROM drive. I've only built libbluray to make sure it builds and can link to FFmpeg and mpv.
qyot27 is offline   Reply With Quote
Old 9th November 2013, 17:29   #20  |  Link
Jeroi
Registered User
 
Join Date: Feb 2008
Location: Finland
Posts: 141
Selur: Are you planning to join development? It would be nice to have more develpoers and also someone who is expert with QT to provide assistant.

Last edited by Jeroi; 9th November 2013 at 19:07.
Jeroi is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 08:04.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.