Compare commits

..

No commits in common. "7a27345f0a65f901c752e33e985572ed1f26ddc1" and "cb0a3ece4c89db2f6cffe2bc4a42fcf8814671d2" have entirely different histories.

5 changed files with 43 additions and 39 deletions

View file

@ -378,6 +378,7 @@ namespace DMX2
if (tickThread != null) {
running = false;
tickThread.Join (50);
tickThread.Abort ();
}
foreach (var seq in sequenceurs) {
IDisposable idis = seq as IDisposable;

View file

@ -3,7 +3,6 @@ using System.Net;
using System.Net.Sockets;
using System.Threading;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace DMX2
{
@ -11,37 +10,42 @@ namespace DMX2
{
UdpClient udpCli=null;
Thread pollThread = null;
bool running=true;
public OSCServer ()
{
udpCli = new UdpClient(7772);
udpCli.BeginReceive(UdpCliReceive,null);
pollThread = new Thread(new ThreadStart(Loop));
pollThread.Start();
}
void UdpCliReceive(IAsyncResult ar)
void Loop ()
{
if (!ar.IsCompleted) return;
udpCli = new UdpClient (7772);
byte[] recv;
IPEndPoint remep = new IPEndPoint(IPAddress.Any, 0);
recv = udpCli.EndReceive(ar, ref remep);
IPEndPoint remep = new IPEndPoint (IPAddress.Any, 0);
try {
while (running) {
recv = udpCli.Receive (ref remep);
//Console.WriteLine(remep);
OSCMessage msg = new OSCMessage(recv);
#if DEBUG
Console.Write(msg.Address);
Console.Write(" ");
foreach (var arg in msg.Args)
foreach(var arg in msg.Args)
Console.WriteLine(arg.GetString());
#endif
try
{
ProcessMessage(msg, remep);
try{
ProcessMessage(msg,remep);
}catch{}
}
} catch (SocketException ex) {
}
finally {
}
catch { }
udpCli.BeginReceive(UdpCliReceive, null);
}
/// <summary>
@ -343,8 +347,15 @@ namespace DMX2
protected virtual void Dispose (bool disposing)
{
if (disposing) {
running=false;
if(udpCli!=null)
udpCli.Close();
if(pollThread!=null)
{
if(!pollThread.Join(100))
pollThread.Abort();
pollThread=null;
}
}
}

View file

@ -658,7 +658,7 @@ namespace DMX2
var cmd = regexCommand2.Match(commands[i]);
if(cmd.Success){
int ef = int.Parse(cmd.Groups["effet"].Value);
if (ef>index) {
if (ef-1>index) {
ef++;
commands[i] = ef.ToString() + cmd.Groups["params"].Value;
}

View file

@ -566,7 +566,7 @@ namespace DMX2
var cmd = regexCommand2.Match(commands[i]);
if(cmd.Success){
int ef = int.Parse(cmd.Groups["effet"].Value);
if (ef>index) {
if (ef-1>index) {
ef++;
commands[i] = ef.ToString() + cmd.Groups["params"].Value;
}

View file

@ -309,7 +309,6 @@ namespace DMX2
string[] data = enCours.Commande.Split(' ');
OSCMessage message = new OSCMessage(data[0]);
if (data.Length < 2) return;
for (int i = 1; i < data.Length; i++)
{
if (int.TryParse(data[i], out int di))
@ -321,15 +320,8 @@ namespace DMX2
var buff = message.Encode();
try
{
udpClient.Send(buff, buff.Length);
}
catch (SocketException)
{
}
}
@ -487,7 +479,7 @@ namespace DMX2
var cmd = regexCommand2.Match(commands[i]);
if(cmd.Success){
int ef = int.Parse(cmd.Groups["effet"].Value);
if (ef>index) {
if (ef-1>index) {
ef++;
commands[i] = ef.ToString() + cmd.Groups["params"].Value;
}