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 Aug 30, 2005, 08:15 AM Threadstarter Thread Starter   #31
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!

Well, it almost worked, but there are still a couple of issues.

I need to show the options dialog when it is not restoring a saved config, otherwise I use the saved settings. What I was doing was setting a flag (that is initialized to false in init) in the IKX_LOAD_SETTINGS event (because that event only fires when restoring a saved config and thus is the only place I can set the flag), but I need an event that always comes after that event, where I can test the flag, and show the options dialog if the flag is not set (if IKX_LOAD_SETTINGS did not fire). IKX_LOAD load comes before IKX_LOAD_SETTINGS so I cannot use that (additionally IKX_LOAD does not fire during plugin loading when starting kX Mixer).

I thought maybe I would try using IKX_CONNECT, but that event does not seem to fire at all.

As it is now, the options dialog is still shown when restoring a saved config (except when starting kX Mixer (and testing the flag in IKX_LOAD), because the IKX_LOAD event does not fire at all).

Additionally, using update_microcode does update the microcode correctly, and does restore the connections properly when loading a saved config (from file), but it loses it's output connections when the plugin loads when starting kX Mixer.

Basically it all comes down to the fact that I need to do something like this:
if (bLoadSettings == false)
ShowOptionsDialog(); // updates microcode based on selected options
else
RestoreSavedSettings(); // updates microcode based on saved settings

The problem is where to do the above, such that the flag is valid, and where it can still update the microcode and restore the connections (if restoring saved settings).

I will try a few more things as it is so close to working now. I gotta trace the order of all the relevant events and function calls under different loading scenarios and see if I can find something that will work for all of them (I allready did so with init(), IKX_LOAD, IKX_LOAD_SETTINGS, and load_plugin_settings(), which is how I know that IKX_LOAD fires before IKX_LOAD_SETTINGS, and that it doesn't fire when starting kX Mixer, etc, but I will look at some of the other events and functions).
Russ is online now   Reply With Quote


Old Aug 31, 2005, 01:24 AM Threadstarter Thread Starter   #32
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!

Here is the event/function ordering used under the 3 different plugin loading scenarios:

*** Loading Plugin normally ***
EchoFx: init
EchoFx: request_microcode
EchoFx: IKX_LOAD
EchoFx: IKX_TRANSLATE
EchoFx: IKX_ENABLE

*** Starting kX Mixer with plugin previously loaded ***
EchoFx: init
EchoFx: request_microcode
EchoFx: IKX_LOAD_SETTINGS
EchoFx: load_plugin_settings
EchoFx: IKX_SAVE_SETTINGS
EchoFx: save_plugin_settings

*** loading saved config that contains plugin ***
EchoFx: init
EchoFx: request_microcode
EchoFx: IKX_LOAD
EchoFx: IKX_LOAD_SETTINGS
EchoFx: load_plugin_settings

I decided to try checking the flag in IKX_TRANSLATE since this event only fires during the loading process if the plugin is loaded normally. This seems to work as a temporary solution. The options dialog appears to only be shown when it should be, and the microcode appears to be updated correctly, but I still have the issue of the output connections not being restored when the plugin is loaded along with the startup of kxmixer (and further testing is required to see if any other issues popup). I am not sure that there is anything I can do regarding restoring the connections under that loading scenario.
Russ is online now   Reply With Quote
Reply

Thread Tools