|
| Notices |
Welcome to the DriverHeaven.net forums. You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is fast, simple and absolutely free so please, join our community today! If you have any problems with the registration process or your account login, please contact contact us. |
 |
Jul 31, 2005, 02:29 PM
|
#1
|
|
DriverHeaven Newbie
Join Date: Jul 2005
Posts: 9
|
DSP Volume Problem
This should be easy but I've looked over it for quite a bit now and still havn't found anything.  Anyway the problem is I have a pretty simple 5.1 setup (with a mic in for guitar processing) in the DSP and everything works great, except in order to control the volume I have to use 3 seperate gainHQ to work 3 different pairs of analog outs. It really seams like there has to be a way to either link them all together to to run all of the speakers through 1 gainHQ box. I need something like the mixer box, but I'd prefer to keep with using just ProFX plugins. Follow the link for the pic.
http://www.andrewjnuttall.com/dsp.gif
p.s. If you seen any other ways to optimise this setup please feel free to let me know, thanks for your help in advance.
Last edited by AssassinJN; Jul 31, 2005 at 03:26 PM.
|
|
|
Aug 14, 2005, 09:35 PM
|
#2
|
|
DriverHeaven Newbie
Join Date: Jul 2005
Posts: 9
|
So what's the deal??? No replies and it's been here quite a while, does this mean that it's too much of a dummy question or can no one think of an easier way to solve this problem without sacrificing the configurability?
|
|
|
Aug 14, 2005, 10:18 PM
|
#3
|
|
DriverHeaven Addict
Join Date: Dec 2002
Posts: 259
|
Well, the first time I read your question I thinked that the better solution would be to make a new plugin with six inputs, six outputs, and the same gain for all. If you don't need dB values, it could be done easily in dane without any c++ programing. You can try to do it by yourself, and post here your results. It is very easy...
|
|
|
Aug 15, 2005, 01:46 AM
|
#4
|
|
S-3D enthusiast
Join Date: Sep 2004
Location: Canada
Posts: 1,410
|
If eYagos doesn't mind, I'll use his amp plugin (it's gainHQ) code and I'll make a new plugin with six inputs and six outputs. I'll leave eYagos name in the copyright and add mine.
What version of the drivers are you using? I need to know to compile for the correct version.
Do you always need the same amplification on all channels? Do you want six, three or one amplification sliders? There could be a bang box to link or not the sliders together.
Tell me exactly what you want and I'll code it for you. I don't mind. Sorry if I did not reply earlier.
Please give my TimeBalanceV2 a try ( I made a TimeBalance plugin). It's made to adjust the time delays of each speakers in a surround sound system so that the sound arrive at a point (the listener) exactly at the same time from all the speakers. It especially improves the sound if your speakers are not all at the same distance away from you.
|
|
|
Aug 15, 2005, 05:43 PM
|
#5
|
|
DriverHeaven Addict
Join Date: Dec 2002
Posts: 259
|
Of course Trill, no problem. The plugin has not any mystery, and if you want, you can change the name with yours. Btw, I think that it should have only one gain control, because if you want separate gains, you can use several GainHQ plugins.
About TimeBalance plugin, I have seen it, but I donīt need such a thing because I use only stereo SPDIF output. In any case, I think it is a grate idea, and a 'more graphic' interface should be grate.
|
|
|
Aug 23, 2005, 08:43 PM
|
#6
|
|
DriverHeaven Newbie
Join Date: Jul 2005
Posts: 9
|
Thanks for your help, I was beginning to give up on this. Preferably I would like to have atleast 6 sliders. I do not always use the same volume for each speaker (though if possible a lock-all-sliders-together kind of check box would be a great help. I have not tried dane before, what is it like? I have done a good bit of c++ programming, but I have never tried programming audio functions like this before, is there a good side where I can learn some info on how to get started programming these plug-ins? Thanks in advance, and I'll try out your plug-in too.
|
|
|
Aug 23, 2005, 10:00 PM
|
#7
|
|
S-3D enthusiast
Join Date: Sep 2004
Location: Canada
Posts: 1,410
|
My TimeBalanceV2 plugin is currently functionnal but I'll release another update in a week or two. It will mainly improve the interface.
I'll make the plugin for you and I'll host it to give it to you. It will take a few minutes (an hour or two at most while doing other stuff). I was waiting for you to give me the specifications of the plugin before making it. You could have had it a few days ago if you replied sooner.
You said at least 6. Do you want more? It's easy to do so go ahead and tell me if you need more.
You still haven't told me if you use the version 3538i of the drivers. I'll suppose that you do if you don't tell me otherwise.
Last edited by Tril; Aug 23, 2005 at 10:10 PM.
|
|
|
Aug 23, 2005, 11:50 PM
|
#8
|
|
S-3D enthusiast
Join Date: Sep 2004
Location: Canada
Posts: 1,410
|
It's done. It took me about 1h30 to make even when using pre-existing code from eYagos. I don't think it contains any errors but if you notice any odd behaviour, just let me know and I'll fix it. I tested the plugin but sometimes bugs go unnoticed.
It's the gainHQ plugin with 6 channels instead of 2. The name of the channels are the same as on Surrounder.
Get it here :
http://pages.globetrotter.net/samaus...8i/gainHQ6.kxl
If you need anything else, feel free to express yourself. You never know. Someone might agree to help you.
|
|
|
Aug 24, 2005, 07:45 AM
|
#9
|
|
DriverHeaven Newbie
Join Date: Jul 2005
Posts: 9
|
Thanks alot, and I'm sorry about the slow reply times, as you can see from my first two posts I had to wait 2 weeks before I heard anything back the first time so I had started giving up hope on any kind of reply or how frequent they would come. I had been using the 3537 driver up until today, but I needed to upgrade anyway since I am trying to get 2 cards working correctly.
Which leads me to another issue i'm having, I am trying to get the surround outs from card1(main decoder) to the outputs on the slave card. Is there any way built in already that i'm just over looking?
Basically I want it to go:
CARD 1 DSP
card1 surround center ------> misc ------> OUTME1(output box i need to find/make)
CARD 2 DSP
OUTME1 ------> misc ------> analog front left
EDIT: Awsome man, this was just what I needed. Thanks alot!  For future reference how would I go about adding another in-out set? I edited the code in dane and simply copied all the necessary registers and code, and it works kinda. Except that it messed up the interface (now shows in_i and in_f for everything and no longer has the lock box). Do I need to use another language or tool to finish programming this? Thanks in advance.
Last edited by AssassinJN; Aug 24, 2005 at 08:30 AM.
|
|
|
Aug 24, 2005, 09:18 AM
|
#10
|
|
S-3D enthusiast
Join Date: Sep 2004
Location: Canada
Posts: 1,410
|
It's programmed in C++ so you can't just modify the dane code. I modified the code from the files amp.cpp, amp.h and da_amp.cpp to add four channels. These files are from the SDK. Usuing C++ gives you more freedom with creating more complex plugins. For example, you can't use a checkbox with a simple dane plugin.
I can send you the modified source files but if you don't know what to do with them you'll have problem modifying them. You also need Microsoft Visual Studio C++ and some experience of C++ programming. It's not extremely hard but the learning curve can be steep for the first C++ plugin you program.
Quote:
|
Originally Posted by AssassinJN
Which leads me to another issue i'm having, I am trying to get the surround outs from card1(main decoder) to the outputs on the slave card. Is there any way built in already that i'm just over looking?
|
You can. There are pin headers on the cards inside the computer. Some of those pins are for digital out and digital in (spdif). It's possible to make a cable to connect them are use a custom DSP to route the signals. I've never done it myself so I can't help you with that. It's been discussed before so you may be able to find what you are looking for with a search in the forums. Others can help you too.
|
|
|
Aug 24, 2005, 09:32 AM
|
#11
|
|
DriverHeaven Newbie
Join Date: Jul 2005
Posts: 9
|
Thanks alot tril, I do have a good bit of experience with c++ so i'll take a look at the files that are included in the sdk, I just haven't worked with audio plugins before but I'm pretty confident I'll be able to figure it out. But if you want to post your edited copies of those files that would help me get up to speed even quicker (I have found just about everything I would need to change, but it never hurts to check it against a better copy) 
Last edited by AssassinJN; Aug 24, 2005 at 09:40 AM.
|
|
|
Aug 24, 2005, 11:50 AM
|
#12
|
|
S-3D enthusiast
Join Date: Sep 2004
Location: Canada
Posts: 1,410
|
Here is my modified version of those files :
http://pages.globetrotter.net/samaus...8i/gainHQ6.zip
It works but I may not have fully grasped the way eYagos programmed it in the frist place. That means that it may be possible to change and imprve the code and still keep the same functionality.
|
|
|
Aug 24, 2005, 02:39 PM
|
#13
|
|
DriverHeaven Newbie
Join Date: Jul 2005
Posts: 9
|
Thanks again. Hopefully i'll be able to figure this out tonight so I can start working on some plugins of my own.
Oh, another nooby question for you. I've only ever compiled executables with c++, what exactly do I have todo to compile to a dsp plugin file?? Btw if this is answered somewhere in the sdk files then just tell me so, I havn't had a chance to read through them all yet. Thanks!
|
|
|
Aug 24, 2005, 04:58 PM
|
#14
|
|
S-3D enthusiast
Join Date: Sep 2004
Location: Canada
Posts: 1,410
|
I don't think it's mentionned in the SDK. My method may not be the correct one but it works.
What I do is copy the following files from the fx_demo folder to my plugin folder :
debug.cpp (Probably not necessary if you don't use it)
fxlib.h
fxlib.rc
makefile
StdAfx.h
simple.cpp
StdAfx.cpp
vers.h
You also need the three source files that I shared above.
In VC++ I do "Files -> Open Workspace", for file type I choose all files, i select makefile and I click Open.
You then need to modify simple.cpp
change the line the word demo in the line " { demo_name, demo_guid }" to the name of your plugin as in da_yourplugin.cpp.
Also change " #include "demo.h" " to #include "myplugin.h" where myplugin is the name of the file from your plugin.
Open makefile and change all the word "demo" with "myplugin" (without the quotes of course) where myplugin is the name of the plugin.
Select the menu "Build" and click "Rebuild All". It should compile the plugin. If zero errors are show, register the plugin by doubleclicking on the .kxl file created.
If you load the plugin in the DSP and try to compile again you will get an error. You need to unload the plugin before recompiling.
I tthink that sums it all. Any errors will usually get caught by the compiler. Sometimes, some errors don't get caught like forgetting to set the right number of default parameters. Let's say you have 5 parameters but you only set 4 in the code. You will make kX Mixer crash. If it happens, you will have to correct the code and recompile. You will probably have to erase the plugin manually from the registry or else the kX Mixer will reload the bad plugin and crash again.
Good luck.
You may have to remove "-WX " in makefile to gte the plugin to compile.
|
|
|
Aug 24, 2005, 05:06 PM
|
#15
|
|
DriverHeaven Extreme Member
Join Date: Jan 2005
Posts: 4,104
|
Also, generally the path to the headers, and libs in the SDK are relative paths, so you should put the source code in it's own folder in the kX SDK folder.
What I do is just make a copy of demo project folder (and give the copy a new name).
Then I use a program called UltraEdit and it's "Replace in files" option to replace all references to demo (using the "preserve case" option, with the plugin name, and then simply open up the workspace in VC++.
BTW: That is when starting from scratch with a new plugin.
|
|
|
|
|
|