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 > Video Encoding > MPEG-4 Encoder GUIs

Reply
 
Thread Tools Search this Thread Display Modes
Old 25th February 2006, 00:41   #1861  |  Link
Sharktooth
Mr. Sandman
 
Sharktooth's Avatar
 
Join Date: Sep 2003
Location: Haddonfield, IL
Posts: 11,768
Quote:
Originally Posted by berrinam
I don't know how much work is involved in the change, but all I can see that is useful for us in terms of the differences is the better revisioning system, considering that we have no idea how fast SF SVN would be. So, if it is easy to change and we won't lose anything, then go ahead. I'm sure TortoiseSVN is very similar to TortoiseCVS.
Well, all what it should be done is "migrating"... but SF has an automated procedure for that. It may require some time but MeGUI is not a big project so it will be ready in some minutes (or hours at least).
TortoiseSVN is quite identical to TortoiseCVS.
Sharktooth is offline   Reply With Quote
Old 25th February 2006, 00:49   #1862  |  Link
ChronoCross
Does it really matter?
 
ChronoCross's Avatar
 
Join Date: Jun 2004
Location: Chicago, IL
Posts: 1,542
I'm in favor of SVN. Personally I like it better than cvs.
ChronoCross is offline   Reply With Quote
Old 25th February 2006, 09:34   #1863  |  Link
Sharktooth
Mr. Sandman
 
Sharktooth's Avatar
 
Join Date: Sep 2003
Location: Haddonfield, IL
Posts: 11,768
well let's wait the doom9's final "verdict"
Sharktooth is offline   Reply With Quote
Old 25th February 2006, 12:00   #1864  |  Link
dimzon
BeHappy/MeGUI developer
 
dimzon's Avatar
 
Join Date: Oct 2003
Location: Moscow, Russia
Posts: 1,727
I'm against SVN migration
i'm worry about history lose
i really don't like it bcz i cant delete file from SVN
dimzon is offline   Reply With Quote
Old 25th February 2006, 13:24   #1865  |  Link
Doom9
clueless n00b
 
Join Date: Oct 2001
Location: somewhere over the rainbow
Posts: 10,579
Quote:
i'm worry about history lose
I don't.. never had any history when I was working on megui alone and there's no history when I make huge architectural changes over weeks without any commit. If you worry, you can check out revision by revision since the start of the CVS.
Quote:
i really don't like it bcz i cant delete file from SVN
What's the problem with that.. those files just disappear from public views.. most databases on this planet work this way.. hardly anybody hard deletes data anymore.
__________________
For the web's most comprehensive collection of DVD backup guides go to www.doom9.org
Doom9 is offline   Reply With Quote
Old 26th February 2006, 04:25   #1866  |  Link
berrinam
Registered User
 
berrinam's Avatar
 
Join Date: Apr 2005
Posts: 1,740
@Mutant_Fruit: I tried out your automatic updating, and I am impressed. I made a few notes, about some big and some small problems:
  • CurrentVersion flag never appears to be set. This causes it always to update. I just read your last post, and realised that you still need to read that data from the xml file. I don't like that system, because it could easily get out of sync with the actual version of the file. If there was some way to use the version signalled by the exe itself, that would be better.
  • Should be able to force an update check.
  • Should be able to turn off update checking altogether.
  • Should also perhaps be support for new versions of MeGUI, and also all the AviSynth plugins and AviSynth itself. I presume this will come later.
  • 'Update' should turn into 'OK' when finished
  • FileX/Y doesn't have a space in it, when displayed in the status bar.
  • What is the other textbox there for?
  • Perhaps it would be nice to have a small log of what succeeded and what didn't, etc. Is that what the textbox is for?
  • It crashes if you select neroraw or anything else not on the server
  • The status bar says finished before you've even started anything.
  • How easy is it to put everything in a different folder, because I don't think the root directory is the best place to keep all the files.
  • What is the feasibility of zipping the files to make downloads smaller?
  • Could we have something more descriptive than N/A if it doesn't have the information? Something like 'Files Not Found', 'Version unknown', etc

Last edited by berrinam; 26th February 2006 at 04:54.
berrinam is offline   Reply With Quote
Old 26th February 2006, 12:15   #1867  |  Link
Mutant_Fruit
Registered User
 
Join Date: Apr 2004
Posts: 287
Quote:
Originally Posted by berrinam
@Mutant_Fruit: I tried out your automatic updating, and I am impressed. I made a few notes, about some big and some small problems:
  • CurrentVersion flag never appears to be set. This causes it always to update. I just read your last post, and realised that you still need to read that data from the xml file. I don't like that system, because it could easily get out of sync with the actual version of the file. If there was some way to use the version signalled by the exe itself, that would be better.
    I realise this. I've investigated a few methods for getting version numbers. It seems that most of the .exe programs can be made display their version number on-screen, therefore i can redirect stdout and read out their version number. However, with dll files, most of them don't have the version number embedded. Therefore there doesnt seem to be a way for me to check the version of those files.
  • Should be able to force an update check.
    That's possible. There's a button now called "Update" in the tools method which will display the Update window and allow an update.
  • Should be able to turn off update checking altogether.
    That was already possible. You just set the auto-update interval to 0 days in settings. Maybe i should make that more obvious.
  • Should also perhaps be support for new versions of MeGUI, and also all the AviSynth plugins and AviSynth itself. I presume this will come later.
    Yup, AviSynth plugins and AviSynth can easily be added, however MeGUI will be a little trickier. The problem is that if MeGUI is running, i can't replace the MeGUI .exe with the new .exe, but if MeGUI isn't running i can't move the .exe over automatically. This could be possible if i created a secondary program (only a few lines) who's job it is is to copy the new .exe over the old .exe after MeGUI closes, then it could restart MeGUI automatically.
  • 'Update' should turn into 'OK' when finished
    I'll do that now
  • FileX/Y doesn't have a space in it, when displayed in the status bar.
    Status bar is gone now, it's been completely replaced by the "log" textbox. I only thought of using a "log" a few mins before i uploaded that temp version, which is why it did nothing.
  • What is the other textbox there for?
    Thats the log textbox, it displays details about everything that goes on.
  • Perhaps it would be nice to have a small log of what succeeded and what didn't, etc. Is that what the textbox is for?
    I agree, and you're right.
  • It crashes if you select neroraw or anything else not on the server
    Fixed already.
  • The status bar says finished before you've even started anything.
    Aye, i realised that was slightly confusing. That "finished" was actually referring to the fact it had downloaded the update .xml file, and then parsed it successfully. It makes more sense with the log textbox now.
  • How easy is it to put everything in a different folder, because I don't think the root directory is the best place to keep all the files.
    Thats a thing i was going to bring up alright. I was going to ask if i should make a default "Plugins" folder or something similar. That should be easy
  • What is the feasibility of zipping the files to make downloads smaller?
    That's already 80% finished or so. I had a bit of trouble with the zip library not acting the way i thought it would, but its working now.
  • Could we have something more descriptive than N/A if it doesn't have the information? Something like 'Files Not Found', 'Version unknown', etc
    Thats been taken care of in the log textbox.

What i'm looking for most now is a fullproof way of finding out the versions of dll files. For example: MessageBoxExLib.dll has the dll version in it (right click and go to properties->version), but AvisynthWrapper.dll doesn't. In that case, the only way i could know the version is to store it from the XML data and hope nobody switches the dll file.
__________________
Nothing to see here...

Last edited by Mutant_Fruit; 26th February 2006 at 12:17.
Mutant_Fruit is offline   Reply With Quote
Old 26th February 2006, 12:29   #1868  |  Link
berrinam
Registered User
 
berrinam's Avatar
 
Join Date: Apr 2005
Posts: 1,740
Quote:
Originally Posted by Mutant_Fruit
I realise this. I've investigated a few methods for getting version numbers. It seems that most of the .exe programs can be made display their version number on-screen, therefore i can redirect stdout and read out their version number. However, with dll files, most of them don't have the version number embedded. Therefore there doesnt seem to be a way for me to check the version of those files.
Have you tried just going by modified date?
Quote:
That was already possible. You just set the auto-update interval to 0 days in settings. Maybe i should make that more obvious.
When I did that, it actually did the opposite -- it checked every time I opened MeGUI.
Quote:
MeGUI will be a little trickier. The problem is that if MeGUI is running, i can't replace the MeGUI .exe with the new .exe, but if MeGUI isn't running i can't move the .exe over automatically. This could be possible if i created a secondary program (only a few lines) who's job it is is to copy the new .exe over the old .exe after MeGUI closes, then it could restart MeGUI automatically.
I can see that, but I think MeGUI is likely to be updated quite frequently at the moment, so it's quite an important feature IMHO.
Quote:
Thats a thing i was going to bring up alright. I was going to ask if i should make a default "Plugins" folder or something similar. That should be easy
Sounds good, but don't call it plugins. That's too similar to AviSynth plugins and could cause heaps of confusion.

Quote:
What i'm looking for most now is a fullproof way of finding out the versions of dll files. For example: MessageBoxExLib.dll has the dll version in it (right click and go to properties->version), but AvisynthWrapper.dll doesn't. In that case, the only way i could know the version is to store it from the XML data and hope nobody switches the dll file.
Or, as I said, going by date modified... or finding some way to force the dlls to store the version. AviSynthWrapper, for instance, is part of the MeGUI project itself, so if it's the only problem, then that shouldn't be too hard to fix.

Also, it just occurred to me that if we have lots of things that can be autoupdated, perhaps it would be a good idea to group them by category, so the user isn't confronted with a huge list? Perhaps audio binaries, video binaries, avisynth plugins, and miscellaneous?

The rest of it looks very promising.

Last edited by berrinam; 26th February 2006 at 12:32.
berrinam is offline   Reply With Quote
Old 26th February 2006, 12:57   #1869  |  Link
Mutant_Fruit
Registered User
 
Join Date: Apr 2004
Posts: 287
Quote:
Or, as I said, going by date modified... or finding some way to force the dlls to store the version.
It'd be possible to check the "date created" of the dll on the clients computer and check that against the "date uploaded" on the server computer to see if it needs updating. That'd be a handy trick if i don't have the version numbers, but not completely foolproof.

Quote:
Also, it just occurred to me that if we have lots of things that can be autoupdated, perhaps it would be a good idea to group them by category, so the user isn't confronted with a huge list? Perhaps audio binaries, video binaries, avisynth plugins, and miscellaneous?
I'll look into that as soon as i get the zip section working 100%. Tis a good idea.

Also, code-wise, if you see anything that isn't good, or that could be done better, let me know. I'm always up for improving.

Also, the code for "AutoUpdate" is called like this on startup...
Code:
if(this.settings.UpdateInterval>0) // AutoUpdate is on
{
    ....Start the autoupdate thread....
}
So setting the interval to 0 should make it NOT check for updates... Testing that now.

EDIT: Sure it works now anyway. I'll upload the newer beta version just so ye can see what it looks like now.

EDIT2: Here is the latest source. I'm still working on the zip handling.
http://www.fileshack.us/files/741/MeGUIAutoUpdate.zip
__________________
Nothing to see here...

Last edited by Mutant_Fruit; 26th February 2006 at 13:17.
Mutant_Fruit is offline   Reply With Quote
Old 26th February 2006, 14:22   #1870  |  Link
Sharktooth
Mr. Sandman
 
Sharktooth's Avatar
 
Join Date: Sep 2003
Location: Haddonfield, IL
Posts: 11,768
For those who haven't subscribed to the SF mailing list (regarding SVN):
Quote:
I am pleased to report that our Subversion beta was successful
and we launched our Subversion service sitewide earlier this week.
In addition, we've completed deployment of new web servers and
made further enhancements to our service monitoring and uptime
monitoring capabilities. Upcoming software map and search
improvements remain on track for March and April deployments,
respectively.
Quote:
Subversion General Availability
-------------------------------

The SourceForge.net team is pleased to announce the General Availability
of Subversion service to SourceForge.net-hosted projects, effective
2006-02-21. This service offering is in addition to our existing CVS
service; as with all of our services, projects may select (and enable in
the project admin pages) the portion of our offering that best meets
their needs.

We wish to extend our thanks to the many projects and developers who
have helped us to test our Subversion service as part of our six-week
beta, which completed last week. Our particular thanks go to these
projects, whose members provided substantial feedback regarding the
new service:

* Inkscape - http://sourceforge.net/projects/inkscape/
* DejaVu Fonts - http://sourceforge.net/projects/dejavu/
* ScummVM - http://sourceforge.net/projects/scummvm/
* evilnet - http://sourceforge.net/projects/evilnet/


Our Subversion service includes:

SSL-based Repository Access:
* Developer Subversion access via HTTPS, auth is requested when you
perform a write operation
* Anonymous Subversion access via HTTPS
* No sync delays between developer and anonymous Subversion access
* Per-developer access control over repository access (ACL support to be
added in the future) via the SourceForge.net permissions system

Web-based viewing:
* Web-based repository access via ViewVC (formerly known as ViewCVS)

On-demand self-service backups and mirroring capability:
* Read-only rsync access to the repository to permit backups and
remote mirroring

Ease of migration:
* Automated self-service migration of your SourceForge.net project CVS
repository, CVS tarball, or Subversion dump to our Subversion service

Well-considered add-ons to basic service:
* A selected set of hook scripts, including commit email support and
CIA bot support
* Statistics tracking of Subversion repository activity


Service may be enabled by project administrators in the "Subversion"
section of the Project Admin pages.

Complete service documentation is available at:
http://sf.net/docs/E09/

Documentation is provided for supported clients at:
http://sf.net/docs/F06/ for the command-line SVN client
http://sf.net/docs/F07/ for TortoiseSVN

Our support of Subversion has been based on substantial research and
testing in the past few months, which we have pursued specifically based
on requests from the community. SourceForge.net continues to consider
new technologies and evaluate community requests in further
strengthening our service offering.
Sharktooth is offline   Reply With Quote
Old 26th February 2006, 21:10   #1871  |  Link
berrinam
Registered User
 
berrinam's Avatar
 
Join Date: Apr 2005
Posts: 1,740
  • It still crashes with neroraw, because currentFile.UpdateURL is null.
  • There is still a space missing when it says 'Updating mencoder. File1/7'
  • InvalidOperationException thrown in ParseUpdateData(), because it doesn't have access to that. Use Invoke(delegate) for that. I think that may be causing 'Update' not to change to 'OK'
  • Setting UpdateInterval to 0 does indeed turn off automatic updates. I do think this should be explicit, anyway. Also, if it is at any other value, it ignores it and checks every time you open MeGUI.
  • The log is good.
I might look at the code later, but that's all I have time for now.
berrinam is offline   Reply With Quote
Old 26th February 2006, 22:00   #1872  |  Link
Mutant_Fruit
Registered User
 
Join Date: Apr 2004
Posts: 287
Quote:
Setting UpdateInterval to 0 does indeed turn off automatic updates. I do think this should be explicit, anyway. Also, if it is at any other value, it ignores it and checks every time you open MeGUI.
Thats be design at this point, otherwise it'd be a pain in the ass resetting the "lastUpdated" DateTime each time i wanted to put the code through a test.

As for the rest of the bugs, i've either fixed em already, or will do now. Thanks for the pointers.
__________________
Nothing to see here...
Mutant_Fruit is offline   Reply With Quote
Old 28th February 2006, 06:08   #1873  |  Link
berrinam
Registered User
 
berrinam's Avatar
 
Join Date: Apr 2005
Posts: 1,740
Code:
0.2.3.2096 28 Feb 2006
Commit by berrinam:
  - Updated Source Detection to recognize sources that need decimation
berrinam is offline   Reply With Quote
Old 28th February 2006, 14:18   #1874  |  Link
dimzon
BeHappy/MeGUI developer
 
dimzon's Avatar
 
Join Date: Oct 2003
Location: Moscow, Russia
Posts: 1,727
Code:
0.2.3.2097 28 Feb 2006
Commit by dimzon:
  - AviSynthWrapper: now it's possible obtain value of script integer variable (AviSynthClip.GetIntVariable)
Just quick sample how to use:

Code:
using (MeGUI.AviSynthScriptEnvironment env = new MeGUI.AviSynthScriptEnvironment())
{
    using (MeGUI.AviSynthClip clip = env.ParseScript("global test=123\n\rversion()\n\r", MeGUI.AviSynthColorspace.Unknown))
    {
        int i=0;
        try
        {
            i = clip.GetIntVariable("test",0);
        }
        catch(Exception eee)
        {
            MessageBox.Show(eee.ToString());
        }
        MessageBox.Show(i.ToString());
    }
}
dimzon is offline   Reply With Quote
Old 28th February 2006, 14:38   #1875  |  Link
dimzon
BeHappy/MeGUI developer
 
dimzon's Avatar
 
Join Date: Oct 2003
Location: Moscow, Russia
Posts: 1,727
Hew horizont of AviSynth integration is open!

Hi!
Seems like i can implement such magic features in AviSynthWrapper:

Ability to add our own callback functions to AvsScript:
Code:
clip.RegisterCallback(new CallBackDelegate(...))
so it's possible to call something like:
Code:
version()
MeGUI_Callback(some arguments)

Ability to set variable values
Code:
clip.SetVariable("variableName", 12345)
Ability to check function existence
Code:
clip.IsFunctionDefined("Mpeg2Source")
dimzon is offline   Reply With Quote
Old 28th February 2006, 20:38   #1876  |  Link
berrinam
Registered User
 
berrinam's Avatar
 
Join Date: Apr 2005
Posts: 1,740
Quote:
Originally Posted by dimzon
Code:
0.2.3.2097 28 Feb 2006
Commit by dimzon:
  - AviSynthWrapper: now it's possible obtain value of script integer variable (AviSynthClip.GetIntVariable)
Sounds great! It's now possible to remove all temporary files in Source Detection. What happens if you are trying to get something else, like a boolean?

Quote:
Ability to add our own callback functions to AvsScript:
Woah, that's pretty powerful. I can't think why it would be useful, though.

Quote:
Ability to set variable values
Code:
clip.SetVariable("variableName", 12345)
Similarly with this.

Quote:
Ability to check function existence
Code:
clip.IsFunctionDefined("Mpeg2Source")
Do you know if this also works with conditional functions, like IsCombed()?
berrinam is offline   Reply With Quote
Old 28th February 2006, 21:14   #1877  |  Link
dimzon
BeHappy/MeGUI developer
 
dimzon's Avatar
 
Join Date: Oct 2003
Location: Moscow, Russia
Posts: 1,727
Quote:
Originally Posted by berrinam
Sounds great! It's now possible to remove all temporary files in Source Detection.
Yes, this is feature for You

Quote:
Originally Posted by berrinam
What happens if you are trying to get something else, like a boolean?
Exception will be thrown Variable must be exatly integer. Does You really need something else? I can add float/boolean but I really does'nt want ( i can but doesn't want ) to add string (bcz of marshaller performance slowdown)
Keep in mind - each feature reques approx 1hrs so ask if You really need it - otherwize it's better to spent my free time to more critical/important features

Quote:
Originally Posted by berrinam
Do you know if this also works with conditional functions, like IsCombed()?
I can't find IsCombed() in AviSynth manual - what is it?
dimzon is offline   Reply With Quote
Old 28th February 2006, 21:29   #1878  |  Link
berrinam
Registered User
 
berrinam's Avatar
 
Join Date: Apr 2005
Posts: 1,740
Quote:
Originally Posted by dimzon
Yes, this is feature for You
Thank you.

Quote:
Exception will be thrown Variable must be exatly integer. Does You really need something else? I can add float/boolean but I really does'nt want ( i can but doesn't want ) to add string (bcz of marshaller performance slowdown)
Never mind, then. I can cope with integers only -- AviSynth can do the conversion easily enough for me. I was just wondering.

Quote:
I can't find IsCombed() in AviSynth manual - what is it?
It's part of the Decomb package from neuron2. The relevance of that is that it's just like YDifferenceFromPrevious (which is part of AviSynth) -- it can only be accessed from inside one of the conditional functions, like FrameEvaluate, etc.
berrinam is offline   Reply With Quote
Old 28th February 2006, 22:10   #1879  |  Link
dimzon
BeHappy/MeGUI developer
 
dimzon's Avatar
 
Join Date: Oct 2003
Location: Moscow, Russia
Posts: 1,727
Quote:
Originally Posted by berrinam
It's part of the Decomb package from neuron2. The relevance of that is that it's just like YDifferenceFromPrevious (which is part of AviSynth) -- it can only be accessed from inside one of the conditional functions, like FrameEvaluate, etc.
I don't know, must test...
dimzon is offline   Reply With Quote
Old 1st March 2006, 07:03   #1880  |  Link
jellysandwich
Registered User
 
Join Date: Mar 2004
Posts: 247
There seems to be a small inconsistency in the deblocking tooltip. It says that "in loop deblocking is part of the normal operation of MPEG-4 AVC and should not be disabled," but says disabled for the default and recommended values.

js
jellysandwich is offline   Reply With Quote
Reply

Tags
development, megui, not a help thread

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 13:25.


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