FilterMeister plugins GUI look same as Photoshop's plugins GUI look?

24 views
Skip to first unread message

Ognen

unread,
Feb 8, 2022, 7:13:40 PM2/8/22
to FilterMeister Mailing List (FMML)
Hi,

Is it possible the FilteMeister GUI of the compiled plugin to correspond to the Photoshop's plugins GUI, because the look and feel of the FM plugin is old and reminds as the 90's.

Thanks,
Ognen

paul simoens

unread,
Feb 9, 2022, 10:01:13 AM2/9/22
to filter...@googlegroups.com

Hi Ognen,

Are you aware of the ‘User Guide’ pdf?
There is a whole chapter about personalizing the GUI. Changing shapes, colors, using a bmp as background, etc.

 

My DevelopmentBase demonstrates also some ways to get a more fancy look. I blocked
// NoTitleBar
because during development it helps to see on what version you working on. But in finished state you better leave it for a fresher look.


Personally I should advice not to exagerate with such a design things. A straight to the point GUI with a swift response of the filter itself has more value than a lone waw appearance…



Paul

--
You received this message because you are subscribed to the Google Groups "FilterMeister Mailing List (FMML)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to filtermeiste...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/filtermeister/0bdce9bc-e3f5-4d4f-a834-b3b3abc0cde3n%40googlegroups.com.

Ognen

unread,
Feb 9, 2022, 6:52:16 PM2/9/22
to FilterMeister Mailing List (FMML)
Hi Paul,

I have read thoroughly but it seems that it is lacking of good info on that. I personally don't like the sliders styles, so is it possible, with an example, to create a custom slider with .bmp image?
I somehow feel by using OWNERDRAW is the clue here but I have no good examples on how to use it.

Thanks,
Ognen

Ognen

unread,
Feb 9, 2022, 7:03:41 PM2/9/22
to FilterMeister Mailing List (FMML)
I forgot to mention the class BITMAP has to do something with the styling here?

Ognen

unread,
Feb 10, 2022, 7:43:04 PM2/10/22
to FilterMeister Mailing List (FMML)
In this part code:
ctl[CTL_LINE]: BITMAP, Image ="C:\\line_slider.bmp", Val=200, Range=(1, 500), Action=PREVIEW

I want to make the custom bmp image to be movable with the mouse click instead using the standard sliders without success. Is this possible at all and how if yes?

Ognen

unread,
Feb 14, 2022, 8:22:06 PM2/14/22
to FilterMeister Mailing List (FMML)
Any suggestions about implementing ImGui, for example, as a custom GUI for the plugins dialogs?

Ognen

unread,
Feb 14, 2022, 8:26:00 PM2/14/22
to FilterMeister Mailing List (FMML)
INT_PTR fm_setDialogTheme (INT_PTR state){

        if (state==0){
                //DefaultTheme=0;
                gParams->gDialogTheme=0;
                return setWindowTheme(fmc.hDlg, L"", L""); //disable theme
        } else {
               
                //These two lines make sure that the title bar does not lose its theme at the second invocation
            SetWindowRgn(fmc.hDlg, NULL, TRUE /*redraw*/);
                gParams->gDialogRegion = NULL;

                //DefaultTheme=1;
                gParams->gDialogTheme=1;
                return setWindowTheme(fmc.hDlg, NULL, NULL); //enable theme
        }
}

Is the function to enable the windows theme, there must be a way to mplement ImGui as a second option.

Ognen

unread,
Feb 14, 2022, 9:30:08 PM2/14/22
to FilterMeister Mailing List (FMML)
typedef HRESULT (STDAPICALLTYPE *LPSETWINDOWTHEME) (HWND, LPCWSTR, LPCWSTR);

static LPSETWINDOWTHEME lpSetWindowTheme;
static HINSTANCE hinstUXTHEMEDLL;

HRESULT setWindowTheme(HWND hwnd, LPCWSTR pszSubAppName, LPCWSTR pszSubIdList)
{
    HRESULT hres = -1;     //assume error
//#if 0                                                   // temporarily disable
    BOOL hres2 = 0;
    hinstUXTHEMEDLL = LoadLibrary("uxtheme.dll");
    if (hinstUXTHEMEDLL) {
        lpSetWindowTheme = (LPSETWINDOWTHEME) GetProcAddress(hinstUXTHEMEDLL, "SetWindowTheme");
        if (lpSetWindowTheme) {
            hres = lpSetWindowTheme( hwnd, pszSubAppName, pszSubIdList);
            //if (hres) Info("hres = %8.8x", hres);
            hres2 = FreeLibrary(hinstUXTHEMEDLL);
            //if (!hres2) Info("hres2 = %8.8x", hres2);
        }
        else {
            //Info("lpSetWindowTheme = %8.8x", lpSetWindowTheme);
        }
    }
    else {
        //Info("hinstUXTHEMEDLL = %8.8x", hinstUXTHEMEDLL);
    }
//#endif

    return hres;
} /*setWindowTheme*/

I know that uxtheme.dll can be replaced by identical one, but is it possible to point a folder as a parameter inside LoadLibrary () where the new uxtheme.dll is placed, for example:
hinstUXTHEMEDLL = LoadLibrary("C:\\my_plugin\\uxtheme.dll");

Roberto

unread,
Feb 15, 2022, 12:22:04 PM2/15/22
to filter...@googlegroups.com
Hi Ognen,

You came up with all that after 3 AM in the morning? Do you ever sleep? :-P

Sorry nobody is replying to your questions. Not being a programmer unfortunately I can not answer your questions.

It has been a while back not a single question was left unreplied on this list but times have changed: looks like the majority of members of this list have left FilterMeister for what it is/was and moved on with other things ... and perhaps even unsubscribed from this list.

Just curious: if you succeeded to replace the whole FilterMeister UI without using its native UI customizing controls, have you experienced loss of performance on execution of the actual filter code?

Roberto



Op Tue, 15 Feb 2022 03:30:08 +0100 schreef Ognen <gog...@gmail.com>:

Ognen

unread,
Feb 15, 2022, 9:01:51 PM2/15/22
to FilterMeister Mailing List (FMML)
Hi Roberto,

> Just curious: if you succeeded to replace the whole FilterMeister UI without using its native UI customizing controls, have you experienced loss of performance on execution of the actual filter code?
Well, still trying, experiencing crashes and such. Trying to debug a third of a whole is a real pain just because of the memory management, i.e. pointers who, for now, lead to nowhere. I am not so familiar with the  Windows API but, with GOD's blessings this will give some results later I am sure. Hence, performance loss will be queued for elaboration.

> Sorry nobody is replying to your questions.
Very sad that FM is still trying to become the PHOENIX icon. Is there a hope for this pure thing?

You came up with all that after 3 AM in the morning? Do you ever sleep
Simple answer, no. I am here for my purpose and, to be honest, I do not know what my purpose is, maybe until I die will know for sure.

Roberto

unread,
Feb 17, 2022, 1:08:09 PM2/17/22
to filter...@googlegroups.com
Hi Ognen,

Since you are trying so hard learning FilterMeister and already have come to a point you are getting 'pro demands' I have a bad feeling you are wasting your time. I mean: you are tempting to improve the UI which makes me assume you are using the original FilterMeister plugin for creating your own 8bf plugins.

It is clear you are eager to 'have and use' the versatile tool called 'FilterMeister'. It also is clear you are willing to invest a lot of time in mastering it. Now fact is FilterMeister has not actively been developed for years anymore and there are no plans in that direction either. According to pro users it is 'missing' significant features for use on todays hardware technology. All your time investments are a (fun) gamble: but who knows how long FM still works on Windows.

Perhaps it is better for you to invest all your time and efforts in the 'VisualStudio' version of FilterMeister: I believe it is the ' FM 1.0.9g (edited to compile with VS2005-2022)' you can find a download link at filtermeister.com on the downloads page at the very bottom. Using the VisualStudio version you can shape your plugins to whatever you like and even create your own 'tools' which you may not find in the original version.
It is less convenient developing plugins (code instead of single-click WYSIWYG) but offers a lot more flexibility and likely a much longer life span. No docs available but you might be able to get through it with your perseverance and patience ... big qualities which GOD blessed you already with; up to you to use them for the GOOD ;-P

Roberto


Op Wed, 16 Feb 2022 03:01:51 +0100 schreef Ognen <gog...@gmail.com>:

Ognen

unread,
Feb 17, 2022, 6:51:13 PM2/17/22
to FilterMeister Mailing List (FMML)
Hi Roberto,

Thank you anyway for your advice.

Regards,
Ognen

paul simoens

unread,
Feb 18, 2022, 8:41:11 AM2/18/22
to filter...@googlegroups.com

Hi All,

This quote comes from a blog by Alex Hunter, posted in 2014, about his favorite shareware project, 'FilterMeister':
... you don’t need to learn the arcane programming necessary to produce such filters with Adobe’s SDK. FilterMeister(tm) is an easy-to-use rapid development environment for knocking out your own superb graphics filters in minutes or hours, rather than days or weeks! And the only technical knowledge you need is a basic familiarity with programming in C or a similar language.

It tells exactly for what it stands for: a plugin creator with a low threshold. Thanks to many programmer enthusiasts, it evolved further to a powerful tool. Like with many other interests and hobbies, the changing times bring more pressure to everybody. Many among us can no longer spend time on unprofitable projects. So development of FM came to a virtual stand still. But this won't exclude that it remains a powerful toolbox like it is!

It is irrelevant to compare this program with the current most advanced techniques. It's like saying that local amateur observatories have no reason of existence against the large scientific telescopes on top of an ancient volcano. These are different layers, with each its own goal. Professional developers are forced to work on commercial targets, while amateurs have the luxury to spend time on projects with no direct profit. It's precisely this last aspect of experimentation that can bring enrichment and novel approaches to image processing.

I don't feel me bounded to FM. But I neither have felt me limited by FM yet. This ever running story of death end did me also think whether it is still healthy to continue with this? I also hesitated to switch programs. To substantiate my decision, I started making program parts in an accelerated way to test if FM could meet my expectations for the projects I wan't to realize for myself. And yes it can! Not easily, but possible. More elaborated filters are like building a house of cards. It has to be done very thoughtfully and every step has to be firm. In fact, each developer program is only a toolbox. The strength comes from the way the parts are applied. This is similar for FM. Another fact is that the core program of a filter is only a minority of the whole. Almost all code goes to the filter's structure and GUI. In case of transferring to another program, this can't be that dramatic...

I'm open for the extended possibilities of FM combined with Visual Studio, but on the first look I don't see filter demos nor comprehensible manuals about filter building, like FM does have. If there are, please give me the link where to find them.

- - - - - - - - - - - - - - - - - - - -

At last, a side note about streamlining the GUI of FM. I also spend quite some time on modernizing the overall look of it. Therefore my idea of making basic filter structure that can be filled in with direct code. As a conclusion I came to the points that a GUI for image processing must have imperatively a neutral surrounding, because our vision needs this as a reference for judgement. This limits already much fantasy. In the filter developing base, I shared as demo, I doubled the sliders with an info panel. Hereby the sliders could be made thinner, while allowing more descriptive text above them. I reverted the attempt to eliminate the edit box of the sliders, because they have their use when you want to prompt a value in it. For larger values, the slider on itself is not accurate enough. All after all, a GUI must be functional and easy to operate in the first place. Even when you could have unlimited creative possibilities, there is little room to tinker with this. In my opinion is the most decisive quality of a filter its response speed.

In it's specific class of low threshold plugin maker, FM still merits good value!




Kind Regards,
Paul

Ognen

unread,
Mar 6, 2022, 6:46:33 PM3/6/22
to FilterMeister Mailing List (FMML)
I am still analyzing AfhFMUI.cpp so I can find a way to integrate the Custom Draw found in WINAPI. Iguess I am on the right track. If someone recognizes this as a blind way of trying, please let me know, and at the same time point me to where to search.
Reply all
Reply to author
Forward
0 new messages