HardwareHeaven.com

HardwareHeaven.com

Looking for the skin chooser?
 
 
  • Home

  • Hardware reviews

  • Articles

  • News

  • Tools

  • Gaming at HardwareHeaven

  • Forums

 

Go Back   HardwareHeaven.com > Forums > Hardware and Related Topics > kX Project Audio Driver Support Forum > Effects and the DSP


Reply
 
Thread Tools
Old Dec 5, 2005, 08:17 PM   #1
HardwareHeaven Extreme Member
 
Join Date: Jan 2005
Posts: 5,563
Rep Power: 62
Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!

init() not called for kX Addon?

It appears that iKXAddOn.init() never gets called (and the ctor is called twice)? (3538i SDK)
Is there an iKXAddOn event that signals that the addon has been loaded and properly initialized? Some of the events are not documented and never seem to fire.
i.e.
The events for KXADDON_EVENT_GENERIC and KXADDON_EVENT_WINMSG do not seem to be defined anywhere (I would guess that KXADDON_EVENT_WINMSG is for window messages but does iKXAddon even have a window handle?).

-Russ

BTW: Well I am on the subject of kX Addons:

' kxaddon_list_t' in addon.cpp has a NULL entry. Is that supposed to be there (like the NULL entry for plugin presets? It causes a debug error message (in debugview))?

Can addons have a GUI?

<edit>
I was able to use the save_settings event as a workaround to the above (hopefully that will not cause any problems), as everything seems to be initialized correctly by the time that is called the 1st time, but init() would be better.

Last edited by Russ; Dec 6, 2005 at 01:44 AM.
Russ is online now   Reply With Quote


Old Jan 21, 2006, 07:46 AM   #2
kX Project Lead Programmer and Coordinator
 
Join Date: Dec 2002
Posts: 3,119
Rep Power: 75
Eugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud of

I'll check the details about add-ons and post a reply soon. In the future, please drop me an e-mail whenever you post such questions on the forum, since otherwise they might not be answered for a very long time

E.
Eugene Gavrilov is offline   Reply With Quote
Old Jan 21, 2006, 01:04 PM Threadstarter Thread Starter   #3
HardwareHeaven Extreme Member
 
Join Date: Jan 2005
Posts: 5,563
Rep Power: 62
Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!

Ok I will do that. I thought that maybe some others had played around with the Addon API, and might be able to answer, and I did not want to bother you until I was sure that I wasn't doing something wrong.

What I was doing when I posted this, was looking for a place to call "kx_manager->get_ikx()".
init() did not appear to get called at all.
load_settings() was to early for the above call (I guess kx_manager is not yet initialized here).

As for the KXADDON_EVENT_WINMSG, I have since figured out those messages are from the menu pop-up Window.

Additional questions/info:
load_settings() does not appear to be called for per device addons.
Where should we be saving Addon settings (for both global and per device addons)?
Do Addon settings get saved in kX configs (it does not appear to be, but maybe I am saving in the wrong place?)?
What is the best way to get the number of devices (read the kX->General registry key?)?

I think that covers all the question I have had about addons thus far.

Thanks,
-Russ

<edit>
Regarding the question about a GUI. I know I can create my own GUI window (obviously), but I was wondering about using the kX GUI classes for doing this.
</edit>

Last edited by Russ; Jan 21, 2006 at 01:13 PM.
Russ is online now   Reply With Quote
Old Jan 21, 2006, 01:59 PM Threadstarter Thread Starter   #4
HardwareHeaven Extreme Member
 
Join Date: Jan 2005
Posts: 5,563
Rep Power: 62
Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!

BTW: I was thinking that it would be good if the kX Automation interface was added to Addons, similair to the way it is done with plugins.
Russ is online now   Reply With Quote
Old Jan 26, 2006, 04:22 AM   #5
kX Project Lead Programmer and Coordinator
 
Join Date: Dec 2002
Posts: 3,119
Rep Power: 75
Eugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud of

>> It appears that iKXAddOn.init() never gets called

fixed that in 3538j

>> (and the ctor is called twice)? (3538i SDK)

yes, this is expected, since the code doesn't know if the plugin is per-device or global until it is instantiated

>> Is there an iKXAddOn event that signals that the addon has been loaded
>> and properly initialized?

init() will do the trick

>> KXADDON_EVENT_GENERIC

is a superset of events

>> KXADDON_EVENT_WINMSG

allows capture of -all- kxmixer events passed to kxmixer main system window

>> Can addons have a GUI?

yes. they can create any windows if they wish to
using either win32 api or kX GUI

>> save_settings

for 'global' add-ons load/save are only called on mixer start-up/close
for 'per-device' add-ons, load/save are called much more often

E.
Eugene Gavrilov is offline   Reply With Quote
Old Jan 26, 2006, 04:24 AM   #6
kX Project Lead Programmer and Coordinator
 
Join Date: Dec 2002
Posts: 3,119
Rep Power: 75
Eugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud of

>> load_settings() does not appear to be called for per device addons.

fixed

>> GUI

you can even use skins, but you will need custom kSkin for your own skin
I'll check if the default skin is accessible in the add-on


>> kX Automation interface

what exactly do you mean?..

E.
Eugene Gavrilov is offline   Reply With Quote
Old Jan 26, 2006, 05:09 AM Threadstarter Thread Starter   #7
HardwareHeaven Extreme Member
 
Join Date: Jan 2005
Posts: 5,563
Rep Power: 62
Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!

Thanks for all the info

For kX Automation, I mean adding some addon parameters that can be assigned to midi events using the kX Automation GUI, similair to the way it is done with plugins (except the only purpose for these parameters would be for automation (mostly switch type parameters)). The first addon I was playing around with (PluginQL), I made to allow Windows hotkeys to be assigned to do various things in kX (open tweak windows for plugins, open various other kX Windows, toggle some kX settings, etc), and someone requested that I add midi automation, so that instead of (or in addition to) the hotkeys, midi events could be used to perform these tasks. I ended up creating a plugin (with dummy parameters that could be assigned to kX Automation events) that forwards the requests to the addon through a message window (that I was using for the hotkey callback functions, because the addon and plugin do not have there own window handles), to add that functionality. It would be better if the plugin was not needed for this, while still being able to add automation support in a manner that is as simple as it is with plugins.
Russ is online now   Reply With Quote
Reply

Thread Tools