Guest DAvenger

RadLight Filter Manager v1.6

67 posts in this topic

This little tool allows you to change merit of DirectShow filters. We thought some people may find it useful. Should help fix some filter incompatibilty problems.

 

@Griga : Perhaps you could port it to DVBViewer native plugin? :jump:

 

Screenshot below

 

<Edit>

 

Download of the current version 1.6:

 

Executable

 

Delphi 7 Source Code

 

</Edit>

post-23-1067690040_thumb.png

Edited by Griga

Share this post


Link to post

Hey, what a great tool! I didn't test all the functions yet, but it's exactly what I always wanted to have. E.g. "Copy CSLID"... it's really hard to do without this tool (searching up and down the registry or copy it manually letter by letter from GraphEdit... :huh: )

 

Thanks to DAvenger and Radscorpion for providing it here! :jump:

 

Perhaps you could port it to DVBViewer native plugin?

 

Sure I could. If there was a function that can be enhanced by directly accessing the DVBViewer graph, it would make sense... but up to now I can't see such a function. However, as a stand-alone tool the filter manager can be easily integrated in the DVBViewer Plugins Menu by using the MenuCreator Plugin.

 

Griga

Zwischenablage01.png

4 people like this

Share this post


Link to post

realy nice tool, but i wish me to put in the Merit manually by number.

A look at the Merit's with Zoomplayer shows that there are Merits like 0x800000 0x71000 0x600005 0x400007 ... and not only standard values

For my Nvidia decoder i see in this tool the merit 0x0000000 But in Zoomplayer i see 0x800000 and 8000000 must be right because Nvidia is my prefered decoder in the system. You can see it in the picture.

I recommend to be really carefully with this tool. Maybe not every shown Merit is right !

 

Steffen

post-23-1067698999_thumb.png

Share this post


Link to post

According to what I've read from the DirectX SDK. Merit information is registered in HKEY_CLASSES_ROOT\CLSID\{Category}\Instance\{FilterCLSID} : FilterData registry key. The fact is that all the stuff is indeed written there... but there is also a "second" copy of "the same" somewhere in HKEY_LOCAL_MACHINE\blablabla. I've also noticed that the values stored in those 2 places sometimes differ :S:S.

The next thing is that changing the merit value in HKEY_CLASSES_ROOT had no effect :S:S... so I'm not completely sure which value is the right one.

Share this post


Link to post
Sure I could.

 

That would be great even though the difference between standalone and plugin would be minimal. I think the best way would be to pack & upload it as a "plugin" and provide some readme file how to use it with the MenuCreator plugin.

 

If there was a function that can be enhanced by directly accessing the DVBViewer graph, it would make sense... but up to now I can't see such a function.

 

If you open regular media within DVBViewer 2 kernel would actually switch to "media moduleset" thus RadLight's media playback module would be used - which is fully customizable and totally independent from merit system - in fact this tool will be redundant then :jump: For now it does the job.

Share this post


Link to post

OKOK... Tool updated. There was a problem with too small buffer when loading FilterData from registry and some filters failed to load. Now everything should work fine.... the links are the same.

Share this post


Link to post

Great and fast work !!! Now it works well.

But how can i put in a nonstandard Merit value ?

 

Steffen

Share this post


Link to post

Why would you need a nonstandard value ?

Using nonstandard values results into conflicts and incompatibilities.

If everyone used standard values there would be no need for a Filter manager at all :jump:

Share this post


Link to post
That would be great even though the difference between standalone and plugin would be minimal. I think the best way would be to pack & upload it as a "plugin" and provide some readme file how to use it with the MenuCreator plugin.

 

@DAvenger: I thought about it... it's better to have it as a stand alone tool, because filters should not be unregistered while they are running.

 

As a plugin it could *only* be launched within the DVBViewer, and then some of the filters shown in the list will be used for sure. It will be quite expensive to disable the Unregister Button especially for those filters... stand alone is much more flexible.

 

@Klausing & RadScorpion: Picking a merit values from a list is much easier for most people than typing hex numbers. Nevertheless the whole thing could be enhanced by providing an additional input line, that displays the selected value as a hex number and allows to edit it.

 

In the way it is done now it's not clear wether the selected merit is lower or higher than another one... you first have to go the About Tab to see which value belongs to which list entry.

 

Griga

Share this post


Link to post

Many thanks for this cool tool. I really like the "Navigate" button, a complete new function which I never saw in any other tools.

 

BTW. I also think that non-standard merit values are needed some times. I have some applications, which do not work, when they do not find their filters automatically selected. This requires same tricky values.

1 person likes this

Share this post


Link to post

@Griga :

 

Ok. Could you or somebody upload it to the members are? I am not sure if I have upload permission moreover I don't remember my pass :jump:

 

Also, the manual(s) could be updated so people with merit problems can address them quickly.

 

@Crypto

 

Well, I am against shooting merit values out of blue ... normal +1 / +255 and preferred +1 / +255 must be enough for everyone. Of course, the source is available so if you have time :huh:

Share this post


Link to post
Could you or somebody upload it to the members are?

 

Done

 

Of course, the source is available so if you have time

 

I tried yesterday and encountered some difficulties - parts were missing. Finally I got it compiled, but all the displayed merit values were = 0. :jump: Has the source been updated too?

 

I'll post a more detailled report later.

 

Griga

Share this post


Link to post
Also, the manual(s) could be updated so people with merit problems can address them quickly.

 

Done.

 

Bye, Oliver

Share this post


Link to post

OK, I made it somehow...

 

But first: When I open the project file FilterManager.dpr, I get two errors:

 

Error reading MainForm.ScreenSnap. Property ScreenSnap does not exist.

Error reading MainForm.SnapBuffer. Property SnapBuffer does not exist.

 

I tell Delphi (D6) to ignore it, and it doesn't seem to matter... I hope these non-existent properties are not important... :huh:

 

The zero merit values (see my posting above) were due to launching the filter manager in a restricted user account (stupid me :jump:). With admin rights it works.

 

Finally: The file WindowsXP.res is missing in the source (or is part of D7, don't know). Without this, the filter manager looks a bit old-fashioned (see attached picture).

 

So I added the Merit Input Line, and it (hopefully) works. If a merit is selected from the list, it is transferred to the input line and can be edited. Same, if a filter's merit is selected in the tree view. The Set Value Button picks the merit from the input line, not from the list.

 

If RadScorpion agrees, I will provide this version for download.

 

Griga

Zwischenablage01.png

Share this post


Link to post
If a merit is selected from the list, it is transferred to the input line and can be edited
Yes, but only if you click directly on the Merit value. This could be a little bit perplexing.

Is there a way to do this if i click on the filter name?

 

Steffen

Share this post


Link to post

Yeah sure... good job. BTW. There is the WindowsXP.Res file you've been missing.

If you need any more files drop here a line...

 

P.S. : The code may look messy if you use the Tab-Character width of 8 spaces... I use 4.

 

 

: DAMN : I had to ZIP a 648 byte file :jump:

WindowsXP.res.zip

1 person likes this

Share this post


Link to post

Great tool! B)

Well done! B)

Tank to all! :huh:

 

Some fast consideration:

- in win98 "Navigate" only lead to the dir where is located the filter... it's impossible to also select it? (...or maybe isn't so useful?)

- a botton that say "save filter hierarchy" would be useful :jump:

- I suggest also (to limit the damages to the beginners and absent-minded) a first auto save (for example in a .reg file) of the "original filter hierarchy"

- of course a "load filter hierarchy" button would be useful too... ;)

 

Gioxy

Share this post


Link to post
Yes, but only if you click directly on the Merit value. This could be a little bit perplexing. Is there a way to do this if i click on the filter name?

 

@Klausing: Sure... I first did it this way. However, after some tests I didn't like it, because the merit value in the input line got changed too easily (and accidently). I think it's better to transfer a filters's merit only "on demand" to the input line... when you really want it.

 

I hope I'll find the time to upload the new version at noon.

 

Thanks again to RadScorpion for providing the source... and giving me an opportunity to learn from it.

 

Griga

Share this post


Link to post

Ok, that's pursuable. On this way you dont have the possibility to change the wrong filter.

 

Steffen

Share this post


Link to post

Hi,

 

The first error is just a screen snap property ("sucking windows"). The second one is .res which will make app be XP aware - nothing to worry about (introduced with D7).

 

You should probably create some changes.txt or similar and give yourself some credits :P

 

Also, if you don't mind please, attach/provide links in the original thread in our forum : http://www.radlight.net/forum/index.php?showtopic=355

 

EDIT : http://forum.doom9.org/showthread.php?s=&t...&threadid=64298 :blush:

 

Thanks

Edited by DAvenger

Share this post


Link to post

Here it is - the binary with the Merit Input Line (version 1.2).

 

*** Warning ***: In contrast to RadScorpion's original version this version allows to enter and set non-standard merit values. If you are not familiar with the DirectShow settings or you don't know what filter merits are, please keep your hands off - you may disable all kinds of media playback on your computer!

 

There are some more feature requests... unfortunately my time will be very limited in the coming weeks. :P I'm no professional programmer and have to do my job. If there are requests that can be implemented easily I'll have a look at it. But bigger things... maybe someone else can take the source and do something useful with it.

 

Griga

 

Go down for an enhanced version... we had 511 downloads of the 1.2, that's enough :blush:

rlfm_bin1_2.zip

Edited by Griga

Share this post


Link to post

And here is the updated source (D6). All changes are marked with {***}.

 

Griga

 

Go down for the enhanced 1.3 source...

rlfm_src1_2.zip

Edited by Griga

Share this post


Link to post

Many thanks. Our time is also very limited - anyway, the core of this app is working fine and the rest of the requests are more user_interface oriented - should not be a problem even for a beginner - if there are any - it's never too late to begin :P

 

Of course, we'll try to implement some of them when the time shedule allows us to do so :blush:

Share this post


Link to post

Missing DirectShow.pas (D7)

 

Where can I get it?

Share this post


Link to post

Nice tool! There's one but for me: I use big fonts in Windows (120 dpi) and now it is impossible to set the merits of the filters, because I can't see them. Maximizing the screen don't help :blush:

Share this post


Link to post

There is a switch in Delphi (7?) that fixes the large fonts incompatibility ...

Share this post


Link to post

That's what I've found in Google Groups:

 

Set the Scaled property of the form to False.

Change the Font property of the form to some TrueType font (such as Arial, *not* MS Sans Serif)

Make sure all controls' ParentFont property (on the form) are set to True.

 

The app will look fine on large and small fonts.

 

However, the user's font size selection will be ignored if it's done like this.

 

@Pameijer: Do you want the whole app to re-scale to your font size? Quite expensive... or to display a fixed small font size? Much easier, though Arial as app font is a bit odd...

 

Griga

Share this post


Link to post
That's what I've found in Google Groups:

 

Set the Scaled property of the form to False.

Change the Font property of the form to some TrueType font (such as Arial, *not* MS Sans Serif)

Make sure all controls' ParentFont property (on the form) are set to True.

 

The app will look fine on large and small fonts.

 

However, the user's font size selection will be ignored if it's done like this.

 

@Pameijer: Do you want the whole app to re-scale to your font size? Quite expensive... or to display a fixed small font size? Much easier, though Arial as app font is a bit odd...

 

Griga

Anything will do. Nothing is odd as long as it works, so fixed font sizes will be fine. But hey, if you got some spare time I wont stop you!

Unfortunately, I have to share my PC with my wife :blush: and she definitely wants/needs big fonts, otherwise I'll just switch to normal. If it is up to her, she"d even want to go (way!) back to 800x600 resolution on a 17" monitor :P

Share this post


Link to post

RadLight Filter Manager Version 1.3

 

OK, I did something more to the Filter Manager: :blush:

 

- Fixed the 120 dpi problem (the Scaled Property of the Main Form had to be set to false).

 

- Added a Log Tab & File

 

Recently somebody unregistered the MPEG Audio Decoder (which means: whole quartz.dll :P ) and didn't find his way back, because he didn't know which file he had to re-register.

 

Accidents like that won't happen with version 1.3. All changes performed by the Filter Manager can be reviewed on the log tab. They are written to the file FilterManager.log, if the "Write Log File" option is checked.

 

First have a look at the new tab on the attached picture... the next posting contains the new binary, and the next but one the new D6 source.

 

Griga

Zwischenablage01.png

Share this post


Link to post

Heh, I am starting to like the idea behind open source :blush: Great job!

 

btw. the Merit editbox and all components on the Log page do not have anchors enabled properly (try to resize the window ...)

 

if you could fix that and reupload (the same version number would be ok) :P

 

Also, I attached a separate "versions.txt".

versions.txt

Share this post


Link to post
btw. the Merit editbox and all components on the Log page do not have anchors enabled properly

 

Oops... :blush: re-uploaded! Anyway... I've also forgotten to update the version number on the About Tab. Versions.txt is included now in the ZIP.

 

Griga

Share this post


Link to post

Thanks a lot Griga! Works like a charm now at 120dpi.

[dreammode]Now, if only commercial softwaresuppliers couold implement featurerequests at this warpspeed[/dreammode] :blush:

Share this post


Link to post

**Very Nice** indeed... I knew it was a good idea to make it open source :blush:

Share this post


Link to post

Here is version 1.4 of the RadLight Filter Manager:

 

- Button for opening a filter's property page (if the filter provides one) added - I've missed it in some situations

 

- Empty log file added, so that the Write Log File option is switched on by default

 

Download it from http://www.radlight.org

 

P.S. I want it to be clear, that DAvenger directs you to radlight.org here, not me. He removed the original uploaded file resp. link, without asking or notifying me, leaving invalid links elsewhere, e.g. in the DVBViewer manual.

 

Griga

Edited by Griga
1 person likes this

Share this post


Link to post

The V 1.4 source:

 

Download it from www.radlight.org [edit by griga] Link no more valid [/edit]

 

P.S. I want it to be clear, that DAvenger directs you to radlight.org here, not me. He removed the original uploaded file resp. link, without asking or notifying me, leaving invalid links elsewhere, e.g. in the DVBViewer manual.

Edited by Griga

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now