Source language: Translate to:

Plugin Interfaz Velleman (Delphi)

Plug-ins and utilities of interest to NeoBook authors

Moderator: Neosoft Support

Plugin Interfaz Velleman (Delphi)

Postby rafmonalb » Thu Jun 29, 2017 11:45 am

Hola, soy usuario de Neobook desde hace años además de dedicarme a temas de sonido e iluminación.
Quiero hacer un PlugIn para el interfaz "K8062 - VM116 DMX Light Controller" de Velleman que permite el manejo de dispositivos
con el estandar DMX, que es el más usado en la industria de iluminación.
Este dispositivo dispone de la DLL K8062D que posee solamente 4 procedimientos que ahora te detallo:

Overview of the Procedures of the K8062D.DLL:
StartDevice --> Opens the communication link to the K8062 device
StopDevice --> Closes the link to the K8062 device
SetChannelCount(Count) --> Sets the maximum DMX channel in use
SetData(Channel, Data) --> Sets the data value for the DMX channel

David Esperalta realizó uno PRACTICAMENTE IGUAL, ya que dos de los procedimientos son iguales y los otros dos con formato similar, para la interfaz (np8047).

He subido a MEGA está el código fuente de un ejemplo en Delphi que acompaña a la interfaz (muy claro, sencillo y corto)
para manejar el interfaz, pero después de haber leido la documentación SDK de
Neosoftware de creación de PlugIns NO SE COMO TRASLADAR EL CODIGO DEL EJEMPLO DELPHI al al esqueleto de creación de PlugIns
(no sé donde ni que trasformación hay que hacerle para ponerlo)

En el ZIP de MEGA está la DLL y la documentación (realmente se resumen en los
4 procedimientos que te he descrito arriba)
El archivo clave dentro del ZIP (Tamaño 1,1 Megas), que explica de lo que te he dicho, es "Procedures of the K8062D.DLL.pdf":
https://mega.nz/#!6NNRjTyR!paa1P047_O2p ... wj8ZGrC0Vs


Estaría muy agradecido si alguien pudiera ayudarme.
(Los archivos K8062e.exe, FASTTime32.dll, K8062D.dll, son
necesarios para la intercomunicación con el interfaz (por lo
que deberan estar en la misca carpeta del plugin genrado)


Muchas gracias,
Rafael

===========================================================================


Hello, I have been a Neobook user for years, as well as dedicating myself to sound and lighting issues.
I want to make a PlugIn for Velleman interface "K8062 - VM116 DMX Light Controller" that allows the handling of devices
With the standard DMX, which is the most used in the lighting industry.
This device has the DLL K8062D that only 4 procedures that now detail:

Overview of the procedures of the K8062D.DLL:
StartDevice -> Open the communication link to the K8062 device
StopDevice -> Close the link to the device K8062
SetChannelCount (Count) -> Sets the maximum DMX channel in use
SetData (Channel, Data) -> Sets the data value for the DMX channel

David Esperalta did a PRACTICALLY EQUAL, since two of the procedures are the same and the others with the similar format, for the interface (np8047).

Uploaded to MEGA is the source code of an example in Delphi that accompanies the interface (very clear, simple and short)
To handle the interface, but after reading the SDK documentation for
Plugins creation software NOT TO HOW TO TRANSFER THE DELPHI EXAMPLE CODE to the Plugins creation skeleton
(There is nothing to do to put it)

In the MEGA ZIP is the DLL and the documentation (it really is summarized in the
4 procedures that describe you above)
The key file inside the ZIP (Size 1.1 Megas), which explains what it says, is "Procedures of K8062D.DLL.pdf":
Https://mega.nz/#!6NNRjTyR!paa1P047_O2p ... wj8ZGrC0Vs


I would be very grateful and someone could help me.
(The files K8062e.exe, FASTTime32.dll, K8062D.dll, child
Necessary for interfacing with the interface
That should be in the folder of the genre plugin)


Thank you very much,
Rafael
rafmonalb
 
Posts: 2
Joined: Fri Jun 23, 2017 12:49 am

Re: Plugin Interfaz Velleman (Delphi)

Postby rafmonalb » Sun Jul 02, 2017 6:38 pm

Please,
How translate this Delphi example, K8062D.DLL 4 procedures (StarDevice, SetData, SetChannelCount, StopDevice), to skeleton Neobook Plug-In in sections
"Your Custom Plug-In Functions Go Here" and "Neobook Plug-In Functions that Must be Custumized by you":

*****************************************
unit K8062_1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
ScrollBar1: TScrollBar;
ScrollBar2: TScrollBar;
ScrollBar3: TScrollBar;
ScrollBar4: TScrollBar;
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
procedure Edit1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ScrollBar1Change(Sender: TObject);
procedure ScrollBar2Change(Sender: TObject);
procedure ScrollBar3Change(Sender: TObject);
procedure ScrollBar4Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
StartAddress: Longint;
implementation
{$R *.DFM}
PROCEDURE StartDevice; stdcall; external 'K8062d.dll';
PROCEDURE SetData(Channel: Longint ; Data: Longint); stdcall; external 'K8062d.dll';
PROCEDURE SetChannelCount(Count: Longint); stdcall; external 'K8062d.dll';
PROCEDURE StopDevice; stdcall; external 'K8062d.dll';

procedure TForm1.FormCreate(Sender: TObject);
begin
StartDevice;
StartAddress:=1;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
StopDevice;
end;

procedure TForm1.Edit1Change(Sender: TObject);
begin
if (StrToInt(Edit1.Text)>0) and (StrToInt(Edit1.Text)< 509) then
begin
SetChannelCount(StartAddress+ 3);
StartAddress:=StrToInt(Edit1.Text);
Label5.Caption:=IntToStr(StartAddress);
Label6.Caption:=IntToStr(StartAddress+ 1);
Label7.Caption:=IntToStr(StartAddress+ 2);
Label8.Caption:=IntToStr(StartAddress+ 3);
end;
end;

procedure TForm1.ScrollBar1Change(Sender: TObject);
begin
Label1.Caption:=IntToStr(255-ScrollBar1.Position);
SetData(StartAddress, 255-ScrollBar1.Position);
end;

procedure TForm1.ScrollBar2Change(Sender: TObject);
begin
Label2.Caption:=IntToStr(255-ScrollBar2.Position);
SetData(StartAddress+1, 255-ScrollBar2.Position);
end;

procedure TForm1.ScrollBar3Change(Sender: TObject);
begin
Label3.Caption:=IntToStr(255-ScrollBar3.Position);
SetData(StartAddress+2, 255-ScrollBar3.Position);
end;

procedure TForm1.ScrollBar4Change(Sender: TObject);
begin
Label4.Caption:=IntToStr(255-ScrollBar4.Position);
SetData(StartAddress+3, 255-ScrollBar4.Position);
end;
end.

*****************************************
rafmonalb
 
Posts: 2
Joined: Fri Jun 23, 2017 12:49 am


Return to NeoBook Plug-Ins and Utilities

Who is online

Users browsing this forum: No registered users and 1 guest