Official eMule-Board: Emule Morphxt 0.50A 12.6 [19-12-2010] - Official eMule-Board

Jump to content


  • (3 Pages)
  • +
  • 1
  • 2
  • 3

Emule Morphxt 0.50A 12.6 [19-12-2010] Will this fix it all at long last?

#41 User is offline   Stulle 

  • [Enter Mod] Dev
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 5804
  • Joined: 07-April 04

Posted 31 October 2012 - 07:26 AM

Hi KiwiBloke,

that is to be expected if you did not set the categories or the default A4AF mode (Smart A4AF Control (SAC)) to Disabled or Balance mode. If you use the stacked mode it should work as expected. Can you confirm this?

Regards,
Stulle
I am an emule-web.de member and fan!

[Imagine there was a sarcasm meter right here!]

No, there will not be a new version of my mods. No, I do not want your PM. No, I am certain, use the board and quit sending PMs. No, I am not kidding, there will not be a new version of my mods just because of YOU asking for it!
0

#42 User is offline   KiwiBloke 

  • Newbie
  • Pip
  • Group: Members
  • Posts: 4
  • Joined: 31-July 07

Posted 31 October 2012 - 08:03 AM

View PostStulle, on 31 October 2012 - 08:26 AM, said:

Hi KiwiBloke,

that is to be expected if you did not set the categories or the default A4AF mode (Smart A4AF Control (SAC)) to Disabled or Balance mode. If you use the stacked mode it should work as expected. Can you confirm this?

Regards,
Stulle


Hmm. Currently I have Advanced A4AF Handling set to "Balance sources". I'll change it to "Stack sources" and test it, and let you know.

(Did I understand you right, that if it's set to Disabled or Balanced, then it will not follow the Linear Priority settings when it resumes the next file? Is that what you mean?)

To be honest I don't fully understand what A4AF does, or how/why it affects the order in which the next file is resumed. However if you say it should be set to Stack, then I'll change it and test.

Thanks for the tip!

This post has been edited by KiwiBloke: 31 October 2012 - 08:03 AM

0

#43 User is offline   Stulle 

  • [Enter Mod] Dev
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 5804
  • Joined: 07-April 04

Posted 31 October 2012 - 10:40 AM

That is correct. A4AF means Ask For Another File and the setting in question influences which file has priority if one client is the source for two or more files we want. This idea of one file having priority over another is also the reason why this setting carries over to the resume order.

I agree that this is anything but self explanatory but it makes sense. In fact, this system allows the user to distinguish between files with an equal LP number and to easily decide if a file with a large (auto generated) LP should bypass all other waiting files (using the "Get all A4AF" flag).

Does that help you?
I am an emule-web.de member and fan!

[Imagine there was a sarcasm meter right here!]

No, there will not be a new version of my mods. No, I do not want your PM. No, I am certain, use the board and quit sending PMs. No, I am not kidding, there will not be a new version of my mods just because of YOU asking for it!
0

#44 User is offline   KiwiBloke 

  • Newbie
  • Pip
  • Group: Members
  • Posts: 4
  • Joined: 31-July 07

Posted 31 October 2012 - 11:24 AM

View PostStulle, on 31 October 2012 - 11:40 AM, said:

That is correct. A4AF means Ask For Another File and the setting in question influences which file has priority if one client is the source for two or more files we want. This idea of one file having priority over another is also the reason why this setting carries over to the resume order.

I agree that this is anything but self explanatory but it makes sense. In fact, this system allows the user to distinguish between files with an equal LP number and to easily decide if a file with a large (auto generated) LP should bypass all other waiting files (using the "Get all A4AF" flag).

Does that help you?


Yes, that's helpful, thanks.

So if multiple files have the same LP as each other, and A4AF is set to Stacked, then in which order will the files be downloaded? Will they all be treated equally then? (Assuming the download priority is also the same).

I also just noticed that there is a setting "Download in Alphabetical Order" on the category menu. I hadn't noticed that before. I guess that's basically what I'm looking for, as this will force the files to download in that order, which is usually also the same as the LP order, if I've added a bunch of related files at once (Ep1, Ep2, Ep3 etc).

So now I'm wondering, if I enable "Download in alphabetical order", does this setting override or take priority over the A4AF settings?

Lastly: I understand that if I'm downloading some files in a series (eg. Ep1, Ep2, Ep3), then it makes sense to use the Stacked option for A4AF. But what about when I'm downloading a bunch of files that are unrelated, not in a series? Is it recommended then to use the Balanced option for A4AF? In order to give equal priority to all of the files?

Thanks again for your help!
0

#45 User is offline   Stulle 

  • [Enter Mod] Dev
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 5804
  • Joined: 07-April 04

Posted 31 October 2012 - 12:37 PM

There is no simple answer to that question. Basically the whole code works in different level. Every level checks if the right file is superior or inferior to the left file. If they are equal the next lower level is compared. Here are the levels/criteria:

1. Get All A4AF flag
2. Advanced A4AF flags
3. Category priority (for comparing files from different categories)
4. LP (if stacked A4AF is enabled)
5. File priority
6. File name (if enabled)
7. Number of sources (prioritizing file with fewer sources)

The corresponding code is this (if you care to get into it):
/*MORPH*/bool CPartFile::RightFileHasHigherPrio(const CPartFile* left, const CPartFile* right)
{
    if(!right) {
        return false;
    }
	//MORPH START - Added by SiRoB, Avanced A4AF
	if (!left) {
		return true;
	}
	//MORPH END   - Added by SiRoB, Avanced A4AF
	//MORPH START - Added by SiRoB, ForcedA4AF
	bool btestForceA4AF = thePrefs.UseSmartA4AFSwapping();
	if (btestForceA4AF)
	{
		if (right == theApp.downloadqueue->forcea4af_file)
			return true;
		else if (left == theApp.downloadqueue->forcea4af_file)
			return false;
	}
	//MORPH END   - Added by SiRoB, ForcedA4AF
	//MORPH START - Added by SiRoB, Avanced A4AF
	UINT right_iA4AFMode = thePrefs.AdvancedA4AFMode();
	if (right_iA4AFMode && thePrefs.GetCategory(right->GetCategory())->iAdvA4AFMode)
		right_iA4AFMode = thePrefs.GetCategory(right->GetCategory())->iAdvA4AFMode;
	UINT left_iA4AFMode = thePrefs.AdvancedA4AFMode();
	if (left_iA4AFMode && thePrefs.GetCategory(left->GetCategory())->iAdvA4AFMode)
		left_iA4AFMode = thePrefs.GetCategory(left->GetCategory())->iAdvA4AFMode;
			
	//MORPH END   - Added by SiRoB, Avanced A4AF
	if(!left ||
		//MORPH START - Added by SiRoB, ForcedA4AF
		btestForceA4AF && (right->ForceA4AFOff() || left->ForceAllA4AF()) ||
		(!btestForceA4AF || btestForceA4AF && !left->ForceA4AFOff()) &&
		//MORPH END   - Added by SiRoB, ForcedA4AF
		(
			thePrefs.GetCategory(right->GetCategory())->prio > thePrefs.GetCategory(left->GetCategory())->prio ||
			thePrefs.GetCategory(right->GetCategory())->prio == thePrefs.GetCategory(left->GetCategory())->prio &&
			(
				//MORPH START - Added by SiRoB, Stacking A4AF
				right_iA4AFMode == 2 && right->GetCatResumeOrder() < left->GetCatResumeOrder() ||
				!(left_iA4AFMode == 2 && right->GetCatResumeOrder() > left->GetCatResumeOrder()) &&
				(				
					right_iA4AFMode == 2 && right->GetCatResumeOrder() == left->GetCatResumeOrder()
					||
					right_iA4AFMode != 2
				) &&
				//MORPH END   - Added by SiRoB, Stacking A4AF		
				(
					right->GetDownPriority() > left->GetDownPriority() ||
					right->GetDownPriority() == left->GetDownPriority() &&
					(
						right->GetCategory() == left->GetCategory() && right->GetCategory() != 0 &&
						(thePrefs.GetCategory(right->GetCategory())->downloadInAlphabeticalOrder && thePrefs.IsExtControlsEnabled()) && 
						right->GetFileName() && left->GetFileName() &&
						right->GetFileName().CompareNoCase(left->GetFileName()) < 0
						//MORPH START - Added by SiRoB, Balancing A4AF
						||
						left_iA4AFMode != 0 &&
						right->GetAvailableSrcCount() < left->GetAvailableSrcCount()
						//MORPH END   - Added by SiRoB, Balancing A4AF
					)
				)
			)
		)
    ) {
        return true;
    } else {
        return false;
    }
}

I am an emule-web.de member and fan!

[Imagine there was a sarcasm meter right here!]

No, there will not be a new version of my mods. No, I do not want your PM. No, I am certain, use the board and quit sending PMs. No, I am not kidding, there will not be a new version of my mods just because of YOU asking for it!
0

#46 User is offline   KiwiBloke 

  • Newbie
  • Pip
  • Group: Members
  • Posts: 4
  • Joined: 31-July 07

Posted 31 October 2012 - 10:29 PM

View PostStulle, on 31 October 2012 - 01:37 PM, said:

There is no simple answer to that question. Basically the whole code works in different level. Every level checks if the right file is superior or inferior to the left file. If they are equal the next lower level is compared. Here are the levels/criteria:

1. Get All A4AF flag
2. Advanced A4AF flags
3. Category priority (for comparing files from different categories)
4. LP (if stacked A4AF is enabled)
5. File priority
6. File name (if enabled)
7. Number of sources (prioritizing file with fewer sources)


Hmm, that's kinda helpful actually, although I can see it's also quite complex! :)

I guess the short answer is to use Stacked mode for downloading a series of related items such as episodes, so that they download in order from first to last. And I can also use the Download Alphabetically option as well there.

Okay but what about the last question I asked: what about when I'm downloading a bunch of files that are unrelated, not in a series? Would you recommend then to use the Balanced option for A4AF? In order to give equal priority to all of the files? Or is it still preferable (in your opinion at least) to use Stacked mode even there, and rely on the Download Priority settings to take care of which file has priority? (I think if the Download Priority of two files is the same, and Stacked mode is used, then the two files are both treated equally, right?)

Thanks!
0

#47 User is offline   Stulle 

  • [Enter Mod] Dev
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 5804
  • Joined: 07-April 04

Posted 31 October 2012 - 10:47 PM

Seems like I previously skipped the first bit. ;-) On a more serious note, I personally always use Stacked A4AF so that individual files get finished ASAP. Plus, I only pause/stop files if I download series so I don't really have to bother. Either way, I am not much of a downloader these days so the only times I really have to bother with multiple files and A4AF situations is when I download some kind of series.

What you do is entirely up to yourself. If you don't mind the resume order and don't care if this or that file takes a while longer go with balanced. This is really just a matter of taste.

Regards,
Stulle
I am an emule-web.de member and fan!

[Imagine there was a sarcasm meter right here!]

No, there will not be a new version of my mods. No, I do not want your PM. No, I am certain, use the board and quit sending PMs. No, I am not kidding, there will not be a new version of my mods just because of YOU asking for it!
0

  • Member Options

  • (3 Pages)
  • +
  • 1
  • 2
  • 3

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users