Hornresp

David, a feature request - an option for the Loudspeaker Wizard to actively monitor an import file for changes, and apply those changes in the Wizard. Why? Well, I'll be working shortly on an update to my horn spreadsheet that will have it dump out a file in HornResp import format for easy input into HornResp. If HornResp had the means to monitor any changes to the file, the effect of any changes in the spreadsheet will be nearly instantly displayed in the Loudspeaker Wizard... :)
 
Hornresp Update 4220-170809

Hi Everyone,

Yet another bug in the Wavefront Simulator tool has been found and fixed.

Bug Description:

If for example, the Conical Horn option was selected immediately followed by selection of the Custom Design option, then the default Element Size would be shown as 0.10 cm as expected, but switching to Window Size would show 33.33 cm rather than the correct value of 2.70 cm. Switching back to Element Size would show 1.23 cm rather than 0.10 cm.

Kind regards,

David
 
Is it possible to change the default driver parameters?

Hi Daniel,

No, none of the input parameters in the first (default) record can be edited. It is a simple matter though, to store a set of driver parameter values as a record in the driver database (File > Copy Driver to Database...) and then recall those values as required (File > Paste Driver from Database...).

Note:

1. Default record 1 driver parameter values cannot be copied to the driver database.
2. It is necessary for a record to be in Edit mode to paste parameter values from the driver database.

Alternatively, just set up record 2 with the driver parameter values you prefer, and use record 2 rather than record 1 as your 'default' reference record.

Kind regards,

David
 
a feature request - an option for the Loudspeaker Wizard to actively monitor an import file for changes, and apply those changes in the Wizard.

Hi Brian,

I don't understand - why won't the Loudspeaker Wizard show the results for any imported file, changed or not?

If you want to compare the results for two different imported files, then that can already be done in either the main charts or in the Loudspeaker Wizard. For the Loudspeaker Wizard, press Ctrl+C to capture the power response results for the first imported file and press Ctrl+V to compare the captured results against those for the second (changed) imported file - see attachment.

Having the Loudspeaker Wizard actively monitor different imported files for changes is not a practical proposition as far as I can see. How would the Wizard know it is looking at an imported record anyway - at that stage it is just another record in the Hornresp.dat data file. Did you have a particular process in mind, perhaps?

Kind regards,

David
 

Attachments

  • Attach_1.png
    Attach_1.png
    55.6 KB · Views: 170
Last edited:
Having the Loudspeaker Wizard actively monitor different imported files for changes is not a practical proposition as far as I can see. How would the Wizard know it is looking at an imported record anyway - at that stage it is just another record in the Hornresp.dat data file. Did you have a particular process in mind, perhaps?

Yup, I had a process in mind :).

My intent here is to have my spreadsheet automatically create the HornResp input data file any time I adjusted the horn's parameters in the spreadsheet. Currently with HornResp, to see the impact of the adjustments, I'd have to import the data file created by the spreadsheet, a manual process (Select File Menu, select Import... HornResp Record.., select the file name, select Open, select Edit, Select Tools, select Loudspeaker Wizard, select Power from pull down menu). Doing this once or twice is Ok. Doing this umpteen times, not so much.

Now, if the "Loudspeaker Wizard" had a feature that allowed you to configure it to actively monitor a particular import file for changes (perhaps by looking for changes in the modification date) and automatically update itself with data from the file when a change to that file was detected, that would remove the entire manual process I outlined above. I could have the spreadsheet open in one Windows, Hornresp open in another, and almost immediately see in HornResp's "Loudspeaker Wizard" the sim'd results of any changes I make to the horn's layout in the spreadsheet.
 
Hi Daniel,

No, none of the input parameters in the first (default) record can be edited. It is a simple matter though, to store a set of driver parameter values as a record in the driver database (File > Copy Driver to Database...) and then recall those values as required (File > Paste Driver from Database...).

Note:

1. Default record 1 driver parameter values cannot be copied to the driver database.
2. It is necessary for a record to be in Edit mode to paste parameter values from the driver database.

Alternatively, just set up record 2 with the driver parameter values you prefer, and use record 2 rather than record 1 as your 'default' reference record.

Kind regards,

David

Hi David

The reason I am asking is because I would like for the Input Wizard (F7) to use a different set of parameters. I am already using and enjoying the driver database functionality :D

Daniel
 
I could have the spreadsheet open in one Windows, Hornresp open in another, and almost immediately see in HornResp's "Loudspeaker Wizard" the sim'd results of any changes I make to the horn's layout in the spreadsheet.

Hi Brian,

Thanks for clarifying what you had in mind.

In effect what you are asking for is for Dynamic Data Exchange functionality to be included in Hornresp. Unfortunately Visual Basic DDE destinations are limited to text boxes, picture boxes and labels, which means that it would not be possible to directly alter the Loudspeaker Wizard scroll bar (slider) settings from your Excel spreadsheet anyway. Perhaps it might be possible to have a set of dummy text boxes as destinations, and for the sliders to be set based on the contents of those text boxes, but I would have to experiment to find out. Even if it could be done, in principle I do not like the idea of Hornresp communicating directly with other programs. It would introduce a whole new set of issues, which I would rather avoid. For example, if for some reason you decided to change the position of a source data cell in your spreadsheet, then for the DDE to continue to operate correctly, it would be necessary for me to also modify code in Hornresp to maintain the required source-to-destination link. This is another level of "housekeeping" complexity that I can well live without.

In other words, it's not going to happen :).

Kind regards,

David
 
The reason I am asking is because I would like for the Input Wizard (F7) to use a different set of parameters.

Hi Daniel,

I misunderstood - I thought that you wanted to be able to change the default values of the driver parameters in record 1, not those in the Input Wizard :).

The loudspeaker systems generated by the Input Wizard are simply representative examples to serve as a starting point - they are not necessarily practical designs. All parameter values, including those for the driver, need to be modified by the user to reflect the actual design being considered. It should only take a few seconds to paste the required driver parameter values from your driver database into the record created by the Input Wizard.

Kind regards,

David
 
"Dynamic Data Exchange"

Problably you could use microsoft ACCESS as data base for Dynamics, so the Excel spreadsheet also could export their data to the ACCESS too, it's very friendly for Visual Basic. But you may need to open your source code....

One option that I'd like to suggest is to create an abient in Hornresp just to open and compare simulations, not just 2, but "n" simulations.

So after perform a simulation, I should export the results as the hornresp is already able for. This loop can be done many times.
Them I could go to "comparissom" interface and open togheter all simulations, This interface would provide more visual tools to compare the results (but not edit them), like change graphics colors, line type, line width, scales, pick up points, etc. As example, Room eq Wizard allow you to overlay many measurements and my proposal is to do the same in therms of overlay simulations with some refinements.

Currently I export the data and inport them from Excell to perform comparisson with more then 2 simulations. Maybe I'm doing wrong, we never know.
 
I'll be working shortly on an update to my horn spreadsheet that will have it dump out a file in HornResp import format for easy input into HornResp.

Hi Brian,

Could you please let me know when you release your spreadsheet update (for the dump file filter parameter values just use those exported from default record 1).

Dynamic data exchange is not an option, and neither is active monitoring of import files, but perhaps the following process could be an acceptable compromise?

1. Generate an initial Excel dump file.
2. Import the dump file into Hornresp.
3. Open the Hornresp Loudspeaker Wizard (with the imported file as the current record).
4. Make changes in the Excel spreadsheet (which automatically update the contents of the open dump file).
5. Click the mouse pointer anywhere on the Loudspeaker Wizard form (to make Hornresp the active application).
6. Press the F6 function key to update the Loudspeaker Wizard slider settings (using the modified dump file values).

The user can quickly switch back and forth between making changes in the spreadsheet and seeing how they affect results in the Loudspeaker Wizard.

Hornresp would need to check for invalid data in the dump file (S1 being greater than 99999.99, for example).

What do you think - would this be okay?

Kind regards,

David
 
Last edited:
Hi Brian,

Could you please let me know when you release your spreadsheet update (for the dump file filter parameter values just use those exported from default record 1).

Dynamic data exchange is not an option, and neither is active monitoring of import files, but perhaps the following process could be an acceptable compromise?

1. Generate an initial Excel dump file.
2. Import the dump file into Hornresp.
3. Open the Hornresp Loudspeaker Wizard (with the imported file as the current record).
4. Make changes in the Excel spreadsheet (which automatically update the contents of the open dump file).
5. Click the mouse pointer anywhere on the Loudspeaker Wizard form (to make Hornresp the active application).
6. Press the F6 function key to update the Loudspeaker Wizard slider settings (using the modified dump file values).

The user can quickly switch back and forth between making changes in the spreadsheet and seeing how they affect results in the Loudspeaker Wizard.

Hornresp would need to check for invalid data in the dump file (S1 being greater than 99999.99, for example).

What do you think - would this be okay?

Kind regards,

David

Hi David, that should work fine. I'd halted work on the "Export" feature for my spreadsheet, but will restart it now, thanks!
 
Hi David, that should work fine. I'd halted work on the "Export" feature for my spreadsheet, but will restart it now, thanks!

Well, adding a macro to the spreadsheet to have it create a Hornresp import file turned out to be easier than I thought. The most difficult thing to figure out in fact was how to correctly format the data file so that HornResp would accept it as a valid data file for import. I ended up with something like this as the data:

ID=29.00
Ang=2.0 x Pi
Eg=2.83
Rg=0.00
Fta=0
S1=181
S2=231
Par=23
F12=0
S2=231
S3=579
Par=159.4
F23=0
S3=579
S4=1032
Par=69
F34=0
S4=1032
S5=1184
Par=23.2
F45=0
Sd=540
Bl=14.57
Cms=0.00025
Rms=2.09
Mmd=68.92
Le=0.66
Re=3.89
TH=1
Vrc=0
Lrc=0
Ap1=0
Lpt=0
Vtc=4000
Atc=540
Pmax=1000
Xmax=9.1
Comment=BOXPLAN-Export3


Note the ID number of "29", taken from an old import file. I tried using "42" instead, but the import would fail. HornResp doesn't say why it fails, but I'm guessing its because it's looking for additional data in the import file.

At first glance it looked like the input file follows the standard Windows INI format which would suggest that it was being read using the VB getprivateprofilestring() and writeprivateprofilestring() functions, but the multiple mentions of "Par" (and the additional data in the HornResp v42 version of the file that doesn't follow the "name=value" format) suggests otherwise. That threw me off for awhile as, unlike a standard INI file, the values in the HornResp import file have to be in a specified order as well, and a line for every parameter needs to be included, even if the value of the parameter is left at the default (e.g. "0"). Also, a value for "Fta", which actually seems to be calculated in Hornresp, needs to be included as well in the import file, but luckily just adding the line "Fta=0" seems to be accepted by HornResp, as I have no idea how that's calculated, LOL.

Anyway, I got it figured out and it seems to be working now....:)
 
The most difficult thing to figure out in fact was how to correctly format the data file so that HornResp would accept it as a valid data file for import.

Hi Brian,

The format and contents of the spreadsheet export file will need to be exactly as shown in the attached document. Note the requirement for ID=42.00 and the inclusion of the filter parameter values below the Comment line. Suggest the filter values shown in the attachment be used. The two '~~~~~~~~~~~' lines shown are necessary.

To allow me to develop and test the proposed new Hornresp 'live update' feature, I really need to be able to run the BOXPLAN-POC5-1 spreadsheet myself. Unfortunately my version of Excel does not accept .xlsm files - would it be possible for you to create a .xls file for testing purposes? It only needs to be able to export dump files in the correct format, and allow me to edit the data values exported - no 'bells and whistles' required. Thanks.

Kind regards,

David
 

Attachments

  • Export.txt
    973 bytes · Views: 53