Вверх ↑
Этот топик читают: Гость
Ответов: 5227
Рейтинг: 587
#1: 2016-11-30 10:05:06 ЛС | профиль | цитата
Вот тема в которой я обещал сделать обёртку
http://forum.hiasm.com/topic/57675

, сказано-сделано.

Вот пример
Пример схемы плагина
Как видно его запросто принимает AIMP и работает с ним даже в полноэкранном режиме.

Но вот вопрос, следует это выкладывать для общего доступа?

Возникает тревога что из за всякого рода кУлцКакеров дошколят будут проблемы и у AIMP и у HiAsm приложений.

Короче в раздумьях я весь...

Редактировалось 1 раз(а), последний 2016-11-30 10:06:53
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 16884
Рейтинг: 1239
#2: 2016-12-01 08:06:58 ЛС | профиль | цитата
andrestudio писал(а):
Возникает тревога что из за всякого рода кУлцКакеров дошколят будут проблемы и у AIMP и у HiAsm приложений.




Редактировалось 1 раз(а), последний 2016-12-01 08:07:38
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 5227
Рейтинг: 587
#3: 2016-12-02 12:14:22 ЛС | профиль | цитата
Это форум молчунов
Ладно, уговорили, оставлю для себя
Сделал ещё пару примеров c gif и OpenGL. https://yadi.sk/d/PHCWrenFzyj5N
OpenGL пока не понятно как работает. Предпологаю что после того как все буферы прочитаны включаются тормоза .
Ещё не совпадает формат пиксела (пока не знаю как задать) нужно чтиво изучать. Нужен формат RGB32.
Скрин gl делаю так
Add(ChildForm,11060184,427,427)
{
}
BEGIN_SDK
Add(EditMulti,1695709,21,21)
{
WorkCount=1
Width=216
Height=186
link(doWork1,13762685:doLoad,[(63,27)(63,62)])
}
Add(MainForm,4755660,84,133)
{
Left=35
Top=105
Width=879
Height=628
}
Add(Image,13762685,84,56)
{
Width=863
Height=590
Align=5
Color=0
ViewStyle=4
}
END_SDK
Add(InlineCode,6989511,357,427)
{
WorkPoints=#5:doScr|
EventPoints=#5:onScr|
DataPoints=#3:glw|3:glh|6:Bitmap|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|36:uses kol,windows,Share,Debug,OpenGL;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|9: glw,|27: glh,Bitmap: THI_Event;|22: onScr: THI_Event;|47: procedure doScr(var dt: TData; idx: word);|5: end;|0:|14:implementation|0:|54:procedure THiAsmClass.doScr(var dt: TData; idx: word);|4:var |19: bmp: KOL.PBitmap;|17: sw,sh: integer;|5:begin|29: sw := ToIntegerEvent(glw); |28: sh := ToIntegerEvent(glh);|39: bmp := NewDIBBitmap(sw, sh, pf32bit);|2: |39: //glPixelStorei(GL_PACK_ALIGNMENT,4);|40: //glPixelStorei(GL_PACK_ROW_LENGTH,0);|39: //glPixelStorei(GL_PACK_SKIP_ROWS,0);|41: //glPixelStorei(GL_PACK_SKIP_PIXELS,0);|2: |44: //glPixelStorei( GL_PACK_SWAP_BYTES, 1 ); |48: //glPixelStorei( GL_UNPACK_SWAP_BYTES, 1 ); |27: //glReadBuffer(GL_FRONT);|74: glReadPixels(0,0,sw,sh,GL_RGBA,GL_UNSIGNED_BYTE, bmp.Scanline[sh-1]); |26: _hi_onEvent(onScr, bmp);|11: bmp.Free;|4:end;|0:|4:end.|
link(onScr,11060184:doWork1,[])
link(glw,1267152:Var,[])
link(glh,14359778:Var,[])
}
Add(LineBreak,13642248,49,189)
{
Caption="h"
Type=1
Primary=[14359778,315,189]
}
Add(LineBreak,7011873,56,168)
{
Caption="w"
Type=1
Primary=[1267152,301,231]
}


Редактировалось 7 раз(а), последний 2016-12-02 12:51:25
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 497
Рейтинг: 16
#4: 2016-12-02 12:42:05 ЛС | профиль | цитата
Ооо нашел старую версию у себя в бардаке. Сейчас мы посмотрим что и как
карма: 1
        ]  
0
Ответов: 5227
Рейтинг: 587
#5: 2016-12-02 12:52:24 ЛС | профиль | цитата
RAWY_EX, чёт не понял про что, имеешь ввиду аимп?
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 497
Рейтинг: 16
#6: 2016-12-02 16:37:27 ЛС | профиль | цитата
andrestudio, я о BASS_WinampVisPlugin еще когда он плагины только с файлов загружал.
карма: 1
        ]  
0
Ответов: 5227
Рейтинг: 587
#7: 2016-12-02 19:37:41 ЛС | профиль | цитата
RAWY_EX, там не стоит смотреть даже. Раньше я не петрил где этот спектр взять и от балды чего то там напихал ну а знающим людям видать как всегда некогда.

Суть то в другом этого топика. Мысль была вот о чём:

В процессе как то задался вопросом "А можно как либо более комфортно делать плагины к стороннему ПО на HiAsm "

И сразу вспомнился страшный пример подключения Dll HiAsm (такое кунфу нам не надо подумал я :shock. Как оказалось заставить схему "затикать" в dll много ума не надо. Обёртку с экспортом тоже написать несложно. Ну лучше пускай тады сидит этот джин в кувшине, всем от этого только спокойней будет.

Вообще эти прибамбасы часть другого моего проекта который может таки допилю в новогодние праздники (если не забухаю конечно )
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 497
Рейтинг: 16
#8: 2016-12-02 20:41:09 ЛС | профиль | цитата
andrestudio,
andrestudio писал(а):
если не забухаю конечно


andrestudio писал(а):
Ну лучше пускай тады сидит этот джин в кувшине, всем от этого только спокойней будет.
мне охотно не сам элемент а то как сделано чтение всех звуков. если можно часть кода ну или в какую сторону нос тыкать.
карма: 1
        ]  
0
Ответов: 5227
Рейтинг: 587
#9: 2016-12-03 10:41:42 ЛС | профиль | цитата
RAWY_EX писал(а):
мне охотно не сам элемент а то как сделано чтение всех звуков


вот тебе наводка IAudioClient и IAudioCaptureClient

гуголь муголь в помощь.

Найдёшь единственный пример на делфи
Портируешь его в HiAsm
Потом до дыр читаешь по этим интерфейсам MSDN (паралельно узнаешь про wasapi windows 7 и какой пирог она слепила для меломаноа и что фактически она для Hi-Fi музыки не предназначена, за исключением счастливых обладателей нормальных ASIO дров и единственного плеера, который коректно работает в режиме wasapi Exclusive)

Ну а после всего этого когда добудешь свой звук и при смене источника будешь вздрагивать от генерации из колонок тогда и помогу, т.к про это не во одном msdn не сказано
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 5227
Рейтинг: 587
#10: 2016-12-07 20:26:13 ЛС | профиль | цитата
Пока RAWY_EX, ищет звук отвечу сам себе на форуме молчунов.

andrestudio писал(а):
Ещё не совпадает формат пиксела (пока не знаю как задать) нужно чтиво изучать. Нужен формат RGB32.
Скрин gl делаю так



Всё получилось с такими параметрами в IC
bmp := NewDIBBitmap(sw, sh, pf32bit);
glReadPixels(0,0,sw,sh,GL_BGRA,GL_UNSIGNED_BYTE, bmp.Scanline[sh-1]);

т.к в HiAsm используется RGB24
то соответственно
bmp := NewDIBBitmap(sw, sh, pf24bit);
glReadPixels(0,0,sw,sh,GL_BGR,GL_UNSIGNED_BYTE, bmp.Scanline[sh-1]);
получите скриншот в родном формате.
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
10
Сообщение
...
Прикрепленные файлы
(файлы не залиты)