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 > In Russian


In Russian Discussion in the Russian Language

Reply
 
Thread Tools
Old Mar 12, 2007, 01:24 PM   #1
DriverHeaven Newbie
 
Join Date: Mar 2007
Posts: 8
Rep Power: 0
serg_ssa is on a distinguished road

Частичный обход MasterVolume - ЛЕГКО!!!

Доброго времени суток!
Необходима помощь в простом вопросе. Хочу сделать чтобы на моей SB Live 5.1(emu10k) на одном из выходов всегда бы было 100% громкости и регулировка MasterVolume его не затрагивала (нужно для выхода звука на телек).
Я попытался просто подправить код epilog в DSP, но при компиляции получил
error S100: unknown character '('
На форуме прочел:
Quote:
You cannot use constant values (other than 0x0) as the R register in Dane (the DSP Editor). This can only be done in C++
В С++ не силен, да и компилятора нет.
Можно ли мой вопрос решить стандартными средствами DSP не прибегая к написании на с++ собственных плагинов?

Last edited by serg_ssa; Mar 16, 2007 at 12:20 PM. Reason: сам догадайся
serg_ssa is offline   Reply With Quote


Old Mar 14, 2007, 05:49 PM   #2
h/h member-shmember
 
Join Date: Dec 2002
Location: Evil Empire
Posts: 2,640
Rep Power: 69
Max M. is just super!Max M. is just super!Max M. is just super!Max M. is just super!Max M. is just super!Max M. is just super!

>Можно ли мой вопрос решить стандартными средствами DSP

ну... как вариант:
отказаться от использования master в принципе (то есть оставить его по дефолту и забыть что такой вообще существует). а уровни крутить соответсвенно повесив перед эпилогом отдельные регуляторы в любой нужной конфигурации

Last edited by Max M.; Mar 14, 2007 at 05:55 PM.
Max M. is offline   Reply With Quote
Old Mar 15, 2007, 12:04 AM   #3
DriverHeaven Newbie
 
Join Date: Feb 2007
Location: Ukraine
Posts: 6
Rep Power: 0
Crazytu is on a distinguished road

Можно. Например так - вместо стандартного Epilog`а повесь k1lt из набора PRO FX - у тебя вообще мастер секция пустая будет :-) Назначь соответствующие выхода, а входа скоммутируй как тебе надо например через MX6. Это как вариант можно и по другому исхитрится. Пробуй, в конце концов всегда можно сбросить настройки и вернутся в стандарт... :-)
Crazytu is offline   Reply With Quote
Old Mar 15, 2007, 08:13 AM Threadstarter Thread Starter   #4
DriverHeaven Newbie
 
Join Date: Mar 2007
Posts: 8
Rep Power: 0
serg_ssa is on a distinguished road

Quote:
Originally Posted by Crazytu View Post
k1lt из набора PRO FX - у тебя вообще мастер секция пустая будет :-) Назначь соответствующие выхода, а входа скоммутируй как тебе надо например через MX6
Сейчас именно так и настроено + прикрутил для регулирования громкостей свой 4-х канальный регулятор (по типу St Vol).
Проблема в том, что у меня мультимедийная клава, с которой громкость всегда все и меняли. А колонки у меня Sven (большие такие с регулятором громкости на тыльной стороне правой колоноки) и расположены сверху в труднодоступном месте.
Поэтому сейчас в игрухах громкость регулировать не получается ПРОСТО НИКАК!!! (((((
Нужно срочно что-то делать либо менять k1lt на epilog, чего не очень охота.

ЗЫ.
Достал VC6. Demo откомпилировал. Думаю ее подправить так, чтобы регулировала только выходы (для начала только Anog Rear) в соответствии с уровнем MasterL и MasterR. Те хочу чтобы основной микшер системы был завязан на Demo. Возможно ли сие?
__________________
<NULL>
serg_ssa is offline   Reply With Quote
Old Mar 15, 2007, 01:11 PM   #5
h/h member-shmember
 
Join Date: Dec 2002
Location: Evil Empire
Posts: 2,640
Rep Power: 69
Max M. is just super!Max M. is just super!Max M. is just super!Max M. is just super!Max M. is just super!Max M. is just super!

>Те хочу чтобы основной микшер системы был завязан на Demo. Возможно ли сие?

нет. тебе надо именно взять исходники эпилога и править его
(можно просто вытащить его в отдельную папку и компилировать в отделную дллку по типу демо)

>чтобы регулировала только выходы (для начала только Anog Rear) в >соответствии с уровнем MasterL и MasterR

Не, мастер уровень регулируется напрямую драйвером - тебе соответсвенно надо найти в коде эпилога о место где этот мастер уровень применяется к тому выходу (da_epilog.cpp) который ты хочешь переделать и заменить там MasterL/MasterR на 0x7FFFFFFF.
Max M. is offline   Reply With Quote
Old Mar 16, 2007, 09:10 AM Threadstarter Thread Starter   #6
DriverHeaven Newbie
 
Join Date: Mar 2007
Posts: 8
Rep Power: 0
serg_ssa is on a distinguished road

Quote:
нет. тебе надо именно взять исходники эпилога и править его
с этого и начинал, но там есть код
Code:
        #define EPILOG_SOURCE
	#include "legacy/prepare.h"
	begin_microcode("epilog");
        #include "da_epilog.cpp"
	end_microcode();

	#include "legacy/process.h"
	begin_microcode("epilog");
        #include "da_epilog.cpp"
Без этого кода компилируется без ошибок, но не пашет.
Это и понятно, ведь не обрабатывается код в da_epilog.cpp
Code:
         control_gpr(MasterL,0x7fffffff,"MasterL");
	input(out0,"out0");
	control_gpr(out0vol,0x20000000,"out0vol");
	OP(MACS,tmpl,C_0,out0,out0vol);
         OP(MACS,tmpl,C_0,tmpl,MasterL);
         OP(MACINTS,KX_OUT(0),C_0,tmpl,C_10);
OP(...) - опять же макрос, описанный гдето в prepare.h, process.h или их инклудах.
Эти макросы бы каким-то образом получить, чтобы понять каким собственно образом происходит общение плагина с драйвером для регулирования уровня системного миксера.

Можно конечно и в плагине отслеживать сообщения MM_MIXM_LINE_CHANGE / MM_MIXM_CONTROL_CHANGE и вызывать GetVolume, SetVolume и т.п. Но это уже будет совсем "НЕ АЙС"
__________________
<NULL>
serg_ssa is offline   Reply With Quote
Old Mar 16, 2007, 12:15 PM Threadstarter Thread Starter   #7
DriverHeaven Newbie
 
Join Date: Mar 2007
Posts: 8
Rep Power: 0
serg_ssa is on a distinguished road

exclamation

Свершилось!
Оказалось что прикрутить миксер системы можно ооочень просто, причем на любой плагин со слайдерами!
В консоле KX есть команда ma, которая за это и отвечает. (спасибо Russ!)
Я на свой 4-х канальный регулятор (стоит перед k1lt) повесил регулировку двух стеревыходов через системный миксер, а два остальных выхода регулируются только через плагин (что мне и было нужно).

Всем громаднейший респект и спасибо форуму за поддержку!!!
__________________
<NULL>
serg_ssa is offline   Reply With Quote
Old Mar 16, 2007, 03:09 PM   #8
h/h member-shmember
 
Join Date: Dec 2002
Location: Evil Empire
Posts: 2,640
Rep Power: 69
Max M. is just super!Max M. is just super!Max M. is just super!Max M. is just super!Max M. is just super!Max M. is just super!

>В консоле KX есть команда ma, которая за это и отвечает. (спасибо Russ!)

ага, я как-раз вчера вспомнил - не успел написать...
кстати - они, эти настройки через ma, сохраянются при перезагрузке?
Max M. is offline   Reply With Quote
Old Mar 19, 2007, 07:11 AM Threadstarter Thread Starter   #9
DriverHeaven Newbie
 
Join Date: Mar 2007
Posts: 8
Rep Power: 0
serg_ssa is on a distinguished road

Нет не сохраняются, но это просто решается запуском при автозагрузке коммандного файла вместо стандартного ярлычка kxmixer.exe
Code:
kxmixer.exe --startup --once 
kxctrl.exe -ma 0 stVol vol1 vol2 0x7FFFFFFF 
kxctrl.exe -ma 4 demo volL1 volR1 0x7FFFFFFF 
start kxmixer.exe
чтобы консоли небыло видно можно запускать его с помощью hidcon.exe


Одно неудобство при этом всеже имеется, но это относится также и ко всем другим плагинам.
Вопрос в синхронизации регистров микрокода и контролов плагина.
Напр. происходит изменения одного из регистров в микрокоде (значения уровня громкости или параметра "DOO" как в k1lt), вызванного вне диалога плагина. В этом случае соответствующие слайдеры диалога плагина свое значение не меняют. Но при этом его меняют если диалог закрыть и снова открыть.

Сейчас пытаюсь победить через событие ON_WM_TIMER
__________________
<NULL>
serg_ssa is offline   Reply With Quote
Old Mar 19, 2007, 09:10 AM   #10
h/h member-shmember
 
Join Date: Dec 2002
Location: Evil Empire
Posts: 2,640
Rep Power: 69
Max M. is just super!Max M. is just super!Max M. is just super!Max M. is just super!Max M. is just super!Max M. is just super!

>вопрос в синхронизации регистров микрокода и контролов плагина.

ну это естественно
Max M. is offline   Reply With Quote
Reply

Thread Tools