Dane and KX Register Access

Discussion in 'Effects and the DSP' started by Maddogg6, Mar 15, 2007.

  1. Lex Nahumury

    Lex Nahumury DH Senior Member

    Joined:
    Jan 5, 2003
    Messages:
    1,944
    Likes Received:
    6
    Trophy Points:
    0
    For what it's worth Maddog;
    This has been a very amusing exercise (my belly still hurts from LoL).

    (well actualy *after* the part were i had to rip out my Echo card to put in some battered audigyI, DL and installed 38xyz^2 just to find out 'your' plug crashed, that is :rofl: )

    So a little 'parade peeing' is allowed wouldn't you say?:cool:
     
  2. Russ

    Russ Well-Known Member

    Joined:
    Jan 17, 2005
    Messages:
    5,722
    Likes Received:
    13
    Trophy Points:
    48
    @Maddogg6,

    Your plugin has an additional dependancy on MSVCR71D.DLL, so you need to let people know this, if they want to use your plugin(s) (they will get the invalid plugin lib error if they do not have that file).
     
    Last edited: Mar 16, 2007
  3. Maddogg6

    Maddogg6 Tail Razer

    Joined:
    Jun 21, 2005
    Messages:
    4,027
    Likes Received:
    26
    Trophy Points:
    0
    Ahh - ok, see - these things are what I am still learning
    Should I change to NOT use debug - will that 'fix' this?
     
  4. Maddogg6

    Maddogg6 Tail Razer

    Joined:
    Jun 21, 2005
    Messages:
    4,027
    Likes Received:
    26
    Trophy Points:
    0
    lol -













    no. :D
     
  5. Russ

    Russ Well-Known Member

    Joined:
    Jan 17, 2005
    Messages:
    5,722
    Likes Received:
    13
    Trophy Points:
    48
    No, it is because of the version of VC that you are using.
    Just add the file to your site as a seperate download (it is a redistributable file), and let people know that it is needed, and that they can download it there, if they do not already have it (and it should be placed in the Windows\System32 directory), etc.
     
  6. Lex Nahumury

    Lex Nahumury DH Senior Member

    Joined:
    Jan 5, 2003
    Messages:
    1,944
    Likes Received:
    6
    Trophy Points:
    0
    >>Should I change to NOT use debug - will that 'fix' this?
    No. Besides, you can't do release builds because of KXGUI.
     
  7. Maddogg6

    Maddogg6 Tail Razer

    Joined:
    Jun 21, 2005
    Messages:
    4,027
    Likes Received:
    26
    Trophy Points:
    0
    Ok - cool - I added that dll and made a 'read_me_or_die.txt file.
    (that should get anyones attention to read it - huh?)

    Thanks for the info btw...
     
  8. Lex Nahumury

    Lex Nahumury DH Senior Member

    Joined:
    Jan 5, 2003
    Messages:
    1,944
    Likes Received:
    6
    Trophy Points:
    0
    I wunder if a .kxl compiled with one of those .NET compilers would still depend
    on such 'exotic' runtime libs if the plugin doesn't use KXGUI/MFC.

    (I'm to lazy to try/figure it out)
     
  9. Maddogg6

    Maddogg6 Tail Razer

    Joined:
    Jun 21, 2005
    Messages:
    4,027
    Likes Received:
    26
    Trophy Points:
    0
    Ah ok - good to know...

    And Im too dum dum dum dum to know how to try it on my own....

    :D


    it is curious tho - but thats just the VC run time lib dll - no?
    I would think the MFC had 'mfc' in its filename.. ?? But maybe the run time depends on MFC .... *thinks a bit* naa - I wouldn't think so - but maybe - wtf do I know.... ????




    dont answer that :evil:

    :D
     
  10. Lex Nahumury

    Lex Nahumury DH Senior Member

    Joined:
    Jan 5, 2003
    Messages:
    1,944
    Likes Received:
    6
    Trophy Points:
    0
    Well, it's kinda complicated.
    If you dont use kxgui/mfc, you can make Release Builds hence not depending on the debug dlls and not depending on any dll that MFC depends on.

    Still no guarantee that it's totaly independant on any >vc6 runtime lib.

    EDIT:
    Anyone? Russ?
     
    Last edited: Mar 16, 2007
  11. Russ

    Russ Well-Known Member

    Joined:
    Jan 17, 2005
    Messages:
    5,722
    Likes Received:
    13
    Trophy Points:
    48
    Release builds seem to not have the additional dependancies, but as you stated, we cannot do release builds if we use kXGUI (actually we can, but it will crash when we open the GUI (IIRC)).
     
    Last edited: Mar 16, 2007
  12. Russ

    Russ Well-Known Member

    Joined:
    Jan 17, 2005
    Messages:
    5,722
    Likes Received:
    13
    Trophy Points:
    48
    Sorry, the above is wrong, I did not notice that my Release config was set to use the standard windows libraries instead of MFC (my plugin has no GUI so it worked fine, even with KXGUI.lib included, as it was not used)

    Using the standard Windows libs (even with the MFC includes still in stdafx.h) gets rid of the additional dependancies (in both debug and release mode), but this cannot be used if your plugin uses KXGUI.
     
  13. Maddogg6

    Maddogg6 Tail Razer

    Joined:
    Jun 21, 2005
    Messages:
    4,027
    Likes Received:
    26
    Trophy Points:
    0
    are you saying HW registers wont consume DSP resources?
    edit: FXBuss claims to take 32 registers) /edit

    Does this mean I am allowed to go ever the 512 limit (on my A2 card) becuase of this? (I never noticed occasions to go past that limit.)
     
  14. Russ

    Russ Well-Known Member

    Joined:
    Jan 17, 2005
    Messages:
    5,722
    Likes Received:
    13
    Trophy Points:
    48
    This must be documented somewhere, because somehow I was aware that FxBus used no resources... Unless I just figured it out at some point (possible as I did do some testing a while back trying to figure out why the GPR counter was not accurate).

    I go over the limit frequently.
    A simple test is to clear the DSP, and keeping loading plugins until you cannot even load the smallest plugin, and then load FxBus (also epiloglt (epiloglt states that it uses no resources in it's comments)).

    I think that FxBus and epiloglt are special cases, and they do use resources when we use them in our code.
     
    Last edited: Mar 16, 2007
  15. Maddogg6

    Maddogg6 Tail Razer

    Joined:
    Jun 21, 2005
    Messages:
    4,027
    Likes Received:
    26
    Trophy Points:
    0
    Just curious...
    Have you tried other GUI libs? Or have you been leaning toward Straight WinAPI :)eek: )?

    Also - is there some way of finding out what MFC headers (or classes) KX 'depends' on?
    (I see at msdn online that MFC consists quite a few classes - that may or may not be used with something like KX - not to mention I assume that msdn is showing me only latest MFC version - and not showing by MFC versions)


    This forum kinda sux because you cant do a search on short words like 'gpr' -(I brought up a wiki idea some time ago, and while it was agreed to be a good idea, I imagine was dropped due to E.'s lack of time). I know theres a LOT of 'difficult to index/search' info not easily found in these forums.

    So...I did read about something about resource counter inaccuracies - but, I prolly assumed that it was a bug fixed somewhere along the line.
     
  16. Russ

    Russ Well-Known Member

    Joined:
    Jan 17, 2005
    Messages:
    5,722
    Likes Received:
    13
    Trophy Points:
    48
    @Max, do outputs use a GPR? I remember from my testing that either inputs or outputs did not seem to count against the GPR counter (or maybe they are just counted wrong).

    For example, the compressor plugin that I just made recently uses:

    2 inputs
    2 outputs
    7 statics
    1 const
    1 temp
    total = 13 GPRs

    The GPR counter shows it as only using 11 GPRs.

    Do you know why that is?
     
  17. Maddogg6

    Maddogg6 Tail Razer

    Joined:
    Jun 21, 2005
    Messages:
    4,027
    Likes Received:
    26
    Trophy Points:
    0
    Makes me think the 256/512 GPRs are 'USER' limits - and that the DSP has more we just dont have access too - the AS10K manual shows something confusing reguarding GPR space allocation.

    Code:
    PR	0x100 General Purpose Registers
             0x101
              . . .
              . . .
             0x102	
    Which tells me theres ONLY 3 memory locations reserved for 256 GPRS.. ??
    Obviously a typo or something I *complety* dont understand.
     
    Last edited: Mar 16, 2007
  18. Russ

    Russ Well-Known Member

    Joined:
    Jan 17, 2005
    Messages:
    5,722
    Likes Received:
    13
    Trophy Points:
    48
    Max and Lex made there own GUI libs (using WinAPI), and I played around with the idea myself, but MFC is not such a terrible thing. Some things are much easier with MFC.

    As for which particulair MFC classes are used, it does not really matter as (for the most part) you either use it or you do not use it.
     
  19. Maddogg6

    Maddogg6 Tail Razer

    Joined:
    Jun 21, 2005
    Messages:
    4,027
    Likes Received:
    26
    Trophy Points:
    0
    But how do you know what to replace to eliminate MFC reliance ?
     
  20. Russ

    Russ Well-Known Member

    Joined:
    Jan 17, 2005
    Messages:
    5,722
    Likes Received:
    13
    Trophy Points:
    48
    That is probably just a typo, and from what I can tell (and what Max has said) the GPR counter is just not completely accurate.
     

Share This Page

visited