Oh... my god!!
Are you really sure gabest??
I have very respect for you.
Thanks and admire forever....
I have very poor english skill.
So I cannot explain detail situation.
And by looking at the pan and scan menu or shader compiler dialog, it is almost the same as mpc's! This is of course nothing bad thing, it's just the idea, but the code behind them must be also very similar, if not the direct translation of c++ to delphi. Just like renaming the variables and functions, translation to another programming language is a derivative work of the original.
procedure TMainForm.ScreenSizeCtrl(Dx,Dy,Dw,Dh : integer;isabs : Boolean);
l,t,w,h : integer;
if isabs then begin
if FPanDx<-90 then FPanDx:=-90;
if FPanDy<-90 then FPanDy:=-90;
if FPanDw<-90 then FPanDw:=-90;
if FPanDh<-90 then FPanDh:=-90;
l:=FLastVideoLeft+FLastVideoWidth*FPanDx div 100;
t:=FLastVideoTop+FLastVideoHeight*FPanDy div 100;
w:=FLastVideoWidth+FLastVideoWidth*FPanDw div 100;
h:=FLastVideoHeight+FLastVideoHeight*FPanDh div 100;
procedure TMainForm.PanScanProcess(Tag : integer);
case Tag of
0 : begin
if IsZoomed(Handle) then PersistScreenMax(True)
1 : ScreenAddSub(False,False);
2 : ScreenAddSub(True,False);
3 : ScreenSizeCtrl(+1,0,-2,0);
4 : ScreenSizeCtrl(-1,0,+2,0);
6 : ScreenSizeCtrl(0,+1,0,-2);
5 : ScreenSizeCtrl(0,-1,0,+2);
7 : ScreenSizeCtrl(-1,0,0,0);
8 : ScreenSizeCtrl(+1,0,0,0);
9 : ScreenSizeCtrl(0,-1,0,0);
10 : ScreenSizeCtrl(0,+1,0,0);
Upper code is my pan & scan process key function.
Is it same your code??
Pan & Scan is standard video player's function.
So appear and behaver is same.
Delphi cannot use VC++'s resource and c++ code.
Delphi is very easy making dialog(delphi called form).
So I make pixel shader dialogs own work.
Sure, it can run that way. But the fact is, kmplayer is distributed with those dlls, without any notice about their origin, or the text of the GPL, or the necessary source code which is always required if there were changes or updates to it. I just can't believe those static libs mpc links could be compiled and linked dynamically without any modification.
Ok... I put text for DLL's origin and GPL document.
But I cannot use your code in KMPlayer.exe.
Delphi cannot link C++'s lib. And cannot compile C++ code.
Your filter is only recompile using VS 2003 by getting WINCVS.
I cannot modified your filter source code.
The source of pixel shaders is just like any other source code, it has an author who holds the copyright and a license what tells under what conditions it can be reused. It may be in the registry for kmplayer, but it can also be found inside the exe, in a closed source exe (GPL violation), and without any copyright notice (copyright violation).
Ok... I put header("Origin code from MPC") in Pixel shader's code.
If you want to remove KMPlayer's Pixel shader code, I will do.
The correct way would be to follow the rules of the license. Linking dynamically to dlls is a gray area, but in this case it does not happen by chance, they are packed into the installer/zip with a clear intent to be used by the exe. You have to realize kmplayer would not be the same without other people's work. Not just mine, there are sevaral libs my filters wrap written by other programmers who have also released their code under the GPL because they believed it will do good for the open source community. Including them in a closed source player means their code has reached a dead end
I cannot understand your document clear.
What is I have to do ??
OK.. I will remove it in my program.