2 of 2
2
TUIO analizer for Delphi
Posted: 08 December 2009 08:54 AM   [ Ignore ]   [ # 16 ]
Rank
Joined  2009-11-16
Total Posts:  8
New Member

Program do not work with tbeta 1.1 too. Why? mail1.gif

Profile
 
 
Posted: 08 December 2009 04:16 PM   [ Ignore ]   [ # 17 ]
Rank
Joined  2008-10-27
Total Posts:  21
New Member

hmmm,
uploade your project or sourcecode please.

Profile
 
 
Posted: 10 December 2009 12:50 AM   [ Ignore ]   [ # 18 ]
Rank
Joined  2009-11-16
Total Posts:  8
New Member

unit Unit1;     { _,-*ґ`*-._,° }

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, UdpSockUtil, ExtCtrls, StdCtrls, IdBaseComponent,
  IdComponent, IdUDPBase, IdUDPServer, IdSocketHandle, multiT2_D7;

type
  TForm1 = class(TForm)
    MultiT1: TMultiT;
    IdUDPServer1: TIdUDPServer;
    procedure MultiT1BlobDown(ID: Integer);
    procedure MultiT1BlobMove(ID: Integer);
    procedure MultiT1BlobUp(ID: Integer);
    procedure IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
      ABinding: TIdSocketHandle);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{
$R *.dfm}

procedure TForm1.MultiT1BlobDown(ID: Integer);
  var i: integer;
  begin
    //Down
    for i := 0 to length(MultiT1.data)-1 do
      begin
        if MultiT1.data[i].ID = ID then
          begin
            Form1.Canvas.Pixels[round(MultiT1.data[i].X * Screen.Width - (Form1.Left + 4)), round(MultiT1.data[i].Y * Screen.Height - (Form1.Top + 30))] := clRed;    //+4, +30 is for the window frame
          end;
      end;
  end;

procedure TForm1.MultiT1BlobMove(ID: Integer);
  var i: integer;
  begin
    //Move
    for i := 0 to length(MultiT1.data)-1 do
      begin
        if MultiT1.data[i].ID = ID then
          begin
            Form1.Canvas.Pixels[round(MultiT1.data[i].X * Screen.Width - (Form1.Left + 4)), round(MultiT1.data[i].Y * Screen.Height - (Form1.Top + 30))] := clBlack;  //+4, +30 is for the window frame
          end;
      end;
  end;

procedure TForm1.MultiT1BlobUp(ID: Integer);
  var i: integer;
  begin
    //Up
    for i := 0 to length(MultiT1.data)-1 do
      begin
        if MultiT1.data[i].ID = ID then
          begin
            Form1.Canvas.Pixels[round(MultiT1.data[i].X * Screen.Width - (Form1.Left + 4)), round(MultiT1.data[i].Y * Screen.Height - (Form1.Top + 30))] := cllime;   //+4, +30 is for the window frame
          end;
      end;
  end;

procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
  ABinding: TIdSocketHandle);
begin
 MultiT1.analizepackage(@AData);
end;

end.

It’s strange. Do not react with changed IdUDPServer and without change IdUDPServer.

Profile
 
 
Posted: 14 December 2009 03:43 PM   [ Ignore ]   [ # 19 ]
Rank
Joined  2008-10-27
Total Posts:  21
New Member

Hi,

the code is ok, but have you set the defaultport of the idUDPserver to 3333 and the active flag to true?

Profile
 
 
Posted: 15 April 2010 04:07 AM   [ Ignore ]   [ # 20 ]
Rank
Joined  2010-04-12
Total Posts:  1
New Member

very helpful! thank you!
Could you please create a demo for TUIO server(packet touch data and send it according to TUIO/OSC procotol format) in delphi? smile

Profile
 
 
Posted: 25 May 2010 01:16 PM   [ Ignore ]   [ # 21 ]
Rank
Joined  2008-10-27
Total Posts:  21
New Member

Hi,
sorry for my late reply.
And sorry that the Answere is: No.
Because the osc protocol is enormous more than I implementet for reciving the TUIO packages.

Profile
 
 
Posted: 19 May 2012 05:09 PM   [ Ignore ]   [ # 22 ]
Rank
Joined  2012-05-18
Total Posts:  7
New Member

Dear IchEben

First i wanna thank you for this amazing component its good to have someone who can support delphi and c++ builder for such technologies.

I have been trying to develop MT programs using your component and FireMonkey but i had some issue i was hoping that could help me with.

1- I don’t have a touch screen or MT table so i am using your component with reactivision simulator. Actually i don’t know whether it was from the simulator or the component but when place a touch point on the sim with the shift key down and then you release the mouse the application recieve a BlobMove event.

2- It seems that you can’t have a 2dcur and 2dobj at the same time. I had 5 touch points placed on the simulator and then when put a fiducial it removed the other 5 touch points from the application but they are still present on the simulator.

So these are my only issues i am having with component i know asking you to fix this for me will be hard but i am hopless here.

any help will be appreciated

Best regards
Mido

Profile
 
 
   
2 of 2
2