|
| 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. |
 |
Mar 12, 2007, 08:24 AM
|
#1 (permalink)
|
|
DriverHeaven Newbie
Join Date: Mar 2007
Posts: 6
|
Частичный обход 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 07:20 AM.
Reason: сам догадайся
|
|
|
Mar 14, 2007, 12:49 PM
|
#2 (permalink)
|
|
d/h member-shmember
Join Date: Dec 2002
Location: from the edge of the deep green sea
Posts: 2,190
|
>Можно ли мой вопрос решить стандартными средствами DSP
ну... как вариант:
отказаться от использования master в принципе (то есть оставить его по дефолту и забыть что такой вообще существует). а уровни крутить соответсвенно повесив перед эпилогом отдельные регуляторы в любой нужной конфигурации
Last edited by Max M.; Mar 14, 2007 at 12:55 PM.
|
|
|
Mar 14, 2007, 07:04 PM
|
#3 (permalink)
|
|
DriverHeaven Newbie
Join Date: Feb 2007
Location: Ukraine
Posts: 6
|
Можно. Например так - вместо стандартного Epilog`а повесь k1lt из набора PRO FX - у тебя вообще мастер секция пустая будет :-) Назначь соответствующие выхода, а входа скоммутируй как тебе надо например через MX6. Это как вариант можно и по другому исхитрится. Пробуй, в конце концов всегда можно сбросить настройки и вернутся в стандарт... :-)
|
|
|
Mar 15, 2007, 03:13 AM
|
#4 (permalink)
|
|
DriverHeaven Newbie
Join Date: Mar 2007
Posts: 6
|
Quote:
Originally Posted by Crazytu
k1lt из набора PRO FX - у тебя вообще мастер секция пустая будет :-) Назначь соответствующие выхода, а входа скоммутируй как тебе надо например через MX6
|
Сейчас именно так и настроено + прикрутил для регулирования громкостей свой 4-х канальный регулятор (по типу St Vol). 
Проблема в том, что у меня мультимедийная клава, с которой громкость всегда все и меняли. А колонки у меня Sven (большие такие с регулятором громкости на тыльной стороне правой колоноки) и расположены сверху в труднодоступном месте.
Поэтому сейчас в игрухах громкость регулировать не получается ПРОСТО НИКАК!!!  (((((
Нужно срочно что-то делать либо менять k1lt на epilog, чего не очень охота.
ЗЫ.
Достал VC6. Demo откомпилировал. Думаю ее подправить так, чтобы регулировала только выходы (для начала только Anog Rear) в соответствии с уровнем MasterL и MasterR. Те хочу чтобы основной микшер системы был завязан на Demo. Возможно ли сие?
__________________
<NULL>
|
|
|
Mar 15, 2007, 08:11 AM
|
#5 (permalink)
|
|
d/h member-shmember
Join Date: Dec 2002
Location: from the edge of the deep green sea
Posts: 2,190
|
>Те хочу чтобы основной микшер системы был завязан на Demo. Возможно ли сие?
нет. тебе надо именно взять исходники эпилога и править его
(можно просто вытащить его в отдельную папку и компилировать в отделную дллку по типу демо)
>чтобы регулировала только выходы (для начала только Anog Rear) в >соответствии с уровнем MasterL и MasterR
Не, мастер уровень регулируется напрямую драйвером - тебе соответсвенно надо найти в коде эпилога о место где этот мастер уровень применяется к тому выходу (da_epilog.cpp) который ты хочешь переделать и заменить там MasterL/MasterR на 0x7FFFFFFF.
|
|
|
Mar 16, 2007, 04:10 AM
|
#6 (permalink)
|
|
DriverHeaven Newbie
Join Date: Mar 2007
Posts: 6
|
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>
|
|
|
Mar 16, 2007, 07:15 AM
|
#7 (permalink)
|
|
DriverHeaven Newbie
Join Date: Mar 2007
Posts: 6
|
Свершилось!
Оказалось что прикрутить миксер системы можно ооочень просто, причем на любой плагин со слайдерами!
В консоле KX есть команда ma, которая за это и отвечает. (спасибо Russ!)
Я на свой 4-х канальный регулятор (стоит перед k1lt) повесил регулировку двух стеревыходов через системный миксер, а два остальных выхода регулируются только через плагин (что мне и было нужно).
Всем громаднейший респект и спасибо форуму за поддержку!!!
__________________
<NULL>
|
|
|
Mar 16, 2007, 10:09 AM
|
#8 (permalink)
|
|
d/h member-shmember
Join Date: Dec 2002
Location: from the edge of the deep green sea
Posts: 2,190
|
>В консоле KX есть команда ma, которая за это и отвечает. (спасибо Russ!)
ага, я как-раз вчера вспомнил - не успел написать... 
кстати - они, эти настройки через ma, сохраянются при перезагрузке?
|
|
|
Mar 19, 2007, 02:11 AM
|
#9 (permalink)
|
|
DriverHeaven Newbie
Join Date: Mar 2007
Posts: 6
|
Нет не сохраняются, но это просто решается запуском при автозагрузке коммандного файла вместо стандартного ярлычка 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>
|
|
|
Mar 19, 2007, 04:10 AM
|
#10 (permalink)
|
|
d/h member-shmember
Join Date: Dec 2002
Location: from the edge of the deep green sea
Posts: 2,190
|
>вопрос в синхронизации регистров микрокода и контролов плагина.
ну это естественно
|
|
|
| Thread Tools |
|
|
| Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
|
|
|