|
|||||||
![]() |
|
|
Thread Tools |
|
|
#91 |
|
HardwareHeaven Extreme Member
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61 ![]() ![]() ![]() ![]() ![]() ![]() |
Just a suggestion, I think feet would be better units of measurement (for Imperial) than inches.
<EDIT> ...or maybe not. I guess if you are going to actually measure the distances, than it doesn't really matter, it is just easier to estimate feet than inches. Last edited by Russ; Aug 15, 2005 at 05:33 PM. |
|
|
|
|
|
|
|
S-3D enthusiast
|
Yup, it's in inches because you measure the distance.
New version of the plugin available. The functionality stays the same. Only the interface is improved. Same links as before in the first post. I added a second screenshot to show the interface. What's new : - There is now a basic gui. It's far from being perfect but it's a start. - The distances between the listener and the speakers now use a blue font. - The distances between the speakers now use a yellow font. - I placed the labels of the sliders under the sliders instead of at the left. The interface looks more centered and the sliders are longer, making it easier to adjust with the mouse. |
|
|
|
|
|
#93 |
|
DriverHeaven Addict
Join Date: Dec 2002
Posts: 259
Rep Power: 0 ![]() |
Nice, now with colors things are more clear. I have been playing with your plugin: I use only an stereo output for music by SPDIF, but what the hell, this plugin still can do his job here.
I have to make you two sugestions. You use coordinates x-y to set the position of each speaker and listener. Here you has two fails: 1.- You use six points, and you only need five. The sixth one can be taken as the reference (lets say the listener, the center speaker, or wich you want). Like Benedictus XVI said when he was nominated a Pope, the relativism is omnipresent. (Well, he said something strange about 'the dicatatorship of the relativism' ).2.- You are forgetting the third dimension: z. You can set the x-y coordinates very precisely, but if you don't include the z coordinate, it has no sense to use such a precission. And to solve this problem easily, you could simplify your plugin by using distances between listener and speakers (taking listener as the reference) instead of coordinates. I think that is more easy to measure one distance that two (x-y) or three (x-y-z) coordinates. See my setup as an example: http://users.servicios.retecal.es/decodingtv/speakers.gif |
|
|
|
|
|
#94 |
|
DriverHeaven Addict
Join Date: Dec 2002
Posts: 259
Rep Power: 0 ![]() |
By the way, you neither have to delay all the inputs, only four of them. In the example of the photo the situaton should be:
1.- The center speaker is the more closer to the listener, so this should be taken as the reference distance (because you only can delay time, not advance it). This reference distance is then 0.70 m. This speaker shouldn't be delayed. 2.- Front-left delay: (1.10 m - 0.70 m) * 340 m/s 2.- Front-right delay: (1.17 m - 0.70 m) * 340 m/s 2.- Rear-left delay: (1.50 m - 0.70 m) * 340 m/s 2.- Rear-right delay: (1.60 m - 0.70 m) * 340 m/s P.D.: Don't know if you are still doing this in your plugin. |
|
|
|
|
|
|
|||
|
S-3D enthusiast
|
Quote:
Quote:
The coordinates are used to measure the distances between the listener and the speakers. I could simply ask the user to input the distances between listener and speakers. It's easier to measure these distances but if I use that, I lose the ability to easily move the listener around in the listening environment. I'll probably add a combo box to choose wich system of measurement to use between two choices if it's possible: - The current system to which I'll add the z coordinate - A system where you input the distance of the listener to the speakers. Quote:
After calculating the distances between the listener and the speakers, I find the speaker the smallest distance to the listener. It's the speaker that will get delayed the least, that is a delay of 2. You made good comments eyagos. Thank you. I think I cleared all the points you mentionned. I use kSlider for my sliders, kStatic for some labels. Is there a command to hide and show them? For the labels that are colored differently I don't use kStatic, I use something like : Code:
blDistL_FL.Create(" ",WS_CHILD | WS_VISIBLE | SS_CENTER ,CRect(CPoint(245,305),CSize(75,16)), this, LBLDISTL_FL_ID);
lblDistL_FL.SetBkColor(color_bkg_values);
lblDistL_FL.SetTextColor(color_txt_listener);
lblDistL_FL.SetFont(&defaultfont,NULL);
I would have to load another GUI. I've never seen a plugin that changed (at least I never noticed) depending on an option. Is it possible to have two diferent GUI and load one or the other depending on a combo box choice without closing and reopening the tweak window? |
|||
|
|
|
|
|
#96 | |
|
DriverHeaven Addict
Join Date: Dec 2002
Posts: 259
Rep Power: 0 ![]() |
Tril, your replys has been very clear. Thanks. But I think that there is something 'not very logical' in your plugin. Lets see:
1.-You want to keep the hability of moving the listener postion, so you need 6 points, determined by 3 coordinates for each one. This makes a total of 18 paramaeters. Ok. 2.- If you dont want to keep the hability of moving the listener position, you only need 5 points, determined by 1 distance for each one. This make a total of 5 parameters. Ok. 3.- You use as the reference point the rear-left corner of the room. This is valid, but I think it would be clearer to use the listener as the reference point, and measure the coordinates of speakers from the listener. Naturally, the listener position still can be changed. (Does I need a picture to explain this better, or you know what am I talking about??). 4.- Quote:
I set all the coordinates to zero (this is, the speakers and the listener at the rear-left corner of the room ), and move the rear-right speaker 1 meter away. Then, only the rear-right speaker should be delayed. But if I look at dane, I see the rear-right not delayed (2 samples dalay) and all the others delayed. This has no sense for me!!. About the GUI questions, the surrounder plugin hides and show controls. And in FontCtrl.h and ColorCtrl.h you can find all the functions avaliables for the labels that you say. |
|
|
|
|
|
|
#97 |
|
HardwareHeaven Extreme Member
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61 ![]() ![]() ![]() ![]() ![]() ![]() |
Most of the kX controls are derived from kWindow, so look at kWindow.h for additional functions that you can use with these controls ( hide(), show(), etc).
|
|
|
|
|
|
|
||
|
S-3D enthusiast
|
Quote:
Quote:
After calculating the distances between the listener and the speakers, I find which speaker is the biggest distance away from the listener. I use that distance to calculate the maximum delay. I'll give some code. It will make it clear. Code:
MaxDelay = (int)((double)DistL[4] * 48000 / SoS / 1000); DelayFL = (int)((double)MaxDelay - (double)DistL_FL * 48000 / SoS / 1000) + 2; DelayFR = (int)((double)MaxDelay - (double)DistL_FR * 48000 / SoS / 1000) + 2; DelayRL = (int)((double)MaxDelay - (double)DistL_RL * 48000 / SoS / 1000) + 2; DelayRR = (int)((double)MaxDelay - (double)DistL_RR * 48000 / SoS / 1000) + 2; DelayC = (int)((double)MaxDelay - (double)DistL_C * 48000 / SoS / 1000) + 2; SoS is Speed of sound. It's calculated using the temperature. You have Total delay = delay in the air + delay in soundcard. You want Total delay from every channels to be equal. The farthest speaker has a bigger delay in the air so it has a shortest delay in the soundcard. I'll definitely take your suggestions into account. The first method requires 18 parameters and the second 5 parameters. I'll implement them both. I'll call them Advanced and Basic mode. Thank you again. Comments, positive or negatives help me improve the plugin. |
||
|
|
|
|
|
#99 | |||
|
DriverHeaven Addict
Join Date: Dec 2002
Posts: 259
Rep Power: 0 ![]() |
Quote:
Note: This is only what I tried to do first time I saw the plugin. But maybe that a little drawing in the interface helps us to see rapidly how the distances are measured. Quote:
Quote:
Last edited by eyagos; Aug 17, 2005 at 10:39 PM. |
|||
|
|
|
|
|
#100 |
|
DriverHeaven Senior Member
Join Date: Mar 2004
Posts: 1,732
Rep Power: 0 ![]() |
It's great to see this plugin developing, from feedback. The new GUI is great. Tril, how hard would it be to produce a GUI having a person in the middle, then speakers around the listener, when you move the slider the speakers around the listener also move..indicating to the user exactly what parameter is being changed..does that make sense?...anyway it's cool. I just wish some of these master skinners would aid you in development as well. Keep up the good work tril and know it's appreciated.
|
|
|
|
|
|
|
|
S-3D enthusiast
|
New version available. The links are in the first post. I haven't tested the 3537 version so I can't confirm if the gui works in that version.
The plugin now has two modes. When you change the mode, text is displayed in the header of the window, telling the user to close and reopen the window. The mode only change once the window has close and reopened. I changed the coordinates system. It did not make sense to put the 0 in the lower left corner. It's now in the middle. Please report any bugs or strange behaviour you encounter with the plugin. If the plugin becomes good enough, I'll give the source code to Eugene so he can put it in the next driver release. Currently, the user has to manually close and reopen the window. In the future it will probably be automatic because of help from Eugene. |
|
|
|
|
|
#102 |
|
HardwareHeaven Extreme Member
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61 ![]() ![]() ![]() ![]() ![]() ![]() |
I just took a quick look at the new version. Looks very nice. The only possible issue I see with switching between the 2 modes, is that you put the info (to close and reopen the window) in the title bar, which could go unnoticed. It is not really a big deal, as you did mention that you need to do that in this thread, so people should know to do that even without seeing the message in the title bar..
|
|
|
|
|
|
|
|
S-3D enthusiast
|
The title bar was the best place I could come up with. At first I wanted to make a label that displays text on multiples line to display a longer message but it did not work. That's because I don't know how to make a label that displays more than one line of text.
|
|
|
|
|
|
#104 |
|
HardwareHeaven Extreme Member
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61 ![]() ![]() ![]() ![]() ![]() ![]() |
You can use CStatic or a multi-line CEdit control to display mutiple lines of text.
|
|
|
|
|
|
#105 |
|
HardwareHeaven Extreme Member
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61 ![]() ![]() ![]() ![]() ![]() ![]() |
BTW: With the above controls, it is simply a matter of creating the controls using the appropriate styles, and the size you want, and then use SetWindowText to set the text you want. It will auto word-wrap, or you can force a new line using "\r\n".
<edit> You probably want the font to match the font used in the kX controls, in which case, you can use SetFont( get_font()->operator CFont *() ) Last edited by Russ; Aug 29, 2005 at 09:15 AM. |
|
|
|
|
|
#106 |
|
DriverHeaven Senior Member
Join Date: Mar 2004
Posts: 1,732
Rep Power: 0 ![]() |
Great, I am installing 3538i later today, so I downloaded it and I will give it a try. This plugin has come along way tril! Glad to see it. I am happy it wasn't just a passing idea that never gets developed passed idea phase. I will be more than happy to test it out for you. I haven't been using this module for a few days as I have been using 3538h for testing another plugin, and for other reasons. I built a new desk. all my speakers are at optimal placment except for me center it's about 6' back from the ideal placment, so I will use Time balance to fix this..thx again for the plug..and glad its still being developed.
|
|
|
|
|
|
#107 |
|
HardwareHeaven Extreme Member
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61 ![]() ![]() ![]() ![]() ![]() ![]() |
Tril check your code for attaching the skin. I am not sure what is going on, but today, for some reason, all of my loaded plugins are using your skin.
<EDIT> Additonally KX Mixer now has no controls on it at all... I think the skin is not detatching itself correctly or something (again, I am not familair with it so I cannot say for sure). Last edited by Russ; Aug 29, 2005 at 10:22 PM. |
|
|
|
|
|
|
|
S-3D enthusiast
|
You probably executed the skin by mistake by doubleclick on one of the .kxs file.You need to excute the file kxskin.kxs in the system32 folder to solve the problem.
I knew that this could happen but I had forgotten about it. It will certainly create problems for users that make the same mistake. I will add a note in the first post. |
|
|
|
|
|
#109 |
|
HardwareHeaven Extreme Member
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61 ![]() ![]() ![]() ![]() ![]() ![]() |
Doh, I think you are right. I just reset the settings (to remove the skin registrations) to fix it.
|
|
|
|
|
|
|
|
S-3D enthusiast
|
New version of the plugin available. Link in first post.
|
|
|
|
|
|
#111 |
|
DriverHeaven Addict
Join Date: Dec 2002
Posts: 259
Rep Power: 0 ![]() |
Is only me, or it does not sounds at all ?!? There must be an error.
Other thing is that in advanced mode, I don't see the close button. If I delete the skin files, I can see it, and the speakers positions too. |
|
|
|
|
|
|
|
S-3D enthusiast
|
I must have made a mistake. Maybe I did not upload the correct versions of the files.
EDIT : It should be fixed now, I had zipped the wrong files. Last edited by Tril; Sep 3, 2005 at 01:45 PM. |
|
|
|
|
|
#113 |
|
DriverHeaven Senior Member
Join Date: Mar 2004
Posts: 1,732
Rep Power: 0 ![]() |
Cool, you used my idea for the moving speakers? Hey thats cool I thought it would look pretty cool I'll have to check it out later on..
|
|
|
|
|
|
|
|
|
S-3D enthusiast
|
Quote:
|
|
|
|
|
|
|
#115 |
|
DriverHeaven Newbie
Join Date: Aug 2005
Posts: 17
Rep Power: 0 ![]() |
Very very nice. Looking forward to skinning the official release!
I don't know if it's my speakers or what, but one of the most impressive effects of using this mother is that I ran a flat EQ now, since bass and treble are much more 'rich' sounding. something to do with constructive/destructive interference I suppose. Great idea and implimentation of the Z coord! The shift from x,y being 0,0 to now x,y being -2.5,2-5 is real annoying for me in a room full of junk and crooked walls where it is next to impossible to find 'center', but i was able to managed it using sticky tape to hold tape measure here and there. It would be handy to have the choice of setting it back to rear,left 0,0 center, if that makes any sense whatsoever.Cheers! |
|
|
|
|
|
|
|
|
S-3D enthusiast
|
Quote:
Do you mean like it was before. As in this pic http://pages.globetrotter.net/samaus...alanceTril.png If that's what you are asking for, it's possible. Confirm to me if this is what you want. I'll add a combo box for this. It's easy to do. In a later version, I could display the delays for each speaker. Someone asked me to add this. I don't know yet where I would display that information. Maybe under or above the speakers positions. For now, if you want to see the time delays, use DebugView. It shows the calculated speed of sound and the time delays. I wrote 'Speakers Positions' on the interface but it should be 'Speaker's Positions'. Would it be better if I wrote 'Speaker's Placement' instead? |
|
|
|
|
|
|
#117 |
|
DriverHeaven Newbie
Join Date: Aug 2005
Posts: 17
Rep Power: 0 ![]() |
Tril, yes I believe you understand what I mean, but to be sure:
My left rear is in a corner. A previous version (I think it was the one shown in that image) allowed me to call that corner 0,0. So it was from the corner of my room, just a few inches away from the rear-left speaker, that I was able to use to measure all speaker positions from. The new version makes me pick a random point called 0,0, and measure x,y from there, which is difficult because there are things in the way and I had to tape the tape measure to the ceiling to get accurate x,y measurements. Now I realize that, for my setup, rear-left is not optimum to start measuring from, as my front-left is actual the left-most speaker (wall runs from rear-left towards front-left, but then nooks out left well before the front-left. If that wall carried on, my front-left would be outside the house, so I had to do math to get the values. So I guess it is only worth implimenting if user can choose any of the four corners (choices would be LR or RR or LF or RF or RandomCenter [i dunno what else to call it, maybe UserDefinedAreaCenter? ]).Still easy to impliment? Am I making more or less sense? Sorry its way past bed time. Cheers! |
|
|
|
|
|
|
|
S-3D enthusiast
|
It makes sense and it's still easy to do. I don't need to change the range of the sliders, only the displayed values. I'll add a combo box to choose where are x = 0 and y = 0 are. The choices will be : FL, FR, RL, RR, C. Center is the current system where 0, 0 is when the x and y sliders are in the center. The directions of the axis will be kept for all choices : x positive toward the right and y positive toward the front.
|
|
|
|
|
|
#119 |
|
DriverHeaven Senior Member
Join Date: Mar 2004
Posts: 1,732
Rep Power: 0 ![]() |
Hey Tril, I usually put the Time plugin on the output side of the surrounder, No wouldn't surrounder introduce some delay errors..take the rear delay slider for instance? I am just trying to decide if I should set that slider to zero and allow your plugin to compensate. What do you think? Proper dolby digital positions for rear speake placment according to information I found is beside the listener but they are specific to say NOT behind. Dolby surround and prologic suggest behind. But not Dolby Digital. So what is your take on this. I have't been using yout ime plugin for a while as I was using the DSP for the guitar but I am setting it back up, but all these new questions come to mind now. I haven't tried it yet, but what is your take on this information? I want to do listening test now but..lat kids..and all..just curius as to what you think about thuis...thx
|
|
|
|
|
|
|
|
|
S-3D enthusiast
|
I took a quick look at the surrounder's microcode. It seems that when you choose a delay of 0, a delay of 2 samples is used on the inputs in_L and in_R. That's a limitation of using delays and setting them to the lowest possible value. The minimum you can set is two not zero.
Quote:
Personnaly, I would not use the delay in surrounder and I would only use the TimeBalanceV2 plugin. The only problem is that if the TimeBalanceV2 plugin is set correctly, the rear speakers will be delayed by 2 samples more than necessary. It's not too dramatic. Two samples correspond to about 1.5 cm or 0.591 in. You could position your speakers 1.5 cm closer to you or change the distance of the speakers in the plugin to make them 1.5 cm farther but it's not really important. Your mistakes in measuring the distances may well be higher than that.http://www.hardwareheaven.com/images/s...big%20grin.gif |
|
|
|
|
![]() |
| Bookmarks |
| Thread Tools | |
|
|