View Full Version : MeGUI development
Sharktooth
26th October 2007, 00:52
as you know, megui relys on directshow.
can you please grab graphedit and drop one of the files creating problems in it.
see if it plays correctly and post a screenshot of the graph.
Zulithe
26th October 2007, 00:58
http://i21.tinypic.com/316uid2.jpg
Sharktooth
26th October 2007, 01:05
does it play correctly in graphedit?
also, try using haali splitter instead of nero MP4 splitter...
Zulithe
26th October 2007, 01:31
Whew. Okay, installed haali splitter (version on the front page of their site), set it up to control .AVI files. here is graph edit now:
http://i21.tinypic.com/169rhgo.jpg
But megui still crashes the same...
Sharktooth
26th October 2007, 01:33
but does the file play correctly using graphedit?
Zulithe
26th October 2007, 01:34
Yes absolutely, it plays
*edit*
screenshot of it playing
http://i21.tinypic.com/icqoox.jpg
Sharktooth
26th October 2007, 13:55
as usual i forgot the changelogs
0.2.6.1031
- (berrinam) Fix #1817324 (Original audio is deleted when encoding fails)
- (Kurtnoise) cosmetic - remove an unused variable & ensure update_cache folder creation.
- (berrinam) Fix #1819627 (Analysis Pass broken)
- (Sharktooth) [AutoUpdate] Another try at fixing the update failures on Vista.
- (Sharktooth) Added MeGUI version to the Log
- (Sharktooth) [AutoUpdate] Fix #1819257 (Auto-update doesnt delete failed updates from update_cache). Now UpdateCacher ignores 0 bytes files.
- (berrinam) Fixed DAR detection for non-DVD DGIndex files.
0.2.6.1032
- (Sharktooth) [AutoUpdate] Added IOException handling when deleting 0 byte files.
- (Kurtnoise) [JobWorker] : Same separator width.
- (Kurtnoise) [Log] : Debug Infos were removed after jobs processing.
- (berrinam) [AutoUpdate] Fix #1819257 (Auto-update doesn't delete failed updates from update_cache)
0.2.6.1033
- (Sharktooth) [UpdateWindow] Fixed the enc_aacplus discrepancies.
- (Kurtnoise) [SettingsForm]: fixed a missing Click Action for avc2avi.
- (berrinam) Fix #1820411 (OneClick overcrop to mod16 doesn't appear to work)
- (Sharktooth) Fixed "Select Size" dialog appearing behind mux window.
Sharktooth
26th October 2007, 13:57
upgrading to 0.2.6.1033 may be problematic
please read this BEFORE upgrading: https://forum.doom9.org/showthread.php?p=1058892#post1058892
Kurtnoise
26th October 2007, 15:51
@devs: I've a patch for that (http://sourceforge.net/tracker/index.php?func=detail&aid=1820593&group_id=156112&atid=798479) but we need to create a fake file in the enc_aacplus package first (yeaaaaaaaah for Vista compatibility otherwise we get an access denied :devil:). What do you think ? useful or not ?
Index: core/gui/Form1.cs
===================================================================
--- core/gui/Form1.cs (revision 315)
+++ core/gui/Form1.cs (working copy)
@@ -1471,6 +1471,11 @@
updateCheck.Start();
}
Version ver = Environment.Version;
+ string ProgFilesFolder = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles);
+ string encaacplusdll = ProgFilesFolder + "\\Winamp\\Plugins\\enc_aacplus.dll";
+ string nscrtdll = ProgFilesFolder + "\\Winamp\\nscrt.dll";
+ string Enc_AACPlusPath = Path.GetDirectoryName(settings.EncAacPlusPath);
+
logBuilder.AppendFormat("MeGUI Version: {0} {1}", Application.ProductVersion, Environment.NewLine);
logBuilder.AppendFormat("OS used: Microsoft {0} {1} {2} {3}", OSInfo.GetOSName(), OSInfo.GetOSProductType(), OSInfo.GetOSServicePack(), Environment.NewLine);
logBuilder.AppendFormat(".Net Framework installed: {0}{1}", ver, Environment.NewLine);
@@ -1478,6 +1483,12 @@
logBuilder.AppendFormat("------------------------------------------------------ {0}", Environment.NewLine);
logBuilder.AppendLine();
this.log.Text = logBuilder.ToString();
+
+ if (!File.Exists(settings.EncAacPlusPath.LastIndexOf(@"\") + "\\enc_aacplus.dll"))
+ {
+ if (File.Exists(encaacplusdll))
+ File.Copy(encaacplusdll, Enc_AACPlusPath + "\\enc_aacplus.dll", true);
+ }
}
private void beginUpdateCheck()
Sharktooth
26th October 2007, 15:58
Uhm... we need to get the winamp path from the registry.
we cant assume winamp is installed in "\Program files\Winamp"
EDIT: New bug... trying to open the bitrate calculator after loading an input file in the main form makes megui crash with a finite loop...
that happens if Acceptabe FPS rounding error is set to 0.
EDIT2: Fixed.
Kurtnoise
26th October 2007, 17:22
Uhm... we need to get the winamp path from the registry.
we cant assume winamp is installed in "\Program files\Winamp"
ok but how to retrieve the (Default) value ?
this :
public string WinampPath
{
get
{
Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"Software\Winamp");
if (key == null)
return null;
else
return (string)key.GetValue("(Default)");
}
}
returns nothing...and if I change the (Default) by something else, it works as excepted.
This is the only one key for Winamp in the Registry...
Sharktooth
26th October 2007, 17:52
there should be an uninstall key with the installation path... let me check.
EDIT: here HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Winamp
there are 2 useful keys: UninstallString and DisplayIcon
those contain the installation path + some other data that can be stripped
Maccara
26th October 2007, 22:37
ok but how to retrieve the (Default) value ?
Before any "hacks" are done, normal way to do it is GetValue(null).
MS says for RegistryKey.GetValue Method:
A registry key can have one value that is not associated with any name. When this unnamed value is displayed in the registry editor, the string "(Default)" appears instead of a name. To retrieve this unnamed value, specify either a null reference (Nothing in Visual Basic) or the empty string ("") for name.
Edit: And I have software which uses this successfully, so I didn't just quote the docs, in case someone wonders if it might be buggy. ;)
Kurtnoise
27th October 2007, 07:25
thanks guys...
Sharktooth
29th October 2007, 01:57
3 bugs left... :)
the 120dpi font issue can be postponed after the "stable" release though...
just a curiosity... yesterday MeGUI surpassed the 600 downloads/day (sourceforge statistics (http://sourceforge.net/project/stats/?group_id=156112&ugn=megui)). keeping that pace, it generates about 18Gigz/month of traffic on the SF mirrors... plus the near 3000 project page views...
i wonder how much traffic is generated monthly on the autoupdate server...
Sharktooth
29th October 2007, 02:43
@devs: aud-x support and aud-x encoder could be removed since they have some problems (https://forum.doom9.org/showthread.php?p=1058935#post1058935). we should replace it with another encoder (mp3surround?).
Sharktooth
29th October 2007, 13:40
0.2.6.1034
- (Kurtnoise) [JobWorker] small glitch.
- (Kurtnoise) [AutoEncodeWindow] fixed #1821471.
- (Kurtnoise) [ScriptServer] removed temporarily SimpleResize (#1820850)
- (Kurtnoise) Fixed a recovery for the systray (#1820842).
- (Kurtnoise) [DGindexer] changed the delimiter character to avoid filename issues.
- (Sharktooth) Changed Log font to LucidaConsole (fixed width).
- (Sharktooth) Fixed #1820720 (Bitrate Cal. makes MeGUI crash). Acceptable FPS rounding error has now a minimum value of 0,001. Acceptable Aspect Error has a new default of 1% and a new max of 5%.
- (Sharktooth) MP3 Surround -> Aud-X (ISettingsProvider.cs).
mroz
29th October 2007, 14:45
Just wondering... would it be helpful if the default Megui program shortcuts contained a tools subfolder & therein links to run the appropriate bundled tools directly?
I occasionally need to dip into the programs folder to run stuff directly & I sometimes see user posts suggesting running tools directly to achieve certain tasks.
On a related note, the above seems to be the only way to allow AVIMuxGui to be configured. I use xvid mostly for standalones & they work best with no open dml & no rec lists, ime, so I have to reconfigure AMG.
A further aside: I (happily) see you're trying to include enough functionality in Megui to make it independent of external tools. Is this likely to include support for extraction of chapter info from ifos? I routinely use ChapterXtractor to allow chapter info to be embedded in mp4s.
Kurtnoise
29th October 2007, 14:46
@devs: aud-x support and aud-x encoder must be removed since they have legal issues for GPL violation (https://forum.doom9.org/showthread.php?p=1058935#post1058935). we should replace it ASAP with another encoder (mp3surround?).
speaking about it, I'll more or less interested by remove it completely. I think that mp3surround is restrictive. Look at this :
http://img180.imageshack.us/img180/4040/mp3sencvd7.th.png (http://img180.imageshack.us/my.php?image=mp3sencvd7.png)
You have to hit return to display the licence before to launch the compressor. :rolleyes:
Maybe using mp3sencoder.dll with our own cli tool could do the trick.
Kurtnoise
29th October 2007, 14:50
On a related note, the above seems to be the only way to allow AVIMuxGui to be configured. I use xvid mostly for standalones & they work best with no open dml & no rec lists, ime, so I have to reconfigure AMG.
No...if you already have it on your system, you just have to point MeGUI to the right path for this muxer.
A further aside: I (happily) see you're trying to include enough functionality in Megui to make it independent of external tools. Is this likely to include support for extraction of chapter info from ifos? I routinely use ChapterXtractor to allow chapter info to be embedded in mp4s.
It could be included as soon as we'll have our own IFO parser...
Sharktooth
29th October 2007, 15:21
Just wondering... would it be helpful if the default Megui program shortcuts contained a tools subfolder & therein links to run the appropriate bundled tools directly?
I occasionally need to dip into the programs folder to run stuff directly & I sometimes see user posts suggesting running tools directly to achieve certain tasks.
Could be done. I'll update the installer script as soon as i have some time.
mroz
29th October 2007, 17:43
@Kurtnoise: fair point re AMG if preinstalled, but still a problem if it isn't - unless you assume the default config is adequate for everyone. Nice to see an IFO parser is on the agenda.
@Sharktooth: cool :)
COOLBGT
29th October 2007, 18:59
Guys why did you removed the minimize to tray option in MeGUI. It was really useful an compact and i loved it
Kurtnoise
29th October 2007, 20:24
wtf...Can't see it ?
http://img139.imageshack.us/img139/5714/systraytt7.png
mroz
29th October 2007, 21:03
Guys why did you removed the minimize to tray option in MeGUI. It was really useful an compact and i loved it
You mean how minimise would automatically minimise to tray? There is still the explicit View->Minimise to tray menu entry. Is that not adequate?
Sharktooth
30th October 2007, 03:31
installer script updated. for the next release the installer will create links to tools, logs and auto-update cache folders.
COOLBGT
30th October 2007, 09:57
You mean how minimise would automatically minimise to tray? There is still the explicit View->Minimise to tray menu entry. Is that not adequate?
Ooops sorry. Didn't see that before :thanks:. Peace
mroz
30th October 2007, 13:37
installer script updated. for the next release the installer will create links to tools, logs and auto-update cache folders.
You guys almost make looking for bugs & usability issues fun :D
I've never seen a project where issues are so readily accepted or rapidly addressed. God knows where you find the time & energy. One happy user here :)
If I compare Megui with a well known commercial binary newsreader it's all the more sharp a contrast. Some projects ignore most bugs, have no idea how to triage & no interest in or concept of stable branches, instead relying on massive continuous code rewrites & updates to drown exisiting bugs, usually without success to no surprise.
:thanks:
Sharktooth
30th October 2007, 13:43
well, megui stalled several times too... we're just in a lucky period :)
however tonight im leaving for Lucca Comics and Games 2007 (http://www.luccacomicsandgames.com/page.php?page=7). So, i wont be here for a little while...
Sharktooth
30th October 2007, 13:54
@devs: to avoid #1822000 and for coherency, we should populate the profiles dropdowns (audio and video) with only the profiles belonging to the selected codecs.
SpAwN_gUy
30th October 2007, 14:02
@devs: to avoid #1822000 and for coherency, we should populate the profiles dropdowns (audio and video) with only the profiles belonging to the selected codecs.hm.. berrinam helped me with that thing.. (i guess my part will only be shown to public AFTER the Stable ;) ..)
it has to deal with Dictionary and IDictionary (the reason i can't merge my sources with latest.. :( ... 'coz i dunno how.. well i do,.. but it does not work..)
Sharktooth
30th October 2007, 14:04
uhm, well, it doesnt work since there were some major changes in the latest revisions...
maybe berrinam can help you porting your code to the latest megui version.
SpAwN_gUy
30th October 2007, 14:59
uhm, well, it doesnt work since there were some major changes in the latest revisions...
maybe berrinam can help you porting your code to the latest megui version.um.. yes he agreed with that.. some time ago..
berrinam
30th October 2007, 21:16
I don't have much time now, but in a week I will be able to help. And I agree about #1822000, the current behaviour is presently quite annoying and a pain to work with programatically. It definitely needs some looking at.
Kurtnoise
31st October 2007, 18:59
@devs: there is an issue with Avi-mux_GUI when the output and/or the temp paths contain special caracters (like é, à, è...). I reported the bug to Alexnoe but unfortunately he has no idea why it doesn't work properly for the moment. So, if you have some ideas to avoid this, let me know.
The most problematic is for the temp dir...
Note: it occurs only when we use the command line.
superuser
1st November 2007, 06:13
Today I updated MEGUI to the latest version 2.6.1034 from 2.5.1007. I am seeing suggested resolution resized in two versions to be different.
At present I was doing a source whose original resolution is 720*480 (appears to PAL->NTSC source). In latest MEGUI version Input DAR is reported as ITU 4:3; and suggested resolution for resize width 640 is 640*464. In previous version Megui gave suggested resolution as 640*480 for resized width of 640. I am confused here which one should be considered as correct one. Sorry if this has been already covered as I looked around but could not find what is the way to go with.
Thanks in advance for the help.
Sharktooth
1st November 2007, 14:28
the latest version has a more precise resizing.
mroz
1st November 2007, 14:55
/double checks
Wow, I didn't expect it to make that big a difference & thought something might be wrong but of course Sharktooth is correct.
The ITU DAR for 4:3 NTSC is 1.367088.
640/1.367088 = 468.148
So 464 is indeed the closest usable resolution.
BTW Sharktooth, I thought you were off to Lucca? Short visit? Hope it proved worthwhile. The festival url looked interesting :)
Sharktooth
2nd November 2007, 16:43
There is definatly an internet connection at the ASUS stand...
Web surfing is not enabled but i love hamachi and adding routes...:D
Eamon21
6th November 2007, 11:40
Hey all, what's involved with adding/modifying code on this project? I want to add a new "tool" for transcoding that makes it much easier and batch-able. I'm part way through it already but figured that might as well offer it back into MeGUI if you guys want it?
The idea is to have a transcode profile that specifies a video profile, an audio profile, a container type and an AVISynth script template. Once it is set up, all you need to do is select a file(s) as input and the profile and it creates an avisynth script using the filename and template, and then does a basic transcode using the video and audio profiles specified. It is intended at this stage to be very simple with video and audio sources being the same avisynth script.
Was originally thinking that I could do this by modifying the "One Click Encode" (which really is not one click at all), but that seems very much geared towards encoding DVD's only and is certainly a lot more complex than I want or need. Maybe in time the functionality I am after could be incorporated into the oneclick tool, but at the moment it is too cluttered with excessive options and configuration to really be a "one click" solution, also it doesn't support batching.
This all started with me wanting to convert a lot of MOV files from my digital camera from MJPEG into H264 to save space, there are hundreds and i certainly don't want to have to do them one at a time.
Eamon
Kurtnoise
6th November 2007, 14:21
Glad you're volunteer to improve MeGUI...but I think there are some bugs to fix before to jump in the wind. :D
mroz
6th November 2007, 14:31
@Eamon21: I can't answer your question, being only a user, but I am interested in your modifications, as I'm in a similar situation (in my case, hundreds of mostly mpegs of 3 or 4 minutes duration with a few other formats thrown in to complicate the situation).
/lazy What tools are needed to compile Megui from source? Does one have to use Visual Studio? Is Express adequate? 2005 or the 2008 beta? I have a legit copy of 2005 Pro beta 2 - any good? My wife might have 2005 Pro (need to check).
I was thinking of just knocking a Perl script together to preprocess my sources & insert jobs into Megui's queue, but obviously a proper extension to Megui is much more worthwhile.
I don't know .net or C#, so there's only an outside chance I could contribute to coding - if you were interested - though I do find Megui an attractive project, so might use it to get into C# (anyone recommend some books?).
I did used to program extensively in C & ARM assembler, but that was a long time ago. Since then I've touched on OO concepts with a little bit of Java, but nothing to get my hands dirty (a Foundation degree involving networking & some programming/web design, but nothing of a standard to brag about).
Anyhow, what you're describing sounds like it meets most of my needs. I was also considering a prior stage - I'll need to run some analysis scripts to decide which AVS template to apply to each clip (at least to decide on whether deinterlacing is needed & possibly also to assess quality to select suitable denoising) or possibly to reject clips which don't fall into an obvious category, for manual checking. Would that be compatible with your ideas or is it more than you need?
At the very least I can help with testing your code, which hopefully will be of some use to you.
Doom9
6th November 2007, 15:46
You only need Visual Studio Express C# edition. The 2008 tools will also do if you keep the project to .NET 2.0 features only (finally in the 2008 edition you can turn on/off language features on a project level).
Eamon21
6th November 2007, 15:53
I realise that there are still bugs (aren't there always :)) but to be efficient and competent in tracking and fixing bugs I think I need to be more familiar with the code base which I hope to accomplish through developing a transcode tool. There are already a number of changes that I would like to make to various classes. The impact of these changes should not affect any existing code but all the same I am reluctant to stomp all over someone else's work. What is the process for submitting changes for review before they are incorporated into the main trunk?
Is there somewhere I can post changes that I think should be made and the reasons? I don't think they would belong in the "requested features" section as for the most part, they would not modify functionality, just re-factor the code and and add some best practices.
Eamon
mroz
6th November 2007, 16:04
You only need Visual Studio Express C# edition. The 2008 tools will also do if you keep the project to .NET 2.0 features only (finally in the 2008 edition you can turn on/off language features on a project level).
Cheers. Is that what most of the devs use? Seeing as if I explore this option I'll be installing only to build Megui it makes sense to stick to as similar a build environment as possible.
Don't suppose you have any suggestions for .net/C# books? I wasn't keen on .net/C# to begin with as I hate M$'s approach to most things & if I get into development again, I wanted it to be cross platform, but Mono offers some hope of that, so maybe C# is acceptable.
As an aside, I had been considering QT, but the last open source release was so delayed it virtually killed off Opie (http://opie.handhelds.org/cgi-bin/moin.cgi/WhatIsOpie) which I'd been following.
cogman
6th November 2007, 16:04
Where is the current source for megui? Right now the SVN is all the way back at 1028.
Eamon21
6th November 2007, 16:12
Anyhow, what you're describing sounds like it meets most of my needs. I was also considering a prior stage - I'll need to run some analysis scripts to decide which AVS template to apply to each clip (at least to decide on whether deinterlacing is needed & possibly also to assess quality to select suitable denoising) or possibly to reject clips which don't fall into an obvious category, for manual checking. Would that be compatible with your ideas or is it more than you need?
For my immediate needs this is probably more than I need, most of the movies I want to convert tend to be from the same source (digi cam) and I intended to use x264 in const. quality mode. The most I really need is to rotate by 90 degrees some of the movies, not sure how to automate a test for that though if it is even possible.
In some ways it also goes against what I am hoping to achieve here as well by making the process more complex . This could be largely mitigated through good UI design and well thought out defaults.
As I said earlier, part of my motivation here to create a new tool is the fact that the "One Click Encode" tool is not even close to one click and far too complex for a simple transcode operation. While MeGUI is quite powerful and I like the concept, it is not a very clean design and not very user friendly. I think this holds it back a great deal and as such I want to keep the transcode tool as "clean" and easy to use a possible.
Having said that, I certainly wouldn't rule out what you are after though I am not sure how it would work. It seems like it might be a very niche requirement and so might be better implemented in some scripting way, possible AVISynth? I'm not very familiar with the power of the AVISynth scripting language, but if what you are after was possible (in some part at least) in AVISynth then it would effectively work right in with what I am planning as I will take my input from an AVISynth template which could (possibly) contain your custom preprocessing.
Eamon
mroz
6th November 2007, 17:10
Where is the current source for megui? Right now the SVN is all the way back at 1028.
A very naive question coming up, so I might as well confess in advance to being ignorant about SVN as well as most things:
http://megui.svn.sourceforge.net/viewvc/megui/trunk/Changelog.txt?view=log shows the updates as far as 1034 eight days ago, so why do you say SVN only contains code to release 1028?
cogman
6th November 2007, 17:31
I'm not quite sure myself (Im not a SVN expert either). I just know that when I compiled and ran it, it reported itself as being the 1028 version. Im redownloading, it could be that I compiled it incorrectly.
Sharktooth
6th November 2007, 17:39
Is there somewhere I can post changes that I think should be made and the reasons? I don't think they would belong in the "requested features" section as for the most part, they would not modify functionality, just re-factor the code and and add some best practices.
Eamon
Yes, sure. The MeGUI project Patch Tracking System (http://sourceforge.net/tracker/?group_id=156112&atid=798478) on SF.
Before posting, ensure to create a patch (universal .diff file) against the latest SVN revision.
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.